<?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>239852</bug_id>
          
          <creation_ts>2022-04-28 08:45:21 -0700</creation_ts>
          <short_desc>ARIA reflection for Element attributes</short_desc>
          <delta_ts>2022-05-08 14:53:50 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Bindings</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://github.com/web-platform-tests/wpt/pull/33860</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>
          
          <blocked>196843</blocked>
    
    <blocked>239853</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Manuel Rego Casasnovas">rego</reporter>
          <assigned_to name="Manuel Rego Casasnovas">rego</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>andresg_22</cc>
    
    <cc>apinheiro</cc>
    
    <cc>cdumez</cc>
    
    <cc>cfleizach</cc>
    
    <cc>changseok</cc>
    
    <cc>clopez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>fujii</cc>
    
    <cc>ggaren</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>kangil.han</cc>
    
    <cc>katherine_cheney</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>leonardo.balter</cc>
    
    <cc>pdr</cc>
    
    <cc>rniwa</cc>
    
    <cc>samuel_white</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1865153</commentid>
    <comment_count>0</comment_count>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-04-28 08:45:21 -0700</bug_when>
    <thetext>This is related to bug #196843 and it&apos;ll cover reflection of attributes that refer to a single Element as a first step.

For multiple elements we&apos;ll report a separated issue.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865196</commentid>
    <comment_count>1</comment_count>
      <attachid>458534</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-04-28 10:55:37 -0700</bug_when>
    <thetext>Created attachment 458534
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865198</commentid>
    <comment_count>2</comment_count>
    <who name="EWS Watchlist">ews-watchlist</who>
    <bug_when>2022-04-28 10:57:00 -0700</bug_when>
    <thetext>This patch modifies the imported WPT tests. Please ensure that any changes on the tests (not coming from a WPT import) are exported to WPT. Please see https://trac.webkit.org/wiki/WPTExportProcess</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865216</commentid>
    <comment_count>3</comment_count>
      <attachid>458541</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-04-28 12:16:08 -0700</bug_when>
    <thetext>Created attachment 458541
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865381</commentid>
    <comment_count>4</comment_count>
      <attachid>458576</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-04-29 01:39:31 -0700</bug_when>
    <thetext>Created attachment 458576
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865398</commentid>
    <comment_count>5</comment_count>
      <attachid>458580</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-04-29 04:35:55 -0700</bug_when>
    <thetext>Created attachment 458580
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865463</commentid>
    <comment_count>6</comment_count>
      <attachid>458580</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-04-29 10:33:44 -0700</bug_when>
    <thetext>Comment on attachment 458580
Patch

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

&gt; Source/WebCore/ChangeLog:15
&gt; +        This implementation is done following the propsed spec text defined at:

typo: propsed

&gt; Source/WebCore/dom/Document.cpp:9175
&gt; +ExplicitlySetAttrElementsMap* Document::GetExplicitlySetAttrElementsMap(const Element&amp; element)

Getters in WebKit never start with a &quot;get&quot; prefix and never start with a capital letter either.

Also, this should return a reference since it cannot return nullptr.

Also, given the implementation, maybe this should use the &quot;ensure&quot; prefix, it actually is non-const and populates a map so not a true getter.

&gt; Source/WebCore/dom/Document.cpp:9179
&gt; +    auto result = m_elementExplicitlySetAttrElementsMap.add(element, WTFMove(map));

this could all be on one line:
return m_elementExplicitlySetAttrElementsMap.add(element, ExplicitlySetAttrElementsMap()).iterator-&gt;value;

&gt; Source/WebCore/dom/Document.h:2285
&gt; +    WeakHashMap&lt;Element, ExplicitlySetAttrElementsMap&gt; m_elementExplicitlySetAttrElementsMap;

Naming is super confusing, especially in DOM code. &quot;Attr&quot; is a type of Node is DOM and it is NOT an Element.

Another comment: What about the case where an Element is adopted into a new Document. That&apos;s a thing in DOM but I didn&apos;t see code in this patch to properly move the Element from one document&apos;s map to another?

It is a bit unclear to me why we need a map on the Document and why it cannot simply be in ElementRareData for e.g.

&gt; Source/WebCore/dom/Element.cpp:1906
&gt; +    if (name == HTMLNames::aria_activedescendantAttr || name == HTMLNames::aria_errormessageAttr)

Could all be on one line:
return name == HTMLNames::aria_activedescendantAttr || name == HTMLNames::aria_errormessageAttr;

&gt; Source/WebCore/dom/Element.cpp:2003
&gt; +        auto* element = explicitlySetAttrElementsMap-&gt;find(attributeName)-&gt;value[0].get();

This does 2 hash table lookups, once for the contains() above and here again for the find. This should be a single find(), resulting in a single lookup.

&gt; Source/WebCore/dom/Element.cpp:2010
&gt; +    auto id = getAttribute(attributeName);

auto&amp;

&gt; Source/WebCore/dom/Element.cpp:2029
&gt; +    auto id = element-&gt;getIdAttribute();

auto&amp;

&gt; Source/WebCore/dom/Element.cpp:2037
&gt; +    explicitlySetAttrElementsMap-&gt;set(attributeName, WTFMove(elements));

explicitlySetAttrElementsMap-&gt;set(attributeName, Vector&lt;WeakPtr&lt;Element&gt;&gt; { element });
should work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865498</commentid>
    <comment_count>7</comment_count>
      <attachid>458580</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2022-04-29 12:25:09 -0700</bug_when>
    <thetext>Comment on attachment 458580
Patch

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

&gt;&gt; Source/WebCore/dom/Element.cpp:2010
&gt;&gt; +    auto id = getAttribute(attributeName);
&gt; 
&gt; auto&amp;

As a general rule, we want to be ref&apos;ing an object when it&apos;s later used as an argument to another non-trivial function so auto here is good.

&gt;&gt; Source/WebCore/dom/Element.cpp:2029
&gt;&gt; +    auto id = element-&gt;getIdAttribute();
&gt; 
&gt; auto&amp;

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865803</commentid>
    <comment_count>8</comment_count>
      <attachid>458580</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-05-02 05:51:40 -0700</bug_when>
    <thetext>Comment on attachment 458580
Patch

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

Thank you very much for the quick reviews, I&apos;ve applied most changes and uploaded a new version.

There&apos;s still the question about if this should be in Document or ElementRareData, please let me know your thoughts.

&gt;&gt; Source/WebCore/ChangeLog:15
&gt;&gt; +        This implementation is done following the propsed spec text defined at:
&gt; 
&gt; typo: propsed

Fixed.

&gt;&gt; Source/WebCore/dom/Document.cpp:9175
&gt;&gt; +ExplicitlySetAttrElementsMap* Document::GetExplicitlySetAttrElementsMap(const Element&amp; element)
&gt; 
&gt; Getters in WebKit never start with a &quot;get&quot; prefix and never start with a capital letter either.
&gt; 
&gt; Also, this should return a reference since it cannot return nullptr.
&gt; 
&gt; Also, given the implementation, maybe this should use the &quot;ensure&quot; prefix, it actually is non-const and populates a map so not a true getter.

Changed to a reference and &quot;ensure&quot; prefix.

&gt;&gt; Source/WebCore/dom/Document.cpp:9179
&gt;&gt; +    auto result = m_elementExplicitlySetAttrElementsMap.add(element, WTFMove(map));
&gt; 
&gt; this could all be on one line:
&gt; return m_elementExplicitlySetAttrElementsMap.add(element, ExplicitlySetAttrElementsMap()).iterator-&gt;value;

Done.

&gt;&gt; Source/WebCore/dom/Document.h:2285
&gt;&gt; +    WeakHashMap&lt;Element, ExplicitlySetAttrElementsMap&gt; m_elementExplicitlySetAttrElementsMap;
&gt; 
&gt; Naming is super confusing, especially in DOM code. &quot;Attr&quot; is a type of Node is DOM and it is NOT an Element.
&gt; 
&gt; Another comment: What about the case where an Element is adopted into a new Document. That&apos;s a thing in DOM but I didn&apos;t see code in this patch to properly move the Element from one document&apos;s map to another?
&gt; 
&gt; It is a bit unclear to me why we need a map on the Document and why it cannot simply be in ElementRareData for e.g.

The name comes from the spec text (https://whatpr.org/html/3917/common-dom-interfaces.html): &quot;explicitly set attr-element&quot;.
Though we might look for a better name indeed.

Yeah, there&apos;s no test case for the case when we move an Element to a different document, and that&apos;s indeed a bug of this implementation. I&apos;ll add a new test case checking that. Anyway if we end up moving this to Element that would get fixed.

I did this in Document to avoid increasing the size of Element. I didn&apos;t thought about ElementRareData initially, I could move this there indeed, but again we&apos;ll be increasing the size when we have an static_assert &quot;ElementRareData should stay small&quot;. Would that be ok?

&gt;&gt; Source/WebCore/dom/Element.cpp:1906
&gt;&gt; +    if (name == HTMLNames::aria_activedescendantAttr || name == HTMLNames::aria_errormessageAttr)
&gt; 
&gt; Could all be on one line:
&gt; return name == HTMLNames::aria_activedescendantAttr || name == HTMLNames::aria_errormessageAttr;

Done.

&gt;&gt; Source/WebCore/dom/Element.cpp:2003
&gt;&gt; +        auto* element = explicitlySetAttrElementsMap-&gt;find(attributeName)-&gt;value[0].get();
&gt; 
&gt; This does 2 hash table lookups, once for the contains() above and here again for the find. This should be a single find(), resulting in a single lookup.

Sure, fixed.

&gt;&gt; Source/WebCore/dom/Element.cpp:2037
&gt;&gt; +    explicitlySetAttrElementsMap-&gt;set(attributeName, WTFMove(elements));
&gt; 
&gt; explicitlySetAttrElementsMap-&gt;set(attributeName, Vector&lt;WeakPtr&lt;Element&gt;&gt; { element });
&gt; should work.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865804</commentid>
    <comment_count>9</comment_count>
      <attachid>458675</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-05-02 05:54:11 -0700</bug_when>
    <thetext>Created attachment 458675
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865807</commentid>
    <comment_count>10</comment_count>
      <attachid>458676</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-05-02 06:03:14 -0700</bug_when>
    <thetext>Created attachment 458676
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865808</commentid>
    <comment_count>11</comment_count>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-05-02 06:04:34 -0700</bug_when>
    <thetext>(In reply to Manuel Rego Casasnovas from comment #8)
&gt; Yeah, there&apos;s no test case for the case when we move an Element to a
&gt; different document, and that&apos;s indeed a bug of this implementation. I&apos;ll add
&gt; a new test case checking that. Anyway if we end up moving this to Element
&gt; that would get fixed.

I&apos;ve added a test case for this on the last version of the patch, which is of course failing for now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865816</commentid>
    <comment_count>12</comment_count>
      <attachid>458676</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-05-02 07:35:15 -0700</bug_when>
    <thetext>Comment on attachment 458676
Patch

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

&gt; Source/WebCore/dom/Document.h:2285
&gt; +    WeakHashMap&lt;Element, ExplicitlySetAttrElementsMap&gt; m_elementExplicitlySetAttrElementsMap;

Ryosuke, Antti, would it be OK to have a ExplicitlySetAttrElementsMap on ElementRareData instead of having this WeakHashMap here on the Document? This is clearly data that is associated with an Element and I believe it belongs on ElementRareData, not on the Document.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1865823</commentid>
    <comment_count>13</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-05-02 08:05:50 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #12)
&gt; Comment on attachment 458676 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=458676&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/Document.h:2285
&gt; &gt; +    WeakHashMap&lt;Element, ExplicitlySetAttrElementsMap&gt; m_elementExplicitlySetAttrElementsMap;
&gt; 
&gt; Ryosuke, Antti, would it be OK to have a ExplicitlySetAttrElementsMap on
&gt; ElementRareData instead of having this WeakHashMap here on the Document?
&gt; This is clearly data that is associated with an Element and I believe it
&gt; belongs on ElementRareData, not on the Document.

I discussed it with Antti. Given that it is data associated with the Element and given that it is rare data, ElementRareData is a good match. Let&apos;s move it (and update the compile-time assertion about the size, accordingly).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866050</commentid>
    <comment_count>14</comment_count>
      <attachid>458721</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-05-02 22:41:58 -0700</bug_when>
    <thetext>Created attachment 458721
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866082</commentid>
    <comment_count>15</comment_count>
      <attachid>458730</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-05-03 03:43:45 -0700</bug_when>
    <thetext>Created attachment 458730
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866083</commentid>
    <comment_count>16</comment_count>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-05-03 03:44:42 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #13)
&gt; (In reply to Chris Dumez from comment #12)
&gt; &gt; Comment on attachment 458676 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=458676&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebCore/dom/Document.h:2285
&gt; &gt; &gt; +    WeakHashMap&lt;Element, ExplicitlySetAttrElementsMap&gt; m_elementExplicitlySetAttrElementsMap;
&gt; &gt; 
&gt; &gt; Ryosuke, Antti, would it be OK to have a ExplicitlySetAttrElementsMap on
&gt; &gt; ElementRareData instead of having this WeakHashMap here on the Document?
&gt; &gt; This is clearly data that is associated with an Element and I believe it
&gt; &gt; belongs on ElementRareData, not on the Document.
&gt; 
&gt; I discussed it with Antti. Given that it is data associated with the Element
&gt; and given that it is rare data, ElementRareData is a good match. Let&apos;s move
&gt; it (and update the compile-time assertion about the size, accordingly).

Ok. Thanks for the help here.

I&apos;ve uploaded a new version using ElementRareData for the map. Which fixes the new test case for adoptNode().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866125</commentid>
    <comment_count>17</comment_count>
      <attachid>458730</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-05-03 08:06:21 -0700</bug_when>
    <thetext>Comment on attachment 458730
Patch

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

This is much better. Still have a few comments (or need clarifications).

&gt; Source/WebCore/dom/Element.cpp:1946
&gt; +            synchronizeElementReflectionAttribute(name);

Could you explain to me in what case this is used? Also, it seems synchronizeElementReflectionAttribute() only removes the attribute name from the map.
This is probably correct but I don&apos;t understand this part yet.

&gt; Source/WebCore/dom/Element.cpp:1989
&gt; +    ensureExplicitlySetAttrElementsMap().remove(attributeName);

Calling &quot;ensure&quot; just to remove something seems like a waste?

&gt; Source/WebCore/dom/Element.cpp:2034
&gt; +    auto&amp; map = ensureExplicitlySetAttrElementsMap();

Calling &quot;ensure&quot; in the case where element is null and we&apos;ll try to remove something from the map seems like a waste.

&gt; Source/WebCore/dom/Element.h:96
&gt; +using ExplicitlySetAttrElementsMap = HashMap&lt;QualifiedName, Vector&lt;WeakPtr&lt;Element&gt;&gt;&gt;;

Why is the value a Vector? Looking at the patch, I don&apos;t ever see us storing more than one Element in that Vector. Or did I miss something?

&gt; Source/WebCore/dom/ElementRareData.h:111
&gt; +    void setExplicitlySetAttrElementsMap(std::unique_ptr&lt;ExplicitlySetAttrElementsMap&gt;&amp;&amp; data) { m_explicitlySetAttrElementsMap = WTFMove(data); }

Should not be needed.

&gt; Source/WebCore/dom/ElementRareData.h:188
&gt; +    std::unique_ptr&lt;ExplicitlySetAttrElementsMap&gt; m_explicitlySetAttrElementsMap;

This should be a ExplicitlySetAttrElementsMap, not a std::unique_ptr&lt;ExplicitlySetAttrElementsMap&gt;. A HashMap is already just a pointer internally. Using a std::unique_ptr&lt;&gt; here has no benefit on size, is worth for perf and usability in general.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866255</commentid>
    <comment_count>18</comment_count>
      <attachid>458757</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-05-03 14:40:14 -0700</bug_when>
    <thetext>Created attachment 458757
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866257</commentid>
    <comment_count>19</comment_count>
      <attachid>458730</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-05-03 14:41:28 -0700</bug_when>
    <thetext>Comment on attachment 458730
Patch

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

Thanks for the review, uploaded new version.

&gt;&gt; Source/WebCore/dom/Element.cpp:1946
&gt;&gt; +            synchronizeElementReflectionAttribute(name);
&gt; 
&gt; Could you explain to me in what case this is used? Also, it seems synchronizeElementReflectionAttribute() only removes the attribute name from the map.
&gt; This is probably correct but I don&apos;t understand this part yet.

This is used when you set the attribute manually in JavaScript, like:
    foo.setAttribute(&quot;aria-activedescendant&quot;, &quot;bar&quot;);

To avoid getting the attribute and the map out of sync, we just remove the map entry here. See the following spec text:
&gt; 2. Set element&apos;s explicitly set attr-element to null.

Anyway I agree that having a method synchronizeElementReflectionAttribute() that just removes things is not easy to understand, so I&apos;m getting rid of that method and just remove the map entry here directly.


Note that the map is only filled when the IDL property is used directly like:
    foo.ariaActiveDescendantElement = bar;

&gt;&gt; Source/WebCore/dom/Element.cpp:1989
&gt;&gt; +    ensureExplicitlySetAttrElementsMap().remove(attributeName);
&gt; 
&gt; Calling &quot;ensure&quot; just to remove something seems like a waste?

Yes, right. I&apos;ve just removed this method and void the &quot;ensure&quot; call in the new code.

&gt;&gt; Source/WebCore/dom/Element.cpp:2034
&gt;&gt; +    auto&amp; map = ensureExplicitlySetAttrElementsMap();
&gt; 
&gt; Calling &quot;ensure&quot; in the case where element is null and we&apos;ll try to remove something from the map seems like a waste.

True thing, I&apos;ll change that.

&gt;&gt; Source/WebCore/dom/Element.h:96
&gt;&gt; +using ExplicitlySetAttrElementsMap = HashMap&lt;QualifiedName, Vector&lt;WeakPtr&lt;Element&gt;&gt;&gt;;
&gt; 
&gt; Why is the value a Vector? Looking at the patch, I don&apos;t ever see us storing more than one Element in that Vector. Or did I miss something?

I thought I explained this in the ChangeLog (sorry I didn&apos;t), anyway I&apos;ll add some info in the ChangeLog and I can add a FIXME here too.

So far this patch is only adding reflection for Element IDL properties: ariaActiveDescendantElement &amp; ariaErrorMessageElement.

But we&apos;ll be adding this for FrozenArray&lt;Element&gt; properties in a follow-up patch (e.g. ariaDescribedByElements).

So it&apos;s true that for now we only need to store one element, and we do have an assert about the size at Element::getElementAttribute(). But in the future we could also store a list of elements, that&apos;s why I&apos;m adding the Vector already.

I wanted to come up with a proper map that would be useful for the future. We could add this in the 2nd patch if you think that&apos;s better, but that&apos;s why.

&gt;&gt; Source/WebCore/dom/ElementRareData.h:111
&gt;&gt; +    void setExplicitlySetAttrElementsMap(std::unique_ptr&lt;ExplicitlySetAttrElementsMap&gt;&amp;&amp; data) { m_explicitlySetAttrElementsMap = WTFMove(data); }
&gt; 
&gt; Should not be needed.

Removed.

&gt;&gt; Source/WebCore/dom/ElementRareData.h:188
&gt;&gt; +    std::unique_ptr&lt;ExplicitlySetAttrElementsMap&gt; m_explicitlySetAttrElementsMap;
&gt; 
&gt; This should be a ExplicitlySetAttrElementsMap, not a std::unique_ptr&lt;ExplicitlySetAttrElementsMap&gt;. A HashMap is already just a pointer internally. Using a std::unique_ptr&lt;&gt; here has no benefit on size, is worth for perf and usability in general.

Ok, done. Let&apos;s see if I got this correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866301</commentid>
    <comment_count>20</comment_count>
      <attachid>458757</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-05-03 16:39:31 -0700</bug_when>
    <thetext>Comment on attachment 458757
Patch

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

&gt; Source/WebCore/dom/ElementRareData.cpp:45
&gt; +    void* explicitlySetAttrElementsMap;

Right, this will only work on release builds. On Debug builds, HashMaps have more data members because of CHECK_HASHTABLE_ITERATORS.
Maybe we should just use HashMap&lt;&gt; here.

Otherwise, we won&apos;t be able to do the size check in Debug...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866305</commentid>
    <comment_count>21</comment_count>
      <attachid>458757</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-05-03 16:47:39 -0700</bug_when>
    <thetext>Comment on attachment 458757
Patch

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

&gt; Source/WebCore/dom/Element.cpp:1976
&gt; +    return rareData.explicitlySetAttrElementsMap();

nit: seems the local is not terribly useful, we should just do:
return ensureElementRareData().explicitlySetAttrElementsMap();

&gt; Source/WebCore/dom/Element.cpp:2007
&gt; +            ASSERT(element);

I am a little unclear why this is true. What makes sure that an element is removed from this Vector before getting destroyed?

&gt; Source/WebCore/dom/Element.cpp:2028
&gt; +        if (map)

nit: I would have done this here:
if (auto* map = explicitlySetAttrElementsMap())

and drop the map initialization before the if check.

&gt; Source/WebCore/dom/Element.cpp:2042
&gt; +    map-&gt;set(attributeName, Vector&lt;WeakPtr&lt;Element&gt;&gt; { element });

then `ensureExplicitlySetAttrElementsMap().set()` here.

&gt; Source/WebCore/dom/ElementRareData.h:152
&gt; +        if (m_explicitlySetAttrElementsMap)

How does this work? Shouldn&apos;t this be !m_explicitlySetAttrElementsMap.isEmpty() ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866392</commentid>
    <comment_count>22</comment_count>
      <attachid>458777</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-05-04 01:47:23 -0700</bug_when>
    <thetext>Created attachment 458777
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866394</commentid>
    <comment_count>23</comment_count>
      <attachid>458757</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-05-04 01:50:09 -0700</bug_when>
    <thetext>Comment on attachment 458757
Patch

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

Thanks for the quick review again.

Applied suggested changes, PTAL.

&gt;&gt; Source/WebCore/dom/Element.cpp:1976
&gt;&gt; +    return rareData.explicitlySetAttrElementsMap();
&gt; 
&gt; nit: seems the local is not terribly useful, we should just do:
&gt; return ensureElementRareData().explicitlySetAttrElementsMap();

Done.

&gt;&gt; Source/WebCore/dom/Element.cpp:2007
&gt;&gt; +            ASSERT(element);
&gt; 
&gt; I am a little unclear why this is true. What makes sure that an element is removed from this Vector before getting destroyed?

Right, I guess this could have been destroyed at that point. I&apos;m removing the ASSERT and checking if |element| is not null at that point.

&gt;&gt; Source/WebCore/dom/Element.cpp:2028
&gt;&gt; +        if (map)
&gt; 
&gt; nit: I would have done this here:
&gt; if (auto* map = explicitlySetAttrElementsMap())
&gt; 
&gt; and drop the map initialization before the if check.

Done.

&gt;&gt; Source/WebCore/dom/Element.cpp:2042
&gt;&gt; +    map-&gt;set(attributeName, Vector&lt;WeakPtr&lt;Element&gt;&gt; { element });
&gt; 
&gt; then `ensureExplicitlySetAttrElementsMap().set()` here.

Done.

&gt;&gt; Source/WebCore/dom/ElementRareData.cpp:45
&gt;&gt; +    void* explicitlySetAttrElementsMap;
&gt; 
&gt; Right, this will only work on release builds. On Debug builds, HashMaps have more data members because of CHECK_HASHTABLE_ITERATORS.
&gt; Maybe we should just use HashMap&lt;&gt; here.
&gt; 
&gt; Otherwise, we won&apos;t be able to do the size check in Debug...

Fixed this.

&gt;&gt; Source/WebCore/dom/ElementRareData.h:152
&gt;&gt; +        if (m_explicitlySetAttrElementsMap)
&gt; 
&gt; How does this work? Shouldn&apos;t this be !m_explicitlySetAttrElementsMap.isEmpty() ?

Good catch, this was a leftover from when it was using a pointer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866438</commentid>
    <comment_count>24</comment_count>
      <attachid>458777</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2022-05-04 07:22:49 -0700</bug_when>
    <thetext>Comment on attachment 458777
Patch

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

r=me

&gt; Source/WebCore/dom/Element.cpp:1904
&gt; +static bool isElementReflectionAttribute(const QualifiedName&amp; name)

nit: I would have used `inline` to be extra safe.

&gt; Source/WebCore/dom/ElementRareData.h:152
&gt; +        if (m_explicitlySetAttrElementsMap.isEmpty())

Shouldn&apos;t this be the opposite?
if (!m_explicitlySetAttrElementsMap.isEmpty())</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866439</commentid>
    <comment_count>25</comment_count>
      <attachid>458792</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-05-04 07:37:45 -0700</bug_when>
    <thetext>Created attachment 458792
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866440</commentid>
    <comment_count>26</comment_count>
      <attachid>458777</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-05-04 07:40:40 -0700</bug_when>
    <thetext>Comment on attachment 458777
Patch

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

Thanks for the review, uploading patch for landing applying the suggestions.

&gt;&gt; Source/WebCore/dom/Element.cpp:1904
&gt;&gt; +static bool isElementReflectionAttribute(const QualifiedName&amp; name)
&gt; 
&gt; nit: I would have used `inline` to be extra safe.

Done.

&gt;&gt; Source/WebCore/dom/ElementRareData.h:152
&gt;&gt; +        if (m_explicitlySetAttrElementsMap.isEmpty())
&gt; 
&gt; Shouldn&apos;t this be the opposite?
&gt; if (!m_explicitlySetAttrElementsMap.isEmpty())

True, my bad. Sorry.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866450</commentid>
    <comment_count>27</comment_count>
      <attachid>458795</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-05-04 08:14:53 -0700</bug_when>
    <thetext>Created attachment 458795
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866492</commentid>
    <comment_count>28</comment_count>
      <attachid>458795</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2022-05-04 09:27:21 -0700</bug_when>
    <thetext>Comment on attachment 458795
Patch

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

&gt; Source/WebCore/dom/Element.cpp:1983
&gt; +bool Element::isDescendantOfShadowIncludingAncestors(const Element&amp; element) const

This is just Node::isDescendantOrShadowDescendantOf. Please use that instead.

&gt; Source/WebCore/dom/Element.cpp:1986
&gt; +    if (!isInTreeScope() || !element.isInTreeScope())
&gt; +        return false;

So this returns true if and only if a node is in a document tree or a shadow tree?
That doesn&apos;t make much sense. DOM API typically cares connected-ness.
Where in the spec PR does it say such an odd behavior? I don&apos;t think it does.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866497</commentid>
    <comment_count>29</comment_count>
      <attachid>458795</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2022-05-04 09:33:52 -0700</bug_when>
    <thetext>Comment on attachment 458795
Patch

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

&gt; Source/WebCore/dom/Element.cpp:2007
&gt; +            if (element &amp;&amp; isDescendantOfShadowIncludingAncestors(*element))
&gt; +                return element;

This check isn&apos;t right. We need to be checking that the root node of element matches the root node of this element.
Not necessarily that the shadow root matches that of this element.
r- because of this.

&gt; Source/WebCore/dom/Element.cpp:2032
&gt; +    if (!id.isNull() &amp;&amp; &amp;treeScope() == &amp;element-&gt;treeScope() &amp;&amp; treeScope().getElementById(id) == element)

We need to check that we&apos;re inside a tree scope, or more precisely share the same root node.
treeScope() of a disconnected node is Document so this check will work even if both nodes aren&apos;t connected.
That is, when both nodes are disconnected, this check will succeed even if they don&apos;t share the same root node.
r- because of this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866824</commentid>
    <comment_count>30</comment_count>
      <attachid>458872</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-05-05 07:34:06 -0700</bug_when>
    <thetext>Created attachment 458872
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866825</commentid>
    <comment_count>31</comment_count>
      <attachid>458795</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-05-05 07:36:22 -0700</bug_when>
    <thetext>Comment on attachment 458795
Patch

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

Thanks for the review rniwa, uploaded a new version PTAL.

&gt;&gt; Source/WebCore/dom/Element.cpp:1983
&gt;&gt; +bool Element::isDescendantOfShadowIncludingAncestors(const Element&amp; element) const
&gt; 
&gt; This is just Node::isDescendantOrShadowDescendantOf. Please use that instead.

Thanks, I didn&apos;t found that one before. I&apos;m using that now.

&gt;&gt; Source/WebCore/dom/Element.cpp:1986
&gt;&gt; +        return false;
&gt; 
&gt; So this returns true if and only if a node is in a document tree or a shadow tree?
&gt; That doesn&apos;t make much sense. DOM API typically cares connected-ness.
&gt; Where in the spec PR does it say such an odd behavior? I don&apos;t think it does.

This is gone now.

&gt;&gt; Source/WebCore/dom/Element.cpp:2007
&gt;&gt; +                return element;
&gt; 
&gt; This check isn&apos;t right. We need to be checking that the root node of element matches the root node of this element.
&gt; Not necessarily that the shadow root matches that of this element.
&gt; r- because of this.

I&apos;ve modified this condition and used isDescendantOrShadowDescendantOf() now.

&gt;&gt; Source/WebCore/dom/Element.cpp:2032
&gt;&gt; +    if (!id.isNull() &amp;&amp; &amp;treeScope() == &amp;element-&gt;treeScope() &amp;&amp; treeScope().getElementById(id) == element)
&gt; 
&gt; We need to check that we&apos;re inside a tree scope, or more precisely share the same root node.
&gt; treeScope() of a disconnected node is Document so this check will work even if both nodes aren&apos;t connected.
&gt; That is, when both nodes are disconnected, this check will succeed even if they don&apos;t share the same root node.
&gt; r- because of this.

I&apos;m now comparing rootNode() as the spec says (https://whatpr.org/html/3917/common-dom-interfaces.html):
&gt; candidate&apos;s root is the same as element&apos;s root,</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866853</commentid>
    <comment_count>32</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-05-05 08:46:15 -0700</bug_when>
    <thetext>&lt;rdar://problem/92797728&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866933</commentid>
    <comment_count>33</comment_count>
      <attachid>458872</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2022-05-05 11:32:17 -0700</bug_when>
    <thetext>Comment on attachment 458872
Patch

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

&gt; Source/WebCore/dom/Element.h:679
&gt; +    ExplicitlySetAttrElementsMap&amp; ensureExplicitlySetAttrElementsMap();
&gt; +    ExplicitlySetAttrElementsMap* explicitlySetAttrElementsMap() const;
&gt; +

The agreed upon naming convention is:
ExplicitlySetAttrElementsMap&amp; explicitlySetAttrElementsMap();
ExplicitlySetAttrElementsMap* explicitlySetAttrElementsMapIfExists() const;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866952</commentid>
    <comment_count>34</comment_count>
      <attachid>458904</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-05-05 12:38:16 -0700</bug_when>
    <thetext>Created attachment 458904
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866953</commentid>
    <comment_count>35</comment_count>
      <attachid>458872</attachid>
    <who name="Manuel Rego Casasnovas">rego</who>
    <bug_when>2022-05-05 12:39:14 -0700</bug_when>
    <thetext>Comment on attachment 458872
Patch

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

Thanks for the quick review.

&gt;&gt; Source/WebCore/dom/Element.h:679
&gt;&gt; +
&gt; 
&gt; The agreed upon naming convention is:
&gt; ExplicitlySetAttrElementsMap&amp; explicitlySetAttrElementsMap();
&gt; ExplicitlySetAttrElementsMap* explicitlySetAttrElementsMapIfExists() const;

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1866996</commentid>
    <comment_count>36</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-05-05 14:41:28 -0700</bug_when>
    <thetext>Committed r293860 (250325@main): &lt;https://commits.webkit.org/250325@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 458904.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1867002</commentid>
    <comment_count>37</comment_count>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2022-05-05 15:11:12 -0700</bug_when>
    <thetext>Reopening to attach new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1867003</commentid>
    <comment_count>38</comment_count>
      <attachid>458917</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2022-05-05 15:11:16 -0700</bug_when>
    <thetext>Created attachment 458917
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1867539</commentid>
    <comment_count>39</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2022-05-08 14:53:50 -0700</bug_when>
    <thetext>Filed a new bug:
  Bug 240218 – [WinCairo][WK1] accessibility/aria-combobox-control-owns-elements.html is crashing after 250325@main</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458534</attachid>
            <date>2022-04-28 10:55:37 -0700</date>
            <delta_ts>2022-04-28 12:20:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239852-20220428195536.patch</filename>
            <type>text/plain</type>
            <size>28360</size>
            <attacher name="Manuel Rego Casasnovas">rego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNDk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGRhMjFhYjkzZTYyMDczYWRhNmQyNjEz
YjZhMmE3NmY4NDRmYzEzMzguLmIwZWJkZWExMDE4YTk3ZGVlYmQ2MjIyMGVhY2QyNmVmMzkyZTA0
ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjItMDQtMjggIE1hbnVlbCBSZWdvIENhc2Fzbm92
YXMgIDxyZWdvQGlnYWxpYS5jb20+CisKKyAgICAgICAgQVJJQSByZWZsZWN0aW9uIGZvciBFbGVt
ZW50IGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzOTg1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBuZXcgcnVudGltZSBmbGFnIEFyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVy
ZW5jZXNFbmFibGVkLgorCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJl
bmNlc0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIyLTA0LTI2ICBNYW51ZWwgUmVnbyBDYXNhc25v
dmFzICA8cmVnb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFJlbW92ZSBBcmlhUmVmbGVjdGlvbkVu
YWJsZWQgcnVudGltZSBmbGFnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M0ZjhhZDU3NDljYzliNTAyM2E4ZmVj
ZTAyYzc3MGIxMTA4YTBlYi4uYzM1ZDNjNDQxYzdlYmE3M2NmMjY1Njk3N2U5YzY2OGZkMWI5ZGEz
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDIyLTA0LTI4ICBNYW51ZWwgUmVnbyBD
YXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIEFSSUEgcmVmbGVjdGlvbiBm
b3IgRWxlbWVudCBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzk4NTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJbXBsZW1lbnQgQVJJQSByZWZsZWN0aW9uIGZvciBhdHRyaWJ1dGVzIHRo
YXQgcmVmZXIgdG8gYSBzaW5nbGUgRWxlbWVudDoKKyAgICAgICAgYXJpYUFjdGl2ZURlc2NlbmRh
bnQgJiBhcmlhRXJyb3JNZXNzYWdlLgorCisgICAgICAgIFRoaXMgaXMgZG9uZSBmb2xsb3dpbmcg
dGhlIHByb3BzZWQgc3BlYyB0ZXh0IGRlZmluZWQgYXQ6CisgICAgICAgIGh0dHBzOi8vZ2l0aHVi
LmNvbS93aGF0d2cvaHRtbC9wdWxsLzM5MTcKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQXJp
YUF0dHJpYnV0ZXMuaWRsOiBBZGQgYXJpYUFjdGl2ZURlc2NlbmRhbnQgJiBhcmlhRXJyb3JNZXNz
YWdlLgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbToKKyAgICAg
ICAgKEdldHRlckV4cHJlc3Npb24pOiBBZGQgZnVuY3Rpb24gZm9yIEVsZW1lbnQgYXR0cmlidXRl
cy4KKyAgICAgICAgKFNldHRlckV4cHJlc3Npb24pOiBEaXR0by4KKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcDogQWRkIHRlc3RzIGZvciBlbGVtZW50Cisg
ICAgICAgIGF0dHJpYnV0ZSByZWZsZWN0aW9uLgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0T2Jq
RE9NQ29uc3RydWN0b3I6OmNvbnN0cnVjdCk6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpf
cmVmbGVjdGVkRWxlbWVudEF0dHJHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6SlNDX0RFRklO
RV9DVVNUT01fR0VUVEVSKToKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdE9ial9yZWZsZWN0
ZWRFbGVtZW50QXR0clNldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RP
TV9TRVRURVIpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbDog
QWRkIHJlZmxlY3RlZEVsZW1lbnRBdHRyCisgICAgICAgIGF0dHJpYnV0ZS4KKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OkdldEV4cGxpY2l0
bHlTZXRBdHRyRWxlbWVudHNNYXApOiBSZXR1cm4gdGhlIG1hcAorICAgICAgICBvZiBhdHRyaWJ1
dGVzIGV4cGxpY2l0bHkgc2V0IGZvciBhIGdpdmVuIEVsZW1lbnQuCisgICAgICAgICogZG9tL0Rv
Y3VtZW50Lmg6IEFkZCBtYXAgdG8gc3RvcmUgRWxlbWVudCB0aGF0IGhhdmUgc29tZSBFbGVtZW50
CisgICAgICAgIGF0dHJpYnV0ZXMgZXhwbGljaXRseSBzZXQuIFRoZSBtYXAgZW5kcyB1cCBzdG9y
aW5nIGEgVmVjdG9yIG9mCisgICAgICAgIEVsZW1lbnRzIGluIHByZXBhcmF0aW9uIGZvciBzdXBw
b3J0aW5nIEZyb3plbkFycmF5PEVsZW1lbnQ+IGF0dHJpYnV0ZXMKKyAgICAgICAgKHRob3VnaCBz
byBmYXIgb25seSBvbmUgRWxlbWVudCBpcyBzdG9yZWQpLgorICAgICAgICAqIGRvbS9FbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzRWxlbWVudFJlZmxlY3Rpb25BdHRyaWJ1dGUpOiBV
dGlsaXR5IGZ1bmN0aW9uIHRvIGlkZW50aWZ5CisgICAgICAgIEVsZW1lbnQgcmVmbGVjdGlvbiBh
dHRyaWJ1dGVzLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6
IElmIGFuIGVsZW1lbnQgcmVmbGVjdGlvbgorICAgICAgICBhdHRyaWJ1dGUgaGFzIGNoYW5nZWQg
d2UgbmVlZCB0byBzeW5jaHJvbml6ZSB0aGUgbWFwLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVu
dDo6c3luY2hyb25pemVFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0ZSk6IFJlbW92ZSB0aGUKKyAg
ICAgICAgbWFwIGZvciB0aGUgZ2l2ZW4gYXR0cmlidXRlIGFzIGl0J2xsIGJlIHByb3Blcmx5IHVw
ZGF0ZWQgaW4KKyAgICAgICAgc2V0RWxlbWVudEF0dHJpYnV0ZSgpLgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudDo6aXNEZXNjZW5kYW50T2ZTaGFkb3dJbmNsdWRpbmdBbmNlc3RvcnMgY29uc3Qp
OgorICAgICAgICBVdGlsaXR5IG1ldGhvZCB0byBkZXRlY3QgaWYgYW4gZWxlbWVudCBpcyBhIGRl
c2NlbmRhbnQgb2YgYW55IG9mCisgICAgICAgIGVsZW1lbnQncyBzaGFkb3ctaW5jbHVkaW5nIGFu
Y2VzdG9ycy4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmdldEVsZW1lbnRBdHRyaWJ1dGUg
Y29uc3QpOiBJbXBsZW1lbnQgZ2V0dGVyIGZvcgorICAgICAgICBlbGVtZW50IGF0dHJpYnV0ZS4K
KyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNldEVsZW1lbnRBdHRyaWJ1dGUpOiBJbXBsZW1l
bnQgc2V0dGVyIGZvcgorICAgICAgICBlbGVtZW50IGF0dHJpYnV0ZS4KKyAgICAgICAgKiBkb20v
RWxlbWVudC5oOiBBZGQgbmV3IG1ldGhvZHMgaGVhZGVycy4KKwogMjAyMi0wNC0yNiAgQW50dGkg
S29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgOjpmaXJzdC1sZXR0ZXIgZG9l
cyBub3Qgd29yayBpZiB1c2VkIG9ubHkgaW4gc2hhZG93IGNvbnRlbnQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55
YW1sIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJp
bWVudGFsLnlhbWwKaW5kZXggMDM4ZTYxYWM5MjM1YzljN2I4Y2E1MWQ5ZTc0OWI5MGRmOWEwMTEw
Zi4uODg0OWYyOWExOTQ0YmE1M2QxZmNiNWViODY2MGEyMDhkYmFjYTMyZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFs
LnlhbWwKKysrIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2Vz
RXhwZXJpbWVudGFsLnlhbWwKQEAgLTY2LDYgKzY2LDE4IEBAIEFjY2Vzc2liaWxpdHlPYmplY3RN
b2RlbEVuYWJsZWQ6CiAgICAgV2ViS2l0OgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorQXJpYVJl
ZmxlY3Rpb25Gb3JFbGVtZW50UmVmZXJlbmNlc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgaHVt
YW5SZWFkYWJsZU5hbWU6ICJBUklBIFJlZmxlY3Rpb24gZm9yIEVsZW1lbnQgUmVmZXJlbmNlcyIK
KyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIEFSSUEgcmVmbGVjdGlvbiBmb3Ig
YXR0cmlidXRlcyB0aGF0IHJlZmVyIHRvIGVsZW1lbnRzIgorICBkZWZhdWx0VmFsdWU6CisgICAg
V2ViS2l0TGVnYWN5OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBXZWJLaXQ6CisgICAgICBk
ZWZhdWx0OiBmYWxzZQorICAgIFdlYkNvcmU6CisgICAgICBkZWZhdWx0OiBmYWxzZQorCiBBc3Bl
Y3RSYXRpb0VuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJDU1Mg
QXNwZWN0IFJhdGlvIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
cmlhQXR0cmlidXRlcy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FyaWFBdHRy
aWJ1dGVzLmlkbAppbmRleCA1YmU1ZTQ2ZjhjNTk2YWM0NjgzM2ZkYzEyNGZhMGU3MDMxMzhlMzg1
Li40YzY2MGJhMTgwMjE5YWEzZmNiYjY2Mjg0ZjUzMDgwOWM0ZjdjYmE3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FyaWFBdHRyaWJ1dGVzLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FyaWFBdHRyaWJ1dGVzLmlkbApAQCAtMjUsNiArMjUs
NyBAQAogCiAvLyBodHRwczovL3dpY2cuZ2l0aHViLmlvL2FvbS9zcGVjL2FyaWEtcmVmbGVjdGlv
bi5odG1sI0FyaWFBdHRyaWJ1dGVzCiBpbnRlcmZhY2UgbWl4aW4gQXJpYUF0dHJpYnV0ZXMgewor
ICAgIFtSZWZsZWN0PWFyaWFfYWN0aXZlZGVzY2VuZGFudCwgRW5hYmxlZEJ5U2V0dGluZz1Bcmlh
UmVmbGVjdGlvbkZvckVsZW1lbnRSZWZlcmVuY2VzRW5hYmxlZF0gYXR0cmlidXRlIEVsZW1lbnQ/
IGFyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudDsKICAgICBbUmVmbGVjdD1hcmlhX2F0b21pY10g
ICAgICAgICAgIGF0dHJpYnV0ZSBbQXRvbVN0cmluZ10gRE9NU3RyaW5nPyBhcmlhQXRvbWljOwog
ICAgIFtSZWZsZWN0PWFyaWFfYXV0b2NvbXBsZXRlXSAgICAgYXR0cmlidXRlIFtBdG9tU3RyaW5n
XSBET01TdHJpbmc/IGFyaWFBdXRvQ29tcGxldGU7CiAgICAgW1JlZmxlY3Q9YXJpYV9idXN5XSAg
ICAgICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUJ1c3k7CkBA
IC0zNCw2ICszNSw3IEBAIGludGVyZmFjZSBtaXhpbiBBcmlhQXR0cmlidXRlcyB7CiAgICAgW1Jl
ZmxlY3Q9YXJpYV9jb2xzcGFuXSAgICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0
cmluZz8gYXJpYUNvbFNwYW47CiAgICAgW1JlZmxlY3Q9YXJpYV9jdXJyZW50XSAgICAgICAgICBh
dHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUN1cnJlbnQ7CiAgICAgW1JlZmxl
Y3Q9YXJpYV9kaXNhYmxlZF0gICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmlu
Zz8gYXJpYURpc2FibGVkOworICAgIFtSZWZsZWN0PWFyaWFfZXJyb3JtZXNzYWdlLCBFbmFibGVk
QnlTZXR0aW5nPUFyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5jZXNFbmFibGVkXSBhdHRy
aWJ1dGUgRWxlbWVudD8gYXJpYUVycm9yTWVzc2FnZUVsZW1lbnQ7CiAgICAgW1JlZmxlY3Q9YXJp
YV9leHBhbmRlZF0gICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJp
YUV4cGFuZGVkOwogICAgIFtSZWZsZWN0PWFyaWFfaGFzcG9wdXBdICAgICAgICAgYXR0cmlidXRl
IFtBdG9tU3RyaW5nXSBET01TdHJpbmc/IGFyaWFIYXNQb3B1cDsKICAgICBbUmVmbGVjdD1hcmlh
X2hpZGRlbl0gICAgICAgICAgIGF0dHJpYnV0ZSBbQXRvbVN0cmluZ10gRE9NU3RyaW5nPyBhcmlh
SGlkZGVuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9yLnBtCmluZGV4IDcxYjM2YmNlNTUzY2MxZTRkZjM5OTZkMmJkNGEyOGFlZDA3YTJjOTIuLmI4
ZDdhNGYwYmJmZjlkODFlNDUxZmE1MjU1ZjRkMzA2Yzc2Y2M2ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KQEAgLTExMDgsNiArMTEw
OCw4IEBAIHN1YiBHZXR0ZXJFeHByZXNzaW9uCiAgICAgICAgICRmdW5jdGlvbk5hbWUgPSAiZ2V0
SW50ZWdyYWxBdHRyaWJ1dGUiOwogICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGVUeXBlLT5uYW1lIGVx
ICJ1bnNpZ25lZCBsb25nIikgewogICAgICAgICAkZnVuY3Rpb25OYW1lID0gImdldFVuc2lnbmVk
SW50ZWdyYWxBdHRyaWJ1dGUiOworICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGVUeXBlLT5uYW1lIGVx
ICJFbGVtZW50IikgeworICAgICAgICAkZnVuY3Rpb25OYW1lID0gImdldEVsZW1lbnRBdHRyaWJ1
dGUiOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGlmICgkY29udGVudEF0dHJpYnV0ZU5hbWUgZXEg
IldlYkNvcmU6OkhUTUxOYW1lczo6aWRBdHRyIikgewogICAgICAgICAgICAgJGZ1bmN0aW9uTmFt
ZSA9ICJnZXRJZEF0dHJpYnV0ZSI7CkBAIC0xMTQ1LDYgKzExNDcsOCBAQCBzdWIgU2V0dGVyRXhw
cmVzc2lvbgogICAgICAgICAkZnVuY3Rpb25OYW1lID0gInNldEludGVncmFsQXR0cmlidXRlIjsK
ICAgICB9IGVsc2lmICgkYXR0cmlidXRlVHlwZS0+bmFtZSBlcSAidW5zaWduZWQgbG9uZyIpIHsK
ICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICJzZXRVbnNpZ25lZEludGVncmFsQXR0cmlidXRlIjsK
KyAgICB9IGVsc2lmICgkYXR0cmlidXRlVHlwZS0+bmFtZSBlcSAiRWxlbWVudCIpIHsKKyAgICAg
ICAgJGZ1bmN0aW9uTmFtZSA9ICJzZXRFbGVtZW50QXR0cmlidXRlIjsKICAgICB9IGVsc2lmICgk
Z2VuZXJhdG9yLT5Jc1NWR0FuaW1hdGVkVHlwZSgkYXR0cmlidXRlVHlwZSkpIHsKICAgICAgICAg
JGZ1bmN0aW9uTmFtZSA9ICJzZXRBdHRyaWJ1dGUiOwogICAgIH0gZWxzZSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCmlu
ZGV4IDU1OGE5MTZlM2U5NTdjNWQyM2E2OGY3N2I1M2U0MjJhNzI5YmJiNTYuLmNjNjE5NWI0ZDM4
Yjc4ZWI3OWE1MGRhMGUxNjVjNTZhOTY2MWRhMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCkBAIC0xODAzLDYgKzE4
MDMsOCBAQCBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVmbGVj
dGVkVW5zaWduZWRJbnRlZ3JhbEF0dHIpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRU
RVIoc2V0SlNUZXN0T2JqX3JlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyKTsKIHN0YXRpYyBK
U0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVzdE9ial9yZWZsZWN0ZWRCb29sZWFuQXR0cik7
CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVk
Qm9vbGVhbkF0dHIpOworc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNUZXN0T2Jq
X3JlZmxlY3RlZEVsZW1lbnRBdHRyKTsKK3N0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0cik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVf
Q1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVmbGVjdGVkVVJMQXR0cik7CiBzdGF0aWMgSlNDX0RF
Q0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVVJMQXR0cik7CiBzdGF0
aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVmbGVjdGVkVVNWVVJMQXR0
cik7CkBAIC0yMTc1LDYgKzIxNzcsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNU
ZXN0T2JqUHJvdG90eXBlVGFibGVWYWx1ZXNbXSA9CiAgICAgeyAicmVmbGVjdGVkSW50ZWdyYWxB
dHRyIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3Rv
bUFjY2Vzc29yIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRy
aW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5j
Pihqc1Rlc3RPYmpfcmVmbGVjdGVkSW50ZWdyYWxBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2Fz
dDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3JlZmxlY3RlZElu
dGVncmFsQXR0cikgfSB9LAogICAgIHsgInJlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyIiwg
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vz
c29yIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMs
IHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rl
c3RPYmpfcmVmbGVjdGVkVW5zaWduZWRJbnRlZ3JhbEF0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19j
YXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVk
VW5zaWduZWRJbnRlZ3JhbEF0dHIpIH0gfSwKICAgICB7ICJyZWZsZWN0ZWRCb29sZWFuQXR0ciIs
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nl
c3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50cmluc2lj
LCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNU
ZXN0T2JqX3JlZmxlY3RlZEJvb2xlYW5BdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQ
cm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3JlZmxlY3RlZEJvb2xlYW5B
dHRyKSB9IH0sCisgICAgeyAicmVmbGVjdGVkRWxlbWVudEF0dHIiLCBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpET01BdHRyaWJ1dGUpLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3Rh
dGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ial9yZWZsZWN0ZWRF
bGVtZW50QXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRW
YWx1ZUZ1bmM+KHNldEpTVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0cikgfSB9LAogICAgIHsg
InJlZmxlY3RlZFVSTEF0dHIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpET01BdHRy
aWJ1dGUpLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90
OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ial9yZWZsZWN0ZWRVUkxBdHRyKSwgKGludHB0cl90KSBz
dGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3Jl
ZmxlY3RlZFVSTEF0dHIpIH0gfSwKICAgICB7ICJyZWZsZWN0ZWRVU1ZVUkxBdHRyIiwgc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwg
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGlu
dHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpf
cmVmbGVjdGVkVVNWVVJMQXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlT
bG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9ial9yZWZsZWN0ZWRVU1ZVUkxBdHRyKSB9IH0s
CiAgICAgeyAicmVmbGVjdGVkU3RyaW5nQXR0ciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQ
cm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqX3JlZmxlY3RlZFN0cmluZ0F0dHIp
LCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihz
ZXRKU1Rlc3RPYmpfcmVmbGVjdGVkU3RyaW5nQXR0cikgfSB9LApAQCAtMzkxOCw2ICszOTIxLDM3
IEBAIEpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkQm9vbGVh
bkF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rl
c3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3JlZmxlY3RlZEJvb2xlYW5BdHRyU2V0dGVyPigqbGV4
aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsIGF0dHJpYnV0ZU5hbWUp
OwogfQogCitzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRB
dHRyR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RPYmom
IHRoaXNPYmplY3QpCit7CisgICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFs
T2JqZWN0KTsKKyAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsK
KyAgICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7CisgICAgUkVMRUFTRV9BTkRf
UkVUVVJOKHRocm93U2NvcGUsICh0b0pTPElETEludGVyZmFjZTxFbGVtZW50Pj4obGV4aWNhbEds
b2JhbE9iamVjdCwgKnRoaXNPYmplY3QuZ2xvYmFsT2JqZWN0KCksIHRocm93U2NvcGUsIGltcGwu
Z2V0RWxlbWVudEF0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RlZGVsZW1lbnRh
dHRyQXR0cikpKSk7Cit9CisKK0pTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVm
bGVjdGVkRWxlbWVudEF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUgYXR0cmlidXRlTmFtZSkpCit7
CisgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpnZXQ8anNUZXN0T2JqX3JlZmxl
Y3RlZEVsZW1lbnRBdHRyR2V0dGVyLCBDYXN0ZWRUaGlzRXJyb3JCZWhhdmlvcjo6QXNzZXJ0Pigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBhdHRyaWJ1dGVOYW1lKTsKK30KKworc3Rh
dGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0clNldHRlcihK
U0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0T2JqJiB0aGlzT2JqZWN0
LCBKU1ZhbHVlIHZhbHVlKQoreworICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEds
b2JhbE9iamVjdCk7CisgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2
bSk7CisgICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOworICAgIGF1dG8gbmF0
aXZlVmFsdWUgPSBjb252ZXJ0PElETEludGVyZmFjZTxFbGVtZW50Pj4obGV4aWNhbEdsb2JhbE9i
amVjdCwgdmFsdWUsIFtdKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3Qs
IEpTQzo6VGhyb3dTY29wZSYgc2NvcGUpIHsgdGhyb3dBdHRyaWJ1dGVUeXBlRXJyb3IobGV4aWNh
bEdsb2JhbE9iamVjdCwgc2NvcGUsICJUZXN0T2JqZWN0IiwgInJlZmxlY3RlZEVsZW1lbnRBdHRy
IiwgIkVsZW1lbnQiKTsgfSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBm
YWxzZSk7CisgICAgaW52b2tlRnVuY3RvclByb3BhZ2F0aW5nRXhjZXB0aW9uSWZOZWNlc3Nhcnko
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhyb3dTY29wZSwgWyZdIHsKKyAgICAgICAgcmV0dXJuIGlt
cGwuc2V0RWxlbWVudEF0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RlZGVsZW1l
bnRhdHRyQXR0ciwgKm5hdGl2ZVZhbHVlKTsKKyAgICB9KTsKKyAgICByZXR1cm4gdHJ1ZTsKK30K
KworSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50
QXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lIGF0
dHJpYnV0ZU5hbWUpKQoreworICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0
PHNldEpTVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxP
YmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCBhdHRyaWJ1dGVOYW1lKTsKK30KKwogc3Rh
dGljIGlubGluZSBKU1ZhbHVlIGpzVGVzdE9ial9yZWZsZWN0ZWRVUkxBdHRyR2V0dGVyKEpTR2xv
YmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RPYmomIHRoaXNPYmplY3QpCiB7
CiAgICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAppbmRleCAx
MGY2NTFhNTc1ZTc3Yjc1MDAyYjg3MGNkYmI4OThmZmE0NjYzM2M5Li43ZTk4MmQ1MTYyNGI0Y2Zk
OGI4NmVkNTE0NzdmNzE3YjFiYmZlNWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCkBAIC0xMDQsNiArMTA0LDcgQEAgZW51bSBUZXN0
Q29uZmlkZW5jZSB7ICJoaWdoIiwgImtpbmRhLWxvdyIgfTsKICAgICBbUmVmbGVjdF0gYXR0cmli
dXRlIGxvbmcgcmVmbGVjdGVkSW50ZWdyYWxBdHRyOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyByZWZsZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0cjsKICAgICBbUmVmbGVj
dF0gYXR0cmlidXRlIGJvb2xlYW4gcmVmbGVjdGVkQm9vbGVhbkF0dHI7CisgICAgW1JlZmxlY3Rd
IGF0dHJpYnV0ZSBFbGVtZW50IHJlZmxlY3RlZEVsZW1lbnRBdHRyOwogICAgIFtSZWZsZWN0LCBV
UkxdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmbGVjdGVkVVJMQXR0cjsKICAgICBbUmVmbGVjdCwg
VVJMXSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHJlZmxlY3RlZFVTVlVSTEF0dHI7CiAgICAgW1JlZmxl
Y3Q9Y3VzdG9tQ29udGVudFN0cmluZ0F0dHJdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmbGVjdGVk
U3RyaW5nQXR0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDI5YTEyZDlhMDU2MjM4MTI0
YzkyNDBlOGJhM2EwODIxZGFmZTJkZTUuLjRiMzBkMWQ0YjcxYWY5ZGI3MDhjNDUyZGY3YmRlM2U1
ZTY5YmM5OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtOTE3Miw2ICs5MTcyLDE0IEBA
IGJvb2wgRG9jdW1lbnQ6OmlzU2FtZVNpdGVGb3JDb29raWVzKGNvbnN0IFVSTCYgdXJsKSBjb25z
dAogICAgIHJldHVybiBkb21haW4ubWF0Y2hlcyh1cmwpOwogfQogCitFeHBsaWNpdGx5U2V0QXR0
ckVsZW1lbnRzTWFwKiBEb2N1bWVudDo6R2V0RXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcChj
b25zdCBFbGVtZW50JiBlbGVtZW50KQoreworICAgIEFTU0VSVCgmZWxlbWVudC5kb2N1bWVudCgp
ID09IHRoaXMpOworICAgIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAgbWFwOworICAgIGF1
dG8gcmVzdWx0ID0gbV9lbGVtZW50RXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcC5hZGQoZWxl
bWVudCwgV1RGTW92ZShtYXApKTsKKyAgICByZXR1cm4gJnJlc3VsdC5pdGVyYXRvci0+dmFsdWU7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI3VuZGVmIERPQ1VNRU5UX1JFTEVBU0Vf
TE9HCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IGIwZjdkNTdkNThlN2M1MzJmNTI0MzZmMjllNzRk
YjI4Y2E0YjAzZmYuLjZmMDMxZTRkOTRiNGQ0NzMyOWU3ZTIzOTFmMDEyYTkxYTdjNTY0MzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oCkBAIC02Nyw2ICs2Nyw3IEBACiAjaW5jbHVkZSA8d3RmL09iamVj
dElkZW50aWZpZXIuaD4KICNpbmNsdWRlIDx3dGYvT2JzZXJ2ZXIuaD4KICNpbmNsdWRlIDx3dGYv
VW5pcXVlUmVmLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtIYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3Rm
L1dlYWtIYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9BdG9tU3RyaW5nSGFzaC5oPgpAQCAtMjcxLDYgKzI3Miw3IEBAIGVudW0gY2xhc3MgTXV0
YXRpb25PYnNlcnZlck9wdGlvblR5cGUgOiB1aW50OF90OwogdXNpbmcgTWVkaWFQcm9kdWNlck1l
ZGlhU3RhdGVGbGFncyA9IE9wdGlvblNldDxNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZT47CiB1c2lu
ZyBNZWRpYVByb2R1Y2VyTXV0ZWRTdGF0ZUZsYWdzID0gT3B0aW9uU2V0PE1lZGlhUHJvZHVjZXJN
dXRlZFN0YXRlPjsKIHVzaW5nIFBsYXRmb3JtRGlzcGxheUlEID0gdWludDMyX3Q7Cit1c2luZyBF
eHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwID0gSGFzaE1hcDxRdWFsaWZpZWROYW1lLCBWZWN0
b3I8V2Vha1B0cjxFbGVtZW50Pj4+OwogCiBuYW1lc3BhY2UgU3R5bGUgewogY2xhc3MgUmVzb2x2
ZXI7CkBAIC0xNjg1LDYgKzE2ODcsOCBAQCBwdWJsaWM6CiAKICAgICBzdGQ6Om9wdGlvbmFsPFBB
TDo6U2Vzc2lvbklEPiBzZXNzaW9uSUQoKSBjb25zdCBmaW5hbDsKIAorICAgIEV4cGxpY2l0bHlT
ZXRBdHRyRWxlbWVudHNNYXAqIEdldEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoY29uc3Qg
RWxlbWVudCYpOworCiBwcm90ZWN0ZWQ6CiAgICAgZW51bSBDb25zdHJ1Y3Rpb25GbGFncyB7IFN5
bnRoZXNpemVkID0gMSwgTm9uUmVuZGVyZWRQbGFjZWhvbGRlciA9IDEgPDwgMSB9OwogICAgIFdF
QkNPUkVfRVhQT1JUIERvY3VtZW50KEZyYW1lKiwgY29uc3QgU2V0dGluZ3MmLCBjb25zdCBVUkwm
LCBEb2N1bWVudENsYXNzZXMgPSB7IH0sIHVuc2lnbmVkIGNvbnN0cnVjdGlvbkZsYWdzID0gMCwg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgPSB7IH0pOwpAQCAtMjI3Nyw2ICsyMjgx
LDggQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8RnVuY3Rpb248dm9pZCgpPj4gbV93aGVuSXNWaXNp
YmxlSGFuZGxlcnM7CiAKICAgICBXZWFrSGFzaFNldDxFbGVtZW50PiBtX2VsZW1lbnRzV2l0aFBl
bmRpbmdVc2VyQWdlbnRTaGFkb3dUcmVlVXBkYXRlczsKKworICAgIFdlYWtIYXNoTWFwPEVsZW1l
bnQsIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXA+IG1fZWxlbWVudEV4cGxpY2l0bHlTZXRB
dHRyRWxlbWVudHNNYXA7CiB9OwogCiBFbGVtZW50KiBldmVudFRhcmdldEVsZW1lbnRGb3JEb2N1
bWVudChEb2N1bWVudCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDBiZDI2NzIxY2JlODcw
NDczNmIxOGE3NTZlODhmMDY1YTY0MDcyM2MuLjM1MDczZjhmYWJjZjhkZTYwNmM4MjRhYmE4MDY0
YjQzMmVlY2EzZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTE5MDEsNiArMTkwMSwxNCBA
QCBzdGF0aWMgaW5saW5lIEF0b21TdHJpbmcgbWFrZUlkRm9yU3R5bGVSZXNvbHV0aW9uKGNvbnN0
IEF0b21TdHJpbmcmIHZhbHVlLCBib29sCiAgICAgcmV0dXJuIHZhbHVlOwogfQogCitzdGF0aWMg
Ym9vbCBpc0VsZW1lbnRSZWZsZWN0aW9uQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5h
bWUpCit7CisgICAgaWYgKG5hbWUgPT0gSFRNTE5hbWVzOjphcmlhX2FjdGl2ZWRlc2NlbmRhbnRB
dHRyIHx8IG5hbWUgPT0gSFRNTE5hbWVzOjphcmlhX2Vycm9ybWVzc2FnZUF0dHIpCisgICAgICAg
IHJldHVybiB0cnVlOworCisgICAgcmV0dXJuIGZhbHNlOworfQorCiB2b2lkIEVsZW1lbnQ6OmF0
dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmlu
ZyYgb2xkVmFsdWUsIGNvbnN0IEF0b21TdHJpbmcmIG5ld1ZhbHVlLCBBdHRyaWJ1dGVNb2RpZmlj
YXRpb25SZWFzb24pCiB7CiAgICAgYm9vbCB2YWx1ZUlzU2FtZUFzQmVmb3JlID0gb2xkVmFsdWUg
PT0gbmV3VmFsdWU7CkBAIC0xOTM3LDYgKzE5NDUsOCBAQCB2b2lkIEVsZW1lbnQ6OmF0dHJpYnV0
ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYgb2xk
VgogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgaWYgKG5hbWUgPT0gSFRNTE5hbWVzOjpw
YXJ0QXR0cikKICAgICAgICAgICAgIHBhcnRBdHRyaWJ1dGVDaGFuZ2VkKG5ld1ZhbHVlKTsKKyAg
ICAgICAgZWxzZSBpZiAoaXNFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0ZShuYW1lKSkKKyAgICAg
ICAgICAgIHN5bmNocm9uaXplRWxlbWVudFJlZmxlY3Rpb25BdHRyaWJ1dGUobmFtZSk7CiAgICAg
ICAgIGVsc2UgaWYgKG5hbWUgPT0gSFRNTE5hbWVzOjpleHBvcnRwYXJ0c0F0dHIpIHsKICAgICAg
ICAgICAgIGlmIChhdXRvKiBzaGFkb3dSb290ID0gdGhpcy0+c2hhZG93Um9vdCgpKSB7CiAgICAg
ICAgICAgICAgICAgc2hhZG93Um9vdC0+aW52YWxpZGF0ZVBhcnRNYXBwaW5ncygpOwpAQCAtMTk2
MSw2ICsxOTcxLDcyIEBAIHZvaWQgRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFs
aWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9tU3RyaW5nJiBvbGRWCiAgICAgICAgIGNhY2hlLT5k
ZWZlckF0dHJpYnV0ZUNoYW5nZUlmTmVlZGVkKG5hbWUsIHRoaXMpOwogfQogCit2b2lkIEVsZW1l
bnQ6OnN5bmNocm9uaXplRWxlbWVudFJlZmxlY3Rpb25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYgYXR0cmlidXRlTmFtZSkKK3sKKyAgICBBU1NFUlQoZG9jdW1lbnQoKS5zZXR0aW5ncygp
LmFyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5jZXNFbmFibGVkKCkpOworICAgIEFTU0VS
VChpc0VsZW1lbnRSZWZsZWN0aW9uQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpKTsKKworICAgIGRv
Y3VtZW50KCkuR2V0RXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCgqdGhpcyktPnJlbW92ZShh
dHRyaWJ1dGVOYW1lKTsKK30KKworYm9vbCBFbGVtZW50Ojppc0Rlc2NlbmRhbnRPZlNoYWRvd0lu
Y2x1ZGluZ0FuY2VzdG9ycyhjb25zdCBFbGVtZW50JiBlbGVtZW50KSBjb25zdAoreworICAgIGlm
ICghaXNJblRyZWVTY29wZSgpIHx8ICFlbGVtZW50LmlzSW5UcmVlU2NvcGUoKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgZm9yIChhdXRvKiByb290ID0gY29udGFpbmluZ1NoYWRvd1Jv
b3QoKTsgcm9vdDsgcm9vdCA9IHJvb3QtPmhvc3QoKS0+Y29udGFpbmluZ1NoYWRvd1Jvb3QoKSkg
eworICAgICAgICBpZiAoZWxlbWVudC5pc0Rlc2NlbmRhbnRPZihyb290KSkKKyAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgIH0KKworICAgIHJldHVybiBlbGVtZW50LmlzRGVzY2VuZGFudE9m
KGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkpOworfQorCitFbGVtZW50KiBFbGVtZW50Ojpn
ZXRFbGVtZW50QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIGNv
bnN0Cit7CisgICAgQVNTRVJUKGRvY3VtZW50KCkuc2V0dGluZ3MoKS5hcmlhUmVmbGVjdGlvbkZv
ckVsZW1lbnRSZWZlcmVuY2VzRW5hYmxlZCgpKTsKKyAgICBBU1NFUlQoaXNFbGVtZW50UmVmbGVj
dGlvbkF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CisKKyAgICBhdXRvKiBleHBsaWNpdGx5U2V0
QXR0ckVsZW1lbnRzTWFwID0gZG9jdW1lbnQoKS5HZXRFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRz
TWFwKCp0aGlzKTsKKyAgICBpZiAoZXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcC0+Y29udGFp
bnMoYXR0cmlidXRlTmFtZSkpIHsKKyAgICAgICAgQVNTRVJUKGV4cGxpY2l0bHlTZXRBdHRyRWxl
bWVudHNNYXAtPmZpbmQoYXR0cmlidXRlTmFtZSktPnZhbHVlLmxlbmd0aCA9PSAxKTsKKyAgICAg
ICAgYXV0byogZWxlbWVudCA9IGV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAtPmZpbmQoYXR0
cmlidXRlTmFtZSktPnZhbHVlWzBdLmdldCgpOworICAgICAgICBBU1NFUlQoZWxlbWVudCk7Cisg
ICAgICAgIGlmIChpc0Rlc2NlbmRhbnRPZlNoYWRvd0luY2x1ZGluZ0FuY2VzdG9ycygqZWxlbWVu
dCkpCisgICAgICAgICAgICByZXR1cm4gZWxlbWVudDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7
CisgICAgfQorCisgICAgYXV0byBpZCA9IGdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKTsKKyAg
ICBpZiAoaWQuaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgcmV0dXJu
IHRyZWVTY29wZSgpLmdldEVsZW1lbnRCeUlkKGlkKTsKK30KKwordm9pZCBFbGVtZW50OjpzZXRF
bGVtZW50QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUsIEVsZW1l
bnQqIGVsZW1lbnQpCit7CisgICAgQVNTRVJUKGRvY3VtZW50KCkuc2V0dGluZ3MoKS5hcmlhUmVm
bGVjdGlvbkZvckVsZW1lbnRSZWZlcmVuY2VzRW5hYmxlZCgpKTsKKyAgICBBU1NFUlQoaXNFbGVt
ZW50UmVmbGVjdGlvbkF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CisKKyAgICBhdXRvKiBleHBs
aWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwID0gZG9jdW1lbnQoKS5HZXRFeHBsaWNpdGx5U2V0QXR0
ckVsZW1lbnRzTWFwKCp0aGlzKTsKKyAgICBpZiAoIWVsZW1lbnQpIHsKKyAgICAgICAgZXhwbGlj
aXRseVNldEF0dHJFbGVtZW50c01hcC0+cmVtb3ZlKGF0dHJpYnV0ZU5hbWUpOworICAgICAgICBy
ZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBhdXRvIGlkID0gZWxlbWVudC0+Z2V0SWRBdHRyaWJ1dGUoKTsKKyAgICBpZiAoIWlkLmlz
TnVsbCgpICYmICZ0cmVlU2NvcGUoKSA9PSAmZWxlbWVudC0+dHJlZVNjb3BlKCkgJiYgdHJlZVNj
b3BlKCkuZ2V0RWxlbWVudEJ5SWQoaWQpID09IGVsZW1lbnQpCisgICAgICAgIHNldEF0dHJpYnV0
ZShhdHRyaWJ1dGVOYW1lLCBpZCk7CisgICAgZWxzZQorICAgICAgICBzZXRBdHRyaWJ1dGUoYXR0
cmlidXRlTmFtZSwgZW1wdHlBdG9tKCkpOworCisgICAgVmVjdG9yPFdlYWtQdHI8RWxlbWVudD4+
IGVsZW1lbnRzOworICAgIGVsZW1lbnRzLmFwcGVuZChlbGVtZW50KTsKKyAgICBleHBsaWNpdGx5
U2V0QXR0ckVsZW1lbnRzTWFwLT5zZXQoYXR0cmlidXRlTmFtZSwgV1RGTW92ZShlbGVtZW50cykp
OworfQorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KIHN0YXRpYyBpbmxpbmUg
Ym9vbCBpc05vbkVtcHR5VG9rZW5MaXN0KGNvbnN0IENoYXJhY3RlclR5cGUqIGNoYXJhY3RlcnMs
IHVuc2lnbmVkIGxlbmd0aCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IDljYWJlM2FkY2Q3NThj
NTJlYmI4NTk2MTI2MGI1MjFmYjI1ODAzMDcuLmM1YjQyZmU5OGYzOTI4Zjc1NTA0NWNiZGE1OTc1
MGFhN2M0ZWFhYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtMTIxLDYgKzEyMSw4IEBAIHB1Ymxp
YzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEludGVncmFsQXR0cmlidXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUsIGludCB2YWx1ZSk7CiAgICAgV0VCQ09SRV9FWFBP
UlQgdW5zaWduZWQgZ2V0VW5zaWduZWRJbnRlZ3JhbEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiBhdHRyaWJ1dGVOYW1lKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFVu
c2lnbmVkSW50ZWdyYWxBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFt
ZSwgdW5zaWduZWQgdmFsdWUpOworICAgIFdFQkNPUkVfRVhQT1JUIEVsZW1lbnQqIGdldEVsZW1l
bnRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgY29uc3Q7Cisg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRFbGVtZW50QXR0cmlidXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIGF0dHJpYnV0ZU5hbWUsIEVsZW1lbnQqIHZhbHVlKTsKIAogICAgIC8vIENhbGwgdGhp
cyB0byBnZXQgdGhlIHZhbHVlIG9mIGFuIGF0dHJpYnV0ZSB0aGF0IGlzIGtub3duIG5vdCB0byBi
ZSB0aGUgc3R5bGUKICAgICAvLyBhdHRyaWJ1dGUgb3Igb25lIG9mIHRoZSBTVkcgYW5pbWF0YWJs
ZSBhdHRyaWJ1dGVzLgpAQCAtNzM5LDYgKzc0MSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRB
dHRyaWJ1dGVJbnRlcm5hbCh1bnNpZ25lZCBpbmRleCwgY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNv
bnN0IEF0b21TdHJpbmcmIHZhbHVlLCBTeW5jaHJvbml6YXRpb25PZkxhenlBdHRyaWJ1dGUpOwog
ICAgIHZvaWQgYWRkQXR0cmlidXRlSW50ZXJuYWwoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0
IEF0b21TdHJpbmcmIHZhbHVlLCBTeW5jaHJvbml6YXRpb25PZkxhenlBdHRyaWJ1dGUpOwogICAg
IHZvaWQgcmVtb3ZlQXR0cmlidXRlSW50ZXJuYWwodW5zaWduZWQgaW5kZXgsIFN5bmNocm9uaXph
dGlvbk9mTGF6eUF0dHJpYnV0ZSk7CisgICAgdm9pZCBzeW5jaHJvbml6ZUVsZW1lbnRSZWZsZWN0
aW9uQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKIAogICAgIHZvaWQgc2V0U2F2ZWRM
YXllclNjcm9sbFBvc2l0aW9uU2xvdyhjb25zdCBJbnRQb2ludCYpOwogICAgIHZvaWQgY2xlYXJC
ZWZvcmVQc2V1ZG9FbGVtZW50U2xvdygpOwpAQCAtNzg1LDYgKzc4OCw4IEBAIHByaXZhdGU6CiAg
ICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBmYXN0QXR0cmlidXRlTG9va3VwQWxsb3dlZChjb25zdCBR
dWFsaWZpZWROYW1lJikgY29uc3Q7CiAjZW5kaWYKIAorICAgIGJvb2wgaXNEZXNjZW5kYW50T2ZT
aGFkb3dJbmNsdWRpbmdBbmNlc3RvcnMoY29uc3QgRWxlbWVudCYpIGNvbnN0OworCiAgICAgUXVh
bGlmaWVkTmFtZSBtX3RhZ05hbWU7CiAgICAgUmVmUHRyPEVsZW1lbnREYXRhPiBtX2VsZW1lbnRE
YXRhOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAyZTUzOGM2MGM5Y2ZkNDU1
NTE2NDk1Mzc0N2QxZjgzNGRlMDhjMjJkLi5lNGE5MDBlMGU1YzAzNDE1NzgzNjE1OTRjODdkYjI4
OWVjNmZkZTBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAyMi0wNC0yOCAgTWFudWVsIFJlZ28gQ2FzYXNub3ZhcyAgPHJlZ29AaWdhbGlhLmNvbT4K
KworICAgICAgICBBUklBIHJlZmxlY3Rpb24gZm9yIEVsZW1lbnQgYXR0cmlidXRlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5ODUyCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU21hbGwgZml4IG9uIHRo
ZSB0ZXN0IGFuZCB1cGRhdGUgdGVzdCByZXN1bHRzIHdpdGggdGhlIG5ldyBQQVNTLgorCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlv
bi50ZW50YXRpdmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLmh0bWw6CisKIDIwMjIt
MDQtMjYgIE9yaW9sIEJydWZhdSAgPG9icnVmYXVAaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3Nz
LWNhc2NhZGVdIEZpeCBjYXNjYWRlIHJvbGxiYWNrIGZvciBkZWZlcnJlZCBwcm9wZXJ0aWVzCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50YXRpdmUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJp
YS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLWV4cGVjdGVkLnR4dAppbmRleCBkY2EzMThi
MDk4NTNhYmJhOTdkNWRmNzViZjM0M2JjMTUzNTg3YWMwLi4zYzVkMDI2OGJhZjllNjJjODBiMTA5
MjE2MDY2YTNlMWQzMDliYjA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50
YXRpdmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZG9tL25vZGVzL2FyaWEtZWxlbWVudC1yZWZsZWN0aW9uLnRlbnRhdGl2ZS1l
eHBlY3RlZC50eHQKQEAgLTksMTAgKzksNyBAQCBGaXJzdCBkZXNjcmlwdGlvbi4KIFNlY29uZCBk
ZXNjcmlwdGlvbi4KIEl0ZW0gMQogSXRlbSAyCi1JdGVtIDEKLUl0ZW0gMgogSGVsbG8gd29ybGQh
Ci1JIGFtIGFuIGFwcGxlCiBJIGFtIGEgcGVhcgogSSBhbSBhIGJhbmFuYQogQmlsbGluZwpAQCAt
NDcsMTcgKzQ0LDE3IEBAIFdvbmRlcmZ1bAogRmFudGFzdGljCiAKIAotRkFJTCBhcmlhLWFjdGl2
ZWRlc2NlbmRhbnQgZWxlbWVudCByZWZsZWN0aW9uIGFzc2VydF9lcXVhbHM6IGludmFsaWQgSUQg
Zm9yIHJlbGF0aW9uc2hpcCByZXR1cm5zIG51bGwgZXhwZWN0ZWQgKG9iamVjdCkgbnVsbCBidXQg
Z290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJTCBJZiB0aGUgY29udGVudCBhdHRyaWJ1dGUg
aXMgc2V0IGRpcmVjdGx5LCB0aGUgSURMIGF0dHJpYnV0ZSBnZXR0ZXIgYWx3YXlzIHJldHVybnMg
dGhlIGZpcnN0IGVsZW1lbnQgd2hvc2UgSUQgbWF0Y2hlcyB0aGUgY29udGVudCBhdHRyaWJ1dGUu
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChvYmplY3QpIEVsZW1lbnQgbm9kZSA8ZGl2IHJvbGU9
Im9wdGlvbiIgaWQ9Im9wdGlvbjEiPkl0ZW0gMTwvZGl2PiBidXQgZ290ICh1bmRlZmluZWQpIHVu
ZGVmaW5lZAotRkFJTCBTZXR0aW5nIHRoZSBJREwgYXR0cmlidXRlIHRvIGFuIGVsZW1lbnQgd2hp
Y2ggaXMgbm90IHRoZSBmaXJzdCBlbGVtZW50IGluIERPTSBvcmRlciB3aXRoIGl0cyBJRCBjYXVz
ZXMgdGhlIGNvbnRlbnQgYXR0cmlidXRlIHRvIGJlIGFuIGVtcHR5IHN0cmluZyBhc3NlcnRfdHJ1
ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgU2V0dGluZyBhbiBlbGVtZW50IHJlZmVy
ZW5jZSB0aGF0IGNyb3NzZXMgaW50byBhIHNoYWRvdyB0cmVlIGlzIGRpc2FsbG93ZWQsIGJ1dCBz
ZXR0aW5nIG9uZSB0aGF0IGlzIGluIGEgc2hhZG93IGluY2x1c2l2ZSBhbmNlc3RvciBpcyBhbGxv
d2VkLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAob2JqZWN0KSBudWxsIGJ1dCBnb3QgKHVuZGVm
aW5lZCkgdW5kZWZpbmVkCi1GQUlMIGFyaWEtZXJyb3JtZXNzYWdlIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIChzdHJpbmcpICJlcnJvck1lc3NhZ2UiIGJ1dCBnb3QgKG9iamVjdCkgbnVsbAorUEFT
UyBhcmlhLWFjdGl2ZWRlc2NlbmRhbnQgZWxlbWVudCByZWZsZWN0aW9uCitQQVNTIElmIHRoZSBj
b250ZW50IGF0dHJpYnV0ZSBpcyBzZXQgZGlyZWN0bHksIHRoZSBJREwgYXR0cmlidXRlIGdldHRl
ciBhbHdheXMgcmV0dXJucyB0aGUgZmlyc3QgZWxlbWVudCB3aG9zZSBJRCBtYXRjaGVzIHRoZSBj
b250ZW50IGF0dHJpYnV0ZS4KK1BBU1MgU2V0dGluZyB0aGUgSURMIGF0dHJpYnV0ZSB0byBhbiBl
bGVtZW50IHdoaWNoIGlzIG5vdCB0aGUgZmlyc3QgZWxlbWVudCBpbiBET00gb3JkZXIgd2l0aCBp
dHMgSUQgY2F1c2VzIHRoZSBjb250ZW50IGF0dHJpYnV0ZSB0byBiZSBhbiBlbXB0eSBzdHJpbmcK
K1BBU1MgU2V0dGluZyBhbiBlbGVtZW50IHJlZmVyZW5jZSB0aGF0IGNyb3NzZXMgaW50byBhIHNo
YWRvdyB0cmVlIGlzIGRpc2FsbG93ZWQsIGJ1dCBzZXR0aW5nIG9uZSB0aGF0IGlzIGluIGEgc2hh
ZG93IGluY2x1c2l2ZSBhbmNlc3RvciBpcyBhbGxvd2VkLgorUEFTUyBhcmlhLWVycm9ybWVzc2Fn
ZQogRkFJTCBhcmlhLWRldGFpbHMgYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgdW5kZWZp
bmVkLCBleHBlY3RlZCBhcnJheQotRkFJTCBEZWxldGluZyBhIHJlZmxlY3RlZCBlbGVtZW50IHNo
b3VsZCByZXR1cm4gbnVsbCBmb3IgdGhlIElETCBhdHRyaWJ1dGUgYW5kIGNhdXNlIHRoZSBjb250
ZW50IGF0dHJpYnV0ZSB0byBiZWNvbWUgc3RhbGUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChv
YmplY3QpIEVsZW1lbnQgbm9kZSA8ZGl2IHJvbGU9Im9wdGlvbiIgaWQ9ImNvbnRlbnRBdHRyRWxl
bWVudCI+SXRlbSAxPC9kaXY+IGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlMIENo
YW5naW5nIHRoZSBJRCBvZiBhbiBlbGVtZW50IGNhdXNlcyB0aGUgY29udGVudCBhdHRyaWJ1dGUg
dG8gYmVjb21lIG91dCBvZiBzeW5jLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAob2JqZWN0KSBF
bGVtZW50IG5vZGUgPGRpdiByb2xlPSJvcHRpb24iIGlkPSJjaGFuZ2luZ0lkRWxlbWVudCI+SXRl
bSAxPC9kaXY+IGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlMIFJlcGFyZW50aW5n
IGFuIGVsZW1lbnQgaW50byBhIGRlc2NlbmRhbnQgc2hhZG93IHNjb3BlIGhpZGVzIHRoZSBlbGVt
ZW50IHJlZmVyZW5jZS4gYXNzZXJ0X2VxdWFsczogbnVsbCBiZWZvcmUgZXhwZWN0ZWQgKG9iamVj
dCkgbnVsbCBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJTCBSZXBhcmVudGluZyBy
ZWZlcmVuY2VkIGVsZW1lbnQgY2Fubm90IGNhdXNlIHJldGFyZ2V0aW5nIG9mIHJlZmVyZW5jZS4g
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHN0cmluZykgImFwcGxlIiBidXQgZ290IChvYmplY3Qp
IG51bGwKLUZBSUwgRWxlbWVudCByZWZlcmVuY2Ugc2V0IGluIGludmFsaWQgc2NvcGUgcmVtYWlu
cyBpbnRhY3QgdGhyb3VnaG91dCBtb3ZlIHRvIHZhbGlkIHNjb3BlLiBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCBudWxsIGJ1dCBnb3QgRWxlbWVudCBub2RlIDxkaXYgaWQ9InRvYXN0Ij48L2Rpdj4K
K1BBU1MgRGVsZXRpbmcgYSByZWZsZWN0ZWQgZWxlbWVudCBzaG91bGQgcmV0dXJuIG51bGwgZm9y
IHRoZSBJREwgYXR0cmlidXRlIGFuZCBjYXVzZSB0aGUgY29udGVudCBhdHRyaWJ1dGUgdG8gYmVj
b21lIHN0YWxlLgorUEFTUyBDaGFuZ2luZyB0aGUgSUQgb2YgYW4gZWxlbWVudCBjYXVzZXMgdGhl
IGNvbnRlbnQgYXR0cmlidXRlIHRvIGJlY29tZSBvdXQgb2Ygc3luYy4KK1BBU1MgUmVwYXJlbnRp
bmcgYW4gZWxlbWVudCBpbnRvIGEgZGVzY2VuZGFudCBzaGFkb3cgc2NvcGUgaGlkZXMgdGhlIGVs
ZW1lbnQgcmVmZXJlbmNlLgorUEFTUyBSZXBhcmVudGluZyByZWZlcmVuY2VkIGVsZW1lbnQgY2Fu
bm90IGNhdXNlIHJldGFyZ2V0aW5nIG9mIHJlZmVyZW5jZS4KK1BBU1MgRWxlbWVudCByZWZlcmVu
Y2Ugc2V0IGluIGludmFsaWQgc2NvcGUgcmVtYWlucyBpbnRhY3QgdGhyb3VnaG91dCBtb3ZlIHRv
IHZhbGlkIHNjb3BlLgogRkFJTCBhcmlhLWxhYmVsbGVkYnkuIGFzc2VydF9hcnJheV9lcXVhbHM6
IHBhcnNlZCBjb250ZW50IGF0dHJpYnV0ZSBzZXRzIGVsZW1lbnQgcmVmZXJlbmNlcy4gdmFsdWUg
aXMgdW5kZWZpbmVkLCBleHBlY3RlZCBhcnJheQogRkFJTCBhcmlhLWNvbnRyb2xzLiBhc3NlcnRf
YXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyB1bmRlZmluZWQsIGV4cGVjdGVkIGFycmF5CiBGQUlMIGFy
aWEtZGVzY3JpYmVkYnkuIGFzc2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzIHVuZGVmaW5lZCwg
ZXhwZWN0ZWQgYXJyYXkKQEAgLTY3LDYgKzY0LDYgQEAgRkFJTCBzaGFkb3cgRE9NIGJlaGF2aW91
ciBmb3IgRnJvemVuQXJyYXkgZWxlbWVudCByZWZsZWN0aW9uLiBhc3NlcnRfYXJyYXlfZXF1YWwK
IEZBSUwgTW92aW5nIGV4cGxpY2l0bHkgc2V0IGVsZW1lbnRzIGFjcm9zcyBzaGFkb3cgRE9NIGJv
dW5kYXJpZXMuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICJidXR0b25EZXNjcmlw
dGlvbjEgYnV0dG9uRGVzY3JpcHRpb24yIiBidXQgZ290IChvYmplY3QpIG51bGwKIEZBSUwgTW92
aW5nIGV4cGxpY2l0bHkgc2V0IGVsZW1lbnRzIGFyb3VuZCB3aXRoaW4gdGhlIHNhbWUgc2NvcGUs
IGFuZCByZW1vdmluZyBmcm9tIHRoZSBET00uIGFzc2VydF9hcnJheV9lcXVhbHM6IGFyaWEtbGFi
ZWxlZCBieSBpcyBzdXBwb3J0ZWQgYnkgSURMIGdldHRlci4gdmFsdWUgaXMgdW5kZWZpbmVkLCBl
eHBlY3RlZCBhcnJheQogUEFTUyBSZXBhcmVudGluZy4KLUZBSUwgQXR0YWNoaW5nIGVsZW1lbnQg
cmVmZXJlbmNlIGJlZm9yZSBpdCdzIGluc2VydGVkIGludG8gdGhlIERPTS4gYXNzZXJ0X2VxdWFs
czogUmVmZXJlbmNlZCBlbGVtZW50IG5vdCBpbnNlcnRlZCBpbnRvIGRvY3VtZW50LCBzbyBpcyBp
biBhbiBpbnZhbGlkIHNjb3BlLiBleHBlY3RlZCBudWxsIGJ1dCBnb3QgRWxlbWVudCBub2RlIDxz
cGFuIGlkPSJ0b1NwYW4iPjwvc3Bhbj4KLUZBSUwgQ3Jvc3MtZG9jdW1lbnQgcmVmZXJlbmNlcyBh
bmQgbW92ZXMuIGFzc2VydF9lcXVhbHM6IENyb3NzLWRvY3VtZW50IGlzIGFuIGludmFsaWQgc2Nv
cGUsIHNvIHJlZmVyZW5jZSB3aWxsIG5vdCBiZSB2aXNpYmxlLiBleHBlY3RlZCBudWxsIGJ1dCBn
b3QgRWxlbWVudCBub2RlIDxzcGFuPjwvc3Bhbj4KK1BBU1MgQXR0YWNoaW5nIGVsZW1lbnQgcmVm
ZXJlbmNlIGJlZm9yZSBpdCdzIGluc2VydGVkIGludG8gdGhlIERPTS4KK1BBU1MgQ3Jvc3MtZG9j
dW1lbnQgcmVmZXJlbmNlcyBhbmQgbW92ZXMuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL2FyaWEtZWxlbWVudC1yZWZs
ZWN0aW9uLnRlbnRhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLmh0
bWwKaW5kZXggNzc2ZmZmMzE0MzIyYjkwMDRlMWU2NzgzYzYyNmMwMzU2Y2E4ZjBhNy4uNjFkMDQ3
ZGFmMjgxZjk3MjE0ZjM0ZTkyN2NlNzYyMjA0ODA1NmMyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50
LXJlZmxlY3Rpb24udGVudGF0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVu
dGF0aXZlLmh0bWwKQEAgLTE2NCw2ICsxNjQsNyBAQAogICA8c2NyaXB0PgogCiAgIHRlc3QoZnVu
Y3Rpb24odCkgeworICAgIGNvbnN0IGNvbnRlbnRBdHRyRWxlbWVudCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250ZW50QXR0ckVsZW1lbnQiKTsKICAgICBjb25zdCBpZGxBdHRyRWxlbWVu
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZGxBdHRyRWxlbWVudCIpOwogCiAgICAgYXNz
ZXJ0X2VxdWFscyhkZWxldGlvblBhcmVudC5nZXRBdHRyaWJ1dGUoImFyaWEtYWN0aXZlZGVzY2Vu
ZGFudCIpLCAiY29udGVudEF0dHJFbGVtZW50Iik7Cg==
</data>
<flag name="commit-queue"
          id="487394"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458541</attachid>
            <date>2022-04-28 12:16:08 -0700</date>
            <delta_ts>2022-04-29 01:39:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239852-20220428211606.patch</filename>
            <type>text/plain</type>
            <size>28360</size>
            <attacher name="Manuel Rego Casasnovas">rego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNDk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGRhMjFhYjkzZTYyMDczYWRhNmQyNjEz
YjZhMmE3NmY4NDRmYzEzMzguLmIwZWJkZWExMDE4YTk3ZGVlYmQ2MjIyMGVhY2QyNmVmMzkyZTA0
ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjItMDQtMjggIE1hbnVlbCBSZWdvIENhc2Fzbm92
YXMgIDxyZWdvQGlnYWxpYS5jb20+CisKKyAgICAgICAgQVJJQSByZWZsZWN0aW9uIGZvciBFbGVt
ZW50IGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzOTg1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBuZXcgcnVudGltZSBmbGFnIEFyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVy
ZW5jZXNFbmFibGVkLgorCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJl
bmNlc0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIyLTA0LTI2ICBNYW51ZWwgUmVnbyBDYXNhc25v
dmFzICA8cmVnb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFJlbW92ZSBBcmlhUmVmbGVjdGlvbkVu
YWJsZWQgcnVudGltZSBmbGFnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M0ZjhhZDU3NDljYzliNTAyM2E4ZmVj
ZTAyYzc3MGIxMTA4YTBlYi4uYzM1ZDNjNDQxYzdlYmE3M2NmMjY1Njk3N2U5YzY2OGZkMWI5ZGEz
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDIyLTA0LTI4ICBNYW51ZWwgUmVnbyBD
YXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIEFSSUEgcmVmbGVjdGlvbiBm
b3IgRWxlbWVudCBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzk4NTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJbXBsZW1lbnQgQVJJQSByZWZsZWN0aW9uIGZvciBhdHRyaWJ1dGVzIHRo
YXQgcmVmZXIgdG8gYSBzaW5nbGUgRWxlbWVudDoKKyAgICAgICAgYXJpYUFjdGl2ZURlc2NlbmRh
bnQgJiBhcmlhRXJyb3JNZXNzYWdlLgorCisgICAgICAgIFRoaXMgaXMgZG9uZSBmb2xsb3dpbmcg
dGhlIHByb3BzZWQgc3BlYyB0ZXh0IGRlZmluZWQgYXQ6CisgICAgICAgIGh0dHBzOi8vZ2l0aHVi
LmNvbS93aGF0d2cvaHRtbC9wdWxsLzM5MTcKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQXJp
YUF0dHJpYnV0ZXMuaWRsOiBBZGQgYXJpYUFjdGl2ZURlc2NlbmRhbnQgJiBhcmlhRXJyb3JNZXNz
YWdlLgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbToKKyAgICAg
ICAgKEdldHRlckV4cHJlc3Npb24pOiBBZGQgZnVuY3Rpb24gZm9yIEVsZW1lbnQgYXR0cmlidXRl
cy4KKyAgICAgICAgKFNldHRlckV4cHJlc3Npb24pOiBEaXR0by4KKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcDogQWRkIHRlc3RzIGZvciBlbGVtZW50Cisg
ICAgICAgIGF0dHJpYnV0ZSByZWZsZWN0aW9uLgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0T2Jq
RE9NQ29uc3RydWN0b3I6OmNvbnN0cnVjdCk6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpf
cmVmbGVjdGVkRWxlbWVudEF0dHJHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6SlNDX0RFRklO
RV9DVVNUT01fR0VUVEVSKToKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdE9ial9yZWZsZWN0
ZWRFbGVtZW50QXR0clNldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RP
TV9TRVRURVIpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbDog
QWRkIHJlZmxlY3RlZEVsZW1lbnRBdHRyCisgICAgICAgIGF0dHJpYnV0ZS4KKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OkdldEV4cGxpY2l0
bHlTZXRBdHRyRWxlbWVudHNNYXApOiBSZXR1cm4gdGhlIG1hcAorICAgICAgICBvZiBhdHRyaWJ1
dGVzIGV4cGxpY2l0bHkgc2V0IGZvciBhIGdpdmVuIEVsZW1lbnQuCisgICAgICAgICogZG9tL0Rv
Y3VtZW50Lmg6IEFkZCBtYXAgdG8gc3RvcmUgRWxlbWVudCB0aGF0IGhhdmUgc29tZSBFbGVtZW50
CisgICAgICAgIGF0dHJpYnV0ZXMgZXhwbGljaXRseSBzZXQuIFRoZSBtYXAgZW5kcyB1cCBzdG9y
aW5nIGEgVmVjdG9yIG9mCisgICAgICAgIEVsZW1lbnRzIGluIHByZXBhcmF0aW9uIGZvciBzdXBw
b3J0aW5nIEZyb3plbkFycmF5PEVsZW1lbnQ+IGF0dHJpYnV0ZXMKKyAgICAgICAgKHRob3VnaCBz
byBmYXIgb25seSBvbmUgRWxlbWVudCBpcyBzdG9yZWQpLgorICAgICAgICAqIGRvbS9FbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzRWxlbWVudFJlZmxlY3Rpb25BdHRyaWJ1dGUpOiBV
dGlsaXR5IGZ1bmN0aW9uIHRvIGlkZW50aWZ5CisgICAgICAgIEVsZW1lbnQgcmVmbGVjdGlvbiBh
dHRyaWJ1dGVzLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6
IElmIGFuIGVsZW1lbnQgcmVmbGVjdGlvbgorICAgICAgICBhdHRyaWJ1dGUgaGFzIGNoYW5nZWQg
d2UgbmVlZCB0byBzeW5jaHJvbml6ZSB0aGUgbWFwLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVu
dDo6c3luY2hyb25pemVFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0ZSk6IFJlbW92ZSB0aGUKKyAg
ICAgICAgbWFwIGZvciB0aGUgZ2l2ZW4gYXR0cmlidXRlIGFzIGl0J2xsIGJlIHByb3Blcmx5IHVw
ZGF0ZWQgaW4KKyAgICAgICAgc2V0RWxlbWVudEF0dHJpYnV0ZSgpLgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudDo6aXNEZXNjZW5kYW50T2ZTaGFkb3dJbmNsdWRpbmdBbmNlc3RvcnMgY29uc3Qp
OgorICAgICAgICBVdGlsaXR5IG1ldGhvZCB0byBkZXRlY3QgaWYgYW4gZWxlbWVudCBpcyBhIGRl
c2NlbmRhbnQgb2YgYW55IG9mCisgICAgICAgIGVsZW1lbnQncyBzaGFkb3ctaW5jbHVkaW5nIGFu
Y2VzdG9ycy4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmdldEVsZW1lbnRBdHRyaWJ1dGUg
Y29uc3QpOiBJbXBsZW1lbnQgZ2V0dGVyIGZvcgorICAgICAgICBlbGVtZW50IGF0dHJpYnV0ZS4K
KyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNldEVsZW1lbnRBdHRyaWJ1dGUpOiBJbXBsZW1l
bnQgc2V0dGVyIGZvcgorICAgICAgICBlbGVtZW50IGF0dHJpYnV0ZS4KKyAgICAgICAgKiBkb20v
RWxlbWVudC5oOiBBZGQgbmV3IG1ldGhvZHMgaGVhZGVycy4KKwogMjAyMi0wNC0yNiAgQW50dGkg
S29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgOjpmaXJzdC1sZXR0ZXIgZG9l
cyBub3Qgd29yayBpZiB1c2VkIG9ubHkgaW4gc2hhZG93IGNvbnRlbnQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55
YW1sIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJp
bWVudGFsLnlhbWwKaW5kZXggMDM4ZTYxYWM5MjM1YzljN2I4Y2E1MWQ5ZTc0OWI5MGRmOWEwMTEw
Zi4uODg0OWYyOWExOTQ0YmE1M2QxZmNiNWViODY2MGEyMDhkYmFjYTMyZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFs
LnlhbWwKKysrIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2Vz
RXhwZXJpbWVudGFsLnlhbWwKQEAgLTY2LDYgKzY2LDE4IEBAIEFjY2Vzc2liaWxpdHlPYmplY3RN
b2RlbEVuYWJsZWQ6CiAgICAgV2ViS2l0OgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorQXJpYVJl
ZmxlY3Rpb25Gb3JFbGVtZW50UmVmZXJlbmNlc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgaHVt
YW5SZWFkYWJsZU5hbWU6ICJBUklBIFJlZmxlY3Rpb24gZm9yIEVsZW1lbnQgUmVmZXJlbmNlcyIK
KyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIEFSSUEgcmVmbGVjdGlvbiBmb3Ig
YXR0cmlidXRlcyB0aGF0IHJlZmVyIHRvIGVsZW1lbnRzIgorICBkZWZhdWx0VmFsdWU6CisgICAg
V2ViS2l0TGVnYWN5OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBXZWJLaXQ6CisgICAgICBk
ZWZhdWx0OiBmYWxzZQorICAgIFdlYkNvcmU6CisgICAgICBkZWZhdWx0OiBmYWxzZQorCiBBc3Bl
Y3RSYXRpb0VuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJDU1Mg
QXNwZWN0IFJhdGlvIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
cmlhQXR0cmlidXRlcy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FyaWFBdHRy
aWJ1dGVzLmlkbAppbmRleCA1YmU1ZTQ2ZjhjNTk2YWM0NjgzM2ZkYzEyNGZhMGU3MDMxMzhlMzg1
Li40YzY2MGJhMTgwMjE5YWEzZmNiYjY2Mjg0ZjUzMDgwOWM0ZjdjYmE3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FyaWFBdHRyaWJ1dGVzLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FyaWFBdHRyaWJ1dGVzLmlkbApAQCAtMjUsNiArMjUs
NyBAQAogCiAvLyBodHRwczovL3dpY2cuZ2l0aHViLmlvL2FvbS9zcGVjL2FyaWEtcmVmbGVjdGlv
bi5odG1sI0FyaWFBdHRyaWJ1dGVzCiBpbnRlcmZhY2UgbWl4aW4gQXJpYUF0dHJpYnV0ZXMgewor
ICAgIFtSZWZsZWN0PWFyaWFfYWN0aXZlZGVzY2VuZGFudCwgRW5hYmxlZEJ5U2V0dGluZz1Bcmlh
UmVmbGVjdGlvbkZvckVsZW1lbnRSZWZlcmVuY2VzRW5hYmxlZF0gYXR0cmlidXRlIEVsZW1lbnQ/
IGFyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudDsKICAgICBbUmVmbGVjdD1hcmlhX2F0b21pY10g
ICAgICAgICAgIGF0dHJpYnV0ZSBbQXRvbVN0cmluZ10gRE9NU3RyaW5nPyBhcmlhQXRvbWljOwog
ICAgIFtSZWZsZWN0PWFyaWFfYXV0b2NvbXBsZXRlXSAgICAgYXR0cmlidXRlIFtBdG9tU3RyaW5n
XSBET01TdHJpbmc/IGFyaWFBdXRvQ29tcGxldGU7CiAgICAgW1JlZmxlY3Q9YXJpYV9idXN5XSAg
ICAgICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUJ1c3k7CkBA
IC0zNCw2ICszNSw3IEBAIGludGVyZmFjZSBtaXhpbiBBcmlhQXR0cmlidXRlcyB7CiAgICAgW1Jl
ZmxlY3Q9YXJpYV9jb2xzcGFuXSAgICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0
cmluZz8gYXJpYUNvbFNwYW47CiAgICAgW1JlZmxlY3Q9YXJpYV9jdXJyZW50XSAgICAgICAgICBh
dHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUN1cnJlbnQ7CiAgICAgW1JlZmxl
Y3Q9YXJpYV9kaXNhYmxlZF0gICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmlu
Zz8gYXJpYURpc2FibGVkOworICAgIFtSZWZsZWN0PWFyaWFfZXJyb3JtZXNzYWdlLCBFbmFibGVk
QnlTZXR0aW5nPUFyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5jZXNFbmFibGVkXSBhdHRy
aWJ1dGUgRWxlbWVudD8gYXJpYUVycm9yTWVzc2FnZUVsZW1lbnQ7CiAgICAgW1JlZmxlY3Q9YXJp
YV9leHBhbmRlZF0gICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJp
YUV4cGFuZGVkOwogICAgIFtSZWZsZWN0PWFyaWFfaGFzcG9wdXBdICAgICAgICAgYXR0cmlidXRl
IFtBdG9tU3RyaW5nXSBET01TdHJpbmc/IGFyaWFIYXNQb3B1cDsKICAgICBbUmVmbGVjdD1hcmlh
X2hpZGRlbl0gICAgICAgICAgIGF0dHJpYnV0ZSBbQXRvbVN0cmluZ10gRE9NU3RyaW5nPyBhcmlh
SGlkZGVuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9yLnBtCmluZGV4IDcxYjM2YmNlNTUzY2MxZTRkZjM5OTZkMmJkNGEyOGFlZDA3YTJjOTIuLmI4
ZDdhNGYwYmJmZjlkODFlNDUxZmE1MjU1ZjRkMzA2Yzc2Y2M2ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KQEAgLTExMDgsNiArMTEw
OCw4IEBAIHN1YiBHZXR0ZXJFeHByZXNzaW9uCiAgICAgICAgICRmdW5jdGlvbk5hbWUgPSAiZ2V0
SW50ZWdyYWxBdHRyaWJ1dGUiOwogICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGVUeXBlLT5uYW1lIGVx
ICJ1bnNpZ25lZCBsb25nIikgewogICAgICAgICAkZnVuY3Rpb25OYW1lID0gImdldFVuc2lnbmVk
SW50ZWdyYWxBdHRyaWJ1dGUiOworICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGVUeXBlLT5uYW1lIGVx
ICJFbGVtZW50IikgeworICAgICAgICAkZnVuY3Rpb25OYW1lID0gImdldEVsZW1lbnRBdHRyaWJ1
dGUiOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGlmICgkY29udGVudEF0dHJpYnV0ZU5hbWUgZXEg
IldlYkNvcmU6OkhUTUxOYW1lczo6aWRBdHRyIikgewogICAgICAgICAgICAgJGZ1bmN0aW9uTmFt
ZSA9ICJnZXRJZEF0dHJpYnV0ZSI7CkBAIC0xMTQ1LDYgKzExNDcsOCBAQCBzdWIgU2V0dGVyRXhw
cmVzc2lvbgogICAgICAgICAkZnVuY3Rpb25OYW1lID0gInNldEludGVncmFsQXR0cmlidXRlIjsK
ICAgICB9IGVsc2lmICgkYXR0cmlidXRlVHlwZS0+bmFtZSBlcSAidW5zaWduZWQgbG9uZyIpIHsK
ICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICJzZXRVbnNpZ25lZEludGVncmFsQXR0cmlidXRlIjsK
KyAgICB9IGVsc2lmICgkYXR0cmlidXRlVHlwZS0+bmFtZSBlcSAiRWxlbWVudCIpIHsKKyAgICAg
ICAgJGZ1bmN0aW9uTmFtZSA9ICJzZXRFbGVtZW50QXR0cmlidXRlIjsKICAgICB9IGVsc2lmICgk
Z2VuZXJhdG9yLT5Jc1NWR0FuaW1hdGVkVHlwZSgkYXR0cmlidXRlVHlwZSkpIHsKICAgICAgICAg
JGZ1bmN0aW9uTmFtZSA9ICJzZXRBdHRyaWJ1dGUiOwogICAgIH0gZWxzZSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCmlu
ZGV4IDU1OGE5MTZlM2U5NTdjNWQyM2E2OGY3N2I1M2U0MjJhNzI5YmJiNTYuLmNjNjE5NWI0ZDM4
Yjc4ZWI3OWE1MGRhMGUxNjVjNTZhOTY2MWRhMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCkBAIC0xODAzLDYgKzE4
MDMsOCBAQCBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVmbGVj
dGVkVW5zaWduZWRJbnRlZ3JhbEF0dHIpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRU
RVIoc2V0SlNUZXN0T2JqX3JlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyKTsKIHN0YXRpYyBK
U0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVzdE9ial9yZWZsZWN0ZWRCb29sZWFuQXR0cik7
CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVk
Qm9vbGVhbkF0dHIpOworc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNUZXN0T2Jq
X3JlZmxlY3RlZEVsZW1lbnRBdHRyKTsKK3N0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0cik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVf
Q1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVmbGVjdGVkVVJMQXR0cik7CiBzdGF0aWMgSlNDX0RF
Q0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVVJMQXR0cik7CiBzdGF0
aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVmbGVjdGVkVVNWVVJMQXR0
cik7CkBAIC0yMTc1LDYgKzIxNzcsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNU
ZXN0T2JqUHJvdG90eXBlVGFibGVWYWx1ZXNbXSA9CiAgICAgeyAicmVmbGVjdGVkSW50ZWdyYWxB
dHRyIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3Rv
bUFjY2Vzc29yIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRy
aW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5j
Pihqc1Rlc3RPYmpfcmVmbGVjdGVkSW50ZWdyYWxBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2Fz
dDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3JlZmxlY3RlZElu
dGVncmFsQXR0cikgfSB9LAogICAgIHsgInJlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyIiwg
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vz
c29yIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMs
IHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rl
c3RPYmpfcmVmbGVjdGVkVW5zaWduZWRJbnRlZ3JhbEF0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19j
YXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVk
VW5zaWduZWRJbnRlZ3JhbEF0dHIpIH0gfSwKICAgICB7ICJyZWZsZWN0ZWRCb29sZWFuQXR0ciIs
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nl
c3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50cmluc2lj
LCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNU
ZXN0T2JqX3JlZmxlY3RlZEJvb2xlYW5BdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQ
cm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3JlZmxlY3RlZEJvb2xlYW5B
dHRyKSB9IH0sCisgICAgeyAicmVmbGVjdGVkRWxlbWVudEF0dHIiLCBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpET01BdHRyaWJ1dGUpLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3Rh
dGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ial9yZWZsZWN0ZWRF
bGVtZW50QXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRW
YWx1ZUZ1bmM+KHNldEpTVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0cikgfSB9LAogICAgIHsg
InJlZmxlY3RlZFVSTEF0dHIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpET01BdHRy
aWJ1dGUpLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90
OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ial9yZWZsZWN0ZWRVUkxBdHRyKSwgKGludHB0cl90KSBz
dGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3Jl
ZmxlY3RlZFVSTEF0dHIpIH0gfSwKICAgICB7ICJyZWZsZWN0ZWRVU1ZVUkxBdHRyIiwgc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwg
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGlu
dHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpf
cmVmbGVjdGVkVVNWVVJMQXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlT
bG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9ial9yZWZsZWN0ZWRVU1ZVUkxBdHRyKSB9IH0s
CiAgICAgeyAicmVmbGVjdGVkU3RyaW5nQXR0ciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQ
cm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqX3JlZmxlY3RlZFN0cmluZ0F0dHIp
LCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihz
ZXRKU1Rlc3RPYmpfcmVmbGVjdGVkU3RyaW5nQXR0cikgfSB9LApAQCAtMzkxOCw2ICszOTIxLDM3
IEBAIEpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkQm9vbGVh
bkF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rl
c3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3JlZmxlY3RlZEJvb2xlYW5BdHRyU2V0dGVyPigqbGV4
aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsIGF0dHJpYnV0ZU5hbWUp
OwogfQogCitzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRB
dHRyR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RPYmom
IHRoaXNPYmplY3QpCit7CisgICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFs
T2JqZWN0KTsKKyAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsK
KyAgICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7CisgICAgUkVMRUFTRV9BTkRf
UkVUVVJOKHRocm93U2NvcGUsICh0b0pTPElETEludGVyZmFjZTxFbGVtZW50Pj4obGV4aWNhbEds
b2JhbE9iamVjdCwgKnRoaXNPYmplY3QuZ2xvYmFsT2JqZWN0KCksIHRocm93U2NvcGUsIGltcGwu
Z2V0RWxlbWVudEF0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RlZGVsZW1lbnRh
dHRyQXR0cikpKSk7Cit9CisKK0pTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVm
bGVjdGVkRWxlbWVudEF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUgYXR0cmlidXRlTmFtZSkpCit7
CisgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpnZXQ8anNUZXN0T2JqX3JlZmxl
Y3RlZEVsZW1lbnRBdHRyR2V0dGVyLCBDYXN0ZWRUaGlzRXJyb3JCZWhhdmlvcjo6QXNzZXJ0Pigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBhdHRyaWJ1dGVOYW1lKTsKK30KKworc3Rh
dGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0clNldHRlcihK
U0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0T2JqJiB0aGlzT2JqZWN0
LCBKU1ZhbHVlIHZhbHVlKQoreworICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEds
b2JhbE9iamVjdCk7CisgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2
bSk7CisgICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOworICAgIGF1dG8gbmF0
aXZlVmFsdWUgPSBjb252ZXJ0PElETEludGVyZmFjZTxFbGVtZW50Pj4obGV4aWNhbEdsb2JhbE9i
amVjdCwgdmFsdWUsIFtdKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3Qs
IEpTQzo6VGhyb3dTY29wZSYgc2NvcGUpIHsgdGhyb3dBdHRyaWJ1dGVUeXBlRXJyb3IobGV4aWNh
bEdsb2JhbE9iamVjdCwgc2NvcGUsICJUZXN0T2JqZWN0IiwgInJlZmxlY3RlZEVsZW1lbnRBdHRy
IiwgIkVsZW1lbnQiKTsgfSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBm
YWxzZSk7CisgICAgaW52b2tlRnVuY3RvclByb3BhZ2F0aW5nRXhjZXB0aW9uSWZOZWNlc3Nhcnko
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhyb3dTY29wZSwgWyZdIHsKKyAgICAgICAgcmV0dXJuIGlt
cGwuc2V0RWxlbWVudEF0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RlZGVsZW1l
bnRhdHRyQXR0ciwgKm5hdGl2ZVZhbHVlKTsKKyAgICB9KTsKKyAgICByZXR1cm4gdHJ1ZTsKK30K
KworSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50
QXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lIGF0
dHJpYnV0ZU5hbWUpKQoreworICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0
PHNldEpTVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxP
YmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCBhdHRyaWJ1dGVOYW1lKTsKK30KKwogc3Rh
dGljIGlubGluZSBKU1ZhbHVlIGpzVGVzdE9ial9yZWZsZWN0ZWRVUkxBdHRyR2V0dGVyKEpTR2xv
YmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RPYmomIHRoaXNPYmplY3QpCiB7
CiAgICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAppbmRleCAx
MGY2NTFhNTc1ZTc3Yjc1MDAyYjg3MGNkYmI4OThmZmE0NjYzM2M5Li43ZTk4MmQ1MTYyNGI0Y2Zk
OGI4NmVkNTE0NzdmNzE3YjFiYmZlNWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCkBAIC0xMDQsNiArMTA0LDcgQEAgZW51bSBUZXN0
Q29uZmlkZW5jZSB7ICJoaWdoIiwgImtpbmRhLWxvdyIgfTsKICAgICBbUmVmbGVjdF0gYXR0cmli
dXRlIGxvbmcgcmVmbGVjdGVkSW50ZWdyYWxBdHRyOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyByZWZsZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0cjsKICAgICBbUmVmbGVj
dF0gYXR0cmlidXRlIGJvb2xlYW4gcmVmbGVjdGVkQm9vbGVhbkF0dHI7CisgICAgW1JlZmxlY3Rd
IGF0dHJpYnV0ZSBFbGVtZW50IHJlZmxlY3RlZEVsZW1lbnRBdHRyOwogICAgIFtSZWZsZWN0LCBV
UkxdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmbGVjdGVkVVJMQXR0cjsKICAgICBbUmVmbGVjdCwg
VVJMXSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHJlZmxlY3RlZFVTVlVSTEF0dHI7CiAgICAgW1JlZmxl
Y3Q9Y3VzdG9tQ29udGVudFN0cmluZ0F0dHJdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmbGVjdGVk
U3RyaW5nQXR0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDI5YTEyZDlhMDU2MjM4MTI0
YzkyNDBlOGJhM2EwODIxZGFmZTJkZTUuLjRiMzBkMWQ0YjcxYWY5ZGI3MDhjNDUyZGY3YmRlM2U1
ZTY5YmM5OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtOTE3Miw2ICs5MTcyLDE0IEBA
IGJvb2wgRG9jdW1lbnQ6OmlzU2FtZVNpdGVGb3JDb29raWVzKGNvbnN0IFVSTCYgdXJsKSBjb25z
dAogICAgIHJldHVybiBkb21haW4ubWF0Y2hlcyh1cmwpOwogfQogCitFeHBsaWNpdGx5U2V0QXR0
ckVsZW1lbnRzTWFwKiBEb2N1bWVudDo6R2V0RXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcChj
b25zdCBFbGVtZW50JiBlbGVtZW50KQoreworICAgIEFTU0VSVCgmZWxlbWVudC5kb2N1bWVudCgp
ID09IHRoaXMpOworICAgIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAgbWFwOworICAgIGF1
dG8gcmVzdWx0ID0gbV9lbGVtZW50RXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcC5hZGQoZWxl
bWVudCwgV1RGTW92ZShtYXApKTsKKyAgICByZXR1cm4gJnJlc3VsdC5pdGVyYXRvci0+dmFsdWU7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI3VuZGVmIERPQ1VNRU5UX1JFTEVBU0Vf
TE9HCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IGIwZjdkNTdkNThlN2M1MzJmNTI0MzZmMjllNzRk
YjI4Y2E0YjAzZmYuLjZmMDMxZTRkOTRiNGQ0NzMyOWU3ZTIzOTFmMDEyYTkxYTdjNTY0MzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oCkBAIC02Nyw2ICs2Nyw3IEBACiAjaW5jbHVkZSA8d3RmL09iamVj
dElkZW50aWZpZXIuaD4KICNpbmNsdWRlIDx3dGYvT2JzZXJ2ZXIuaD4KICNpbmNsdWRlIDx3dGYv
VW5pcXVlUmVmLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtIYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3Rm
L1dlYWtIYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9BdG9tU3RyaW5nSGFzaC5oPgpAQCAtMjcxLDYgKzI3Miw3IEBAIGVudW0gY2xhc3MgTXV0
YXRpb25PYnNlcnZlck9wdGlvblR5cGUgOiB1aW50OF90OwogdXNpbmcgTWVkaWFQcm9kdWNlck1l
ZGlhU3RhdGVGbGFncyA9IE9wdGlvblNldDxNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZT47CiB1c2lu
ZyBNZWRpYVByb2R1Y2VyTXV0ZWRTdGF0ZUZsYWdzID0gT3B0aW9uU2V0PE1lZGlhUHJvZHVjZXJN
dXRlZFN0YXRlPjsKIHVzaW5nIFBsYXRmb3JtRGlzcGxheUlEID0gdWludDMyX3Q7Cit1c2luZyBF
eHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwID0gSGFzaE1hcDxRdWFsaWZpZWROYW1lLCBWZWN0
b3I8V2Vha1B0cjxFbGVtZW50Pj4+OwogCiBuYW1lc3BhY2UgU3R5bGUgewogY2xhc3MgUmVzb2x2
ZXI7CkBAIC0xNjg1LDYgKzE2ODcsOCBAQCBwdWJsaWM6CiAKICAgICBzdGQ6Om9wdGlvbmFsPFBB
TDo6U2Vzc2lvbklEPiBzZXNzaW9uSUQoKSBjb25zdCBmaW5hbDsKIAorICAgIEV4cGxpY2l0bHlT
ZXRBdHRyRWxlbWVudHNNYXAqIEdldEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoY29uc3Qg
RWxlbWVudCYpOworCiBwcm90ZWN0ZWQ6CiAgICAgZW51bSBDb25zdHJ1Y3Rpb25GbGFncyB7IFN5
bnRoZXNpemVkID0gMSwgTm9uUmVuZGVyZWRQbGFjZWhvbGRlciA9IDEgPDwgMSB9OwogICAgIFdF
QkNPUkVfRVhQT1JUIERvY3VtZW50KEZyYW1lKiwgY29uc3QgU2V0dGluZ3MmLCBjb25zdCBVUkwm
LCBEb2N1bWVudENsYXNzZXMgPSB7IH0sIHVuc2lnbmVkIGNvbnN0cnVjdGlvbkZsYWdzID0gMCwg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgPSB7IH0pOwpAQCAtMjI3Nyw2ICsyMjgx
LDggQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8RnVuY3Rpb248dm9pZCgpPj4gbV93aGVuSXNWaXNp
YmxlSGFuZGxlcnM7CiAKICAgICBXZWFrSGFzaFNldDxFbGVtZW50PiBtX2VsZW1lbnRzV2l0aFBl
bmRpbmdVc2VyQWdlbnRTaGFkb3dUcmVlVXBkYXRlczsKKworICAgIFdlYWtIYXNoTWFwPEVsZW1l
bnQsIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXA+IG1fZWxlbWVudEV4cGxpY2l0bHlTZXRB
dHRyRWxlbWVudHNNYXA7CiB9OwogCiBFbGVtZW50KiBldmVudFRhcmdldEVsZW1lbnRGb3JEb2N1
bWVudChEb2N1bWVudCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDBiZDI2NzIxY2JlODcw
NDczNmIxOGE3NTZlODhmMDY1YTY0MDcyM2MuLjk2MjIzMTRkMThjZDE3ZjM2NDZiMDAyYzhkNDJi
ZmZjM2Y1YTRmZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTE5MDEsNiArMTkwMSwxNCBA
QCBzdGF0aWMgaW5saW5lIEF0b21TdHJpbmcgbWFrZUlkRm9yU3R5bGVSZXNvbHV0aW9uKGNvbnN0
IEF0b21TdHJpbmcmIHZhbHVlLCBib29sCiAgICAgcmV0dXJuIHZhbHVlOwogfQogCitzdGF0aWMg
Ym9vbCBpc0VsZW1lbnRSZWZsZWN0aW9uQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5h
bWUpCit7CisgICAgaWYgKG5hbWUgPT0gSFRNTE5hbWVzOjphcmlhX2FjdGl2ZWRlc2NlbmRhbnRB
dHRyIHx8IG5hbWUgPT0gSFRNTE5hbWVzOjphcmlhX2Vycm9ybWVzc2FnZUF0dHIpCisgICAgICAg
IHJldHVybiB0cnVlOworCisgICAgcmV0dXJuIGZhbHNlOworfQorCiB2b2lkIEVsZW1lbnQ6OmF0
dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmlu
ZyYgb2xkVmFsdWUsIGNvbnN0IEF0b21TdHJpbmcmIG5ld1ZhbHVlLCBBdHRyaWJ1dGVNb2RpZmlj
YXRpb25SZWFzb24pCiB7CiAgICAgYm9vbCB2YWx1ZUlzU2FtZUFzQmVmb3JlID0gb2xkVmFsdWUg
PT0gbmV3VmFsdWU7CkBAIC0xOTM3LDYgKzE5NDUsOCBAQCB2b2lkIEVsZW1lbnQ6OmF0dHJpYnV0
ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYgb2xk
VgogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgaWYgKG5hbWUgPT0gSFRNTE5hbWVzOjpw
YXJ0QXR0cikKICAgICAgICAgICAgIHBhcnRBdHRyaWJ1dGVDaGFuZ2VkKG5ld1ZhbHVlKTsKKyAg
ICAgICAgZWxzZSBpZiAoaXNFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0ZShuYW1lKSkKKyAgICAg
ICAgICAgIHN5bmNocm9uaXplRWxlbWVudFJlZmxlY3Rpb25BdHRyaWJ1dGUobmFtZSk7CiAgICAg
ICAgIGVsc2UgaWYgKG5hbWUgPT0gSFRNTE5hbWVzOjpleHBvcnRwYXJ0c0F0dHIpIHsKICAgICAg
ICAgICAgIGlmIChhdXRvKiBzaGFkb3dSb290ID0gdGhpcy0+c2hhZG93Um9vdCgpKSB7CiAgICAg
ICAgICAgICAgICAgc2hhZG93Um9vdC0+aW52YWxpZGF0ZVBhcnRNYXBwaW5ncygpOwpAQCAtMTk2
MSw2ICsxOTcxLDcyIEBAIHZvaWQgRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFs
aWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9tU3RyaW5nJiBvbGRWCiAgICAgICAgIGNhY2hlLT5k
ZWZlckF0dHJpYnV0ZUNoYW5nZUlmTmVlZGVkKG5hbWUsIHRoaXMpOwogfQogCit2b2lkIEVsZW1l
bnQ6OnN5bmNocm9uaXplRWxlbWVudFJlZmxlY3Rpb25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYgYXR0cmlidXRlTmFtZSkKK3sKKyAgICBBU1NFUlQoZG9jdW1lbnQoKS5zZXR0aW5ncygp
LmFyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5jZXNFbmFibGVkKCkpOworICAgIEFTU0VS
VChpc0VsZW1lbnRSZWZsZWN0aW9uQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpKTsKKworICAgIGRv
Y3VtZW50KCkuR2V0RXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCgqdGhpcyktPnJlbW92ZShh
dHRyaWJ1dGVOYW1lKTsKK30KKworYm9vbCBFbGVtZW50Ojppc0Rlc2NlbmRhbnRPZlNoYWRvd0lu
Y2x1ZGluZ0FuY2VzdG9ycyhjb25zdCBFbGVtZW50JiBlbGVtZW50KSBjb25zdAoreworICAgIGlm
ICghaXNJblRyZWVTY29wZSgpIHx8ICFlbGVtZW50LmlzSW5UcmVlU2NvcGUoKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgZm9yIChhdXRvKiByb290ID0gY29udGFpbmluZ1NoYWRvd1Jv
b3QoKTsgcm9vdDsgcm9vdCA9IHJvb3QtPmhvc3QoKS0+Y29udGFpbmluZ1NoYWRvd1Jvb3QoKSkg
eworICAgICAgICBpZiAoZWxlbWVudC5pc0Rlc2NlbmRhbnRPZihyb290KSkKKyAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgIH0KKworICAgIHJldHVybiBlbGVtZW50LmlzRGVzY2VuZGFudE9m
KGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkpOworfQorCitFbGVtZW50KiBFbGVtZW50Ojpn
ZXRFbGVtZW50QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIGNv
bnN0Cit7CisgICAgQVNTRVJUKGRvY3VtZW50KCkuc2V0dGluZ3MoKS5hcmlhUmVmbGVjdGlvbkZv
ckVsZW1lbnRSZWZlcmVuY2VzRW5hYmxlZCgpKTsKKyAgICBBU1NFUlQoaXNFbGVtZW50UmVmbGVj
dGlvbkF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CisKKyAgICBhdXRvKiBleHBsaWNpdGx5U2V0
QXR0ckVsZW1lbnRzTWFwID0gZG9jdW1lbnQoKS5HZXRFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRz
TWFwKCp0aGlzKTsKKyAgICBpZiAoZXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcC0+Y29udGFp
bnMoYXR0cmlidXRlTmFtZSkpIHsKKyAgICAgICAgQVNTRVJUKGV4cGxpY2l0bHlTZXRBdHRyRWxl
bWVudHNNYXAtPmZpbmQoYXR0cmlidXRlTmFtZSktPnZhbHVlLnNpemUoKSA9PSAxKTsKKyAgICAg
ICAgYXV0byogZWxlbWVudCA9IGV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAtPmZpbmQoYXR0
cmlidXRlTmFtZSktPnZhbHVlWzBdLmdldCgpOworICAgICAgICBBU1NFUlQoZWxlbWVudCk7Cisg
ICAgICAgIGlmIChpc0Rlc2NlbmRhbnRPZlNoYWRvd0luY2x1ZGluZ0FuY2VzdG9ycygqZWxlbWVu
dCkpCisgICAgICAgICAgICByZXR1cm4gZWxlbWVudDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7
CisgICAgfQorCisgICAgYXV0byBpZCA9IGdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKTsKKyAg
ICBpZiAoaWQuaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgcmV0dXJu
IHRyZWVTY29wZSgpLmdldEVsZW1lbnRCeUlkKGlkKTsKK30KKwordm9pZCBFbGVtZW50OjpzZXRF
bGVtZW50QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUsIEVsZW1l
bnQqIGVsZW1lbnQpCit7CisgICAgQVNTRVJUKGRvY3VtZW50KCkuc2V0dGluZ3MoKS5hcmlhUmVm
bGVjdGlvbkZvckVsZW1lbnRSZWZlcmVuY2VzRW5hYmxlZCgpKTsKKyAgICBBU1NFUlQoaXNFbGVt
ZW50UmVmbGVjdGlvbkF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CisKKyAgICBhdXRvKiBleHBs
aWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwID0gZG9jdW1lbnQoKS5HZXRFeHBsaWNpdGx5U2V0QXR0
ckVsZW1lbnRzTWFwKCp0aGlzKTsKKyAgICBpZiAoIWVsZW1lbnQpIHsKKyAgICAgICAgZXhwbGlj
aXRseVNldEF0dHJFbGVtZW50c01hcC0+cmVtb3ZlKGF0dHJpYnV0ZU5hbWUpOworICAgICAgICBy
ZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBhdXRvIGlkID0gZWxlbWVudC0+Z2V0SWRBdHRyaWJ1dGUoKTsKKyAgICBpZiAoIWlkLmlz
TnVsbCgpICYmICZ0cmVlU2NvcGUoKSA9PSAmZWxlbWVudC0+dHJlZVNjb3BlKCkgJiYgdHJlZVNj
b3BlKCkuZ2V0RWxlbWVudEJ5SWQoaWQpID09IGVsZW1lbnQpCisgICAgICAgIHNldEF0dHJpYnV0
ZShhdHRyaWJ1dGVOYW1lLCBpZCk7CisgICAgZWxzZQorICAgICAgICBzZXRBdHRyaWJ1dGUoYXR0
cmlidXRlTmFtZSwgZW1wdHlBdG9tKCkpOworCisgICAgVmVjdG9yPFdlYWtQdHI8RWxlbWVudD4+
IGVsZW1lbnRzOworICAgIGVsZW1lbnRzLmFwcGVuZChlbGVtZW50KTsKKyAgICBleHBsaWNpdGx5
U2V0QXR0ckVsZW1lbnRzTWFwLT5zZXQoYXR0cmlidXRlTmFtZSwgV1RGTW92ZShlbGVtZW50cykp
OworfQorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KIHN0YXRpYyBpbmxpbmUg
Ym9vbCBpc05vbkVtcHR5VG9rZW5MaXN0KGNvbnN0IENoYXJhY3RlclR5cGUqIGNoYXJhY3RlcnMs
IHVuc2lnbmVkIGxlbmd0aCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IDljYWJlM2FkY2Q3NThj
NTJlYmI4NTk2MTI2MGI1MjFmYjI1ODAzMDcuLmM1YjQyZmU5OGYzOTI4Zjc1NTA0NWNiZGE1OTc1
MGFhN2M0ZWFhYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtMTIxLDYgKzEyMSw4IEBAIHB1Ymxp
YzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEludGVncmFsQXR0cmlidXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUsIGludCB2YWx1ZSk7CiAgICAgV0VCQ09SRV9FWFBP
UlQgdW5zaWduZWQgZ2V0VW5zaWduZWRJbnRlZ3JhbEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiBhdHRyaWJ1dGVOYW1lKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFVu
c2lnbmVkSW50ZWdyYWxBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFt
ZSwgdW5zaWduZWQgdmFsdWUpOworICAgIFdFQkNPUkVfRVhQT1JUIEVsZW1lbnQqIGdldEVsZW1l
bnRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgY29uc3Q7Cisg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRFbGVtZW50QXR0cmlidXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIGF0dHJpYnV0ZU5hbWUsIEVsZW1lbnQqIHZhbHVlKTsKIAogICAgIC8vIENhbGwgdGhp
cyB0byBnZXQgdGhlIHZhbHVlIG9mIGFuIGF0dHJpYnV0ZSB0aGF0IGlzIGtub3duIG5vdCB0byBi
ZSB0aGUgc3R5bGUKICAgICAvLyBhdHRyaWJ1dGUgb3Igb25lIG9mIHRoZSBTVkcgYW5pbWF0YWJs
ZSBhdHRyaWJ1dGVzLgpAQCAtNzM5LDYgKzc0MSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRB
dHRyaWJ1dGVJbnRlcm5hbCh1bnNpZ25lZCBpbmRleCwgY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNv
bnN0IEF0b21TdHJpbmcmIHZhbHVlLCBTeW5jaHJvbml6YXRpb25PZkxhenlBdHRyaWJ1dGUpOwog
ICAgIHZvaWQgYWRkQXR0cmlidXRlSW50ZXJuYWwoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0
IEF0b21TdHJpbmcmIHZhbHVlLCBTeW5jaHJvbml6YXRpb25PZkxhenlBdHRyaWJ1dGUpOwogICAg
IHZvaWQgcmVtb3ZlQXR0cmlidXRlSW50ZXJuYWwodW5zaWduZWQgaW5kZXgsIFN5bmNocm9uaXph
dGlvbk9mTGF6eUF0dHJpYnV0ZSk7CisgICAgdm9pZCBzeW5jaHJvbml6ZUVsZW1lbnRSZWZsZWN0
aW9uQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKIAogICAgIHZvaWQgc2V0U2F2ZWRM
YXllclNjcm9sbFBvc2l0aW9uU2xvdyhjb25zdCBJbnRQb2ludCYpOwogICAgIHZvaWQgY2xlYXJC
ZWZvcmVQc2V1ZG9FbGVtZW50U2xvdygpOwpAQCAtNzg1LDYgKzc4OCw4IEBAIHByaXZhdGU6CiAg
ICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBmYXN0QXR0cmlidXRlTG9va3VwQWxsb3dlZChjb25zdCBR
dWFsaWZpZWROYW1lJikgY29uc3Q7CiAjZW5kaWYKIAorICAgIGJvb2wgaXNEZXNjZW5kYW50T2ZT
aGFkb3dJbmNsdWRpbmdBbmNlc3RvcnMoY29uc3QgRWxlbWVudCYpIGNvbnN0OworCiAgICAgUXVh
bGlmaWVkTmFtZSBtX3RhZ05hbWU7CiAgICAgUmVmUHRyPEVsZW1lbnREYXRhPiBtX2VsZW1lbnRE
YXRhOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAyZTUzOGM2MGM5Y2ZkNDU1
NTE2NDk1Mzc0N2QxZjgzNGRlMDhjMjJkLi5lNGE5MDBlMGU1YzAzNDE1NzgzNjE1OTRjODdkYjI4
OWVjNmZkZTBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBA
QAorMjAyMi0wNC0yOCAgTWFudWVsIFJlZ28gQ2FzYXNub3ZhcyAgPHJlZ29AaWdhbGlhLmNvbT4K
KworICAgICAgICBBUklBIHJlZmxlY3Rpb24gZm9yIEVsZW1lbnQgYXR0cmlidXRlcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5ODUyCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU21hbGwgZml4IG9uIHRo
ZSB0ZXN0IGFuZCB1cGRhdGUgdGVzdCByZXN1bHRzIHdpdGggdGhlIG5ldyBQQVNTLgorCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlv
bi50ZW50YXRpdmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLmh0bWw6CisKIDIwMjIt
MDQtMjYgIE9yaW9sIEJydWZhdSAgPG9icnVmYXVAaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3Nz
LWNhc2NhZGVdIEZpeCBjYXNjYWRlIHJvbGxiYWNrIGZvciBkZWZlcnJlZCBwcm9wZXJ0aWVzCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50YXRpdmUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJp
YS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLWV4cGVjdGVkLnR4dAppbmRleCBkY2EzMThi
MDk4NTNhYmJhOTdkNWRmNzViZjM0M2JjMTUzNTg3YWMwLi4zYzVkMDI2OGJhZjllNjJjODBiMTA5
MjE2MDY2YTNlMWQzMDliYjA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50
YXRpdmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZG9tL25vZGVzL2FyaWEtZWxlbWVudC1yZWZsZWN0aW9uLnRlbnRhdGl2ZS1l
eHBlY3RlZC50eHQKQEAgLTksMTAgKzksNyBAQCBGaXJzdCBkZXNjcmlwdGlvbi4KIFNlY29uZCBk
ZXNjcmlwdGlvbi4KIEl0ZW0gMQogSXRlbSAyCi1JdGVtIDEKLUl0ZW0gMgogSGVsbG8gd29ybGQh
Ci1JIGFtIGFuIGFwcGxlCiBJIGFtIGEgcGVhcgogSSBhbSBhIGJhbmFuYQogQmlsbGluZwpAQCAt
NDcsMTcgKzQ0LDE3IEBAIFdvbmRlcmZ1bAogRmFudGFzdGljCiAKIAotRkFJTCBhcmlhLWFjdGl2
ZWRlc2NlbmRhbnQgZWxlbWVudCByZWZsZWN0aW9uIGFzc2VydF9lcXVhbHM6IGludmFsaWQgSUQg
Zm9yIHJlbGF0aW9uc2hpcCByZXR1cm5zIG51bGwgZXhwZWN0ZWQgKG9iamVjdCkgbnVsbCBidXQg
Z290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJTCBJZiB0aGUgY29udGVudCBhdHRyaWJ1dGUg
aXMgc2V0IGRpcmVjdGx5LCB0aGUgSURMIGF0dHJpYnV0ZSBnZXR0ZXIgYWx3YXlzIHJldHVybnMg
dGhlIGZpcnN0IGVsZW1lbnQgd2hvc2UgSUQgbWF0Y2hlcyB0aGUgY29udGVudCBhdHRyaWJ1dGUu
IGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChvYmplY3QpIEVsZW1lbnQgbm9kZSA8ZGl2IHJvbGU9
Im9wdGlvbiIgaWQ9Im9wdGlvbjEiPkl0ZW0gMTwvZGl2PiBidXQgZ290ICh1bmRlZmluZWQpIHVu
ZGVmaW5lZAotRkFJTCBTZXR0aW5nIHRoZSBJREwgYXR0cmlidXRlIHRvIGFuIGVsZW1lbnQgd2hp
Y2ggaXMgbm90IHRoZSBmaXJzdCBlbGVtZW50IGluIERPTSBvcmRlciB3aXRoIGl0cyBJRCBjYXVz
ZXMgdGhlIGNvbnRlbnQgYXR0cmlidXRlIHRvIGJlIGFuIGVtcHR5IHN0cmluZyBhc3NlcnRfdHJ1
ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgU2V0dGluZyBhbiBlbGVtZW50IHJlZmVy
ZW5jZSB0aGF0IGNyb3NzZXMgaW50byBhIHNoYWRvdyB0cmVlIGlzIGRpc2FsbG93ZWQsIGJ1dCBz
ZXR0aW5nIG9uZSB0aGF0IGlzIGluIGEgc2hhZG93IGluY2x1c2l2ZSBhbmNlc3RvciBpcyBhbGxv
d2VkLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAob2JqZWN0KSBudWxsIGJ1dCBnb3QgKHVuZGVm
aW5lZCkgdW5kZWZpbmVkCi1GQUlMIGFyaWEtZXJyb3JtZXNzYWdlIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIChzdHJpbmcpICJlcnJvck1lc3NhZ2UiIGJ1dCBnb3QgKG9iamVjdCkgbnVsbAorUEFT
UyBhcmlhLWFjdGl2ZWRlc2NlbmRhbnQgZWxlbWVudCByZWZsZWN0aW9uCitQQVNTIElmIHRoZSBj
b250ZW50IGF0dHJpYnV0ZSBpcyBzZXQgZGlyZWN0bHksIHRoZSBJREwgYXR0cmlidXRlIGdldHRl
ciBhbHdheXMgcmV0dXJucyB0aGUgZmlyc3QgZWxlbWVudCB3aG9zZSBJRCBtYXRjaGVzIHRoZSBj
b250ZW50IGF0dHJpYnV0ZS4KK1BBU1MgU2V0dGluZyB0aGUgSURMIGF0dHJpYnV0ZSB0byBhbiBl
bGVtZW50IHdoaWNoIGlzIG5vdCB0aGUgZmlyc3QgZWxlbWVudCBpbiBET00gb3JkZXIgd2l0aCBp
dHMgSUQgY2F1c2VzIHRoZSBjb250ZW50IGF0dHJpYnV0ZSB0byBiZSBhbiBlbXB0eSBzdHJpbmcK
K1BBU1MgU2V0dGluZyBhbiBlbGVtZW50IHJlZmVyZW5jZSB0aGF0IGNyb3NzZXMgaW50byBhIHNo
YWRvdyB0cmVlIGlzIGRpc2FsbG93ZWQsIGJ1dCBzZXR0aW5nIG9uZSB0aGF0IGlzIGluIGEgc2hh
ZG93IGluY2x1c2l2ZSBhbmNlc3RvciBpcyBhbGxvd2VkLgorUEFTUyBhcmlhLWVycm9ybWVzc2Fn
ZQogRkFJTCBhcmlhLWRldGFpbHMgYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgdW5kZWZp
bmVkLCBleHBlY3RlZCBhcnJheQotRkFJTCBEZWxldGluZyBhIHJlZmxlY3RlZCBlbGVtZW50IHNo
b3VsZCByZXR1cm4gbnVsbCBmb3IgdGhlIElETCBhdHRyaWJ1dGUgYW5kIGNhdXNlIHRoZSBjb250
ZW50IGF0dHJpYnV0ZSB0byBiZWNvbWUgc3RhbGUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChv
YmplY3QpIEVsZW1lbnQgbm9kZSA8ZGl2IHJvbGU9Im9wdGlvbiIgaWQ9ImNvbnRlbnRBdHRyRWxl
bWVudCI+SXRlbSAxPC9kaXY+IGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlMIENo
YW5naW5nIHRoZSBJRCBvZiBhbiBlbGVtZW50IGNhdXNlcyB0aGUgY29udGVudCBhdHRyaWJ1dGUg
dG8gYmVjb21lIG91dCBvZiBzeW5jLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAob2JqZWN0KSBF
bGVtZW50IG5vZGUgPGRpdiByb2xlPSJvcHRpb24iIGlkPSJjaGFuZ2luZ0lkRWxlbWVudCI+SXRl
bSAxPC9kaXY+IGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlMIFJlcGFyZW50aW5n
IGFuIGVsZW1lbnQgaW50byBhIGRlc2NlbmRhbnQgc2hhZG93IHNjb3BlIGhpZGVzIHRoZSBlbGVt
ZW50IHJlZmVyZW5jZS4gYXNzZXJ0X2VxdWFsczogbnVsbCBiZWZvcmUgZXhwZWN0ZWQgKG9iamVj
dCkgbnVsbCBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJTCBSZXBhcmVudGluZyBy
ZWZlcmVuY2VkIGVsZW1lbnQgY2Fubm90IGNhdXNlIHJldGFyZ2V0aW5nIG9mIHJlZmVyZW5jZS4g
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHN0cmluZykgImFwcGxlIiBidXQgZ290IChvYmplY3Qp
IG51bGwKLUZBSUwgRWxlbWVudCByZWZlcmVuY2Ugc2V0IGluIGludmFsaWQgc2NvcGUgcmVtYWlu
cyBpbnRhY3QgdGhyb3VnaG91dCBtb3ZlIHRvIHZhbGlkIHNjb3BlLiBhc3NlcnRfZXF1YWxzOiBl
eHBlY3RlZCBudWxsIGJ1dCBnb3QgRWxlbWVudCBub2RlIDxkaXYgaWQ9InRvYXN0Ij48L2Rpdj4K
K1BBU1MgRGVsZXRpbmcgYSByZWZsZWN0ZWQgZWxlbWVudCBzaG91bGQgcmV0dXJuIG51bGwgZm9y
IHRoZSBJREwgYXR0cmlidXRlIGFuZCBjYXVzZSB0aGUgY29udGVudCBhdHRyaWJ1dGUgdG8gYmVj
b21lIHN0YWxlLgorUEFTUyBDaGFuZ2luZyB0aGUgSUQgb2YgYW4gZWxlbWVudCBjYXVzZXMgdGhl
IGNvbnRlbnQgYXR0cmlidXRlIHRvIGJlY29tZSBvdXQgb2Ygc3luYy4KK1BBU1MgUmVwYXJlbnRp
bmcgYW4gZWxlbWVudCBpbnRvIGEgZGVzY2VuZGFudCBzaGFkb3cgc2NvcGUgaGlkZXMgdGhlIGVs
ZW1lbnQgcmVmZXJlbmNlLgorUEFTUyBSZXBhcmVudGluZyByZWZlcmVuY2VkIGVsZW1lbnQgY2Fu
bm90IGNhdXNlIHJldGFyZ2V0aW5nIG9mIHJlZmVyZW5jZS4KK1BBU1MgRWxlbWVudCByZWZlcmVu
Y2Ugc2V0IGluIGludmFsaWQgc2NvcGUgcmVtYWlucyBpbnRhY3QgdGhyb3VnaG91dCBtb3ZlIHRv
IHZhbGlkIHNjb3BlLgogRkFJTCBhcmlhLWxhYmVsbGVkYnkuIGFzc2VydF9hcnJheV9lcXVhbHM6
IHBhcnNlZCBjb250ZW50IGF0dHJpYnV0ZSBzZXRzIGVsZW1lbnQgcmVmZXJlbmNlcy4gdmFsdWUg
aXMgdW5kZWZpbmVkLCBleHBlY3RlZCBhcnJheQogRkFJTCBhcmlhLWNvbnRyb2xzLiBhc3NlcnRf
YXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyB1bmRlZmluZWQsIGV4cGVjdGVkIGFycmF5CiBGQUlMIGFy
aWEtZGVzY3JpYmVkYnkuIGFzc2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzIHVuZGVmaW5lZCwg
ZXhwZWN0ZWQgYXJyYXkKQEAgLTY3LDYgKzY0LDYgQEAgRkFJTCBzaGFkb3cgRE9NIGJlaGF2aW91
ciBmb3IgRnJvemVuQXJyYXkgZWxlbWVudCByZWZsZWN0aW9uLiBhc3NlcnRfYXJyYXlfZXF1YWwK
IEZBSUwgTW92aW5nIGV4cGxpY2l0bHkgc2V0IGVsZW1lbnRzIGFjcm9zcyBzaGFkb3cgRE9NIGJv
dW5kYXJpZXMuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICJidXR0b25EZXNjcmlw
dGlvbjEgYnV0dG9uRGVzY3JpcHRpb24yIiBidXQgZ290IChvYmplY3QpIG51bGwKIEZBSUwgTW92
aW5nIGV4cGxpY2l0bHkgc2V0IGVsZW1lbnRzIGFyb3VuZCB3aXRoaW4gdGhlIHNhbWUgc2NvcGUs
IGFuZCByZW1vdmluZyBmcm9tIHRoZSBET00uIGFzc2VydF9hcnJheV9lcXVhbHM6IGFyaWEtbGFi
ZWxlZCBieSBpcyBzdXBwb3J0ZWQgYnkgSURMIGdldHRlci4gdmFsdWUgaXMgdW5kZWZpbmVkLCBl
eHBlY3RlZCBhcnJheQogUEFTUyBSZXBhcmVudGluZy4KLUZBSUwgQXR0YWNoaW5nIGVsZW1lbnQg
cmVmZXJlbmNlIGJlZm9yZSBpdCdzIGluc2VydGVkIGludG8gdGhlIERPTS4gYXNzZXJ0X2VxdWFs
czogUmVmZXJlbmNlZCBlbGVtZW50IG5vdCBpbnNlcnRlZCBpbnRvIGRvY3VtZW50LCBzbyBpcyBp
biBhbiBpbnZhbGlkIHNjb3BlLiBleHBlY3RlZCBudWxsIGJ1dCBnb3QgRWxlbWVudCBub2RlIDxz
cGFuIGlkPSJ0b1NwYW4iPjwvc3Bhbj4KLUZBSUwgQ3Jvc3MtZG9jdW1lbnQgcmVmZXJlbmNlcyBh
bmQgbW92ZXMuIGFzc2VydF9lcXVhbHM6IENyb3NzLWRvY3VtZW50IGlzIGFuIGludmFsaWQgc2Nv
cGUsIHNvIHJlZmVyZW5jZSB3aWxsIG5vdCBiZSB2aXNpYmxlLiBleHBlY3RlZCBudWxsIGJ1dCBn
b3QgRWxlbWVudCBub2RlIDxzcGFuPjwvc3Bhbj4KK1BBU1MgQXR0YWNoaW5nIGVsZW1lbnQgcmVm
ZXJlbmNlIGJlZm9yZSBpdCdzIGluc2VydGVkIGludG8gdGhlIERPTS4KK1BBU1MgQ3Jvc3MtZG9j
dW1lbnQgcmVmZXJlbmNlcyBhbmQgbW92ZXMuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL2FyaWEtZWxlbWVudC1yZWZs
ZWN0aW9uLnRlbnRhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLmh0
bWwKaW5kZXggNzc2ZmZmMzE0MzIyYjkwMDRlMWU2NzgzYzYyNmMwMzU2Y2E4ZjBhNy4uNjFkMDQ3
ZGFmMjgxZjk3MjE0ZjM0ZTkyN2NlNzYyMjA0ODA1NmMyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50
LXJlZmxlY3Rpb24udGVudGF0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVu
dGF0aXZlLmh0bWwKQEAgLTE2NCw2ICsxNjQsNyBAQAogICA8c2NyaXB0PgogCiAgIHRlc3QoZnVu
Y3Rpb24odCkgeworICAgIGNvbnN0IGNvbnRlbnRBdHRyRWxlbWVudCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJjb250ZW50QXR0ckVsZW1lbnQiKTsKICAgICBjb25zdCBpZGxBdHRyRWxlbWVu
dCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZGxBdHRyRWxlbWVudCIpOwogCiAgICAgYXNz
ZXJ0X2VxdWFscyhkZWxldGlvblBhcmVudC5nZXRBdHRyaWJ1dGUoImFyaWEtYWN0aXZlZGVzY2Vu
ZGFudCIpLCAiY29udGVudEF0dHJFbGVtZW50Iik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458576</attachid>
            <date>2022-04-29 01:39:31 -0700</date>
            <delta_ts>2022-04-29 04:35:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239852-20220429103929.patch</filename>
            <type>text/plain</type>
            <size>49692</size>
            <attacher name="Manuel Rego Casasnovas">rego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNDk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGRhMjFhYjkzZTYyMDczYWRhNmQyNjEz
YjZhMmE3NmY4NDRmYzEzMzguLmIwZWJkZWExMDE4YTk3ZGVlYmQ2MjIyMGVhY2QyNmVmMzkyZTA0
ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjItMDQtMjggIE1hbnVlbCBSZWdvIENhc2Fzbm92
YXMgIDxyZWdvQGlnYWxpYS5jb20+CisKKyAgICAgICAgQVJJQSByZWZsZWN0aW9uIGZvciBFbGVt
ZW50IGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzOTg1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBuZXcgcnVudGltZSBmbGFnIEFyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVy
ZW5jZXNFbmFibGVkLgorCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJl
bmNlc0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIyLTA0LTI2ICBNYW51ZWwgUmVnbyBDYXNhc25v
dmFzICA8cmVnb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFJlbW92ZSBBcmlhUmVmbGVjdGlvbkVu
YWJsZWQgcnVudGltZSBmbGFnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M0ZjhhZDU3NDljYzliNTAyM2E4ZmVj
ZTAyYzc3MGIxMTA4YTBlYi4uYzM1ZDNjNDQxYzdlYmE3M2NmMjY1Njk3N2U5YzY2OGZkMWI5ZGEz
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDIyLTA0LTI4ICBNYW51ZWwgUmVnbyBD
YXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIEFSSUEgcmVmbGVjdGlvbiBm
b3IgRWxlbWVudCBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzk4NTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJbXBsZW1lbnQgQVJJQSByZWZsZWN0aW9uIGZvciBhdHRyaWJ1dGVzIHRo
YXQgcmVmZXIgdG8gYSBzaW5nbGUgRWxlbWVudDoKKyAgICAgICAgYXJpYUFjdGl2ZURlc2NlbmRh
bnQgJiBhcmlhRXJyb3JNZXNzYWdlLgorCisgICAgICAgIFRoaXMgaXMgZG9uZSBmb2xsb3dpbmcg
dGhlIHByb3BzZWQgc3BlYyB0ZXh0IGRlZmluZWQgYXQ6CisgICAgICAgIGh0dHBzOi8vZ2l0aHVi
LmNvbS93aGF0d2cvaHRtbC9wdWxsLzM5MTcKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQXJp
YUF0dHJpYnV0ZXMuaWRsOiBBZGQgYXJpYUFjdGl2ZURlc2NlbmRhbnQgJiBhcmlhRXJyb3JNZXNz
YWdlLgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbToKKyAgICAg
ICAgKEdldHRlckV4cHJlc3Npb24pOiBBZGQgZnVuY3Rpb24gZm9yIEVsZW1lbnQgYXR0cmlidXRl
cy4KKyAgICAgICAgKFNldHRlckV4cHJlc3Npb24pOiBEaXR0by4KKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcDogQWRkIHRlc3RzIGZvciBlbGVtZW50Cisg
ICAgICAgIGF0dHJpYnV0ZSByZWZsZWN0aW9uLgorICAgICAgICAoV2ViQ29yZTo6SlNUZXN0T2Jq
RE9NQ29uc3RydWN0b3I6OmNvbnN0cnVjdCk6CisgICAgICAgIChXZWJDb3JlOjpqc1Rlc3RPYmpf
cmVmbGVjdGVkRWxlbWVudEF0dHJHZXR0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6SlNDX0RFRklO
RV9DVVNUT01fR0VUVEVSKToKKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdE9ial9yZWZsZWN0
ZWRFbGVtZW50QXR0clNldHRlcik6CisgICAgICAgIChXZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RP
TV9TRVRURVIpOgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbDog
QWRkIHJlZmxlY3RlZEVsZW1lbnRBdHRyCisgICAgICAgIGF0dHJpYnV0ZS4KKyAgICAgICAgKiBk
b20vRG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jdW1lbnQ6OkdldEV4cGxpY2l0
bHlTZXRBdHRyRWxlbWVudHNNYXApOiBSZXR1cm4gdGhlIG1hcAorICAgICAgICBvZiBhdHRyaWJ1
dGVzIGV4cGxpY2l0bHkgc2V0IGZvciBhIGdpdmVuIEVsZW1lbnQuCisgICAgICAgICogZG9tL0Rv
Y3VtZW50Lmg6IEFkZCBtYXAgdG8gc3RvcmUgRWxlbWVudCB0aGF0IGhhdmUgc29tZSBFbGVtZW50
CisgICAgICAgIGF0dHJpYnV0ZXMgZXhwbGljaXRseSBzZXQuIFRoZSBtYXAgZW5kcyB1cCBzdG9y
aW5nIGEgVmVjdG9yIG9mCisgICAgICAgIEVsZW1lbnRzIGluIHByZXBhcmF0aW9uIGZvciBzdXBw
b3J0aW5nIEZyb3plbkFycmF5PEVsZW1lbnQ+IGF0dHJpYnV0ZXMKKyAgICAgICAgKHRob3VnaCBz
byBmYXIgb25seSBvbmUgRWxlbWVudCBpcyBzdG9yZWQpLgorICAgICAgICAqIGRvbS9FbGVtZW50
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmlzRWxlbWVudFJlZmxlY3Rpb25BdHRyaWJ1dGUpOiBV
dGlsaXR5IGZ1bmN0aW9uIHRvIGlkZW50aWZ5CisgICAgICAgIEVsZW1lbnQgcmVmbGVjdGlvbiBh
dHRyaWJ1dGVzLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6
IElmIGFuIGVsZW1lbnQgcmVmbGVjdGlvbgorICAgICAgICBhdHRyaWJ1dGUgaGFzIGNoYW5nZWQg
d2UgbmVlZCB0byBzeW5jaHJvbml6ZSB0aGUgbWFwLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVu
dDo6c3luY2hyb25pemVFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0ZSk6IFJlbW92ZSB0aGUKKyAg
ICAgICAgbWFwIGZvciB0aGUgZ2l2ZW4gYXR0cmlidXRlIGFzIGl0J2xsIGJlIHByb3Blcmx5IHVw
ZGF0ZWQgaW4KKyAgICAgICAgc2V0RWxlbWVudEF0dHJpYnV0ZSgpLgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudDo6aXNEZXNjZW5kYW50T2ZTaGFkb3dJbmNsdWRpbmdBbmNlc3RvcnMgY29uc3Qp
OgorICAgICAgICBVdGlsaXR5IG1ldGhvZCB0byBkZXRlY3QgaWYgYW4gZWxlbWVudCBpcyBhIGRl
c2NlbmRhbnQgb2YgYW55IG9mCisgICAgICAgIGVsZW1lbnQncyBzaGFkb3ctaW5jbHVkaW5nIGFu
Y2VzdG9ycy4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmdldEVsZW1lbnRBdHRyaWJ1dGUg
Y29uc3QpOiBJbXBsZW1lbnQgZ2V0dGVyIGZvcgorICAgICAgICBlbGVtZW50IGF0dHJpYnV0ZS4K
KyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNldEVsZW1lbnRBdHRyaWJ1dGUpOiBJbXBsZW1l
bnQgc2V0dGVyIGZvcgorICAgICAgICBlbGVtZW50IGF0dHJpYnV0ZS4KKyAgICAgICAgKiBkb20v
RWxlbWVudC5oOiBBZGQgbmV3IG1ldGhvZHMgaGVhZGVycy4KKwogMjAyMi0wNC0yNiAgQW50dGkg
S29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgOjpmaXJzdC1sZXR0ZXIgZG9l
cyBub3Qgd29yayBpZiB1c2VkIG9ubHkgaW4gc2hhZG93IGNvbnRlbnQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55
YW1sIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJp
bWVudGFsLnlhbWwKaW5kZXggMDM4ZTYxYWM5MjM1YzljN2I4Y2E1MWQ5ZTc0OWI5MGRmOWEwMTEw
Zi4uODg0OWYyOWExOTQ0YmE1M2QxZmNiNWViODY2MGEyMDhkYmFjYTMyZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFs
LnlhbWwKKysrIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2Vz
RXhwZXJpbWVudGFsLnlhbWwKQEAgLTY2LDYgKzY2LDE4IEBAIEFjY2Vzc2liaWxpdHlPYmplY3RN
b2RlbEVuYWJsZWQ6CiAgICAgV2ViS2l0OgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorQXJpYVJl
ZmxlY3Rpb25Gb3JFbGVtZW50UmVmZXJlbmNlc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgaHVt
YW5SZWFkYWJsZU5hbWU6ICJBUklBIFJlZmxlY3Rpb24gZm9yIEVsZW1lbnQgUmVmZXJlbmNlcyIK
KyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiRW5hYmxlIEFSSUEgcmVmbGVjdGlvbiBmb3Ig
YXR0cmlidXRlcyB0aGF0IHJlZmVyIHRvIGVsZW1lbnRzIgorICBkZWZhdWx0VmFsdWU6CisgICAg
V2ViS2l0TGVnYWN5OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBXZWJLaXQ6CisgICAgICBk
ZWZhdWx0OiBmYWxzZQorICAgIFdlYkNvcmU6CisgICAgICBkZWZhdWx0OiBmYWxzZQorCiBBc3Bl
Y3RSYXRpb0VuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJDU1Mg
QXNwZWN0IFJhdGlvIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9B
cmlhQXR0cmlidXRlcy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FyaWFBdHRy
aWJ1dGVzLmlkbAppbmRleCA1YmU1ZTQ2ZjhjNTk2YWM0NjgzM2ZkYzEyNGZhMGU3MDMxMzhlMzg1
Li40YzY2MGJhMTgwMjE5YWEzZmNiYjY2Mjg0ZjUzMDgwOWM0ZjdjYmE3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FyaWFBdHRyaWJ1dGVzLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FyaWFBdHRyaWJ1dGVzLmlkbApAQCAtMjUsNiArMjUs
NyBAQAogCiAvLyBodHRwczovL3dpY2cuZ2l0aHViLmlvL2FvbS9zcGVjL2FyaWEtcmVmbGVjdGlv
bi5odG1sI0FyaWFBdHRyaWJ1dGVzCiBpbnRlcmZhY2UgbWl4aW4gQXJpYUF0dHJpYnV0ZXMgewor
ICAgIFtSZWZsZWN0PWFyaWFfYWN0aXZlZGVzY2VuZGFudCwgRW5hYmxlZEJ5U2V0dGluZz1Bcmlh
UmVmbGVjdGlvbkZvckVsZW1lbnRSZWZlcmVuY2VzRW5hYmxlZF0gYXR0cmlidXRlIEVsZW1lbnQ/
IGFyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudDsKICAgICBbUmVmbGVjdD1hcmlhX2F0b21pY10g
ICAgICAgICAgIGF0dHJpYnV0ZSBbQXRvbVN0cmluZ10gRE9NU3RyaW5nPyBhcmlhQXRvbWljOwog
ICAgIFtSZWZsZWN0PWFyaWFfYXV0b2NvbXBsZXRlXSAgICAgYXR0cmlidXRlIFtBdG9tU3RyaW5n
XSBET01TdHJpbmc/IGFyaWFBdXRvQ29tcGxldGU7CiAgICAgW1JlZmxlY3Q9YXJpYV9idXN5XSAg
ICAgICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUJ1c3k7CkBA
IC0zNCw2ICszNSw3IEBAIGludGVyZmFjZSBtaXhpbiBBcmlhQXR0cmlidXRlcyB7CiAgICAgW1Jl
ZmxlY3Q9YXJpYV9jb2xzcGFuXSAgICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0
cmluZz8gYXJpYUNvbFNwYW47CiAgICAgW1JlZmxlY3Q9YXJpYV9jdXJyZW50XSAgICAgICAgICBh
dHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUN1cnJlbnQ7CiAgICAgW1JlZmxl
Y3Q9YXJpYV9kaXNhYmxlZF0gICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmlu
Zz8gYXJpYURpc2FibGVkOworICAgIFtSZWZsZWN0PWFyaWFfZXJyb3JtZXNzYWdlLCBFbmFibGVk
QnlTZXR0aW5nPUFyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5jZXNFbmFibGVkXSBhdHRy
aWJ1dGUgRWxlbWVudD8gYXJpYUVycm9yTWVzc2FnZUVsZW1lbnQ7CiAgICAgW1JlZmxlY3Q9YXJp
YV9leHBhbmRlZF0gICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJp
YUV4cGFuZGVkOwogICAgIFtSZWZsZWN0PWFyaWFfaGFzcG9wdXBdICAgICAgICAgYXR0cmlidXRl
IFtBdG9tU3RyaW5nXSBET01TdHJpbmc/IGFyaWFIYXNQb3B1cDsKICAgICBbUmVmbGVjdD1hcmlh
X2hpZGRlbl0gICAgICAgICAgIGF0dHJpYnV0ZSBbQXRvbVN0cmluZ10gRE9NU3RyaW5nPyBhcmlh
SGlkZGVuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJh
dG9yLnBtCmluZGV4IDcxYjM2YmNlNTUzY2MxZTRkZjM5OTZkMmJkNGEyOGFlZDA3YTJjOTIuLmI4
ZDdhNGYwYmJmZjlkODFlNDUxZmE1MjU1ZjRkMzA2Yzc2Y2M2ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KQEAgLTExMDgsNiArMTEw
OCw4IEBAIHN1YiBHZXR0ZXJFeHByZXNzaW9uCiAgICAgICAgICRmdW5jdGlvbk5hbWUgPSAiZ2V0
SW50ZWdyYWxBdHRyaWJ1dGUiOwogICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGVUeXBlLT5uYW1lIGVx
ICJ1bnNpZ25lZCBsb25nIikgewogICAgICAgICAkZnVuY3Rpb25OYW1lID0gImdldFVuc2lnbmVk
SW50ZWdyYWxBdHRyaWJ1dGUiOworICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGVUeXBlLT5uYW1lIGVx
ICJFbGVtZW50IikgeworICAgICAgICAkZnVuY3Rpb25OYW1lID0gImdldEVsZW1lbnRBdHRyaWJ1
dGUiOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGlmICgkY29udGVudEF0dHJpYnV0ZU5hbWUgZXEg
IldlYkNvcmU6OkhUTUxOYW1lczo6aWRBdHRyIikgewogICAgICAgICAgICAgJGZ1bmN0aW9uTmFt
ZSA9ICJnZXRJZEF0dHJpYnV0ZSI7CkBAIC0xMTQ1LDYgKzExNDcsOCBAQCBzdWIgU2V0dGVyRXhw
cmVzc2lvbgogICAgICAgICAkZnVuY3Rpb25OYW1lID0gInNldEludGVncmFsQXR0cmlidXRlIjsK
ICAgICB9IGVsc2lmICgkYXR0cmlidXRlVHlwZS0+bmFtZSBlcSAidW5zaWduZWQgbG9uZyIpIHsK
ICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICJzZXRVbnNpZ25lZEludGVncmFsQXR0cmlidXRlIjsK
KyAgICB9IGVsc2lmICgkYXR0cmlidXRlVHlwZS0+bmFtZSBlcSAiRWxlbWVudCIpIHsKKyAgICAg
ICAgJGZ1bmN0aW9uTmFtZSA9ICJzZXRFbGVtZW50QXR0cmlidXRlIjsKICAgICB9IGVsc2lmICgk
Z2VuZXJhdG9yLT5Jc1NWR0FuaW1hdGVkVHlwZSgkYXR0cmlidXRlVHlwZSkpIHsKICAgICAgICAg
JGZ1bmN0aW9uTmFtZSA9ICJzZXRBdHRyaWJ1dGUiOwogICAgIH0gZWxzZSB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCmlu
ZGV4IDU1OGE5MTZlM2U5NTdjNWQyM2E2OGY3N2I1M2U0MjJhNzI5YmJiNTYuLmNjNjE5NWI0ZDM4
Yjc4ZWI3OWE1MGRhMGUxNjVjNTZhOTY2MWRhMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCkBAIC0xODAzLDYgKzE4
MDMsOCBAQCBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVmbGVj
dGVkVW5zaWduZWRJbnRlZ3JhbEF0dHIpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRU
RVIoc2V0SlNUZXN0T2JqX3JlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyKTsKIHN0YXRpYyBK
U0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVzdE9ial9yZWZsZWN0ZWRCb29sZWFuQXR0cik7
CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVk
Qm9vbGVhbkF0dHIpOworc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNUZXN0T2Jq
X3JlZmxlY3RlZEVsZW1lbnRBdHRyKTsKK3N0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0cik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVf
Q1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVmbGVjdGVkVVJMQXR0cik7CiBzdGF0aWMgSlNDX0RF
Q0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVVJMQXR0cik7CiBzdGF0
aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVmbGVjdGVkVVNWVVJMQXR0
cik7CkBAIC0yMTc1LDYgKzIxNzcsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNU
ZXN0T2JqUHJvdG90eXBlVGFibGVWYWx1ZXNbXSA9CiAgICAgeyAicmVmbGVjdGVkSW50ZWdyYWxB
dHRyIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3Rv
bUFjY2Vzc29yIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRy
aW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5j
Pihqc1Rlc3RPYmpfcmVmbGVjdGVkSW50ZWdyYWxBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2Fz
dDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3JlZmxlY3RlZElu
dGVncmFsQXR0cikgfSB9LAogICAgIHsgInJlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyIiwg
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vz
c29yIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMs
IHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rl
c3RPYmpfcmVmbGVjdGVkVW5zaWduZWRJbnRlZ3JhbEF0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19j
YXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVk
VW5zaWduZWRJbnRlZ3JhbEF0dHIpIH0gfSwKICAgICB7ICJyZWZsZWN0ZWRCb29sZWFuQXR0ciIs
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nl
c3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50cmluc2lj
LCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNU
ZXN0T2JqX3JlZmxlY3RlZEJvb2xlYW5BdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQ
cm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3JlZmxlY3RlZEJvb2xlYW5B
dHRyKSB9IH0sCisgICAgeyAicmVmbGVjdGVkRWxlbWVudEF0dHIiLCBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IgfCBKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpET01BdHRyaWJ1dGUpLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3Rh
dGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ial9yZWZsZWN0ZWRF
bGVtZW50QXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRW
YWx1ZUZ1bmM+KHNldEpTVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0cikgfSB9LAogICAgIHsg
InJlZmxlY3RlZFVSTEF0dHIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpET01BdHRy
aWJ1dGUpLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90
OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ial9yZWZsZWN0ZWRVUkxBdHRyKSwgKGludHB0cl90KSBz
dGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3Jl
ZmxlY3RlZFVSTEF0dHIpIH0gfSwKICAgICB7ICJyZWZsZWN0ZWRVU1ZVUkxBdHRyIiwgc3RhdGlj
X2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwg
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGlu
dHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpf
cmVmbGVjdGVkVVNWVVJMQXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlT
bG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9ial9yZWZsZWN0ZWRVU1ZVUkxBdHRyKSB9IH0s
CiAgICAgeyAicmVmbGVjdGVkU3RyaW5nQXR0ciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQ
cm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqX3JlZmxlY3RlZFN0cmluZ0F0dHIp
LCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihz
ZXRKU1Rlc3RPYmpfcmVmbGVjdGVkU3RyaW5nQXR0cikgfSB9LApAQCAtMzkxOCw2ICszOTIxLDM3
IEBAIEpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkQm9vbGVh
bkF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rl
c3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3JlZmxlY3RlZEJvb2xlYW5BdHRyU2V0dGVyPigqbGV4
aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsIGF0dHJpYnV0ZU5hbWUp
OwogfQogCitzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRB
dHRyR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RPYmom
IHRoaXNPYmplY3QpCit7CisgICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFs
T2JqZWN0KTsKKyAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsK
KyAgICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53cmFwcGVkKCk7CisgICAgUkVMRUFTRV9BTkRf
UkVUVVJOKHRocm93U2NvcGUsICh0b0pTPElETEludGVyZmFjZTxFbGVtZW50Pj4obGV4aWNhbEds
b2JhbE9iamVjdCwgKnRoaXNPYmplY3QuZ2xvYmFsT2JqZWN0KCksIHRocm93U2NvcGUsIGltcGwu
Z2V0RWxlbWVudEF0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RlZGVsZW1lbnRh
dHRyQXR0cikpKSk7Cit9CisKK0pTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVm
bGVjdGVkRWxlbWVudEF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUgYXR0cmlidXRlTmFtZSkpCit7
CisgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpnZXQ8anNUZXN0T2JqX3JlZmxl
Y3RlZEVsZW1lbnRBdHRyR2V0dGVyLCBDYXN0ZWRUaGlzRXJyb3JCZWhhdmlvcjo6QXNzZXJ0Pigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBhdHRyaWJ1dGVOYW1lKTsKK30KKworc3Rh
dGljIGlubGluZSBib29sIHNldEpTVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0clNldHRlcihK
U0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0T2JqJiB0aGlzT2JqZWN0
LCBKU1ZhbHVlIHZhbHVlKQoreworICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEds
b2JhbE9iamVjdCk7CisgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2
bSk7CisgICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOworICAgIGF1dG8gbmF0
aXZlVmFsdWUgPSBjb252ZXJ0PElETEludGVyZmFjZTxFbGVtZW50Pj4obGV4aWNhbEdsb2JhbE9i
amVjdCwgdmFsdWUsIFtdKEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3Qs
IEpTQzo6VGhyb3dTY29wZSYgc2NvcGUpIHsgdGhyb3dBdHRyaWJ1dGVUeXBlRXJyb3IobGV4aWNh
bEdsb2JhbE9iamVjdCwgc2NvcGUsICJUZXN0T2JqZWN0IiwgInJlZmxlY3RlZEVsZW1lbnRBdHRy
IiwgIkVsZW1lbnQiKTsgfSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBm
YWxzZSk7CisgICAgaW52b2tlRnVuY3RvclByb3BhZ2F0aW5nRXhjZXB0aW9uSWZOZWNlc3Nhcnko
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhyb3dTY29wZSwgWyZdIHsKKyAgICAgICAgcmV0dXJuIGlt
cGwuc2V0RWxlbWVudEF0dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RlZGVsZW1l
bnRhdHRyQXR0ciwgKm5hdGl2ZVZhbHVlKTsKKyAgICB9KTsKKyAgICByZXR1cm4gdHJ1ZTsKK30K
KworSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50
QXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1
ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lIGF0
dHJpYnV0ZU5hbWUpKQoreworICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0
PHNldEpTVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxP
YmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCBhdHRyaWJ1dGVOYW1lKTsKK30KKwogc3Rh
dGljIGlubGluZSBKU1ZhbHVlIGpzVGVzdE9ial9yZWZsZWN0ZWRVUkxBdHRyR2V0dGVyKEpTR2xv
YmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RPYmomIHRoaXNPYmplY3QpCiB7
CiAgICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAppbmRleCAx
MGY2NTFhNTc1ZTc3Yjc1MDAyYjg3MGNkYmI4OThmZmE0NjYzM2M5Li43ZTk4MmQ1MTYyNGI0Y2Zk
OGI4NmVkNTE0NzdmNzE3YjFiYmZlNWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCkBAIC0xMDQsNiArMTA0LDcgQEAgZW51bSBUZXN0
Q29uZmlkZW5jZSB7ICJoaWdoIiwgImtpbmRhLWxvdyIgfTsKICAgICBbUmVmbGVjdF0gYXR0cmli
dXRlIGxvbmcgcmVmbGVjdGVkSW50ZWdyYWxBdHRyOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUg
dW5zaWduZWQgbG9uZyByZWZsZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0cjsKICAgICBbUmVmbGVj
dF0gYXR0cmlidXRlIGJvb2xlYW4gcmVmbGVjdGVkQm9vbGVhbkF0dHI7CisgICAgW1JlZmxlY3Rd
IGF0dHJpYnV0ZSBFbGVtZW50IHJlZmxlY3RlZEVsZW1lbnRBdHRyOwogICAgIFtSZWZsZWN0LCBV
UkxdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmbGVjdGVkVVJMQXR0cjsKICAgICBbUmVmbGVjdCwg
VVJMXSBhdHRyaWJ1dGUgVVNWU3RyaW5nIHJlZmxlY3RlZFVTVlVSTEF0dHI7CiAgICAgW1JlZmxl
Y3Q9Y3VzdG9tQ29udGVudFN0cmluZ0F0dHJdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmbGVjdGVk
U3RyaW5nQXR0cjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3BwCmluZGV4IDI5YTEyZDlhMDU2MjM4MTI0
YzkyNDBlOGJhM2EwODIxZGFmZTJkZTUuLjRiMzBkMWQ0YjcxYWY5ZGI3MDhjNDUyZGY3YmRlM2U1
ZTY5YmM5OWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcApAQCAtOTE3Miw2ICs5MTcyLDE0IEBA
IGJvb2wgRG9jdW1lbnQ6OmlzU2FtZVNpdGVGb3JDb29raWVzKGNvbnN0IFVSTCYgdXJsKSBjb25z
dAogICAgIHJldHVybiBkb21haW4ubWF0Y2hlcyh1cmwpOwogfQogCitFeHBsaWNpdGx5U2V0QXR0
ckVsZW1lbnRzTWFwKiBEb2N1bWVudDo6R2V0RXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcChj
b25zdCBFbGVtZW50JiBlbGVtZW50KQoreworICAgIEFTU0VSVCgmZWxlbWVudC5kb2N1bWVudCgp
ID09IHRoaXMpOworICAgIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAgbWFwOworICAgIGF1
dG8gcmVzdWx0ID0gbV9lbGVtZW50RXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcC5hZGQoZWxl
bWVudCwgV1RGTW92ZShtYXApKTsKKyAgICByZXR1cm4gJnJlc3VsdC5pdGVyYXRvci0+dmFsdWU7
Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI3VuZGVmIERPQ1VNRU5UX1JFTEVBU0Vf
TE9HCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9Eb2N1bWVudC5oCmluZGV4IGIwZjdkNTdkNThlN2M1MzJmNTI0MzZmMjllNzRk
YjI4Y2E0YjAzZmYuLjZmMDMxZTRkOTRiNGQ0NzMyOWU3ZTIzOTFmMDEyYTkxYTdjNTY0MzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9Eb2N1bWVudC5oCkBAIC02Nyw2ICs2Nyw3IEBACiAjaW5jbHVkZSA8d3RmL09iamVj
dElkZW50aWZpZXIuaD4KICNpbmNsdWRlIDx3dGYvT2JzZXJ2ZXIuaD4KICNpbmNsdWRlIDx3dGYv
VW5pcXVlUmVmLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtIYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3Rm
L1dlYWtIYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9BdG9tU3RyaW5nSGFzaC5oPgpAQCAtMjcxLDYgKzI3Miw3IEBAIGVudW0gY2xhc3MgTXV0
YXRpb25PYnNlcnZlck9wdGlvblR5cGUgOiB1aW50OF90OwogdXNpbmcgTWVkaWFQcm9kdWNlck1l
ZGlhU3RhdGVGbGFncyA9IE9wdGlvblNldDxNZWRpYVByb2R1Y2VyTWVkaWFTdGF0ZT47CiB1c2lu
ZyBNZWRpYVByb2R1Y2VyTXV0ZWRTdGF0ZUZsYWdzID0gT3B0aW9uU2V0PE1lZGlhUHJvZHVjZXJN
dXRlZFN0YXRlPjsKIHVzaW5nIFBsYXRmb3JtRGlzcGxheUlEID0gdWludDMyX3Q7Cit1c2luZyBF
eHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwID0gSGFzaE1hcDxRdWFsaWZpZWROYW1lLCBWZWN0
b3I8V2Vha1B0cjxFbGVtZW50Pj4+OwogCiBuYW1lc3BhY2UgU3R5bGUgewogY2xhc3MgUmVzb2x2
ZXI7CkBAIC0xNjg1LDYgKzE2ODcsOCBAQCBwdWJsaWM6CiAKICAgICBzdGQ6Om9wdGlvbmFsPFBB
TDo6U2Vzc2lvbklEPiBzZXNzaW9uSUQoKSBjb25zdCBmaW5hbDsKIAorICAgIEV4cGxpY2l0bHlT
ZXRBdHRyRWxlbWVudHNNYXAqIEdldEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoY29uc3Qg
RWxlbWVudCYpOworCiBwcm90ZWN0ZWQ6CiAgICAgZW51bSBDb25zdHJ1Y3Rpb25GbGFncyB7IFN5
bnRoZXNpemVkID0gMSwgTm9uUmVuZGVyZWRQbGFjZWhvbGRlciA9IDEgPDwgMSB9OwogICAgIFdF
QkNPUkVfRVhQT1JUIERvY3VtZW50KEZyYW1lKiwgY29uc3QgU2V0dGluZ3MmLCBjb25zdCBVUkwm
LCBEb2N1bWVudENsYXNzZXMgPSB7IH0sIHVuc2lnbmVkIGNvbnN0cnVjdGlvbkZsYWdzID0gMCwg
U2NyaXB0RXhlY3V0aW9uQ29udGV4dElkZW50aWZpZXIgPSB7IH0pOwpAQCAtMjI3Nyw2ICsyMjgx
LDggQEAgcHJpdmF0ZToKICAgICBWZWN0b3I8RnVuY3Rpb248dm9pZCgpPj4gbV93aGVuSXNWaXNp
YmxlSGFuZGxlcnM7CiAKICAgICBXZWFrSGFzaFNldDxFbGVtZW50PiBtX2VsZW1lbnRzV2l0aFBl
bmRpbmdVc2VyQWdlbnRTaGFkb3dUcmVlVXBkYXRlczsKKworICAgIFdlYWtIYXNoTWFwPEVsZW1l
bnQsIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXA+IG1fZWxlbWVudEV4cGxpY2l0bHlTZXRB
dHRyRWxlbWVudHNNYXA7CiB9OwogCiBFbGVtZW50KiBldmVudFRhcmdldEVsZW1lbnRGb3JEb2N1
bWVudChEb2N1bWVudCopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCmluZGV4IDBiZDI2NzIxY2JlODcw
NDczNmIxOGE3NTZlODhmMDY1YTY0MDcyM2MuLjk2MjIzMTRkMThjZDE3ZjM2NDZiMDAyYzhkNDJi
ZmZjM2Y1YTRmZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTE5MDEsNiArMTkwMSwxNCBA
QCBzdGF0aWMgaW5saW5lIEF0b21TdHJpbmcgbWFrZUlkRm9yU3R5bGVSZXNvbHV0aW9uKGNvbnN0
IEF0b21TdHJpbmcmIHZhbHVlLCBib29sCiAgICAgcmV0dXJuIHZhbHVlOwogfQogCitzdGF0aWMg
Ym9vbCBpc0VsZW1lbnRSZWZsZWN0aW9uQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5h
bWUpCit7CisgICAgaWYgKG5hbWUgPT0gSFRNTE5hbWVzOjphcmlhX2FjdGl2ZWRlc2NlbmRhbnRB
dHRyIHx8IG5hbWUgPT0gSFRNTE5hbWVzOjphcmlhX2Vycm9ybWVzc2FnZUF0dHIpCisgICAgICAg
IHJldHVybiB0cnVlOworCisgICAgcmV0dXJuIGZhbHNlOworfQorCiB2b2lkIEVsZW1lbnQ6OmF0
dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmlu
ZyYgb2xkVmFsdWUsIGNvbnN0IEF0b21TdHJpbmcmIG5ld1ZhbHVlLCBBdHRyaWJ1dGVNb2RpZmlj
YXRpb25SZWFzb24pCiB7CiAgICAgYm9vbCB2YWx1ZUlzU2FtZUFzQmVmb3JlID0gb2xkVmFsdWUg
PT0gbmV3VmFsdWU7CkBAIC0xOTM3LDYgKzE5NDUsOCBAQCB2b2lkIEVsZW1lbnQ6OmF0dHJpYnV0
ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYgb2xk
VgogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgaWYgKG5hbWUgPT0gSFRNTE5hbWVzOjpw
YXJ0QXR0cikKICAgICAgICAgICAgIHBhcnRBdHRyaWJ1dGVDaGFuZ2VkKG5ld1ZhbHVlKTsKKyAg
ICAgICAgZWxzZSBpZiAoaXNFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0ZShuYW1lKSkKKyAgICAg
ICAgICAgIHN5bmNocm9uaXplRWxlbWVudFJlZmxlY3Rpb25BdHRyaWJ1dGUobmFtZSk7CiAgICAg
ICAgIGVsc2UgaWYgKG5hbWUgPT0gSFRNTE5hbWVzOjpleHBvcnRwYXJ0c0F0dHIpIHsKICAgICAg
ICAgICAgIGlmIChhdXRvKiBzaGFkb3dSb290ID0gdGhpcy0+c2hhZG93Um9vdCgpKSB7CiAgICAg
ICAgICAgICAgICAgc2hhZG93Um9vdC0+aW52YWxpZGF0ZVBhcnRNYXBwaW5ncygpOwpAQCAtMTk2
MSw2ICsxOTcxLDcyIEBAIHZvaWQgRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFs
aWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9tU3RyaW5nJiBvbGRWCiAgICAgICAgIGNhY2hlLT5k
ZWZlckF0dHJpYnV0ZUNoYW5nZUlmTmVlZGVkKG5hbWUsIHRoaXMpOwogfQogCit2b2lkIEVsZW1l
bnQ6OnN5bmNocm9uaXplRWxlbWVudFJlZmxlY3Rpb25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYgYXR0cmlidXRlTmFtZSkKK3sKKyAgICBBU1NFUlQoZG9jdW1lbnQoKS5zZXR0aW5ncygp
LmFyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5jZXNFbmFibGVkKCkpOworICAgIEFTU0VS
VChpc0VsZW1lbnRSZWZsZWN0aW9uQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpKTsKKworICAgIGRv
Y3VtZW50KCkuR2V0RXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCgqdGhpcyktPnJlbW92ZShh
dHRyaWJ1dGVOYW1lKTsKK30KKworYm9vbCBFbGVtZW50Ojppc0Rlc2NlbmRhbnRPZlNoYWRvd0lu
Y2x1ZGluZ0FuY2VzdG9ycyhjb25zdCBFbGVtZW50JiBlbGVtZW50KSBjb25zdAoreworICAgIGlm
ICghaXNJblRyZWVTY29wZSgpIHx8ICFlbGVtZW50LmlzSW5UcmVlU2NvcGUoKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworCisgICAgZm9yIChhdXRvKiByb290ID0gY29udGFpbmluZ1NoYWRvd1Jv
b3QoKTsgcm9vdDsgcm9vdCA9IHJvb3QtPmhvc3QoKS0+Y29udGFpbmluZ1NoYWRvd1Jvb3QoKSkg
eworICAgICAgICBpZiAoZWxlbWVudC5pc0Rlc2NlbmRhbnRPZihyb290KSkKKyAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgIH0KKworICAgIHJldHVybiBlbGVtZW50LmlzRGVzY2VuZGFudE9m
KGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCkpOworfQorCitFbGVtZW50KiBFbGVtZW50Ojpn
ZXRFbGVtZW50QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIGNv
bnN0Cit7CisgICAgQVNTRVJUKGRvY3VtZW50KCkuc2V0dGluZ3MoKS5hcmlhUmVmbGVjdGlvbkZv
ckVsZW1lbnRSZWZlcmVuY2VzRW5hYmxlZCgpKTsKKyAgICBBU1NFUlQoaXNFbGVtZW50UmVmbGVj
dGlvbkF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CisKKyAgICBhdXRvKiBleHBsaWNpdGx5U2V0
QXR0ckVsZW1lbnRzTWFwID0gZG9jdW1lbnQoKS5HZXRFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRz
TWFwKCp0aGlzKTsKKyAgICBpZiAoZXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcC0+Y29udGFp
bnMoYXR0cmlidXRlTmFtZSkpIHsKKyAgICAgICAgQVNTRVJUKGV4cGxpY2l0bHlTZXRBdHRyRWxl
bWVudHNNYXAtPmZpbmQoYXR0cmlidXRlTmFtZSktPnZhbHVlLnNpemUoKSA9PSAxKTsKKyAgICAg
ICAgYXV0byogZWxlbWVudCA9IGV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAtPmZpbmQoYXR0
cmlidXRlTmFtZSktPnZhbHVlWzBdLmdldCgpOworICAgICAgICBBU1NFUlQoZWxlbWVudCk7Cisg
ICAgICAgIGlmIChpc0Rlc2NlbmRhbnRPZlNoYWRvd0luY2x1ZGluZ0FuY2VzdG9ycygqZWxlbWVu
dCkpCisgICAgICAgICAgICByZXR1cm4gZWxlbWVudDsKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7
CisgICAgfQorCisgICAgYXV0byBpZCA9IGdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKTsKKyAg
ICBpZiAoaWQuaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgcmV0dXJu
IHRyZWVTY29wZSgpLmdldEVsZW1lbnRCeUlkKGlkKTsKK30KKwordm9pZCBFbGVtZW50OjpzZXRF
bGVtZW50QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUsIEVsZW1l
bnQqIGVsZW1lbnQpCit7CisgICAgQVNTRVJUKGRvY3VtZW50KCkuc2V0dGluZ3MoKS5hcmlhUmVm
bGVjdGlvbkZvckVsZW1lbnRSZWZlcmVuY2VzRW5hYmxlZCgpKTsKKyAgICBBU1NFUlQoaXNFbGVt
ZW50UmVmbGVjdGlvbkF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CisKKyAgICBhdXRvKiBleHBs
aWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwID0gZG9jdW1lbnQoKS5HZXRFeHBsaWNpdGx5U2V0QXR0
ckVsZW1lbnRzTWFwKCp0aGlzKTsKKyAgICBpZiAoIWVsZW1lbnQpIHsKKyAgICAgICAgZXhwbGlj
aXRseVNldEF0dHJFbGVtZW50c01hcC0+cmVtb3ZlKGF0dHJpYnV0ZU5hbWUpOworICAgICAgICBy
ZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBhdXRvIGlkID0gZWxlbWVudC0+Z2V0SWRBdHRyaWJ1dGUoKTsKKyAgICBpZiAoIWlkLmlz
TnVsbCgpICYmICZ0cmVlU2NvcGUoKSA9PSAmZWxlbWVudC0+dHJlZVNjb3BlKCkgJiYgdHJlZVNj
b3BlKCkuZ2V0RWxlbWVudEJ5SWQoaWQpID09IGVsZW1lbnQpCisgICAgICAgIHNldEF0dHJpYnV0
ZShhdHRyaWJ1dGVOYW1lLCBpZCk7CisgICAgZWxzZQorICAgICAgICBzZXRBdHRyaWJ1dGUoYXR0
cmlidXRlTmFtZSwgZW1wdHlBdG9tKCkpOworCisgICAgVmVjdG9yPFdlYWtQdHI8RWxlbWVudD4+
IGVsZW1lbnRzOworICAgIGVsZW1lbnRzLmFwcGVuZChlbGVtZW50KTsKKyAgICBleHBsaWNpdGx5
U2V0QXR0ckVsZW1lbnRzTWFwLT5zZXQoYXR0cmlidXRlTmFtZSwgV1RGTW92ZShlbGVtZW50cykp
OworfQorCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KIHN0YXRpYyBpbmxpbmUg
Ym9vbCBpc05vbkVtcHR5VG9rZW5MaXN0KGNvbnN0IENoYXJhY3RlclR5cGUqIGNoYXJhY3RlcnMs
IHVuc2lnbmVkIGxlbmd0aCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IDljYWJlM2FkY2Q3NThj
NTJlYmI4NTk2MTI2MGI1MjFmYjI1ODAzMDcuLmM1YjQyZmU5OGYzOTI4Zjc1NTA0NWNiZGE1OTc1
MGFhN2M0ZWFhYzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtMTIxLDYgKzEyMSw4IEBAIHB1Ymxp
YzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEludGVncmFsQXR0cmlidXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUsIGludCB2YWx1ZSk7CiAgICAgV0VCQ09SRV9FWFBP
UlQgdW5zaWduZWQgZ2V0VW5zaWduZWRJbnRlZ3JhbEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiBhdHRyaWJ1dGVOYW1lKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldFVu
c2lnbmVkSW50ZWdyYWxBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFt
ZSwgdW5zaWduZWQgdmFsdWUpOworICAgIFdFQkNPUkVfRVhQT1JUIEVsZW1lbnQqIGdldEVsZW1l
bnRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgY29uc3Q7Cisg
ICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRFbGVtZW50QXR0cmlidXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIGF0dHJpYnV0ZU5hbWUsIEVsZW1lbnQqIHZhbHVlKTsKIAogICAgIC8vIENhbGwgdGhp
cyB0byBnZXQgdGhlIHZhbHVlIG9mIGFuIGF0dHJpYnV0ZSB0aGF0IGlzIGtub3duIG5vdCB0byBi
ZSB0aGUgc3R5bGUKICAgICAvLyBhdHRyaWJ1dGUgb3Igb25lIG9mIHRoZSBTVkcgYW5pbWF0YWJs
ZSBhdHRyaWJ1dGVzLgpAQCAtNzM5LDYgKzc0MSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRB
dHRyaWJ1dGVJbnRlcm5hbCh1bnNpZ25lZCBpbmRleCwgY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNv
bnN0IEF0b21TdHJpbmcmIHZhbHVlLCBTeW5jaHJvbml6YXRpb25PZkxhenlBdHRyaWJ1dGUpOwog
ICAgIHZvaWQgYWRkQXR0cmlidXRlSW50ZXJuYWwoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0
IEF0b21TdHJpbmcmIHZhbHVlLCBTeW5jaHJvbml6YXRpb25PZkxhenlBdHRyaWJ1dGUpOwogICAg
IHZvaWQgcmVtb3ZlQXR0cmlidXRlSW50ZXJuYWwodW5zaWduZWQgaW5kZXgsIFN5bmNocm9uaXph
dGlvbk9mTGF6eUF0dHJpYnV0ZSk7CisgICAgdm9pZCBzeW5jaHJvbml6ZUVsZW1lbnRSZWZsZWN0
aW9uQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmKTsKIAogICAgIHZvaWQgc2V0U2F2ZWRM
YXllclNjcm9sbFBvc2l0aW9uU2xvdyhjb25zdCBJbnRQb2ludCYpOwogICAgIHZvaWQgY2xlYXJC
ZWZvcmVQc2V1ZG9FbGVtZW50U2xvdygpOwpAQCAtNzg1LDYgKzc4OCw4IEBAIHByaXZhdGU6CiAg
ICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBmYXN0QXR0cmlidXRlTG9va3VwQWxsb3dlZChjb25zdCBR
dWFsaWZpZWROYW1lJikgY29uc3Q7CiAjZW5kaWYKIAorICAgIGJvb2wgaXNEZXNjZW5kYW50T2ZT
aGFkb3dJbmNsdWRpbmdBbmNlc3RvcnMoY29uc3QgRWxlbWVudCYpIGNvbnN0OworCiAgICAgUXVh
bGlmaWVkTmFtZSBtX3RhZ05hbWU7CiAgICAgUmVmUHRyPEVsZW1lbnREYXRhPiBtX2VsZW1lbnRE
YXRhOwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKaW5kZXggMzJjY2U0NWMxMDNiMzhkMjZkMGJhZmY0MGQ1NWExNmY1M2U2NmFiMC4u
ODc2YWE4NzEwNjczZDRlZTE3MWE0OGI4ODJkMjJlNDg3Nzg2OTU0MyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE1IEBACisyMDIyLTA0LTI5ICBNYW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEu
Y29tPgorCisgICAgICAgIEFSSUEgcmVmbGVjdGlvbiBmb3IgRWxlbWVudCBhdHRyaWJ1dGVzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzk4NTIKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgdGVz
dCB0byBpbmNsdWRlIHRoZSBuZXcgcmVmbGVjdGVkIGF0dHJpYnV0ZXMuCisKKyAgICAgICAgKiBh
Y2Nlc3NpYmlsaXR5L0FSSUEtcmVmbGVjdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rpb24uaHRtbDoKKwogMjAyMi0wNC0yNiAgQW50dGkgS29p
dmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAgICAgOjpmaXJzdC1sZXR0ZXIgZG9lcyBu
b3Qgd29yayBpZiB1c2VkIG9ubHkgaW4gc2hhZG93IGNvbnRlbnQKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nCmluZGV4IDJlNTM4YzYwYzljZmQ0NTU1MTY0OTUzNzQ3ZDFmODM0ZGUwOGMyMmQu
LmU0YTkwMGUwZTVjMDM0MTU3ODM2MTU5NGM4N2RiMjg5ZWM2ZmRlMGIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIyLTA0LTI4ICBNYW51ZWwgUmVn
byBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIEFSSUEgcmVmbGVjdGlv
biBmb3IgRWxlbWVudCBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzk4NTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBTbWFsbCBmaXggb24gdGhlIHRlc3QgYW5kIHVwZGF0ZSB0ZXN0IHJl
c3VsdHMgd2l0aCB0aGUgbmV3IFBBU1MuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL25vZGVzL2FyaWEtZWxlbWVudC1yZWZsZWN0aW9uLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVm
bGVjdGlvbi50ZW50YXRpdmUuaHRtbDoKKwogMjAyMi0wNC0yNiAgT3Jpb2wgQnJ1ZmF1ICA8b2Jy
dWZhdUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtjc3MtY2FzY2FkZV0gRml4IGNhc2NhZGUgcm9s
bGJhY2sgZm9yIGRlZmVycmVkIHByb3BlcnRpZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvQVJJQS1yZWZsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Fj
Y2Vzc2liaWxpdHkvQVJJQS1yZWZsZWN0aW9uLWV4cGVjdGVkLnR4dAppbmRleCA5NTA0YjY5YmNi
YWNkMjQxYjk1ODU0MzAyZWY1NDc0ZTM1MmE0OThlLi5lM2ZlZWMzMGM0YzdhOWVhZmFkMWE5NGRl
ZGVlYzYzZjg4YmI4MGU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L0FS
SUEtcmVmbGVjdGlvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0
eS9BUklBLXJlZmxlY3Rpb24tZXhwZWN0ZWQudHh0CkBAIC03LDMxNyArNywyOTIgQEAgT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUKIFRlc3Qgcm9sZSA8IC0gPiByb2xlCiBQQVNTIGVsZW1lbnRbY3Vy
cmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbInJvbGUiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRB
dHRyaWJ1dGUoInJvbGUiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0
eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRh
dGFQcm9wZXJ0eQorCitUZXN0IGFyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCA8IC0gPiBhcmlh
LWFjdGl2ZWRlc2NlbmRhbnQKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwK
K1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAorUEFT
UyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRl
CitlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1hY3RpdmVkZXNjZW5kYW50Iiwgb3RoZXJEYXRh
KTsKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAK
IFRlc3QgYXJpYUF0b21pYyA8IC0gPiBhcmlhLWF0b21pYwogUEFTUyBlbGVtZW50W2N1cnJlbnRQ
cm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmli
dXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhQXRvbWljIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50
LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0
QXR0cmlidXRlKCJhcmlhLWF0b21pYyIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVu
dFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlz
IG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUF1dG9Db21wbGV0ZSA8IC0gPiBhcmlhLWF1
dG9jb21wbGV0ZQogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJh
cmlhQXV0b0NvbXBsZXRlIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWF1
dG9jb21wbGV0ZSIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVBy
b3BlcnR5CiAKIFRlc3QgYXJpYUJ1c3kgPCAtID4gYXJpYS1idXN5CiBQQVNTIGVsZW1lbnRbY3Vy
cmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFCdXN5Il0gPSBkYXRhOwotUEFTUyBlbGVt
ZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQu
c2V0QXR0cmlidXRlKCJhcmlhLWJ1c3kiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJl
bnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFDaGVja2VkIDwgLSA+IGFyaWEtY2hlY2tl
ZAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhQ2hlY2tl
ZCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkg
aXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBk
YXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1jaGVja2VkIiwgb3RoZXJE
YXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBl
bGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlh
Q29sQ291bnQgPCAtID4gYXJpYS1jb2xjb3VudAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0
eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBudWxsCi1lbGVtZW50WyJhcmlhQ29sQ291bnQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRy
aWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRy
aWJ1dGUoImFyaWEtY29sY291bnQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQ
cm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBv
dGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFDb2xJbmRleCA8IC0gPiBhcmlhLWNvbGluZGV4
CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFDb2xJbmRl
eCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkg
aXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBk
YXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1jb2xpbmRleCIsIG90aGVy
RGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJp
YUNvbFNwYW4gPCAtID4gYXJpYS1jb2xzcGFuCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IG51bGwKLWVsZW1lbnRbImFyaWFDb2xTcGFuIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmli
dXRlKCJhcmlhLWNvbHNwYW4iLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9w
ZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhl
ckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFDdXJyZW50IDwgLSA+IGFyaWEtY3VycmVudAogUEFT
UyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhQ3VycmVudCJdID0g
ZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0
YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0
cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1jdXJyZW50Iiwgb3RoZXJEYXRhKTsK
LVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhRGlzYWJs
ZWQgPCAtID4gYXJpYS1kaXNhYmxlZAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMg
bnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxs
Ci1lbGVtZW50WyJhcmlhRGlzYWJsZWQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUo
Y3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUo
ImFyaWEtZGlzYWJsZWQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0
eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRh
dGFQcm9wZXJ0eQorCitUZXN0IGFyaWFFcnJvck1lc3NhZ2VFbGVtZW50IDwgLSA+IGFyaWEtZXJy
b3JtZXNzYWdlCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCitQQVNTIGVs
ZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKK1BBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQorZWxlbWVu
dC5zZXRBdHRyaWJ1dGUoImFyaWEtZXJyb3JtZXNzYWdlIiwgb3RoZXJEYXRhKTsKK1BBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUV4
cGFuZGVkIDwgLSA+IGFyaWEtZXhwYW5kZWQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHld
IGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMg
bnVsbAotZWxlbWVudFsiYXJpYUV4cGFuZGVkIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmli
dXRlKCJhcmlhLWV4cGFuZGVkIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJv
cGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3Ro
ZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhSGFzUG9wdXAgPCAtID4gYXJpYS1oYXNwb3B1cAog
UEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhSGFzUG9wdXAi
XSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0
YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtaGFzcG9wdXAiLCBvdGhlckRh
dGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVs
ZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFI
aWRkZW4gPCAtID4gYXJpYS1oaWRkZW4KIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlz
IG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVs
bAotZWxlbWVudFsiYXJpYUhpZGRlbiJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1
dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShj
dXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgi
YXJpYS1oaWRkZW4iLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0g
aXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQ
cm9wZXJ0eQogCiBUZXN0IGFyaWFJbnZhbGlkIDwgLSA+IGFyaWEtaW52YWxpZAogUEFTUyBlbGVt
ZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShj
dXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhSW52YWxpZCJdID0gZGF0YTsK
LVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFT
UyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRl
CiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1pbnZhbGlkIiwgb3RoZXJEYXRhKTsKLVBBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJl
bnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhS2V5U2hvcnRjdXRz
IDwgLSA+IGFyaWEta2V5c2hvcnRjdXRzCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51
bGwKLWVsZW1lbnRbImFyaWFLZXlTaG9ydGN1dHMiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRy
aWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRy
aWJ1dGUoImFyaWEta2V5c2hvcnRjdXRzIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0g
aXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhTGFiZWwgPCAtID4gYXJpYS1sYWJlbAog
UEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhTGFiZWwiXSA9
IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRh
dGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0
dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCBvdGhlckRhdGEpOwot
UEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRb
Y3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFMZXZlbCA8
IC0gPiBhcmlhLWxldmVsCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQ
QVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1l
bnRbImFyaWFMZXZlbCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVu
dEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0
cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1sZXZl
bCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRh
dGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAK
IFRlc3QgYXJpYUxpdmUgPCAtID4gYXJpYS1saXZlCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUp
IGlzIG51bGwKLWVsZW1lbnRbImFyaWFMaXZlIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmli
dXRlKCJhcmlhLWxpdmUiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0
eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRh
dGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFNb2RhbCA8IC0gPiBhcmlhLW1vZGFsCiBQQVNTIGVsZW1l
bnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1
cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFNb2RhbCJdID0gZGF0YTsKLVBB
U1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBl
bGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1tb2RhbCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1l
bnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJv
cGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYU11bHRpTGluZSA8IC0gPiBh
cmlhLW11bHRpbGluZQogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFT
UyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50
WyJhcmlhTXVsdGlMaW5lIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLW11
bHRpbGluZSIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBv
dGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3Bl
cnR5CiAKIFRlc3QgYXJpYU11bHRpU2VsZWN0YWJsZSA8IC0gPiBhcmlhLW11bHRpc2VsZWN0YWJs
ZQogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhTXVsdGlT
ZWxlY3RhYmxlIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0
cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1
dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLW11bHRpc2Vs
ZWN0YWJsZSIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBv
dGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3Bl
cnR5CiAKIFRlc3QgYXJpYU9yaWVudGF0aW9uIDwgLSA+IGFyaWEtb3JpZW50YXRpb24KIFBBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1
dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYU9yaWVudGF0aW9uIl0g
PSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBk
YXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFB
dHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLW9yaWVudGF0aW9uIiwgb3RoZXJE
YXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBl
bGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlh
UGxhY2Vob2xkZXIgPCAtID4gYXJpYS1wbGFjZWhvbGRlcgogUEFTUyBlbGVtZW50W2N1cnJlbnRQ
cm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmli
dXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhUGxhY2Vob2xkZXIiXSA9IGRhdGE7Ci1QQVNTIGVs
ZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVu
dC5zZXRBdHRyaWJ1dGUoImFyaWEtcGxhY2Vob2xkZXIiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVt
ZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFQb3NJblNldCA8IC0gPiBh
cmlhLXBvc2luc2V0CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRb
ImFyaWFQb3NJblNldCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVu
dEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0
cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1wb3Np
bnNldCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhl
ckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5
CiAKIFRlc3QgYXJpYVByZXNzZWQgPCAtID4gYXJpYS1wcmVzc2VkCiBQQVNTIGVsZW1lbnRbY3Vy
cmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFQcmVzc2VkIl0gPSBkYXRhOwotUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1l
bnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1l
bnQuc2V0QXR0cmlidXRlKCJhcmlhLXByZXNzZWQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFSZWFkT25seSA8IC0gPiBhcmlh
LXJlYWRvbmx5CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVs
ZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFy
aWFSZWFkT25seSJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmli
dXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1yZWFkb25s
eSIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRh
dGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAK
IFRlc3QgYXJpYVJlbGV2YW50IDwgLSA+IGFyaWEtcmVsZXZhbnQKIFBBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVJlbGV2YW50Il0gPSBkYXRhOwotUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1l
bnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1l
bnQuc2V0QXR0cmlidXRlKCJhcmlhLXJlbGV2YW50Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9w
ZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhUmVxdWlyZWQgPCAtID4gYXJp
YS1yZXF1aXJlZAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJh
cmlhUmVxdWlyZWQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJp
YnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtcmVxdWly
ZWQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJE
YXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQog
CiBUZXN0IGFyaWFSb2xlRGVzY3JpcHRpb24gPCAtID4gYXJpYS1yb2xlZGVzY3JpcHRpb24KIFBB
U1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRy
aWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVJvbGVEZXNjcmlw
dGlvbiJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1yb2xlZGVzY3JpcHRp
b24iLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJE
YXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQog
CiBUZXN0IGFyaWFSb3dDb3VudCA8IC0gPiBhcmlhLXJvd2NvdW50CiBQQVNTIGVsZW1lbnRbY3Vy
cmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFSb3dDb3VudCJdID0gZGF0YTsKLVBBU1Mg
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVt
ZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVt
ZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1yb3djb3VudCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1l
bnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJv
cGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVJvd0luZGV4IDwgLSA+IGFy
aWEtcm93aW5kZXgKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1Mg
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsi
YXJpYVJvd0luZGV4Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRy
aWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXJvd2lu
ZGV4Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVy
RGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkK
IAogVGVzdCBhcmlhUm93U3BhbiA8IC0gPiBhcmlhLXJvd3NwYW4KIFBBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVJvd1NwYW4iXSA9IGRhdGE7Ci1QQVNTIGVs
ZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVu
dC5zZXRBdHRyaWJ1dGUoImFyaWEtcm93c3BhbiIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRb
Y3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVy
dHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVNlbGVjdGVkIDwgLSA+IGFyaWEt
c2VsZWN0ZWQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxl
bWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJp
YVNlbGVjdGVkIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0
cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1
dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXNlbGVjdGVk
Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0
YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAog
VGVzdCBhcmlhU2V0U2l6ZSA8IC0gPiBhcmlhLXNldHNpemUKIFBBU1MgZWxlbWVudFtjdXJyZW50
UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJp
YnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVNldFNpemUiXSA9IGRhdGE7Ci1QQVNTIGVsZW1l
bnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5n
ZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5z
ZXRBdHRyaWJ1dGUoImFyaWEtc2V0c2l6ZSIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3Vy
cmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHld
IGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVNvcnQgPCAtID4gYXJpYS1zb3J0CiBQ
QVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0
cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFTb3J0Il0gPSBk
YXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRh
CitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRy
aWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXNvcnQiLCBvdGhlckRhdGEpOwotUEFT
UyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3Vy
cmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFWYWx1ZU1heCA8
IC0gPiBhcmlhLXZhbHVlbWF4CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxs
CiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVs
ZW1lbnRbImFyaWFWYWx1ZU1heCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUo
Y3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJp
YS12YWx1ZW1heCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVBy
b3BlcnR5CiAKIFRlc3QgYXJpYVZhbHVlTWluIDwgLSA+IGFyaWEtdmFsdWVtaW4KIFBBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUo
Y3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVZhbHVlTWluIl0gPSBkYXRh
OwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQ
QVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1
dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXZhbHVlbWluIiwgb3RoZXJEYXRhKTsKLVBB
U1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhVmFsdWVOb3cg
PCAtID4gYXJpYS12YWx1ZW5vdwogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVs
bAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1l
bGVtZW50WyJhcmlhVmFsdWVOb3ciXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRl
KGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFy
aWEtdmFsdWVub3ciLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0g
aXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQ
cm9wZXJ0eQogCiBUZXN0IGFyaWFWYWx1ZVRleHQgPCAtID4gYXJpYS12YWx1ZXRleHQKIFBBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1
dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVZhbHVlVGV4dCJdID0g
ZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0
YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0
cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS12YWx1ZXRleHQiLCBvdGhlckRhdGEp
OwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1l
bnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiAKLVBBU1MgY291bnQg
aXMgMzgKK1BBU1MgY291bnQgaXMgNDAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
IAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9B
UklBLXJlZmxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvQVJJQS1yZWZs
ZWN0aW9uLmh0bWwKaW5kZXggMzIzYjE4OWM0ZTNlNDAxYTRmZmQ1NmQ0Y2ZlZTQ2NDcyOWFmZjkx
OC4uOTNhOWI3YTE3ZjlhNDRlNGNkMTFiZWNhOTY5ZjBjZTU3NzY5Y2VlZSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rpb24uaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L0FSSUEtcmVmbGVjdGlvbi5odG1sCkBAIC01LDcgKzUsOCBA
QAogPGRpdiBpZD0iY29udGVudCI+CiAKIDxkaXYgaWQ9InRlc3QiIGRhdGE9InNvbWUgZGF0YSI+
Ci0KKyAgPGRpdiBpZD0iZmlyc3RDaGlsZCI+PC9kaXY+CisgIDxkaXYgaWQ9InNlY29uZENoaWxk
Ij48L2Rpdj4KIDwvZGl2PgogCiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KQEAgLTIxLDIyICsy
Miw0MCBAQAogICAgIHZhciBjdXJyZW50UHJvcGVydHk7CiAgICAgdmFyIGN1cnJlbnRBdHRyaWJ1
dGU7CiAKKyAgICBmdW5jdGlvbiBpc0VsZW1lbnRSZWZsZWN0aW9uUHJvcGVydHkocHJvcGVydHkp
IHsKKyAgICAgICAgc3dpdGNoIChwcm9wZXJ0eSkgeworICAgICAgICAgICAgY2FzZSAiYXJpYUFj
dGl2ZURlc2NlbmRhbnRFbGVtZW50IjoKKyAgICAgICAgICAgIGNhc2UgImFyaWFFcnJvck1lc3Nh
Z2VFbGVtZW50IjoKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgZnVuY3Rpb24gY29udmVydFByb3BlcnR5
VG9BdHRyaWJ1dGUocHJvcGVydHkpIHsKKyAgICAgICAgaWYgKGlzRWxlbWVudFJlZmxlY3Rpb25Q
cm9wZXJ0eShwcm9wZXJ0eSkpCisgICAgICAgICAgcHJvcGVydHkgPSBwcm9wZXJ0eS5yZXBsYWNl
KCJFbGVtZW50IiwgIiIpOworICAgICAgICByZXR1cm4gcHJvcGVydHkucmVwbGFjZSgiYXJpYSIs
ICJhcmlhLSIpLnRvTG93ZXJDYXNlKCk7CisgICAgfQorCiAgICAgZnVuY3Rpb24gdGVzdEVsZW1l
bnQoKSB7Ci0gICAgICAgIGN1cnJlbnRBdHRyaWJ1dGUgPSBjdXJyZW50UHJvcGVydHkucmVwbGFj
ZSgiYXJpYSIsICJhcmlhLSIpLnRvTG93ZXJDYXNlKCk7Ci0gICAgICAgIAorICAgICAgICBjdXJy
ZW50QXR0cmlidXRlID0gY29udmVydFByb3BlcnR5VG9BdHRyaWJ1dGUoY3VycmVudFByb3BlcnR5
KTsKKwogICAgICAgICBkZWJ1ZygiXG5UZXN0ICIgKyBjdXJyZW50UHJvcGVydHkgKyAiIDwgLSA+
ICIgKyBjdXJyZW50QXR0cmlidXRlKTsKICAgICAgICAgc2hvdWxkQmVOdWxsKCJlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0iKTsKICAgICAgICAgc2hvdWxkQmVOdWxsKCJlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSIpOwotICAgICAgICAKKwogICAgICAgICAvLyBTZXQgdGhl
IHByb3BlcnR5IHZhbHVlCi0gICAgICAgIGRlYnVnKCJlbGVtZW50W1wiIiArIGN1cnJlbnRQcm9w
ZXJ0eSArICJcIl0gPSBkYXRhOyIpOwotICAgICAgICBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0g
PSBkYXRhOwotICAgICAgICBzaG91bGRCZSgiZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkiLCAiZGF0YSIpOworICAgICAgICBkYXRhUHJvcGVydHkgPSBpc0VsZW1lbnRSZWZs
ZWN0aW9uUHJvcGVydHkoY3VycmVudFByb3BlcnR5KSA/IGZpcnN0Q2hpbGQgOiBkYXRhOworICAg
ICAgICBkYXRhQXR0cmlidXRlID0gaXNFbGVtZW50UmVmbGVjdGlvblByb3BlcnR5KGN1cnJlbnRQ
cm9wZXJ0eSkgPyBmaXJzdENoaWxkLmlkIDogZGF0YTsKKyAgICAgICAgZWxlbWVudFtjdXJyZW50
UHJvcGVydHldID0gZGF0YVByb3BlcnR5OworICAgICAgICBzaG91bGRCZSgiZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkiLCAiZGF0YUF0dHJpYnV0ZSIpOwogCiAgICAgICAg
IC8vIFNldCB0aGUgYXR0cmlidXRlIHZhbHVlCisgICAgICAgIG90aGVyRGF0YVByb3BlcnR5ID0g
aXNFbGVtZW50UmVmbGVjdGlvblByb3BlcnR5KGN1cnJlbnRQcm9wZXJ0eSkgPyBzZWNvbmRDaGls
ZCA6IG90aGVyRGF0YTsKKyAgICAgICAgb3RoZXJEYXRhQXR0cmlidXRlID0gaXNFbGVtZW50UmVm
bGVjdGlvblByb3BlcnR5KGN1cnJlbnRQcm9wZXJ0eSkgPyBzZWNvbmRDaGlsZC5pZCA6IG90aGVy
RGF0YTsKICAgICAgICAgZGVidWcoImVsZW1lbnQuc2V0QXR0cmlidXRlKFwiIiArIGN1cnJlbnRB
dHRyaWJ1dGUgKyAiXCIsIG90aGVyRGF0YSk7Iik7Ci0gICAgICAgIGVsZW1lbnQuc2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUsIG90aGVyRGF0YSk7Ci0gICAgICAgIHNob3VsZEJlKCJlbGVt
ZW50W2N1cnJlbnRQcm9wZXJ0eV0iLCAib3RoZXJEYXRhIik7CisgICAgICAgIGVsZW1lbnQuc2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUsIG90aGVyRGF0YUF0dHJpYnV0ZSk7CisgICAgICAg
IHNob3VsZEJlKCJlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0iLCAib3RoZXJEYXRhUHJvcGVydHki
KTsKICAgICB9CiAKICAgICBmdW5jdGlvbiB0ZXN0Um9sZSgpIHsKQEAgLTU5LDcgKzc4LDcgQEAK
ICAgICAgICAgfQogCiAgICAgICAgIGRlYnVnKCJcbiIpOwotICAgICAgICBzaG91bGRCZSgiY291
bnQiLCAiMzgiKTsKKyAgICAgICAgc2hvdWxkQmUoImNvdW50IiwgIjQwIik7CiAKICAgICB9IGVs
c2UgewogICAgICAgICB0ZXN0RmFpbGVkKCJDb3VsZCBub3QgbG9hZCBhY2Nlc3NpYmlsaXR5IGNv
bnRyb2xsZXIiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZG9tL25vZGVzL2FyaWEtZWxlbWVudC1yZWZsZWN0aW9uLnRlbnRhdGl2ZS1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50YXRpdmUtZXhwZWN0ZWQudHh0
CmluZGV4IGRjYTMxOGIwOTg1M2FiYmE5N2Q1ZGY3NWJmMzQzYmMxNTM1ODdhYzAuLjNjNWQwMjY4
YmFmOWU2MmM4MGIxMDkyMTYwNjZhM2UxZDMwOWJiMDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL2FyaWEtZWxlbWVudC1y
ZWZsZWN0aW9uLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rp
b24udGVudGF0aXZlLWV4cGVjdGVkLnR4dApAQCAtOSwxMCArOSw3IEBAIEZpcnN0IGRlc2NyaXB0
aW9uLgogU2Vjb25kIGRlc2NyaXB0aW9uLgogSXRlbSAxCiBJdGVtIDIKLUl0ZW0gMQotSXRlbSAy
CiBIZWxsbyB3b3JsZCEKLUkgYW0gYW4gYXBwbGUKIEkgYW0gYSBwZWFyCiBJIGFtIGEgYmFuYW5h
CiBCaWxsaW5nCkBAIC00NywxNyArNDQsMTcgQEAgV29uZGVyZnVsCiBGYW50YXN0aWMKIAogCi1G
QUlMIGFyaWEtYWN0aXZlZGVzY2VuZGFudCBlbGVtZW50IHJlZmxlY3Rpb24gYXNzZXJ0X2VxdWFs
czogaW52YWxpZCBJRCBmb3IgcmVsYXRpb25zaGlwIHJldHVybnMgbnVsbCBleHBlY3RlZCAob2Jq
ZWN0KSBudWxsIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlMIElmIHRoZSBjb250
ZW50IGF0dHJpYnV0ZSBpcyBzZXQgZGlyZWN0bHksIHRoZSBJREwgYXR0cmlidXRlIGdldHRlciBh
bHdheXMgcmV0dXJucyB0aGUgZmlyc3QgZWxlbWVudCB3aG9zZSBJRCBtYXRjaGVzIHRoZSBjb250
ZW50IGF0dHJpYnV0ZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKG9iamVjdCkgRWxlbWVudCBu
b2RlIDxkaXYgcm9sZT0ib3B0aW9uIiBpZD0ib3B0aW9uMSI+SXRlbSAxPC9kaXY+IGJ1dCBnb3Qg
KHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlMIFNldHRpbmcgdGhlIElETCBhdHRyaWJ1dGUgdG8g
YW4gZWxlbWVudCB3aGljaCBpcyBub3QgdGhlIGZpcnN0IGVsZW1lbnQgaW4gRE9NIG9yZGVyIHdp
dGggaXRzIElEIGNhdXNlcyB0aGUgY29udGVudCBhdHRyaWJ1dGUgdG8gYmUgYW4gZW1wdHkgc3Ry
aW5nIGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBTZXR0aW5nIGFu
IGVsZW1lbnQgcmVmZXJlbmNlIHRoYXQgY3Jvc3NlcyBpbnRvIGEgc2hhZG93IHRyZWUgaXMgZGlz
YWxsb3dlZCwgYnV0IHNldHRpbmcgb25lIHRoYXQgaXMgaW4gYSBzaGFkb3cgaW5jbHVzaXZlIGFu
Y2VzdG9yIGlzIGFsbG93ZWQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChvYmplY3QpIG51bGwg
YnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgYXJpYS1lcnJvcm1lc3NhZ2UgYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHN0cmluZykgImVycm9yTWVzc2FnZSIgYnV0IGdvdCAob2Jq
ZWN0KSBudWxsCitQQVNTIGFyaWEtYWN0aXZlZGVzY2VuZGFudCBlbGVtZW50IHJlZmxlY3Rpb24K
K1BBU1MgSWYgdGhlIGNvbnRlbnQgYXR0cmlidXRlIGlzIHNldCBkaXJlY3RseSwgdGhlIElETCBh
dHRyaWJ1dGUgZ2V0dGVyIGFsd2F5cyByZXR1cm5zIHRoZSBmaXJzdCBlbGVtZW50IHdob3NlIElE
IG1hdGNoZXMgdGhlIGNvbnRlbnQgYXR0cmlidXRlLgorUEFTUyBTZXR0aW5nIHRoZSBJREwgYXR0
cmlidXRlIHRvIGFuIGVsZW1lbnQgd2hpY2ggaXMgbm90IHRoZSBmaXJzdCBlbGVtZW50IGluIERP
TSBvcmRlciB3aXRoIGl0cyBJRCBjYXVzZXMgdGhlIGNvbnRlbnQgYXR0cmlidXRlIHRvIGJlIGFu
IGVtcHR5IHN0cmluZworUEFTUyBTZXR0aW5nIGFuIGVsZW1lbnQgcmVmZXJlbmNlIHRoYXQgY3Jv
c3NlcyBpbnRvIGEgc2hhZG93IHRyZWUgaXMgZGlzYWxsb3dlZCwgYnV0IHNldHRpbmcgb25lIHRo
YXQgaXMgaW4gYSBzaGFkb3cgaW5jbHVzaXZlIGFuY2VzdG9yIGlzIGFsbG93ZWQuCitQQVNTIGFy
aWEtZXJyb3JtZXNzYWdlCiBGQUlMIGFyaWEtZGV0YWlscyBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2
YWx1ZSBpcyB1bmRlZmluZWQsIGV4cGVjdGVkIGFycmF5Ci1GQUlMIERlbGV0aW5nIGEgcmVmbGVj
dGVkIGVsZW1lbnQgc2hvdWxkIHJldHVybiBudWxsIGZvciB0aGUgSURMIGF0dHJpYnV0ZSBhbmQg
Y2F1c2UgdGhlIGNvbnRlbnQgYXR0cmlidXRlIHRvIGJlY29tZSBzdGFsZS4gYXNzZXJ0X2VxdWFs
czogZXhwZWN0ZWQgKG9iamVjdCkgRWxlbWVudCBub2RlIDxkaXYgcm9sZT0ib3B0aW9uIiBpZD0i
Y29udGVudEF0dHJFbGVtZW50Ij5JdGVtIDE8L2Rpdj4gYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRl
ZmluZWQKLUZBSUwgQ2hhbmdpbmcgdGhlIElEIG9mIGFuIGVsZW1lbnQgY2F1c2VzIHRoZSBjb250
ZW50IGF0dHJpYnV0ZSB0byBiZWNvbWUgb3V0IG9mIHN5bmMuIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkIChvYmplY3QpIEVsZW1lbnQgbm9kZSA8ZGl2IHJvbGU9Im9wdGlvbiIgaWQ9ImNoYW5naW5n
SWRFbGVtZW50Ij5JdGVtIDE8L2Rpdj4gYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZB
SUwgUmVwYXJlbnRpbmcgYW4gZWxlbWVudCBpbnRvIGEgZGVzY2VuZGFudCBzaGFkb3cgc2NvcGUg
aGlkZXMgdGhlIGVsZW1lbnQgcmVmZXJlbmNlLiBhc3NlcnRfZXF1YWxzOiBudWxsIGJlZm9yZSBl
eHBlY3RlZCAob2JqZWN0KSBudWxsIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlM
IFJlcGFyZW50aW5nIHJlZmVyZW5jZWQgZWxlbWVudCBjYW5ub3QgY2F1c2UgcmV0YXJnZXRpbmcg
b2YgcmVmZXJlbmNlLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAiYXBwbGUiIGJ1
dCBnb3QgKG9iamVjdCkgbnVsbAotRkFJTCBFbGVtZW50IHJlZmVyZW5jZSBzZXQgaW4gaW52YWxp
ZCBzY29wZSByZW1haW5zIGludGFjdCB0aHJvdWdob3V0IG1vdmUgdG8gdmFsaWQgc2NvcGUuIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBFbGVtZW50IG5vZGUgPGRpdiBpZD0i
dG9hc3QiPjwvZGl2PgorUEFTUyBEZWxldGluZyBhIHJlZmxlY3RlZCBlbGVtZW50IHNob3VsZCBy
ZXR1cm4gbnVsbCBmb3IgdGhlIElETCBhdHRyaWJ1dGUgYW5kIGNhdXNlIHRoZSBjb250ZW50IGF0
dHJpYnV0ZSB0byBiZWNvbWUgc3RhbGUuCitQQVNTIENoYW5naW5nIHRoZSBJRCBvZiBhbiBlbGVt
ZW50IGNhdXNlcyB0aGUgY29udGVudCBhdHRyaWJ1dGUgdG8gYmVjb21lIG91dCBvZiBzeW5jLgor
UEFTUyBSZXBhcmVudGluZyBhbiBlbGVtZW50IGludG8gYSBkZXNjZW5kYW50IHNoYWRvdyBzY29w
ZSBoaWRlcyB0aGUgZWxlbWVudCByZWZlcmVuY2UuCitQQVNTIFJlcGFyZW50aW5nIHJlZmVyZW5j
ZWQgZWxlbWVudCBjYW5ub3QgY2F1c2UgcmV0YXJnZXRpbmcgb2YgcmVmZXJlbmNlLgorUEFTUyBF
bGVtZW50IHJlZmVyZW5jZSBzZXQgaW4gaW52YWxpZCBzY29wZSByZW1haW5zIGludGFjdCB0aHJv
dWdob3V0IG1vdmUgdG8gdmFsaWQgc2NvcGUuCiBGQUlMIGFyaWEtbGFiZWxsZWRieS4gYXNzZXJ0
X2FycmF5X2VxdWFsczogcGFyc2VkIGNvbnRlbnQgYXR0cmlidXRlIHNldHMgZWxlbWVudCByZWZl
cmVuY2VzLiB2YWx1ZSBpcyB1bmRlZmluZWQsIGV4cGVjdGVkIGFycmF5CiBGQUlMIGFyaWEtY29u
dHJvbHMuIGFzc2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzIHVuZGVmaW5lZCwgZXhwZWN0ZWQg
YXJyYXkKIEZBSUwgYXJpYS1kZXNjcmliZWRieS4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUg
aXMgdW5kZWZpbmVkLCBleHBlY3RlZCBhcnJheQpAQCAtNjcsNiArNjQsNiBAQCBGQUlMIHNoYWRv
dyBET00gYmVoYXZpb3VyIGZvciBGcm96ZW5BcnJheSBlbGVtZW50IHJlZmxlY3Rpb24uIGFzc2Vy
dF9hcnJheV9lcXVhbAogRkFJTCBNb3ZpbmcgZXhwbGljaXRseSBzZXQgZWxlbWVudHMgYWNyb3Nz
IHNoYWRvdyBET00gYm91bmRhcmllcy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHN0cmluZykg
ImJ1dHRvbkRlc2NyaXB0aW9uMSBidXR0b25EZXNjcmlwdGlvbjIiIGJ1dCBnb3QgKG9iamVjdCkg
bnVsbAogRkFJTCBNb3ZpbmcgZXhwbGljaXRseSBzZXQgZWxlbWVudHMgYXJvdW5kIHdpdGhpbiB0
aGUgc2FtZSBzY29wZSwgYW5kIHJlbW92aW5nIGZyb20gdGhlIERPTS4gYXNzZXJ0X2FycmF5X2Vx
dWFsczogYXJpYS1sYWJlbGVkIGJ5IGlzIHN1cHBvcnRlZCBieSBJREwgZ2V0dGVyLiB2YWx1ZSBp
cyB1bmRlZmluZWQsIGV4cGVjdGVkIGFycmF5CiBQQVNTIFJlcGFyZW50aW5nLgotRkFJTCBBdHRh
Y2hpbmcgZWxlbWVudCByZWZlcmVuY2UgYmVmb3JlIGl0J3MgaW5zZXJ0ZWQgaW50byB0aGUgRE9N
LiBhc3NlcnRfZXF1YWxzOiBSZWZlcmVuY2VkIGVsZW1lbnQgbm90IGluc2VydGVkIGludG8gZG9j
dW1lbnQsIHNvIGlzIGluIGFuIGludmFsaWQgc2NvcGUuIGV4cGVjdGVkIG51bGwgYnV0IGdvdCBF
bGVtZW50IG5vZGUgPHNwYW4gaWQ9InRvU3BhbiI+PC9zcGFuPgotRkFJTCBDcm9zcy1kb2N1bWVu
dCByZWZlcmVuY2VzIGFuZCBtb3Zlcy4gYXNzZXJ0X2VxdWFsczogQ3Jvc3MtZG9jdW1lbnQgaXMg
YW4gaW52YWxpZCBzY29wZSwgc28gcmVmZXJlbmNlIHdpbGwgbm90IGJlIHZpc2libGUuIGV4cGVj
dGVkIG51bGwgYnV0IGdvdCBFbGVtZW50IG5vZGUgPHNwYW4+PC9zcGFuPgorUEFTUyBBdHRhY2hp
bmcgZWxlbWVudCByZWZlcmVuY2UgYmVmb3JlIGl0J3MgaW5zZXJ0ZWQgaW50byB0aGUgRE9NLgor
UEFTUyBDcm9zcy1kb2N1bWVudCByZWZlcmVuY2VzIGFuZCBtb3Zlcy4KIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJp
YS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlv
bi50ZW50YXRpdmUuaHRtbAppbmRleCA3NzZmZmYzMTQzMjJiOTAwNGUxZTY3ODNjNjI2YzAzNTZj
YThmMGE3Li42MWQwNDdkYWYyODFmOTcyMTRmMzRlOTI3Y2U3NjIyMDQ4MDU2YzIzIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rl
cy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50YXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQt
cmVmbGVjdGlvbi50ZW50YXRpdmUuaHRtbApAQCAtMTY0LDYgKzE2NCw3IEBACiAgIDxzY3JpcHQ+
CiAKICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgY29uc3QgY29udGVudEF0dHJFbGVtZW50ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRlbnRBdHRyRWxlbWVudCIpOwogICAgIGNvbnN0
IGlkbEF0dHJFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkbEF0dHJFbGVtZW50
Iik7CiAKICAgICBhc3NlcnRfZXF1YWxzKGRlbGV0aW9uUGFyZW50LmdldEF0dHJpYnV0ZSgiYXJp
YS1hY3RpdmVkZXNjZW5kYW50IiksICJjb250ZW50QXR0ckVsZW1lbnQiKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458580</attachid>
            <date>2022-04-29 04:35:55 -0700</date>
            <delta_ts>2022-05-02 05:54:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239852-20220429133553.patch</filename>
            <type>text/plain</type>
            <size>49996</size>
            <attacher name="Manuel Rego Casasnovas">rego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNDk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGRhMjFhYjkzZTYyMDczYWRhNmQyNjEz
YjZhMmE3NmY4NDRmYzEzMzguLmIwZWJkZWExMDE4YTk3ZGVlYmQ2MjIyMGVhY2QyNmVmMzkyZTA0
ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjItMDQtMjggIE1hbnVlbCBSZWdvIENhc2Fzbm92
YXMgIDxyZWdvQGlnYWxpYS5jb20+CisKKyAgICAgICAgQVJJQSByZWZsZWN0aW9uIGZvciBFbGVt
ZW50IGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzOTg1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBuZXcgcnVudGltZSBmbGFnIEFyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVy
ZW5jZXNFbmFibGVkLgorCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJl
bmNlc0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIyLTA0LTI2ICBNYW51ZWwgUmVnbyBDYXNhc25v
dmFzICA8cmVnb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFJlbW92ZSBBcmlhUmVmbGVjdGlvbkVu
YWJsZWQgcnVudGltZSBmbGFnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M0ZjhhZDU3NDljYzliNTAyM2E4ZmVj
ZTAyYzc3MGIxMTA4YTBlYi4uNGM4ZGIzMzg3OTU0OTFmYzg5OWIyMTYyMmJiZDY2ZWNiZTM5MzA3
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU4IEBACisyMDIyLTA0LTI4ICBNYW51ZWwgUmVnbyBD
YXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIEFSSUEgcmVmbGVjdGlvbiBm
b3IgRWxlbWVudCBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzk4NTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJbXBsZW1lbnQgQVJJQSByZWZsZWN0aW9uIGZvciBhdHRyaWJ1dGVzIHRo
YXQgcmVmZXIgdG8gYSBzaW5nbGUgRWxlbWVudDoKKyAgICAgICAgYXJpYS1hY3RpdmVkZXNjZW5k
YW50ICYgYXJpYS1lcnJvcm1lc3NhZ2UuCisgICAgICAgIEZvciB0aGUgcHJvcGVydGllcyBuYW1l
cyB0aGlzIHBhdGNoIHVzZXMgIkVsZW1lbnQiIHN1ZmZpeDoKKyAgICAgICAgYXJpYUFjdGl2ZURl
c2NlbmRhbnRFbGVtZW50ICYgYXJpYUVycm9yTWVzc2FnZUVsZW1lbnQ7CisgICAgICAgIHRoaXMg
bWF0Y2hlcyBDaHJvbWl1bSBpbXBsZW1lbnRhdGlvbiBhbmQgQU9NIGV4cGxhaW5lciwgYnV0IG5v
dCBBT00gc3BlYzoKKyAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL3czYy9hcmlhL2lzc3Vlcy8x
NzMyCisKKyAgICAgICAgVGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBkb25lIGZvbGxvd2luZyB0aGUg
cHJvcHNlZCBzcGVjIHRleHQgZGVmaW5lZCBhdDoKKyAgICAgICAgaHR0cHM6Ly9naXRodWIuY29t
L3doYXR3Zy9odG1sL3B1bGwvMzkxNworCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BcmlhQXR0
cmlidXRlcy5pZGw6IEFkZCBhcmlhQWN0aXZlRGVzY2VuZGFudEVsZW1lbnQgJgorICAgICAgICBh
cmlhRXJyb3JNZXNzYWdlRWxlbWVudC4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL0NvZGVH
ZW5lcmF0b3IucG06CisgICAgICAgIChHZXR0ZXJFeHByZXNzaW9uKTogQWRkIGZ1bmN0aW9uIGZv
ciBFbGVtZW50IGF0dHJpYnV0ZXMuCisgICAgICAgIChTZXR0ZXJFeHByZXNzaW9uKTogRGl0dG8u
CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHA6IEFkZCB0
ZXN0cyBmb3IgZWxlbWVudAorICAgICAgICBhdHRyaWJ1dGUgcmVmbGVjdGlvbi4KKyAgICAgICAg
KFdlYkNvcmU6OkpTVGVzdE9iakRPTUNvbnN0cnVjdG9yOjpjb25zdHJ1Y3QpOgorICAgICAgICAo
V2ViQ29yZTo6anNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRyR2V0dGVyKToKKyAgICAgICAg
KFdlYkNvcmU6OkpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUik6CisgICAgICAgIChXZWJDb3JlOjpz
ZXRKU1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0dHJTZXR0ZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKToKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVGVzdE9iai5pZGw6IEFkZCByZWZsZWN0ZWRFbGVtZW50QXR0cgorICAgICAgICBhdHRy
aWJ1dGUuCisgICAgICAgICogZG9tL0RvY3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkRv
Y3VtZW50OjpHZXRFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKTogUmV0dXJuIHRoZSBtYXAK
KyAgICAgICAgb2YgYXR0cmlidXRlcyBleHBsaWNpdGx5IHNldCBmb3IgYSBnaXZlbiBFbGVtZW50
LgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5oOiBBZGQgbWFwIHRvIHN0b3JlIEVsZW1lbnQgdGhh
dCBoYXZlIHNvbWUgRWxlbWVudAorICAgICAgICBhdHRyaWJ1dGVzIGV4cGxpY2l0bHkgc2V0LiBU
aGUgbWFwIGVuZHMgdXAgc3RvcmluZyBhIFZlY3RvciBvZgorICAgICAgICBFbGVtZW50cyBpbiBw
cmVwYXJhdGlvbiBmb3Igc3VwcG9ydGluZyBGcm96ZW5BcnJheTxFbGVtZW50PiBhdHRyaWJ1dGVz
CisgICAgICAgICh0aG91Z2ggc28gZmFyIG9ubHkgb25lIEVsZW1lbnQgaXMgc3RvcmVkKS4KKyAg
ICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjppc0VsZW1lbnRSZWZs
ZWN0aW9uQXR0cmlidXRlKTogVXRpbGl0eSBmdW5jdGlvbiB0byBpZGVudGlmeQorICAgICAgICBF
bGVtZW50IHJlZmxlY3Rpb24gYXR0cmlidXRlcy4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6
OmF0dHJpYnV0ZUNoYW5nZWQpOiBJZiBhbiBlbGVtZW50IHJlZmxlY3Rpb24KKyAgICAgICAgYXR0
cmlidXRlIGhhcyBjaGFuZ2VkIHdlIG5lZWQgdG8gc3luY2hyb25pemUgdGhlIG1hcC4KKyAgICAg
ICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnN5bmNocm9uaXplRWxlbWVudFJlZmxlY3Rpb25BdHRyaWJ1
dGUpOiBSZW1vdmUgdGhlCisgICAgICAgIG1hcCBmb3IgdGhlIGdpdmVuIGF0dHJpYnV0ZSBhcyBp
dCdsbCBiZSBwcm9wZXJseSB1cGRhdGVkIGluCisgICAgICAgIHNldEVsZW1lbnRBdHRyaWJ1dGUo
KS4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmlzRGVzY2VuZGFudE9mU2hhZG93SW5jbHVk
aW5nQW5jZXN0b3JzIGNvbnN0KToKKyAgICAgICAgVXRpbGl0eSBtZXRob2QgdG8gZGV0ZWN0IGlm
IGFuIGVsZW1lbnQgaXMgYSBkZXNjZW5kYW50IG9mIGFueSBvZgorICAgICAgICBlbGVtZW50J3Mg
c2hhZG93LWluY2x1ZGluZyBhbmNlc3RvcnMuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojpn
ZXRFbGVtZW50QXR0cmlidXRlIGNvbnN0KTogSW1wbGVtZW50IGdldHRlciBmb3IKKyAgICAgICAg
ZWxlbWVudCBhdHRyaWJ1dGUuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzZXRFbGVtZW50
QXR0cmlidXRlKTogSW1wbGVtZW50IHNldHRlciBmb3IKKyAgICAgICAgZWxlbWVudCBhdHRyaWJ1
dGUuCisgICAgICAgICogZG9tL0VsZW1lbnQuaDogQWRkIG5ldyBtZXRob2RzIGhlYWRlcnMuCisK
IDIwMjItMDQtMjYgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAg
IDo6Zmlyc3QtbGV0dGVyIGRvZXMgbm90IHdvcmsgaWYgdXNlZCBvbmx5IGluIHNoYWRvdyBjb250
ZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVy
ZW5jZXNFeHBlcmltZW50YWwueWFtbCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9X
ZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sCmluZGV4IDAzOGU2MWFjOTIzNWM5YzdiOGNh
NTFkOWU3NDliOTBkZjlhMDExMGYuLjg4NDlmMjlhMTk0NGJhNTNkMWZjYjVlYjg2NjBhMjA4ZGJh
Y2EzMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVm
ZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJl
bmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sCkBAIC02Niw2ICs2NiwxOCBAQCBB
Y2Nlc3NpYmlsaXR5T2JqZWN0TW9kZWxFbmFibGVkOgogICAgIFdlYktpdDoKICAgICAgIGRlZmF1
bHQ6IGZhbHNlCiAKK0FyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5jZXNFbmFibGVkOgor
ICB0eXBlOiBib29sCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiQVJJQSBSZWZsZWN0aW9uIGZvciBF
bGVtZW50IFJlZmVyZW5jZXMiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBB
UklBIHJlZmxlY3Rpb24gZm9yIGF0dHJpYnV0ZXMgdGhhdCByZWZlciB0byBlbGVtZW50cyIKKyAg
ZGVmYXVsdFZhbHVlOgorICAgIFdlYktpdExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisg
ICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBXZWJDb3JlOgorICAgICAgZGVm
YXVsdDogZmFsc2UKKwogQXNwZWN0UmF0aW9FbmFibGVkOgogICB0eXBlOiBib29sCiAgIGh1bWFu
UmVhZGFibGVOYW1lOiAiQ1NTIEFzcGVjdCBSYXRpbyIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvQXJpYUF0dHJpYnV0ZXMuaWRsIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9BcmlhQXR0cmlidXRlcy5pZGwKaW5kZXggNWJlNWU0NmY4YzU5NmFjNDY4MzNm
ZGMxMjRmYTBlNzAzMTM4ZTM4NS4uNGM2NjBiYTE4MDIxOWFhM2ZjYmI2NjI4NGY1MzA4MDljNGY3
Y2JhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BcmlhQXR0cmli
dXRlcy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BcmlhQXR0cmlidXRl
cy5pZGwKQEAgLTI1LDYgKzI1LDcgQEAKIAogLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9hb20v
c3BlYy9hcmlhLXJlZmxlY3Rpb24uaHRtbCNBcmlhQXR0cmlidXRlcwogaW50ZXJmYWNlIG1peGlu
IEFyaWFBdHRyaWJ1dGVzIHsKKyAgICBbUmVmbGVjdD1hcmlhX2FjdGl2ZWRlc2NlbmRhbnQsIEVu
YWJsZWRCeVNldHRpbmc9QXJpYVJlZmxlY3Rpb25Gb3JFbGVtZW50UmVmZXJlbmNlc0VuYWJsZWRd
IGF0dHJpYnV0ZSBFbGVtZW50PyBhcmlhQWN0aXZlRGVzY2VuZGFudEVsZW1lbnQ7CiAgICAgW1Jl
ZmxlY3Q9YXJpYV9hdG9taWNdICAgICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0
cmluZz8gYXJpYUF0b21pYzsKICAgICBbUmVmbGVjdD1hcmlhX2F1dG9jb21wbGV0ZV0gICAgIGF0
dHJpYnV0ZSBbQXRvbVN0cmluZ10gRE9NU3RyaW5nPyBhcmlhQXV0b0NvbXBsZXRlOwogICAgIFtS
ZWZsZWN0PWFyaWFfYnVzeV0gICAgICAgICAgICAgYXR0cmlidXRlIFtBdG9tU3RyaW5nXSBET01T
dHJpbmc/IGFyaWFCdXN5OwpAQCAtMzQsNiArMzUsNyBAQCBpbnRlcmZhY2UgbWl4aW4gQXJpYUF0
dHJpYnV0ZXMgewogICAgIFtSZWZsZWN0PWFyaWFfY29sc3Bhbl0gICAgICAgICAgYXR0cmlidXRl
IFtBdG9tU3RyaW5nXSBET01TdHJpbmc/IGFyaWFDb2xTcGFuOwogICAgIFtSZWZsZWN0PWFyaWFf
Y3VycmVudF0gICAgICAgICAgYXR0cmlidXRlIFtBdG9tU3RyaW5nXSBET01TdHJpbmc/IGFyaWFD
dXJyZW50OwogICAgIFtSZWZsZWN0PWFyaWFfZGlzYWJsZWRdICAgICAgICAgYXR0cmlidXRlIFtB
dG9tU3RyaW5nXSBET01TdHJpbmc/IGFyaWFEaXNhYmxlZDsKKyAgICBbUmVmbGVjdD1hcmlhX2Vy
cm9ybWVzc2FnZSwgRW5hYmxlZEJ5U2V0dGluZz1BcmlhUmVmbGVjdGlvbkZvckVsZW1lbnRSZWZl
cmVuY2VzRW5hYmxlZF0gYXR0cmlidXRlIEVsZW1lbnQ/IGFyaWFFcnJvck1lc3NhZ2VFbGVtZW50
OwogICAgIFtSZWZsZWN0PWFyaWFfZXhwYW5kZWRdICAgICAgICAgYXR0cmlidXRlIFtBdG9tU3Ry
aW5nXSBET01TdHJpbmc/IGFyaWFFeHBhbmRlZDsKICAgICBbUmVmbGVjdD1hcmlhX2hhc3BvcHVw
XSAgICAgICAgIGF0dHJpYnV0ZSBbQXRvbVN0cmluZ10gRE9NU3RyaW5nPyBhcmlhSGFzUG9wdXA7
CiAgICAgW1JlZmxlY3Q9YXJpYV9oaWRkZW5dICAgICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJp
bmddIERPTVN0cmluZz8gYXJpYUhpZGRlbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQppbmRleCA3MWIzNmJjZTU1M2NjMWU0ZGYzOTk2ZDJi
ZDRhMjhhZWQwN2EyYzkyLi5iOGQ3YTRmMGJiZmY5ZDgxZTQ1MWZhNTI1NWY0ZDMwNmM3NmNjNmVi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0
b3IucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9y
LnBtCkBAIC0xMTA4LDYgKzExMDgsOCBAQCBzdWIgR2V0dGVyRXhwcmVzc2lvbgogICAgICAgICAk
ZnVuY3Rpb25OYW1lID0gImdldEludGVncmFsQXR0cmlidXRlIjsKICAgICB9IGVsc2lmICgkYXR0
cmlidXRlVHlwZS0+bmFtZSBlcSAidW5zaWduZWQgbG9uZyIpIHsKICAgICAgICAgJGZ1bmN0aW9u
TmFtZSA9ICJnZXRVbnNpZ25lZEludGVncmFsQXR0cmlidXRlIjsKKyAgICB9IGVsc2lmICgkYXR0
cmlidXRlVHlwZS0+bmFtZSBlcSAiRWxlbWVudCIpIHsKKyAgICAgICAgJGZ1bmN0aW9uTmFtZSA9
ICJnZXRFbGVtZW50QXR0cmlidXRlIjsKICAgICB9IGVsc2UgewogICAgICAgICBpZiAoJGNvbnRl
bnRBdHRyaWJ1dGVOYW1lIGVxICJXZWJDb3JlOjpIVE1MTmFtZXM6OmlkQXR0ciIpIHsKICAgICAg
ICAgICAgICRmdW5jdGlvbk5hbWUgPSAiZ2V0SWRBdHRyaWJ1dGUiOwpAQCAtMTE0NSw2ICsxMTQ3
LDggQEAgc3ViIFNldHRlckV4cHJlc3Npb24KICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICJzZXRJ
bnRlZ3JhbEF0dHJpYnV0ZSI7CiAgICAgfSBlbHNpZiAoJGF0dHJpYnV0ZVR5cGUtPm5hbWUgZXEg
InVuc2lnbmVkIGxvbmciKSB7CiAgICAgICAgICRmdW5jdGlvbk5hbWUgPSAic2V0VW5zaWduZWRJ
bnRlZ3JhbEF0dHJpYnV0ZSI7CisgICAgfSBlbHNpZiAoJGF0dHJpYnV0ZVR5cGUtPm5hbWUgZXEg
IkVsZW1lbnQiKSB7CisgICAgICAgICRmdW5jdGlvbk5hbWUgPSAic2V0RWxlbWVudEF0dHJpYnV0
ZSI7CiAgICAgfSBlbHNpZiAoJGdlbmVyYXRvci0+SXNTVkdBbmltYXRlZFR5cGUoJGF0dHJpYnV0
ZVR5cGUpKSB7CiAgICAgICAgICRmdW5jdGlvbk5hbWUgPSAic2V0QXR0cmlidXRlIjsKICAgICB9
IGVsc2UgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L0pTL0pTVGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0T2JqLmNwcAppbmRleCA1NThhOTE2ZTNlOTU3YzVkMjNhNjhmNzdiNTNlNDIyYTcy
OWJiYjU2Li5jYzYxOTViNGQzOGI3OGViNzlhNTBkYTBlMTY1YzU2YTk2NjFkYTI0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2Jq
LmNwcApAQCAtMTgwMyw2ICsxODAzLDggQEAgc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRU
RVIoanNUZXN0T2JqX3JlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyKTsKIHN0YXRpYyBKU0Nf
REVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9yZWZsZWN0ZWRVbnNpZ25lZEludGVn
cmFsQXR0cik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVm
bGVjdGVkQm9vbGVhbkF0dHIpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0
SlNUZXN0T2JqX3JlZmxlY3RlZEJvb2xlYW5BdHRyKTsKK3N0YXRpYyBKU0NfREVDTEFSRV9DVVNU
T01fR0VUVEVSKGpzVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0cik7CitzdGF0aWMgSlNDX0RF
Q0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0dHIpOwog
c3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNUZXN0T2JqX3JlZmxlY3RlZFVSTEF0
dHIpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3JlZmxl
Y3RlZFVSTEF0dHIpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNUZXN0T2Jq
X3JlZmxlY3RlZFVTVlVSTEF0dHIpOwpAQCAtMjE3NSw2ICsyMTc3LDcgQEAgc3RhdGljIGNvbnN0
IEhhc2hUYWJsZVZhbHVlIEpTVGVzdE9ialByb3RvdHlwZVRhYmxlVmFsdWVzW10gPQogICAgIHsg
InJlZmxlY3RlZEludGVncmFsQXR0ciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3Bl
cnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRP
TUF0dHJpYnV0ZSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0
eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqX3JlZmxlY3RlZEludGVncmFsQXR0ciksIChp
bnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpT
VGVzdE9ial9yZWZsZWN0ZWRJbnRlZ3JhbEF0dHIpIH0gfSwKICAgICB7ICJyZWZsZWN0ZWRVbnNp
Z25lZEludGVncmFsQXR0ciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJp
YnV0ZSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6
OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqX3JlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyKSwg
KGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0
SlNUZXN0T2JqX3JlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyKSB9IH0sCiAgICAgeyAicmVm
bGVjdGVkQm9vbGVhbkF0dHIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpET01BdHRy
aWJ1dGUpLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90
OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ial9yZWZsZWN0ZWRCb29sZWFuQXR0ciksIChpbnRwdHJf
dCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9i
al9yZWZsZWN0ZWRCb29sZWFuQXR0cikgfSB9LAorICAgIHsgInJlZmxlY3RlZEVsZW1lbnRBdHRy
Iiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFj
Y2Vzc29yIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5z
aWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihq
c1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1
dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVu
dEF0dHIpIH0gfSwKICAgICB7ICJyZWZsZWN0ZWRVUkxBdHRyIiwgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRp
Y19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpfcmVmbGVjdGVkVVJM
QXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1
bmM+KHNldEpTVGVzdE9ial9yZWZsZWN0ZWRVUkxBdHRyKSB9IH0sCiAgICAgeyAicmVmbGVjdGVk
VVNWVVJMQXR0ciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSks
IE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZh
bHVlRnVuYz4oanNUZXN0T2JqX3JlZmxlY3RlZFVTVlVSTEF0dHIpLCAoaW50cHRyX3QpIHN0YXRp
Y19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpfcmVmbGVj
dGVkVVNWVVJMQXR0cikgfSB9LAogICAgIHsgInJlZmxlY3RlZFN0cmluZ0F0dHIiLCBzdGF0aWNf
Y2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IgfCBK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpET01BdHRyaWJ1dGUpLCBOb0ludHJpbnNpYywgeyAoaW50
cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ial9y
ZWZsZWN0ZWRTdHJpbmdBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNs
b3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3JlZmxlY3RlZFN0cmluZ0F0dHIpIH0gfSwK
QEAgLTM5MTgsNiArMzkyMSwzNyBAQCBKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0
T2JqX3JlZmxlY3RlZEJvb2xlYW5BdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleAogICAgIHJldHVy
biBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9yZWZsZWN0ZWRCb29s
ZWFuQXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZh
bHVlLCBhdHRyaWJ1dGVOYW1lKTsKIH0KIAorc3RhdGljIGlubGluZSBKU1ZhbHVlIGpzVGVzdE9i
al9yZWZsZWN0ZWRFbGVtZW50QXR0ckdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2Jh
bE9iamVjdCwgSlNUZXN0T2JqJiB0aGlzT2JqZWN0KQoreworICAgIGF1dG8mIHZtID0gSlNDOjpn
ZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7CisgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFS
RV9USFJPV19TQ09QRSh2bSk7CisgICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgp
OworICAgIFJFTEVBU0VfQU5EX1JFVFVSTih0aHJvd1Njb3BlLCAodG9KUzxJRExJbnRlcmZhY2U8
RWxlbWVudD4+KGxleGljYWxHbG9iYWxPYmplY3QsICp0aGlzT2JqZWN0Lmdsb2JhbE9iamVjdCgp
LCB0aHJvd1Njb3BlLCBpbXBsLmdldEVsZW1lbnRBdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVz
OjpyZWZsZWN0ZWRlbGVtZW50YXR0ckF0dHIpKSkpOworfQorCitKU0NfREVGSU5FX0NVU1RPTV9H
RVRURVIoanNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxl
eGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1l
IGF0dHJpYnV0ZU5hbWUpKQoreworICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6
Z2V0PGpzVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0ckdldHRlciwgQ2FzdGVkVGhpc0Vycm9y
QmVoYXZpb3I6OkFzc2VydD4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgYXR0cmli
dXRlTmFtZSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfcmVmbGVjdGVk
RWxlbWVudEF0dHJTZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpT
VGVzdE9iaiYgdGhpc09iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKK3sKKyAgICBhdXRvJiB2bSA9IEpT
Qzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpOworICAgIGF1dG8gdGhyb3dTY29wZSA9IERF
Q0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIGF1dG8mIGltcGwgPSB0aGlzT2JqZWN0LndyYXBw
ZWQoKTsKKyAgICBhdXRvIG5hdGl2ZVZhbHVlID0gY29udmVydDxJRExJbnRlcmZhY2U8RWxlbWVu
dD4+KGxleGljYWxHbG9iYWxPYmplY3QsIHZhbHVlLCBbXShKU0M6OkpTR2xvYmFsT2JqZWN0JiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6OlRocm93U2NvcGUmIHNjb3BlKSB7IHRocm93QXR0cmli
dXRlVHlwZUVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIHNjb3BlLCAiVGVzdE9iamVjdCIsICJy
ZWZsZWN0ZWRFbGVtZW50QXR0ciIsICJFbGVtZW50Iik7IH0pOworICAgIFJFVFVSTl9JRl9FWENF
UFRJT04odGhyb3dTY29wZSwgZmFsc2UpOworICAgIGludm9rZUZ1bmN0b3JQcm9wYWdhdGluZ0V4
Y2VwdGlvbklmTmVjZXNzYXJ5KGxleGljYWxHbG9iYWxPYmplY3QsIHRocm93U2NvcGUsIFsmXSB7
CisgICAgICAgIHJldHVybiBpbXBsLnNldEVsZW1lbnRBdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5h
bWVzOjpyZWZsZWN0ZWRlbGVtZW50YXR0ckF0dHIsICpuYXRpdmVWYWx1ZSk7CisgICAgfSk7Cisg
ICAgcmV0dXJuIHRydWU7Cit9CisKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RP
YmpfcmVmbGVjdGVkRWxlbWVudEF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFs
dWUsIFByb3BlcnR5TmFtZSBhdHRyaWJ1dGVOYW1lKSkKK3sKKyAgICByZXR1cm4gSURMQXR0cmli
dXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0dHJTZXR0
ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgYXR0cmli
dXRlTmFtZSk7Cit9CisKIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rlc3RPYmpfcmVmbGVjdGVk
VVJMQXR0ckdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0
T2JqJiB0aGlzT2JqZWN0KQogewogICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEds
b2JhbE9iamVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVGVzdE9iai5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VGVzdE9iai5pZGwKaW5kZXggMTBmNjUxYTU3NWU3N2I3NTAwMmI4NzBjZGJiODk4ZmZhNDY2MzNj
OS4uN2U5ODJkNTE2MjRiNGNmZDhiODZlZDUxNDc3ZjcxN2IxYmJmZTVjNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbApAQCAtMTA0LDYg
KzEwNCw3IEBAIGVudW0gVGVzdENvbmZpZGVuY2UgeyAiaGlnaCIsICJraW5kYS1sb3ciIH07CiAg
ICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBsb25nIHJlZmxlY3RlZEludGVncmFsQXR0cjsKICAgICBb
UmVmbGVjdF0gYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcmVmbGVjdGVkVW5zaWduZWRJbnRlZ3Jh
bEF0dHI7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBib29sZWFuIHJlZmxlY3RlZEJvb2xlYW5B
dHRyOworICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRWxlbWVudCByZWZsZWN0ZWRFbGVtZW50QXR0
cjsKICAgICBbUmVmbGVjdCwgVVJMXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmxlY3RlZFVSTEF0
dHI7CiAgICAgW1JlZmxlY3QsIFVSTF0gYXR0cmlidXRlIFVTVlN0cmluZyByZWZsZWN0ZWRVU1ZV
UkxBdHRyOwogICAgIFtSZWZsZWN0PWN1c3RvbUNvbnRlbnRTdHJpbmdBdHRyXSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHJlZmxlY3RlZFN0cmluZ0F0dHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0RvY3VtZW50LmNwcAppbmRl
eCAyOWExMmQ5YTA1NjIzODEyNGM5MjQwZThiYTNhMDgyMWRhZmUyZGU1Li40YjMwZDFkNGI3MWFm
OWRiNzA4YzQ1MmRmN2JkZTNlNWU2OWJjOTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRG9jdW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAKQEAg
LTkxNzIsNiArOTE3MiwxNCBAQCBib29sIERvY3VtZW50Ojppc1NhbWVTaXRlRm9yQ29va2llcyhj
b25zdCBVUkwmIHVybCkgY29uc3QKICAgICByZXR1cm4gZG9tYWluLm1hdGNoZXModXJsKTsKIH0K
IAorRXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCogRG9jdW1lbnQ6OkdldEV4cGxpY2l0bHlT
ZXRBdHRyRWxlbWVudHNNYXAoY29uc3QgRWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICBBU1NFUlQo
JmVsZW1lbnQuZG9jdW1lbnQoKSA9PSB0aGlzKTsKKyAgICBFeHBsaWNpdGx5U2V0QXR0ckVsZW1l
bnRzTWFwIG1hcDsKKyAgICBhdXRvIHJlc3VsdCA9IG1fZWxlbWVudEV4cGxpY2l0bHlTZXRBdHRy
RWxlbWVudHNNYXAuYWRkKGVsZW1lbnQsIFdURk1vdmUobWFwKSk7CisgICAgcmV0dXJuICZyZXN1
bHQuaXRlcmF0b3ItPnZhbHVlOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICN1bmRl
ZiBET0NVTUVOVF9SRUxFQVNFX0xPRwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0Rv
Y3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaAppbmRleCBiMGY3ZDU3ZDU4
ZTdjNTMyZjUyNDM2ZjI5ZTc0ZGIyOGNhNGIwM2ZmLi42ZjAzMWU0ZDk0YjRkNDczMjllN2UyMzkx
ZjAxMmE5MWE3YzU2NDM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAtNjcsNiArNjcsNyBAQAog
I2luY2x1ZGUgPHd0Zi9PYmplY3RJZGVudGlmaWVyLmg+CiAjaW5jbHVkZSA8d3RmL09ic2VydmVy
Lmg+CiAjaW5jbHVkZSA8d3RmL1VuaXF1ZVJlZi5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrSGFzaE1h
cC5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRy
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbVN0cmluZ0hhc2guaD4KQEAgLTI3MSw2ICsyNzIs
NyBAQCBlbnVtIGNsYXNzIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25UeXBlIDogdWludDhfdDsKIHVz
aW5nIE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlRmxhZ3MgPSBPcHRpb25TZXQ8TWVkaWFQcm9kdWNl
ck1lZGlhU3RhdGU+OwogdXNpbmcgTWVkaWFQcm9kdWNlck11dGVkU3RhdGVGbGFncyA9IE9wdGlv
blNldDxNZWRpYVByb2R1Y2VyTXV0ZWRTdGF0ZT47CiB1c2luZyBQbGF0Zm9ybURpc3BsYXlJRCA9
IHVpbnQzMl90OwordXNpbmcgRXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCA9IEhhc2hNYXA8
UXVhbGlmaWVkTmFtZSwgVmVjdG9yPFdlYWtQdHI8RWxlbWVudD4+PjsKIAogbmFtZXNwYWNlIFN0
eWxlIHsKIGNsYXNzIFJlc29sdmVyOwpAQCAtMTY4NSw2ICsxNjg3LDggQEAgcHVibGljOgogCiAg
ICAgc3RkOjpvcHRpb25hbDxQQUw6OlNlc3Npb25JRD4gc2Vzc2lvbklEKCkgY29uc3QgZmluYWw7
CiAKKyAgICBFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKiBHZXRFeHBsaWNpdGx5U2V0QXR0
ckVsZW1lbnRzTWFwKGNvbnN0IEVsZW1lbnQmKTsKKwogcHJvdGVjdGVkOgogICAgIGVudW0gQ29u
c3RydWN0aW9uRmxhZ3MgeyBTeW50aGVzaXplZCA9IDEsIE5vblJlbmRlcmVkUGxhY2Vob2xkZXIg
PSAxIDw8IDEgfTsKICAgICBXRUJDT1JFX0VYUE9SVCBEb2N1bWVudChGcmFtZSosIGNvbnN0IFNl
dHRpbmdzJiwgY29uc3QgVVJMJiwgRG9jdW1lbnRDbGFzc2VzID0geyB9LCB1bnNpZ25lZCBjb25z
dHJ1Y3Rpb25GbGFncyA9IDAsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHRJZGVudGlmaWVyID0geyB9
KTsKQEAgLTIyNzcsNiArMjI4MSw4IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPEZ1bmN0aW9uPHZv
aWQoKT4+IG1fd2hlbklzVmlzaWJsZUhhbmRsZXJzOwogCiAgICAgV2Vha0hhc2hTZXQ8RWxlbWVu
dD4gbV9lbGVtZW50c1dpdGhQZW5kaW5nVXNlckFnZW50U2hhZG93VHJlZVVwZGF0ZXM7CisKKyAg
ICBXZWFrSGFzaE1hcDxFbGVtZW50LCBFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwPiBtX2Vs
ZW1lbnRFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwOwogfTsKIAogRWxlbWVudCogZXZlbnRU
YXJnZXRFbGVtZW50Rm9yRG9jdW1lbnQoRG9jdW1lbnQqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApp
bmRleCAwYmQyNjcyMWNiZTg3MDQ3MzZiMThhNzU2ZTg4ZjA2NWE2NDA3MjNjLi45NjIyMzE0ZDE4
Y2QxN2YzNjQ2YjAwMmM4ZDQyYmZmYzNmNWE0ZmYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCkBA
IC0xOTAxLDYgKzE5MDEsMTQgQEAgc3RhdGljIGlubGluZSBBdG9tU3RyaW5nIG1ha2VJZEZvclN0
eWxlUmVzb2x1dGlvbihjb25zdCBBdG9tU3RyaW5nJiB2YWx1ZSwgYm9vbAogICAgIHJldHVybiB2
YWx1ZTsKIH0KIAorc3RhdGljIGJvb2wgaXNFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiBuYW1lKQoreworICAgIGlmIChuYW1lID09IEhUTUxOYW1lczo6YXJp
YV9hY3RpdmVkZXNjZW5kYW50QXR0ciB8fCBuYW1lID09IEhUTUxOYW1lczo6YXJpYV9lcnJvcm1l
c3NhZ2VBdHRyKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgIHJldHVybiBmYWxzZTsKK30K
Kwogdm9pZCBFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5h
bWUsIGNvbnN0IEF0b21TdHJpbmcmIG9sZFZhbHVlLCBjb25zdCBBdG9tU3RyaW5nJiBuZXdWYWx1
ZSwgQXR0cmlidXRlTW9kaWZpY2F0aW9uUmVhc29uKQogewogICAgIGJvb2wgdmFsdWVJc1NhbWVB
c0JlZm9yZSA9IG9sZFZhbHVlID09IG5ld1ZhbHVlOwpAQCAtMTkzNyw2ICsxOTQ1LDggQEAgdm9p
ZCBFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNv
bnN0IEF0b21TdHJpbmcmIG9sZFYKICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIGlmIChu
YW1lID09IEhUTUxOYW1lczo6cGFydEF0dHIpCiAgICAgICAgICAgICBwYXJ0QXR0cmlidXRlQ2hh
bmdlZChuZXdWYWx1ZSk7CisgICAgICAgIGVsc2UgaWYgKGlzRWxlbWVudFJlZmxlY3Rpb25BdHRy
aWJ1dGUobmFtZSkpCisgICAgICAgICAgICBzeW5jaHJvbml6ZUVsZW1lbnRSZWZsZWN0aW9uQXR0
cmlidXRlKG5hbWUpOwogICAgICAgICBlbHNlIGlmIChuYW1lID09IEhUTUxOYW1lczo6ZXhwb3J0
cGFydHNBdHRyKSB7CiAgICAgICAgICAgICBpZiAoYXV0byogc2hhZG93Um9vdCA9IHRoaXMtPnNo
YWRvd1Jvb3QoKSkgewogICAgICAgICAgICAgICAgIHNoYWRvd1Jvb3QtPmludmFsaWRhdGVQYXJ0
TWFwcGluZ3MoKTsKQEAgLTE5NjEsNiArMTk3MSw3MiBAQCB2b2lkIEVsZW1lbnQ6OmF0dHJpYnV0
ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYgb2xk
VgogICAgICAgICBjYWNoZS0+ZGVmZXJBdHRyaWJ1dGVDaGFuZ2VJZk5lZWRlZChuYW1lLCB0aGlz
KTsKIH0KIAordm9pZCBFbGVtZW50OjpzeW5jaHJvbml6ZUVsZW1lbnRSZWZsZWN0aW9uQXR0cmli
dXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpCit7CisgICAgQVNTRVJUKGRv
Y3VtZW50KCkuc2V0dGluZ3MoKS5hcmlhUmVmbGVjdGlvbkZvckVsZW1lbnRSZWZlcmVuY2VzRW5h
YmxlZCgpKTsKKyAgICBBU1NFUlQoaXNFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0ZShhdHRyaWJ1
dGVOYW1lKSk7CisKKyAgICBkb2N1bWVudCgpLkdldEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNN
YXAoKnRoaXMpLT5yZW1vdmUoYXR0cmlidXRlTmFtZSk7Cit9CisKK2Jvb2wgRWxlbWVudDo6aXNE
ZXNjZW5kYW50T2ZTaGFkb3dJbmNsdWRpbmdBbmNlc3RvcnMoY29uc3QgRWxlbWVudCYgZWxlbWVu
dCkgY29uc3QKK3sKKyAgICBpZiAoIWlzSW5UcmVlU2NvcGUoKSB8fCAhZWxlbWVudC5pc0luVHJl
ZVNjb3BlKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIGZvciAoYXV0byogcm9vdCA9
IGNvbnRhaW5pbmdTaGFkb3dSb290KCk7IHJvb3Q7IHJvb3QgPSByb290LT5ob3N0KCktPmNvbnRh
aW5pbmdTaGFkb3dSb290KCkpIHsKKyAgICAgICAgaWYgKGVsZW1lbnQuaXNEZXNjZW5kYW50T2Yo
cm9vdCkpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisKKyAgICByZXR1cm4gZWxl
bWVudC5pc0Rlc2NlbmRhbnRPZihkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpKTsKK30KKwor
RWxlbWVudCogRWxlbWVudDo6Z2V0RWxlbWVudEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1l
JiBhdHRyaWJ1dGVOYW1lKSBjb25zdAoreworICAgIEFTU0VSVChkb2N1bWVudCgpLnNldHRpbmdz
KCkuYXJpYVJlZmxlY3Rpb25Gb3JFbGVtZW50UmVmZXJlbmNlc0VuYWJsZWQoKSk7CisgICAgQVNT
RVJUKGlzRWxlbWVudFJlZmxlY3Rpb25BdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSkpOworCisgICAg
YXV0byogZXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCA9IGRvY3VtZW50KCkuR2V0RXhwbGlj
aXRseVNldEF0dHJFbGVtZW50c01hcCgqdGhpcyk7CisgICAgaWYgKGV4cGxpY2l0bHlTZXRBdHRy
RWxlbWVudHNNYXAtPmNvbnRhaW5zKGF0dHJpYnV0ZU5hbWUpKSB7CisgICAgICAgIEFTU0VSVChl
eHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwLT5maW5kKGF0dHJpYnV0ZU5hbWUpLT52YWx1ZS5z
aXplKCkgPT0gMSk7CisgICAgICAgIGF1dG8qIGVsZW1lbnQgPSBleHBsaWNpdGx5U2V0QXR0ckVs
ZW1lbnRzTWFwLT5maW5kKGF0dHJpYnV0ZU5hbWUpLT52YWx1ZVswXS5nZXQoKTsKKyAgICAgICAg
QVNTRVJUKGVsZW1lbnQpOworICAgICAgICBpZiAoaXNEZXNjZW5kYW50T2ZTaGFkb3dJbmNsdWRp
bmdBbmNlc3RvcnMoKmVsZW1lbnQpKQorICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQ7CisgICAg
ICAgIHJldHVybiBudWxscHRyOworICAgIH0KKworICAgIGF1dG8gaWQgPSBnZXRBdHRyaWJ1dGUo
YXR0cmlidXRlTmFtZSk7CisgICAgaWYgKGlkLmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gbnVs
bHB0cjsKKworICAgIHJldHVybiB0cmVlU2NvcGUoKS5nZXRFbGVtZW50QnlJZChpZCk7Cit9CisK
K3ZvaWQgRWxlbWVudDo6c2V0RWxlbWVudEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBh
dHRyaWJ1dGVOYW1lLCBFbGVtZW50KiBlbGVtZW50KQoreworICAgIEFTU0VSVChkb2N1bWVudCgp
LnNldHRpbmdzKCkuYXJpYVJlZmxlY3Rpb25Gb3JFbGVtZW50UmVmZXJlbmNlc0VuYWJsZWQoKSk7
CisgICAgQVNTRVJUKGlzRWxlbWVudFJlZmxlY3Rpb25BdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSkp
OworCisgICAgYXV0byogZXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCA9IGRvY3VtZW50KCku
R2V0RXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCgqdGhpcyk7CisgICAgaWYgKCFlbGVtZW50
KSB7CisgICAgICAgIGV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAtPnJlbW92ZShhdHRyaWJ1
dGVOYW1lKTsKKyAgICAgICAgcmVtb3ZlQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgYXV0byBpZCA9IGVsZW1lbnQtPmdldElkQXR0cmlidXRl
KCk7CisgICAgaWYgKCFpZC5pc051bGwoKSAmJiAmdHJlZVNjb3BlKCkgPT0gJmVsZW1lbnQtPnRy
ZWVTY29wZSgpICYmIHRyZWVTY29wZSgpLmdldEVsZW1lbnRCeUlkKGlkKSA9PSBlbGVtZW50KQor
ICAgICAgICBzZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSwgaWQpOworICAgIGVsc2UKKyAgICAg
ICAgc2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUsIGVtcHR5QXRvbSgpKTsKKworICAgIFZlY3Rv
cjxXZWFrUHRyPEVsZW1lbnQ+PiBlbGVtZW50czsKKyAgICBlbGVtZW50cy5hcHBlbmQoZWxlbWVu
dCk7CisgICAgZXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcC0+c2V0KGF0dHJpYnV0ZU5hbWUs
IFdURk1vdmUoZWxlbWVudHMpKTsKK30KKwogdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5
cGU+CiBzdGF0aWMgaW5saW5lIGJvb2wgaXNOb25FbXB0eVRva2VuTGlzdChjb25zdCBDaGFyYWN0
ZXJUeXBlKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaApp
bmRleCA5Y2FiZTNhZGNkNzU4YzUyZWJiODU5NjEyNjBiNTIxZmIyNTgwMzA3Li5jNWI0MmZlOThm
MzkyOGY3NTUwNDVjYmRhNTk3NTBhYTdjNGVhYWMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTEy
MSw2ICsxMjEsOCBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRJbnRlZ3Jh
bEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lLCBpbnQgdmFsdWUp
OwogICAgIFdFQkNPUkVfRVhQT1JUIHVuc2lnbmVkIGdldFVuc2lnbmVkSW50ZWdyYWxBdHRyaWJ1
dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgY29uc3Q7CiAgICAgV0VCQ09S
RV9FWFBPUlQgdm9pZCBzZXRVbnNpZ25lZEludGVncmFsQXR0cmlidXRlKGNvbnN0IFF1YWxpZmll
ZE5hbWUmIGF0dHJpYnV0ZU5hbWUsIHVuc2lnbmVkIHZhbHVlKTsKKyAgICBXRUJDT1JFX0VYUE9S
VCBFbGVtZW50KiBnZXRFbGVtZW50QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJp
YnV0ZU5hbWUpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0RWxlbWVudEF0dHJp
YnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lLCBFbGVtZW50KiB2YWx1ZSk7
CiAKICAgICAvLyBDYWxsIHRoaXMgdG8gZ2V0IHRoZSB2YWx1ZSBvZiBhbiBhdHRyaWJ1dGUgdGhh
dCBpcyBrbm93biBub3QgdG8gYmUgdGhlIHN0eWxlCiAgICAgLy8gYXR0cmlidXRlIG9yIG9uZSBv
ZiB0aGUgU1ZHIGFuaW1hdGFibGUgYXR0cmlidXRlcy4KQEAgLTczOSw2ICs3NDEsNyBAQCBwcml2
YXRlOgogICAgIHZvaWQgc2V0QXR0cmlidXRlSW50ZXJuYWwodW5zaWduZWQgaW5kZXgsIGNvbnN0
IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9tU3RyaW5nJiB2YWx1ZSwgU3luY2hyb25pemF0aW9u
T2ZMYXp5QXR0cmlidXRlKTsKICAgICB2b2lkIGFkZEF0dHJpYnV0ZUludGVybmFsKGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBjb25zdCBBdG9tU3RyaW5nJiB2YWx1ZSwgU3luY2hyb25pemF0aW9uT2ZM
YXp5QXR0cmlidXRlKTsKICAgICB2b2lkIHJlbW92ZUF0dHJpYnV0ZUludGVybmFsKHVuc2lnbmVk
IGluZGV4LCBTeW5jaHJvbml6YXRpb25PZkxhenlBdHRyaWJ1dGUpOworICAgIHZvaWQgc3luY2hy
b25pemVFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJik7CiAK
ICAgICB2b2lkIHNldFNhdmVkTGF5ZXJTY3JvbGxQb3NpdGlvblNsb3coY29uc3QgSW50UG9pbnQm
KTsKICAgICB2b2lkIGNsZWFyQmVmb3JlUHNldWRvRWxlbWVudFNsb3coKTsKQEAgLTc4NSw2ICs3
ODgsOCBAQCBwcml2YXRlOgogICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgZmFzdEF0dHJpYnV0ZUxv
b2t1cEFsbG93ZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYpIGNvbnN0OwogI2VuZGlmCiAKKyAgICBi
b29sIGlzRGVzY2VuZGFudE9mU2hhZG93SW5jbHVkaW5nQW5jZXN0b3JzKGNvbnN0IEVsZW1lbnQm
KSBjb25zdDsKKwogICAgIFF1YWxpZmllZE5hbWUgbV90YWdOYW1lOwogICAgIFJlZlB0cjxFbGVt
ZW50RGF0YT4gbV9lbGVtZW50RGF0YTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDMyY2NlNDVjMTAzYjM4ZDI2ZDBiYWZm
NDBkNTVhMTZmNTNlNjZhYjAuLjg3NmFhODcxMDY3M2Q0ZWUxNzFhNDhiODgyZDIyZTQ4Nzc4Njk1
NDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMi0wNC0yOSAgTWFudWVsIFJlZ28gQ2FzYXNu
b3ZhcyAgPHJlZ29AaWdhbGlhLmNvbT4KKworICAgICAgICBBUklBIHJlZmxlY3Rpb24gZm9yIEVs
ZW1lbnQgYXR0cmlidXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjM5ODUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVXBkYXRlIHRlc3QgdG8gaW5jbHVkZSB0aGUgbmV3IHJlZmxlY3RlZCBhdHRyaWJ1
dGVzLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rpb24tZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVJJQS1yZWZsZWN0aW9uLmh0bWw6CisKIDIw
MjItMDQtMjYgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIDo6
Zmlyc3QtbGV0dGVyIGRvZXMgbm90IHdvcmsgaWYgdXNlZCBvbmx5IGluIHNoYWRvdyBjb250ZW50
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAyZTUzOGM2MGM5Y2ZkNDU1NTE2NDk1
Mzc0N2QxZjgzNGRlMDhjMjJkLi5lNGE5MDBlMGU1YzAzNDE1NzgzNjE1OTRjODdkYjI4OWVjNmZk
ZTBiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAy
Mi0wNC0yOCAgTWFudWVsIFJlZ28gQ2FzYXNub3ZhcyAgPHJlZ29AaWdhbGlhLmNvbT4KKworICAg
ICAgICBBUklBIHJlZmxlY3Rpb24gZm9yIEVsZW1lbnQgYXR0cmlidXRlcworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5ODUyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU21hbGwgZml4IG9uIHRoZSB0ZXN0
IGFuZCB1cGRhdGUgdGVzdCByZXN1bHRzIHdpdGggdGhlIG5ldyBQQVNTLgorCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50
YXRpdmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9k
ZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLmh0bWw6CisKIDIwMjItMDQtMjYg
IE9yaW9sIEJydWZhdSAgPG9icnVmYXVAaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWNhc2Nh
ZGVdIEZpeCBjYXNjYWRlIHJvbGxiYWNrIGZvciBkZWZlcnJlZCBwcm9wZXJ0aWVzCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L0FSSUEtcmVmbGVjdGlvbi1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L0FSSUEtcmVmbGVjdGlvbi1leHBlY3RlZC50
eHQKaW5kZXggOTUwNGI2OWJjYmFjZDI0MWI5NTg1NDMwMmVmNTQ3NGUzNTJhNDk4ZS4uZTNmZWVj
MzBjNGM3YTllYWZhZDFhOTRkZWRlZWM2M2Y4OGJiODBlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvQVJJQS1yZWZsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtNywz
MTcgKzcsMjkyIEBAIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFCiBUZXN0IHJvbGUgPCAtID4gcm9s
ZQogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJyb2xlIl0gPSBk
YXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRh
CitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRy
aWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJyb2xlIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQ
cm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKKworVGVzdCBhcmlhQWN0aXZlRGVzY2VuZGFu
dEVsZW1lbnQgPCAtID4gYXJpYS1hY3RpdmVkZXNjZW5kYW50CitQQVNTIGVsZW1lbnRbY3VycmVu
dFByb3BlcnR5XSBpcyBudWxsCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRy
aWJ1dGUpIGlzIG51bGwKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgZGF0YUF0dHJpYnV0ZQorZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtYWN0aXZlZGVz
Y2VuZGFudCIsIG90aGVyRGF0YSk7CitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBv
dGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFBdG9taWMgPCAtID4gYXJpYS1hdG9taWMKIFBB
U1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRy
aWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUF0b21pYyJdID0g
ZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0
YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0
cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1hdG9taWMiLCBvdGhlckRhdGEpOwot
UEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRb
Y3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFBdXRvQ29t
cGxldGUgPCAtID4gYXJpYS1hdXRvY29tcGxldGUKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVy
dHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkg
aXMgbnVsbAotZWxlbWVudFsiYXJpYUF1dG9Db21wbGV0ZSJdID0gZGF0YTsKLVBBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNl
dEF0dHJpYnV0ZSgiYXJpYS1hdXRvY29tcGxldGUiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFCdXN5IDwgLSA+IGFyaWEtYnVz
eQogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhQnVzeSJd
ID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMg
ZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRh
QXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1idXN5Iiwgb3RoZXJEYXRhKTsK
LVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhQ2hlY2tl
ZCA8IC0gPiBhcmlhLWNoZWNrZWQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51
bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAot
ZWxlbWVudFsiYXJpYUNoZWNrZWQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRl
KGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFy
aWEtY2hlY2tlZCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVBy
b3BlcnR5CiAKIFRlc3QgYXJpYUNvbENvdW50IDwgLSA+IGFyaWEtY29sY291bnQKIFBBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUo
Y3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUNvbENvdW50Il0gPSBkYXRh
OwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQ
QVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1
dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWNvbGNvdW50Iiwgb3RoZXJEYXRhKTsKLVBB
U1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhQ29sSW5kZXgg
PCAtID4gYXJpYS1jb2xpbmRleAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVs
bAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1l
bGVtZW50WyJhcmlhQ29sSW5kZXgiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRl
KGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFy
aWEtY29saW5kZXgiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0g
aXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQ
cm9wZXJ0eQogCiBUZXN0IGFyaWFDb2xTcGFuIDwgLSA+IGFyaWEtY29sc3BhbgogUEFTUyBlbGVt
ZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShj
dXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhQ29sU3BhbiJdID0gZGF0YTsK
LVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFT
UyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRl
CiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1jb2xzcGFuIiwgb3RoZXJEYXRhKTsKLVBBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJl
bnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhQ3VycmVudCA8IC0g
PiBhcmlhLWN1cnJlbnQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBB
U1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVu
dFsiYXJpYUN1cnJlbnQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtY3Vy
cmVudCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhl
ckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5
CiAKIFRlc3QgYXJpYURpc2FibGVkIDwgLSA+IGFyaWEtZGlzYWJsZWQKIFBBU1MgZWxlbWVudFtj
dXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVu
dEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYURpc2FibGVkIl0gPSBkYXRhOwotUEFT
UyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVs
ZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVs
ZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWRpc2FibGVkIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQ
cm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKKworVGVzdCBhcmlhRXJyb3JNZXNzYWdlRWxl
bWVudCA8IC0gPiBhcmlhLWVycm9ybWVzc2FnZQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0
eV0gaXMgbnVsbAorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBudWxsCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRh
dGFBdHRyaWJ1dGUKK2VsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWVycm9ybWVzc2FnZSIsIG90
aGVyRGF0YSk7CitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9w
ZXJ0eQogCiBUZXN0IGFyaWFFeHBhbmRlZCA8IC0gPiBhcmlhLWV4cGFuZGVkCiBQQVNTIGVsZW1l
bnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1
cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFFeHBhbmRlZCJdID0gZGF0YTsK
LVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFT
UyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRl
CiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1leHBhbmRlZCIsIG90aGVyRGF0YSk7Ci1QQVNT
IGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUhhc1BvcHVwIDwg
LSA+IGFyaWEtaGFzcG9wdXAKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwK
IFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxl
bWVudFsiYXJpYUhhc1BvcHVwIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShj
dXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlh
LWhhc3BvcHVwIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlz
IG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJv
cGVydHkKIAogVGVzdCBhcmlhSGlkZGVuIDwgLSA+IGFyaWEtaGlkZGVuCiBQQVNTIGVsZW1lbnRb
Y3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFIaWRkZW4iXSA9IGRhdGE7Ci1QQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxl
bWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxl
bWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtaGlkZGVuIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9w
ZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhSW52YWxpZCA8IC0gPiBhcmlh
LWludmFsaWQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxl
bWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJp
YUludmFsaWQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRy
aWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtaW52YWxpZCIs
IG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEK
K1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRl
c3QgYXJpYUtleVNob3J0Y3V0cyA8IC0gPiBhcmlhLWtleXNob3J0Y3V0cwogUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhS2V5U2hvcnRjdXRzIl0gPSBkYXRh
OwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQ
QVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1
dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWtleXNob3J0Y3V0cyIsIG90aGVyRGF0YSk7
Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUxhYmVs
IDwgLSA+IGFyaWEtbGFiZWwKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwK
IFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxl
bWVudFsiYXJpYUxhYmVsIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWxh
YmVsIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVy
RGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkK
IAogVGVzdCBhcmlhTGV2ZWwgPCAtID4gYXJpYS1sZXZlbAogUEFTUyBlbGVtZW50W2N1cnJlbnRQ
cm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmli
dXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhTGV2ZWwiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRB
dHRyaWJ1dGUoImFyaWEtbGV2ZWwiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQ
cm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBv
dGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFMaXZlIDwgLSA+IGFyaWEtbGl2ZQogUEFTUyBl
bGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0
ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhTGl2ZSJdID0gZGF0YTsK
LVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFT
UyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRl
CiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1saXZlIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQ
cm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhTW9kYWwgPCAtID4gYXJp
YS1tb2RhbAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVt
ZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlh
TW9kYWwiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1
dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkg
aXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbW9kYWwiLCBvdGhl
ckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNT
IGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFy
aWFNdWx0aUxpbmUgPCAtID4gYXJpYS1tdWx0aWxpbmUKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJv
cGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYU11bHRpTGluZSJdID0gZGF0YTsKLVBBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNl
dEF0dHJpYnV0ZSgiYXJpYS1tdWx0aWxpbmUiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFNdWx0aVNlbGVjdGFibGUgPCAtID4g
YXJpYS1tdWx0aXNlbGVjdGFibGUKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51
bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAot
ZWxlbWVudFsiYXJpYU11bHRpU2VsZWN0YWJsZSJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJp
YnV0ZSgiYXJpYS1tdWx0aXNlbGVjdGFibGUiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFPcmllbnRhdGlvbiA8IC0gPiBhcmlh
LW9yaWVudGF0aW9uCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRb
ImFyaWFPcmllbnRhdGlvbiJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1v
cmllbnRhdGlvbiIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVBy
b3BlcnR5CiAKIFRlc3QgYXJpYVBsYWNlaG9sZGVyIDwgLSA+IGFyaWEtcGxhY2Vob2xkZXIKIFBB
U1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRy
aWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVBsYWNlaG9sZGVy
Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRh
dGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXBsYWNlaG9sZGVyIiwgb3Ro
ZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFT
UyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBh
cmlhUG9zSW5TZXQgPCAtID4gYXJpYS1wb3NpbnNldAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9w
ZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRl
KSBpcyBudWxsCi1lbGVtZW50WyJhcmlhUG9zSW5TZXQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRB
dHRyaWJ1dGUoImFyaWEtcG9zaW5zZXQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJl
bnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFQcmVzc2VkIDwgLSA+IGFyaWEtcHJlc3Nl
ZAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhUHJlc3Nl
ZCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkg
aXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBk
YXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1wcmVzc2VkIiwgb3RoZXJE
YXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBl
bGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlh
UmVhZE9ubHkgPCAtID4gYXJpYS1yZWFkb25seQogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0
eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBudWxsCi1lbGVtZW50WyJhcmlhUmVhZE9ubHkiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRy
aWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRy
aWJ1dGUoImFyaWEtcmVhZG9ubHkiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQ
cm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBv
dGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFSZWxldmFudCA8IC0gPiBhcmlhLXJlbGV2YW50
CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFSZWxldmFu
dCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkg
aXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBk
YXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1yZWxldmFudCIsIG90aGVy
RGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJp
YVJlcXVpcmVkIDwgLSA+IGFyaWEtcmVxdWlyZWQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVy
dHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkg
aXMgbnVsbAotZWxlbWVudFsiYXJpYVJlcXVpcmVkIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0
cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0
cmlidXRlKCJhcmlhLXJlcXVpcmVkIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50
UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMg
b3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhUm9sZURlc2NyaXB0aW9uIDwgLSA+IGFyaWEt
cm9sZWRlc2NyaXB0aW9uCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQ
QVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1l
bnRbImFyaWFSb2xlRGVzY3JpcHRpb24iXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUo
Y3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUo
ImFyaWEtcm9sZWRlc2NyaXB0aW9uIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50
UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMg
b3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhUm93Q291bnQgPCAtID4gYXJpYS1yb3djb3Vu
dAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhUm93Q291
bnQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUp
IGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMg
ZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtcm93Y291bnQiLCBvdGhl
ckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNT
IGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFy
aWFSb3dJbmRleCA8IC0gPiBhcmlhLXJvd2luZGV4CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUp
IGlzIG51bGwKLWVsZW1lbnRbImFyaWFSb3dJbmRleCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5n
ZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0
dHJpYnV0ZSgiYXJpYS1yb3dpbmRleCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVu
dFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlz
IG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVJvd1NwYW4gPCAtID4gYXJpYS1yb3dzcGFu
CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFSb3dTcGFu
Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRh
dGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXJvd3NwYW4iLCBvdGhlckRh
dGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVs
ZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFT
ZWxlY3RlZCA8IC0gPiBhcmlhLXNlbGVjdGVkCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IG51bGwKLWVsZW1lbnRbImFyaWFTZWxlY3RlZCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJp
YnV0ZSgiYXJpYS1zZWxlY3RlZCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90
aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVNldFNpemUgPCAtID4gYXJpYS1zZXRzaXplCiBQ
QVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0
cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFTZXRTaXplIl0g
PSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBk
YXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFB
dHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXNldHNpemUiLCBvdGhlckRhdGEp
OwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1l
bnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFTb3J0
IDwgLSA+IGFyaWEtc29ydAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAog
UEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVt
ZW50WyJhcmlhU29ydCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVu
dEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0
cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1zb3J0
Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0
YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAog
VGVzdCBhcmlhVmFsdWVNYXggPCAtID4gYXJpYS12YWx1ZW1heAogUEFTUyBlbGVtZW50W2N1cnJl
bnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0
cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhVmFsdWVNYXgiXSA9IGRhdGE7Ci1QQVNTIGVs
ZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVu
dC5zZXRBdHRyaWJ1dGUoImFyaWEtdmFsdWVtYXgiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFWYWx1ZU1pbiA8IC0gPiBhcmlh
LXZhbHVlbWluCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVs
ZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFy
aWFWYWx1ZU1pbiJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmli
dXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS12YWx1ZW1p
biIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRh
dGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAK
IFRlc3QgYXJpYVZhbHVlTm93IDwgLSA+IGFyaWEtdmFsdWVub3cKIFBBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVZhbHVlTm93Il0gPSBkYXRhOwotUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1l
bnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1l
bnQuc2V0QXR0cmlidXRlKCJhcmlhLXZhbHVlbm93Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9w
ZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhVmFsdWVUZXh0IDwgLSA+IGFy
aWEtdmFsdWV0ZXh0CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRb
ImFyaWFWYWx1ZVRleHQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtdmFs
dWV0ZXh0Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90
aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVy
dHkKIAogCi1QQVNTIGNvdW50IGlzIDM4CitQQVNTIGNvdW50IGlzIDQwCiBQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2FjY2Vzc2liaWxpdHkvQVJJQS1yZWZsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L0FSSUEtcmVmbGVjdGlvbi5odG1sCmluZGV4IDMyM2IxODljNGUzZTQwMWE0ZmZk
NTZkNGNmZWU0NjQ3MjlhZmY5MTguLjkzYTliN2ExN2Y5YTQ0ZTRjZDExYmVjYTk2OWYwY2U1Nzc2
OWNlZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvQVJJQS1yZWZsZWN0
aW9uLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rpb24u
aHRtbApAQCAtNSw3ICs1LDggQEAKIDxkaXYgaWQ9ImNvbnRlbnQiPgogCiA8ZGl2IGlkPSJ0ZXN0
IiBkYXRhPSJzb21lIGRhdGEiPgotCisgIDxkaXYgaWQ9ImZpcnN0Q2hpbGQiPjwvZGl2PgorICA8
ZGl2IGlkPSJzZWNvbmRDaGlsZCI+PC9kaXY+CiA8L2Rpdj4KIAogPHAgaWQ9ImRlc2NyaXB0aW9u
Ij48L3A+CkBAIC0yMSwyMiArMjIsNDAgQEAKICAgICB2YXIgY3VycmVudFByb3BlcnR5OwogICAg
IHZhciBjdXJyZW50QXR0cmlidXRlOwogCisgICAgZnVuY3Rpb24gaXNFbGVtZW50UmVmbGVjdGlv
blByb3BlcnR5KHByb3BlcnR5KSB7CisgICAgICAgIHN3aXRjaCAocHJvcGVydHkpIHsKKyAgICAg
ICAgICAgIGNhc2UgImFyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCI6CisgICAgICAgICAgICBj
YXNlICJhcmlhRXJyb3JNZXNzYWdlRWxlbWVudCI6CisgICAgICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGZ1bmN0
aW9uIGNvbnZlcnRQcm9wZXJ0eVRvQXR0cmlidXRlKHByb3BlcnR5KSB7CisgICAgICAgIGlmIChp
c0VsZW1lbnRSZWZsZWN0aW9uUHJvcGVydHkocHJvcGVydHkpKQorICAgICAgICAgIHByb3BlcnR5
ID0gcHJvcGVydHkucmVwbGFjZSgiRWxlbWVudCIsICIiKTsKKyAgICAgICAgcmV0dXJuIHByb3Bl
cnR5LnJlcGxhY2UoImFyaWEiLCAiYXJpYS0iKS50b0xvd2VyQ2FzZSgpOworICAgIH0KKwogICAg
IGZ1bmN0aW9uIHRlc3RFbGVtZW50KCkgewotICAgICAgICBjdXJyZW50QXR0cmlidXRlID0gY3Vy
cmVudFByb3BlcnR5LnJlcGxhY2UoImFyaWEiLCAiYXJpYS0iKS50b0xvd2VyQ2FzZSgpOwotICAg
ICAgICAKKyAgICAgICAgY3VycmVudEF0dHJpYnV0ZSA9IGNvbnZlcnRQcm9wZXJ0eVRvQXR0cmli
dXRlKGN1cnJlbnRQcm9wZXJ0eSk7CisKICAgICAgICAgZGVidWcoIlxuVGVzdCAiICsgY3VycmVu
dFByb3BlcnR5ICsgIiA8IC0gPiAiICsgY3VycmVudEF0dHJpYnV0ZSk7CiAgICAgICAgIHNob3Vs
ZEJlTnVsbCgiZWxlbWVudFtjdXJyZW50UHJvcGVydHldIik7CiAgICAgICAgIHNob3VsZEJlTnVs
bCgiZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkiKTsKLSAgICAgICAgCisK
ICAgICAgICAgLy8gU2V0IHRoZSBwcm9wZXJ0eSB2YWx1ZQotICAgICAgICBkZWJ1ZygiZWxlbWVu
dFtcIiIgKyBjdXJyZW50UHJvcGVydHkgKyAiXCJdID0gZGF0YTsiKTsKLSAgICAgICAgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldID0gZGF0YTsKLSAgICAgICAgc2hvdWxkQmUoImVsZW1lbnQuZ2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIiwgImRhdGEiKTsKKyAgICAgICAgZGF0YVByb3Bl
cnR5ID0gaXNFbGVtZW50UmVmbGVjdGlvblByb3BlcnR5KGN1cnJlbnRQcm9wZXJ0eSkgPyBmaXJz
dENoaWxkIDogZGF0YTsKKyAgICAgICAgZGF0YUF0dHJpYnV0ZSA9IGlzRWxlbWVudFJlZmxlY3Rp
b25Qcm9wZXJ0eShjdXJyZW50UHJvcGVydHkpID8gZmlyc3RDaGlsZC5pZCA6IGRhdGE7CisgICAg
ICAgIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSA9IGRhdGFQcm9wZXJ0eTsKKyAgICAgICAgc2hv
dWxkQmUoImVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIiwgImRhdGFBdHRy
aWJ1dGUiKTsKIAogICAgICAgICAvLyBTZXQgdGhlIGF0dHJpYnV0ZSB2YWx1ZQorICAgICAgICBv
dGhlckRhdGFQcm9wZXJ0eSA9IGlzRWxlbWVudFJlZmxlY3Rpb25Qcm9wZXJ0eShjdXJyZW50UHJv
cGVydHkpID8gc2Vjb25kQ2hpbGQgOiBvdGhlckRhdGE7CisgICAgICAgIG90aGVyRGF0YUF0dHJp
YnV0ZSA9IGlzRWxlbWVudFJlZmxlY3Rpb25Qcm9wZXJ0eShjdXJyZW50UHJvcGVydHkpID8gc2Vj
b25kQ2hpbGQuaWQgOiBvdGhlckRhdGE7CiAgICAgICAgIGRlYnVnKCJlbGVtZW50LnNldEF0dHJp
YnV0ZShcIiIgKyBjdXJyZW50QXR0cmlidXRlICsgIlwiLCBvdGhlckRhdGEpOyIpOwotICAgICAg
ICBlbGVtZW50LnNldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlLCBvdGhlckRhdGEpOwotICAg
ICAgICBzaG91bGRCZSgiZWxlbWVudFtjdXJyZW50UHJvcGVydHldIiwgIm90aGVyRGF0YSIpOwor
ICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlLCBvdGhlckRhdGFB
dHRyaWJ1dGUpOworICAgICAgICBzaG91bGRCZSgiZWxlbWVudFtjdXJyZW50UHJvcGVydHldIiwg
Im90aGVyRGF0YVByb3BlcnR5Iik7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gdGVzdFJvbGUoKSB7
CkBAIC01OSw3ICs3OCw3IEBACiAgICAgICAgIH0KIAogICAgICAgICBkZWJ1ZygiXG4iKTsKLSAg
ICAgICAgc2hvdWxkQmUoImNvdW50IiwgIjM4Iik7CisgICAgICAgIHNob3VsZEJlKCJjb3VudCIs
ICI0MCIpOwogCiAgICAgfSBlbHNlIHsKICAgICAgICAgdGVzdEZhaWxlZCgiQ291bGQgbm90IGxv
YWQgYWNjZXNzaWJpbGl0eSBjb250cm9sbGVyIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVm
bGVjdGlvbi50ZW50YXRpdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVu
dGF0aXZlLWV4cGVjdGVkLnR4dAppbmRleCBkY2EzMThiMDk4NTNhYmJhOTdkNWRmNzViZjM0M2Jj
MTUzNTg3YWMwLi4zYzVkMDI2OGJhZjllNjJjODBiMTA5MjE2MDY2YTNlMWQzMDliYjA1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9u
b2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL2Fy
aWEtZWxlbWVudC1yZWZsZWN0aW9uLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKQEAgLTksMTAgKzks
NyBAQCBGaXJzdCBkZXNjcmlwdGlvbi4KIFNlY29uZCBkZXNjcmlwdGlvbi4KIEl0ZW0gMQogSXRl
bSAyCi1JdGVtIDEKLUl0ZW0gMgogSGVsbG8gd29ybGQhCi1JIGFtIGFuIGFwcGxlCiBJIGFtIGEg
cGVhcgogSSBhbSBhIGJhbmFuYQogQmlsbGluZwpAQCAtNDcsMTcgKzQ0LDE3IEBAIFdvbmRlcmZ1
bAogRmFudGFzdGljCiAKIAotRkFJTCBhcmlhLWFjdGl2ZWRlc2NlbmRhbnQgZWxlbWVudCByZWZs
ZWN0aW9uIGFzc2VydF9lcXVhbHM6IGludmFsaWQgSUQgZm9yIHJlbGF0aW9uc2hpcCByZXR1cm5z
IG51bGwgZXhwZWN0ZWQgKG9iamVjdCkgbnVsbCBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5l
ZAotRkFJTCBJZiB0aGUgY29udGVudCBhdHRyaWJ1dGUgaXMgc2V0IGRpcmVjdGx5LCB0aGUgSURM
IGF0dHJpYnV0ZSBnZXR0ZXIgYWx3YXlzIHJldHVybnMgdGhlIGZpcnN0IGVsZW1lbnQgd2hvc2Ug
SUQgbWF0Y2hlcyB0aGUgY29udGVudCBhdHRyaWJ1dGUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVk
IChvYmplY3QpIEVsZW1lbnQgbm9kZSA8ZGl2IHJvbGU9Im9wdGlvbiIgaWQ9Im9wdGlvbjEiPkl0
ZW0gMTwvZGl2PiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJTCBTZXR0aW5nIHRo
ZSBJREwgYXR0cmlidXRlIHRvIGFuIGVsZW1lbnQgd2hpY2ggaXMgbm90IHRoZSBmaXJzdCBlbGVt
ZW50IGluIERPTSBvcmRlciB3aXRoIGl0cyBJRCBjYXVzZXMgdGhlIGNvbnRlbnQgYXR0cmlidXRl
IHRvIGJlIGFuIGVtcHR5IHN0cmluZyBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKLUZBSUwgU2V0dGluZyBhbiBlbGVtZW50IHJlZmVyZW5jZSB0aGF0IGNyb3NzZXMgaW50byBh
IHNoYWRvdyB0cmVlIGlzIGRpc2FsbG93ZWQsIGJ1dCBzZXR0aW5nIG9uZSB0aGF0IGlzIGluIGEg
c2hhZG93IGluY2x1c2l2ZSBhbmNlc3RvciBpcyBhbGxvd2VkLiBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAob2JqZWN0KSBudWxsIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlMIGFy
aWEtZXJyb3JtZXNzYWdlIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICJlcnJvck1l
c3NhZ2UiIGJ1dCBnb3QgKG9iamVjdCkgbnVsbAorUEFTUyBhcmlhLWFjdGl2ZWRlc2NlbmRhbnQg
ZWxlbWVudCByZWZsZWN0aW9uCitQQVNTIElmIHRoZSBjb250ZW50IGF0dHJpYnV0ZSBpcyBzZXQg
ZGlyZWN0bHksIHRoZSBJREwgYXR0cmlidXRlIGdldHRlciBhbHdheXMgcmV0dXJucyB0aGUgZmly
c3QgZWxlbWVudCB3aG9zZSBJRCBtYXRjaGVzIHRoZSBjb250ZW50IGF0dHJpYnV0ZS4KK1BBU1Mg
U2V0dGluZyB0aGUgSURMIGF0dHJpYnV0ZSB0byBhbiBlbGVtZW50IHdoaWNoIGlzIG5vdCB0aGUg
Zmlyc3QgZWxlbWVudCBpbiBET00gb3JkZXIgd2l0aCBpdHMgSUQgY2F1c2VzIHRoZSBjb250ZW50
IGF0dHJpYnV0ZSB0byBiZSBhbiBlbXB0eSBzdHJpbmcKK1BBU1MgU2V0dGluZyBhbiBlbGVtZW50
IHJlZmVyZW5jZSB0aGF0IGNyb3NzZXMgaW50byBhIHNoYWRvdyB0cmVlIGlzIGRpc2FsbG93ZWQs
IGJ1dCBzZXR0aW5nIG9uZSB0aGF0IGlzIGluIGEgc2hhZG93IGluY2x1c2l2ZSBhbmNlc3RvciBp
cyBhbGxvd2VkLgorUEFTUyBhcmlhLWVycm9ybWVzc2FnZQogRkFJTCBhcmlhLWRldGFpbHMgYXNz
ZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgdW5kZWZpbmVkLCBleHBlY3RlZCBhcnJheQotRkFJ
TCBEZWxldGluZyBhIHJlZmxlY3RlZCBlbGVtZW50IHNob3VsZCByZXR1cm4gbnVsbCBmb3IgdGhl
IElETCBhdHRyaWJ1dGUgYW5kIGNhdXNlIHRoZSBjb250ZW50IGF0dHJpYnV0ZSB0byBiZWNvbWUg
c3RhbGUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChvYmplY3QpIEVsZW1lbnQgbm9kZSA8ZGl2
IHJvbGU9Im9wdGlvbiIgaWQ9ImNvbnRlbnRBdHRyRWxlbWVudCI+SXRlbSAxPC9kaXY+IGJ1dCBn
b3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlMIENoYW5naW5nIHRoZSBJRCBvZiBhbiBlbGVt
ZW50IGNhdXNlcyB0aGUgY29udGVudCBhdHRyaWJ1dGUgdG8gYmVjb21lIG91dCBvZiBzeW5jLiBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAob2JqZWN0KSBFbGVtZW50IG5vZGUgPGRpdiByb2xlPSJv
cHRpb24iIGlkPSJjaGFuZ2luZ0lkRWxlbWVudCI+SXRlbSAxPC9kaXY+IGJ1dCBnb3QgKHVuZGVm
aW5lZCkgdW5kZWZpbmVkCi1GQUlMIFJlcGFyZW50aW5nIGFuIGVsZW1lbnQgaW50byBhIGRlc2Nl
bmRhbnQgc2hhZG93IHNjb3BlIGhpZGVzIHRoZSBlbGVtZW50IHJlZmVyZW5jZS4gYXNzZXJ0X2Vx
dWFsczogbnVsbCBiZWZvcmUgZXhwZWN0ZWQgKG9iamVjdCkgbnVsbCBidXQgZ290ICh1bmRlZmlu
ZWQpIHVuZGVmaW5lZAotRkFJTCBSZXBhcmVudGluZyByZWZlcmVuY2VkIGVsZW1lbnQgY2Fubm90
IGNhdXNlIHJldGFyZ2V0aW5nIG9mIHJlZmVyZW5jZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
KHN0cmluZykgImFwcGxlIiBidXQgZ290IChvYmplY3QpIG51bGwKLUZBSUwgRWxlbWVudCByZWZl
cmVuY2Ugc2V0IGluIGludmFsaWQgc2NvcGUgcmVtYWlucyBpbnRhY3QgdGhyb3VnaG91dCBtb3Zl
IHRvIHZhbGlkIHNjb3BlLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCBudWxsIGJ1dCBnb3QgRWxl
bWVudCBub2RlIDxkaXYgaWQ9InRvYXN0Ij48L2Rpdj4KK1BBU1MgRGVsZXRpbmcgYSByZWZsZWN0
ZWQgZWxlbWVudCBzaG91bGQgcmV0dXJuIG51bGwgZm9yIHRoZSBJREwgYXR0cmlidXRlIGFuZCBj
YXVzZSB0aGUgY29udGVudCBhdHRyaWJ1dGUgdG8gYmVjb21lIHN0YWxlLgorUEFTUyBDaGFuZ2lu
ZyB0aGUgSUQgb2YgYW4gZWxlbWVudCBjYXVzZXMgdGhlIGNvbnRlbnQgYXR0cmlidXRlIHRvIGJl
Y29tZSBvdXQgb2Ygc3luYy4KK1BBU1MgUmVwYXJlbnRpbmcgYW4gZWxlbWVudCBpbnRvIGEgZGVz
Y2VuZGFudCBzaGFkb3cgc2NvcGUgaGlkZXMgdGhlIGVsZW1lbnQgcmVmZXJlbmNlLgorUEFTUyBS
ZXBhcmVudGluZyByZWZlcmVuY2VkIGVsZW1lbnQgY2Fubm90IGNhdXNlIHJldGFyZ2V0aW5nIG9m
IHJlZmVyZW5jZS4KK1BBU1MgRWxlbWVudCByZWZlcmVuY2Ugc2V0IGluIGludmFsaWQgc2NvcGUg
cmVtYWlucyBpbnRhY3QgdGhyb3VnaG91dCBtb3ZlIHRvIHZhbGlkIHNjb3BlLgogRkFJTCBhcmlh
LWxhYmVsbGVkYnkuIGFzc2VydF9hcnJheV9lcXVhbHM6IHBhcnNlZCBjb250ZW50IGF0dHJpYnV0
ZSBzZXRzIGVsZW1lbnQgcmVmZXJlbmNlcy4gdmFsdWUgaXMgdW5kZWZpbmVkLCBleHBlY3RlZCBh
cnJheQogRkFJTCBhcmlhLWNvbnRyb2xzLiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyB1
bmRlZmluZWQsIGV4cGVjdGVkIGFycmF5CiBGQUlMIGFyaWEtZGVzY3JpYmVkYnkuIGFzc2VydF9h
cnJheV9lcXVhbHM6IHZhbHVlIGlzIHVuZGVmaW5lZCwgZXhwZWN0ZWQgYXJyYXkKQEAgLTY3LDYg
KzY0LDYgQEAgRkFJTCBzaGFkb3cgRE9NIGJlaGF2aW91ciBmb3IgRnJvemVuQXJyYXkgZWxlbWVu
dCByZWZsZWN0aW9uLiBhc3NlcnRfYXJyYXlfZXF1YWwKIEZBSUwgTW92aW5nIGV4cGxpY2l0bHkg
c2V0IGVsZW1lbnRzIGFjcm9zcyBzaGFkb3cgRE9NIGJvdW5kYXJpZXMuIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIChzdHJpbmcpICJidXR0b25EZXNjcmlwdGlvbjEgYnV0dG9uRGVzY3JpcHRpb24y
IiBidXQgZ290IChvYmplY3QpIG51bGwKIEZBSUwgTW92aW5nIGV4cGxpY2l0bHkgc2V0IGVsZW1l
bnRzIGFyb3VuZCB3aXRoaW4gdGhlIHNhbWUgc2NvcGUsIGFuZCByZW1vdmluZyBmcm9tIHRoZSBE
T00uIGFzc2VydF9hcnJheV9lcXVhbHM6IGFyaWEtbGFiZWxlZCBieSBpcyBzdXBwb3J0ZWQgYnkg
SURMIGdldHRlci4gdmFsdWUgaXMgdW5kZWZpbmVkLCBleHBlY3RlZCBhcnJheQogUEFTUyBSZXBh
cmVudGluZy4KLUZBSUwgQXR0YWNoaW5nIGVsZW1lbnQgcmVmZXJlbmNlIGJlZm9yZSBpdCdzIGlu
c2VydGVkIGludG8gdGhlIERPTS4gYXNzZXJ0X2VxdWFsczogUmVmZXJlbmNlZCBlbGVtZW50IG5v
dCBpbnNlcnRlZCBpbnRvIGRvY3VtZW50LCBzbyBpcyBpbiBhbiBpbnZhbGlkIHNjb3BlLiBleHBl
Y3RlZCBudWxsIGJ1dCBnb3QgRWxlbWVudCBub2RlIDxzcGFuIGlkPSJ0b1NwYW4iPjwvc3Bhbj4K
LUZBSUwgQ3Jvc3MtZG9jdW1lbnQgcmVmZXJlbmNlcyBhbmQgbW92ZXMuIGFzc2VydF9lcXVhbHM6
IENyb3NzLWRvY3VtZW50IGlzIGFuIGludmFsaWQgc2NvcGUsIHNvIHJlZmVyZW5jZSB3aWxsIG5v
dCBiZSB2aXNpYmxlLiBleHBlY3RlZCBudWxsIGJ1dCBnb3QgRWxlbWVudCBub2RlIDxzcGFuPjwv
c3Bhbj4KK1BBU1MgQXR0YWNoaW5nIGVsZW1lbnQgcmVmZXJlbmNlIGJlZm9yZSBpdCdzIGluc2Vy
dGVkIGludG8gdGhlIERPTS4KK1BBU1MgQ3Jvc3MtZG9jdW1lbnQgcmVmZXJlbmNlcyBhbmQgbW92
ZXMuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL25vZGVzL2FyaWEtZWxlbWVudC1yZWZsZWN0aW9uLnRlbnRhdGl2ZS5odG1sIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJp
YS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLmh0bWwKaW5kZXggNzc2ZmZmMzE0MzIyYjkw
MDRlMWU2NzgzYzYyNmMwMzU2Y2E4ZjBhNy4uNjFkMDQ3ZGFmMjgxZjk3MjE0ZjM0ZTkyN2NlNzYy
MjA0ODA1NmMyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20v
bm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLmh0bWwKQEAgLTE2NCw2ICsx
NjQsNyBAQAogICA8c2NyaXB0PgogCiAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgIGNvbnN0IGNv
bnRlbnRBdHRyRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250ZW50QXR0ckVs
ZW1lbnQiKTsKICAgICBjb25zdCBpZGxBdHRyRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJpZGxBdHRyRWxlbWVudCIpOwogCiAgICAgYXNzZXJ0X2VxdWFscyhkZWxldGlvblBhcmVu
dC5nZXRBdHRyaWJ1dGUoImFyaWEtYWN0aXZlZGVzY2VuZGFudCIpLCAiY29udGVudEF0dHJFbGVt
ZW50Iik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458675</attachid>
            <date>2022-05-02 05:54:11 -0700</date>
            <delta_ts>2022-05-02 06:03:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239852-20220502145409.patch</filename>
            <type>text/plain</type>
            <size>49829</size>
            <attacher name="Manuel Rego Casasnovas">rego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNDk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGRhMjFhYjkzZTYyMDczYWRhNmQyNjEz
YjZhMmE3NmY4NDRmYzEzMzguLmIwZWJkZWExMDE4YTk3ZGVlYmQ2MjIyMGVhY2QyNmVmMzkyZTA0
ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjItMDQtMjggIE1hbnVlbCBSZWdvIENhc2Fzbm92
YXMgIDxyZWdvQGlnYWxpYS5jb20+CisKKyAgICAgICAgQVJJQSByZWZsZWN0aW9uIGZvciBFbGVt
ZW50IGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzOTg1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBuZXcgcnVudGltZSBmbGFnIEFyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVy
ZW5jZXNFbmFibGVkLgorCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJl
bmNlc0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIyLTA0LTI2ICBNYW51ZWwgUmVnbyBDYXNhc25v
dmFzICA8cmVnb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFJlbW92ZSBBcmlhUmVmbGVjdGlvbkVu
YWJsZWQgcnVudGltZSBmbGFnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M0ZjhhZDU3NDljYzliNTAyM2E4ZmVj
ZTAyYzc3MGIxMTA4YTBlYi4uM2Q5MjhmYWEwYmU4N2RkOTU3NWYxMmQxYzkxMWMzZjQ3M2EwOTAw
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU4IEBACisyMDIyLTA0LTI4ICBNYW51ZWwgUmVnbyBD
YXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIEFSSUEgcmVmbGVjdGlvbiBm
b3IgRWxlbWVudCBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzk4NTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJbXBsZW1lbnQgQVJJQSByZWZsZWN0aW9uIGZvciBhdHRyaWJ1dGVzIHRo
YXQgcmVmZXIgdG8gYSBzaW5nbGUgRWxlbWVudDoKKyAgICAgICAgYXJpYS1hY3RpdmVkZXNjZW5k
YW50ICYgYXJpYS1lcnJvcm1lc3NhZ2UuCisgICAgICAgIEZvciB0aGUgcHJvcGVydGllcyBuYW1l
cyB0aGlzIHBhdGNoIHVzZXMgIkVsZW1lbnQiIHN1ZmZpeDoKKyAgICAgICAgYXJpYUFjdGl2ZURl
c2NlbmRhbnRFbGVtZW50ICYgYXJpYUVycm9yTWVzc2FnZUVsZW1lbnQ7CisgICAgICAgIHRoaXMg
bWF0Y2hlcyBDaHJvbWl1bSBpbXBsZW1lbnRhdGlvbiBhbmQgQU9NIGV4cGxhaW5lciwgYnV0IG5v
dCBBT00gc3BlYzoKKyAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL3czYy9hcmlhL2lzc3Vlcy8x
NzMyCisKKyAgICAgICAgVGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBkb25lIGZvbGxvd2luZyB0aGUg
cHJvcG9zZWQgc3BlYyB0ZXh0IGRlZmluZWQgYXQ6CisgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNv
bS93aGF0d2cvaHRtbC9wdWxsLzM5MTcKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQXJpYUF0
dHJpYnV0ZXMuaWRsOiBBZGQgYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50ICYKKyAgICAgICAg
YXJpYUVycm9yTWVzc2FnZUVsZW1lbnQuCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yLnBtOgorICAgICAgICAoR2V0dGVyRXhwcmVzc2lvbik6IEFkZCBmdW5jdGlvbiBm
b3IgRWxlbWVudCBhdHRyaWJ1dGVzLgorICAgICAgICAoU2V0dGVyRXhwcmVzc2lvbik6IERpdHRv
LgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOiBBZGQg
dGVzdHMgZm9yIGVsZW1lbnQKKyAgICAgICAgYXR0cmlidXRlIHJlZmxlY3Rpb24uCisgICAgICAg
IChXZWJDb3JlOjpKU1Rlc3RPYmpET01Db25zdHJ1Y3Rvcjo6Y29uc3RydWN0KToKKyAgICAgICAg
KFdlYkNvcmU6OmpzVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0ckdldHRlcik6CisgICAgICAg
IChXZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIpOgorICAgICAgICAoV2ViQ29yZTo6
c2V0SlNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRyU2V0dGVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Rlc3RPYmouaWRsOiBBZGQgcmVmbGVjdGVkRWxlbWVudEF0dHIKKyAgICAgICAgYXR0
cmlidXRlLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6ZW5zdXJlRXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCk6IFJldHVybiB0aGUg
bWFwCisgICAgICAgIG9mIGF0dHJpYnV0ZXMgZXhwbGljaXRseSBzZXQgZm9yIGEgZ2l2ZW4gRWxl
bWVudC4KKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDogQWRkIG1hcCB0byBzdG9yZSBFbGVtZW50
IHRoYXQgaGF2ZSBzb21lIEVsZW1lbnQKKyAgICAgICAgYXR0cmlidXRlcyBleHBsaWNpdGx5IHNl
dC4gVGhlIG1hcCBlbmRzIHVwIHN0b3JpbmcgYSBWZWN0b3Igb2YKKyAgICAgICAgRWxlbWVudHMg
aW4gcHJlcGFyYXRpb24gZm9yIHN1cHBvcnRpbmcgRnJvemVuQXJyYXk8RWxlbWVudD4gYXR0cmli
dXRlcworICAgICAgICAodGhvdWdoIHNvIGZhciBvbmx5IG9uZSBFbGVtZW50IGlzIHN0b3JlZCku
CisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNFbGVtZW50
UmVmbGVjdGlvbkF0dHJpYnV0ZSk6IFV0aWxpdHkgZnVuY3Rpb24gdG8gaWRlbnRpZnkKKyAgICAg
ICAgRWxlbWVudCByZWZsZWN0aW9uIGF0dHJpYnV0ZXMuCisgICAgICAgIChXZWJDb3JlOjpFbGVt
ZW50OjphdHRyaWJ1dGVDaGFuZ2VkKTogSWYgYW4gZWxlbWVudCByZWZsZWN0aW9uCisgICAgICAg
IGF0dHJpYnV0ZSBoYXMgY2hhbmdlZCB3ZSBuZWVkIHRvIHN5bmNocm9uaXplIHRoZSBtYXAuCisg
ICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzeW5jaHJvbml6ZUVsZW1lbnRSZWZsZWN0aW9uQXR0
cmlidXRlKTogUmVtb3ZlIHRoZQorICAgICAgICBtYXAgZm9yIHRoZSBnaXZlbiBhdHRyaWJ1dGUg
YXMgaXQnbGwgYmUgcHJvcGVybHkgdXBkYXRlZCBpbgorICAgICAgICBzZXRFbGVtZW50QXR0cmli
dXRlKCkuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojppc0Rlc2NlbmRhbnRPZlNoYWRvd0lu
Y2x1ZGluZ0FuY2VzdG9ycyBjb25zdCk6CisgICAgICAgIFV0aWxpdHkgbWV0aG9kIHRvIGRldGVj
dCBpZiBhbiBlbGVtZW50IGlzIGEgZGVzY2VuZGFudCBvZiBhbnkgb2YKKyAgICAgICAgZWxlbWVu
dCdzIHNoYWRvdy1pbmNsdWRpbmcgYW5jZXN0b3JzLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVu
dDo6Z2V0RWxlbWVudEF0dHJpYnV0ZSBjb25zdCk6IEltcGxlbWVudCBnZXR0ZXIgZm9yCisgICAg
ICAgIGVsZW1lbnQgYXR0cmlidXRlLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2V0RWxl
bWVudEF0dHJpYnV0ZSk6IEltcGxlbWVudCBzZXR0ZXIgZm9yCisgICAgICAgIGVsZW1lbnQgYXR0
cmlidXRlLgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6IEFkZCBuZXcgbWV0aG9kcyBoZWFkZXJz
LgorCiAyMDIyLTA0LTI2ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAg
ICAgICA6OmZpcnN0LWxldHRlciBkb2VzIG5vdCB3b3JrIGlmIHVzZWQgb25seSBpbiBzaGFkb3cg
Y29udGVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlBy
ZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5j
ZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAppbmRleCAwMzhlNjFhYzkyMzVjOWM3
YjhjYTUxZDllNzQ5YjkwZGY5YTAxMTBmLi44ODQ5ZjI5YTE5NDRiYTUzZDFmY2I1ZWI4NjYwYTIw
OGRiYWNhMzJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2Vi
UHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAorKysgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJl
ZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbApAQCAtNjYsNiArNjYsMTgg
QEAgQWNjZXNzaWJpbGl0eU9iamVjdE1vZGVsRW5hYmxlZDoKICAgICBXZWJLaXQ6CiAgICAgICBk
ZWZhdWx0OiBmYWxzZQogCitBcmlhUmVmbGVjdGlvbkZvckVsZW1lbnRSZWZlcmVuY2VzRW5hYmxl
ZDoKKyAgdHlwZTogYm9vbAorICBodW1hblJlYWRhYmxlTmFtZTogIkFSSUEgUmVmbGVjdGlvbiBm
b3IgRWxlbWVudCBSZWZlcmVuY2VzIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFi
bGUgQVJJQSByZWZsZWN0aW9uIGZvciBhdHRyaWJ1dGVzIHRoYXQgcmVmZXIgdG8gZWxlbWVudHMi
CisgIGRlZmF1bHRWYWx1ZToKKyAgICBXZWJLaXRMZWdhY3k6CisgICAgICBkZWZhdWx0OiBmYWxz
ZQorICAgIFdlYktpdDoKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViQ29yZToKKyAgICAg
IGRlZmF1bHQ6IGZhbHNlCisKIEFzcGVjdFJhdGlvRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBo
dW1hblJlYWRhYmxlTmFtZTogIkNTUyBBc3BlY3QgUmF0aW8iCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FyaWFBdHRyaWJ1dGVzLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQXJpYUF0dHJpYnV0ZXMuaWRsCmluZGV4IDViZTVlNDZmOGM1OTZhYzQ2
ODMzZmRjMTI0ZmEwZTcwMzEzOGUzODUuLjRjNjYwYmExODAyMTlhYTNmY2JiNjYyODRmNTMwODA5
YzRmN2NiYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQXJpYUF0
dHJpYnV0ZXMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQXJpYUF0dHJp
YnV0ZXMuaWRsCkBAIC0yNSw2ICsyNSw3IEBACiAKIC8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8v
YW9tL3NwZWMvYXJpYS1yZWZsZWN0aW9uLmh0bWwjQXJpYUF0dHJpYnV0ZXMKIGludGVyZmFjZSBt
aXhpbiBBcmlhQXR0cmlidXRlcyB7CisgICAgW1JlZmxlY3Q9YXJpYV9hY3RpdmVkZXNjZW5kYW50
LCBFbmFibGVkQnlTZXR0aW5nPUFyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5jZXNFbmFi
bGVkXSBhdHRyaWJ1dGUgRWxlbWVudD8gYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50OwogICAg
IFtSZWZsZWN0PWFyaWFfYXRvbWljXSAgICAgICAgICAgYXR0cmlidXRlIFtBdG9tU3RyaW5nXSBE
T01TdHJpbmc/IGFyaWFBdG9taWM7CiAgICAgW1JlZmxlY3Q9YXJpYV9hdXRvY29tcGxldGVdICAg
ICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUF1dG9Db21wbGV0ZTsKICAg
ICBbUmVmbGVjdD1hcmlhX2J1c3ldICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQXRvbVN0cmluZ10g
RE9NU3RyaW5nPyBhcmlhQnVzeTsKQEAgLTM0LDYgKzM1LDcgQEAgaW50ZXJmYWNlIG1peGluIEFy
aWFBdHRyaWJ1dGVzIHsKICAgICBbUmVmbGVjdD1hcmlhX2NvbHNwYW5dICAgICAgICAgIGF0dHJp
YnV0ZSBbQXRvbVN0cmluZ10gRE9NU3RyaW5nPyBhcmlhQ29sU3BhbjsKICAgICBbUmVmbGVjdD1h
cmlhX2N1cnJlbnRdICAgICAgICAgIGF0dHJpYnV0ZSBbQXRvbVN0cmluZ10gRE9NU3RyaW5nPyBh
cmlhQ3VycmVudDsKICAgICBbUmVmbGVjdD1hcmlhX2Rpc2FibGVkXSAgICAgICAgIGF0dHJpYnV0
ZSBbQXRvbVN0cmluZ10gRE9NU3RyaW5nPyBhcmlhRGlzYWJsZWQ7CisgICAgW1JlZmxlY3Q9YXJp
YV9lcnJvcm1lc3NhZ2UsIEVuYWJsZWRCeVNldHRpbmc9QXJpYVJlZmxlY3Rpb25Gb3JFbGVtZW50
UmVmZXJlbmNlc0VuYWJsZWRdIGF0dHJpYnV0ZSBFbGVtZW50PyBhcmlhRXJyb3JNZXNzYWdlRWxl
bWVudDsKICAgICBbUmVmbGVjdD1hcmlhX2V4cGFuZGVkXSAgICAgICAgIGF0dHJpYnV0ZSBbQXRv
bVN0cmluZ10gRE9NU3RyaW5nPyBhcmlhRXhwYW5kZWQ7CiAgICAgW1JlZmxlY3Q9YXJpYV9oYXNw
b3B1cF0gICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUhhc1Bv
cHVwOwogICAgIFtSZWZsZWN0PWFyaWFfaGlkZGVuXSAgICAgICAgICAgYXR0cmlidXRlIFtBdG9t
U3RyaW5nXSBET01TdHJpbmc/IGFyaWFIaWRkZW47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KaW5kZXggNzFiMzZiY2U1NTNjYzFlNGRmMzk5
NmQyYmQ0YTI4YWVkMDdhMmM5Mi4uYjhkN2E0ZjBiYmZmOWQ4MWU0NTFmYTUyNTVmNGQzMDZjNzZj
YzZlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9yLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvci5wbQpAQCAtMTEwOCw2ICsxMTA4LDggQEAgc3ViIEdldHRlckV4cHJlc3Npb24KICAgICAg
ICAgJGZ1bmN0aW9uTmFtZSA9ICJnZXRJbnRlZ3JhbEF0dHJpYnV0ZSI7CiAgICAgfSBlbHNpZiAo
JGF0dHJpYnV0ZVR5cGUtPm5hbWUgZXEgInVuc2lnbmVkIGxvbmciKSB7CiAgICAgICAgICRmdW5j
dGlvbk5hbWUgPSAiZ2V0VW5zaWduZWRJbnRlZ3JhbEF0dHJpYnV0ZSI7CisgICAgfSBlbHNpZiAo
JGF0dHJpYnV0ZVR5cGUtPm5hbWUgZXEgIkVsZW1lbnQiKSB7CisgICAgICAgICRmdW5jdGlvbk5h
bWUgPSAiZ2V0RWxlbWVudEF0dHJpYnV0ZSI7CiAgICAgfSBlbHNlIHsKICAgICAgICAgaWYgKCRj
b250ZW50QXR0cmlidXRlTmFtZSBlcSAiV2ViQ29yZTo6SFRNTE5hbWVzOjppZEF0dHIiKSB7CiAg
ICAgICAgICAgICAkZnVuY3Rpb25OYW1lID0gImdldElkQXR0cmlidXRlIjsKQEAgLTExNDUsNiAr
MTE0Nyw4IEBAIHN1YiBTZXR0ZXJFeHByZXNzaW9uCiAgICAgICAgICRmdW5jdGlvbk5hbWUgPSAi
c2V0SW50ZWdyYWxBdHRyaWJ1dGUiOwogICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGVUeXBlLT5uYW1l
IGVxICJ1bnNpZ25lZCBsb25nIikgewogICAgICAgICAkZnVuY3Rpb25OYW1lID0gInNldFVuc2ln
bmVkSW50ZWdyYWxBdHRyaWJ1dGUiOworICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGVUeXBlLT5uYW1l
IGVxICJFbGVtZW50IikgeworICAgICAgICAkZnVuY3Rpb25OYW1lID0gInNldEVsZW1lbnRBdHRy
aWJ1dGUiOwogICAgIH0gZWxzaWYgKCRnZW5lcmF0b3ItPklzU1ZHQW5pbWF0ZWRUeXBlKCRhdHRy
aWJ1dGVUeXBlKSkgewogICAgICAgICAkZnVuY3Rpb25OYW1lID0gInNldEF0dHJpYnV0ZSI7CiAg
ICAgfSBlbHNlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE9iai5jcHAKaW5kZXggNTU4YTkxNmUzZTk1N2M1ZDIzYTY4Zjc3YjUzZTQy
MmE3MjliYmI1Ni4uY2M2MTk1YjRkMzhiNzhlYjc5YTUwZGEwZTE2NWM1NmE5NjYxZGEyNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9i
ai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE9iai5jcHAKQEAgLTE4MDMsNiArMTgwMyw4IEBAIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01f
R0VUVEVSKGpzVGVzdE9ial9yZWZsZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0cik7CiBzdGF0aWMg
SlNDX0RFQ0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVW5zaWduZWRJ
bnRlZ3JhbEF0dHIpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNUZXN0T2Jq
X3JlZmxlY3RlZEJvb2xlYW5BdHRyKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdE9ial9yZWZsZWN0ZWRCb29sZWFuQXR0cik7CitzdGF0aWMgSlNDX0RFQ0xBUkVf
Q1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0dHIpOworc3RhdGljIEpT
Q19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRy
KTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVzdE9ial9yZWZsZWN0ZWRV
UkxBdHRyKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9y
ZWZsZWN0ZWRVUkxBdHRyKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVz
dE9ial9yZWZsZWN0ZWRVU1ZVUkxBdHRyKTsKQEAgLTIxNzUsNiArMjE3Nyw3IEBAIHN0YXRpYyBj
b25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZVZhbHVlc1tdID0KICAg
ICB7ICJyZWZsZWN0ZWRJbnRlZ3JhbEF0dHIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpET01BdHRyaWJ1dGUpLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJv
cGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ial9yZWZsZWN0ZWRJbnRlZ3JhbEF0dHIp
LCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihz
ZXRKU1Rlc3RPYmpfcmVmbGVjdGVkSW50ZWdyYWxBdHRyKSB9IH0sCiAgICAgeyAicmVmbGVjdGVk
VW5zaWduZWRJbnRlZ3JhbEF0dHIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpET01B
dHRyaWJ1dGUpLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlT
bG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ial9yZWZsZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0
ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+
KHNldEpTVGVzdE9ial9yZWZsZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0cikgfSB9LAogICAgIHsg
InJlZmxlY3RlZEJvb2xlYW5BdHRyIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RE9N
QXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5
U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpfcmVmbGVjdGVkQm9vbGVhbkF0dHIpLCAoaW50
cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rl
c3RPYmpfcmVmbGVjdGVkQm9vbGVhbkF0dHIpIH0gfSwKKyAgICB7ICJyZWZsZWN0ZWRFbGVtZW50
QXR0ciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0
b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50
cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVu
Yz4oanNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2Fz
dDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3JlZmxlY3RlZEVs
ZW1lbnRBdHRyKSB9IH0sCiAgICAgeyAicmVmbGVjdGVkVVJMQXR0ciIsIHN0YXRpY19jYXN0PHVu
c2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClz
dGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqX3JlZmxlY3Rl
ZFVSTEF0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFs
dWVGdW5jPihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVVJMQXR0cikgfSB9LAogICAgIHsgInJlZmxl
Y3RlZFVTVlVSTEF0dHIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6Q3VzdG9tQWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpET01BdHRyaWJ1
dGUpLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpH
ZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ial9yZWZsZWN0ZWRVU1ZVUkxBdHRyKSwgKGludHB0cl90KSBz
dGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3Jl
ZmxlY3RlZFVTVlVSTEF0dHIpIH0gfSwKICAgICB7ICJyZWZsZWN0ZWRTdHJpbmdBdHRyIiwgc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29y
IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsg
KGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RP
YmpfcmVmbGVjdGVkU3RyaW5nQXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVy
dHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9ial9yZWZsZWN0ZWRTdHJpbmdBdHRyKSB9
IH0sCkBAIC0zOTE4LDYgKzM5MjEsMzcgQEAgSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpT
VGVzdE9ial9yZWZsZWN0ZWRCb29sZWFuQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXgKICAgICBy
ZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfcmVmbGVjdGVk
Qm9vbGVhbkF0dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29k
ZWRWYWx1ZSwgYXR0cmlidXRlTmFtZSk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rl
c3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0dHJHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxH
bG9iYWxPYmplY3QsIEpTVGVzdE9iaiYgdGhpc09iamVjdCkKK3sKKyAgICBhdXRvJiB2bSA9IEpT
Qzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpOworICAgIGF1dG8gdGhyb3dTY29wZSA9IERF
Q0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIGF1dG8mIGltcGwgPSB0aGlzT2JqZWN0LndyYXBw
ZWQoKTsKKyAgICBSRUxFQVNFX0FORF9SRVRVUk4odGhyb3dTY29wZSwgKHRvSlM8SURMSW50ZXJm
YWNlPEVsZW1lbnQ+PihsZXhpY2FsR2xvYmFsT2JqZWN0LCAqdGhpc09iamVjdC5nbG9iYWxPYmpl
Y3QoKSwgdGhyb3dTY29wZSwgaW1wbC5nZXRFbGVtZW50QXR0cmlidXRlKFdlYkNvcmU6OkhUTUxO
YW1lczo6cmVmbGVjdGVkZWxlbWVudGF0dHJBdHRyKSkpKTsKK30KKworSlNDX0RFRklORV9DVVNU
T01fR0VUVEVSKGpzVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0ciwgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5
TmFtZSBhdHRyaWJ1dGVOYW1lKSkKK3sKKyAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9i
aj46OmdldDxqc1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0dHJHZXR0ZXIsIENhc3RlZFRoaXNF
cnJvckJlaGF2aW9yOjpBc3NlcnQ+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGF0
dHJpYnV0ZU5hbWUpOworfQorCitzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX3JlZmxl
Y3RlZEVsZW1lbnRBdHRyU2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBKU1Rlc3RPYmomIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpCit7CisgICAgYXV0byYgdm0g
PSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKKyAgICBhdXRvIHRocm93U2NvcGUg
PSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAgICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53
cmFwcGVkKCk7CisgICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZlcnQ8SURMSW50ZXJmYWNlPEVs
ZW1lbnQ+PihsZXhpY2FsR2xvYmFsT2JqZWN0LCB2YWx1ZSwgW10oSlNDOjpKU0dsb2JhbE9iamVj
dCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpUaHJvd1Njb3BlJiBzY29wZSkgeyB0aHJvd0F0
dHJpYnV0ZVR5cGVFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBzY29wZSwgIlRlc3RPYmplY3Qi
LCAicmVmbGVjdGVkRWxlbWVudEF0dHIiLCAiRWxlbWVudCIpOyB9KTsKKyAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNlKTsKKyAgICBpbnZva2VGdW5jdG9yUHJvcGFnYXRp
bmdFeGNlcHRpb25JZk5lY2Vzc2FyeShsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aHJvd1Njb3BlLCBb
Jl0geworICAgICAgICByZXR1cm4gaW1wbC5zZXRFbGVtZW50QXR0cmlidXRlKFdlYkNvcmU6OkhU
TUxOYW1lczo6cmVmbGVjdGVkZWxlbWVudGF0dHJBdHRyLCAqbmF0aXZlVmFsdWUpOworICAgIH0p
OworICAgIHJldHVybiB0cnVlOworfQorCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNU
ZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlLCBQcm9wZXJ0eU5hbWUgYXR0cmlidXRlTmFtZSkpCit7CisgICAgcmV0dXJuIElETEF0
dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRy
U2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsIGF0
dHJpYnV0ZU5hbWUpOworfQorCiBzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0T2JqX3JlZmxl
Y3RlZFVSTEF0dHJHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpT
VGVzdE9iaiYgdGhpc09iamVjdCkKIHsKICAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0oJmxleGlj
YWxHbG9iYWxPYmplY3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Rlc3RPYmouaWRsIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Rlc3RPYmouaWRsCmluZGV4IDEwZjY1MWE1NzVlNzdiNzUwMDJiODcwY2RiYjg5OGZmYTQ2
NjMzYzkuLjdlOTgyZDUxNjI0YjRjZmQ4Yjg2ZWQ1MTQ3N2Y3MTdiMWJiZmU1YzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKQEAgLTEw
NCw2ICsxMDQsNyBAQCBlbnVtIFRlc3RDb25maWRlbmNlIHsgImhpZ2giLCAia2luZGEtbG93IiB9
OwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgbG9uZyByZWZsZWN0ZWRJbnRlZ3JhbEF0dHI7CiAg
ICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHJlZmxlY3RlZFVuc2lnbmVkSW50
ZWdyYWxBdHRyOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgYm9vbGVhbiByZWZsZWN0ZWRCb29s
ZWFuQXR0cjsKKyAgICBbUmVmbGVjdF0gYXR0cmlidXRlIEVsZW1lbnQgcmVmbGVjdGVkRWxlbWVu
dEF0dHI7CiAgICAgW1JlZmxlY3QsIFVSTF0gYXR0cmlidXRlIERPTVN0cmluZyByZWZsZWN0ZWRV
UkxBdHRyOwogICAgIFtSZWZsZWN0LCBVUkxdIGF0dHJpYnV0ZSBVU1ZTdHJpbmcgcmVmbGVjdGVk
VVNWVVJMQXR0cjsKICAgICBbUmVmbGVjdD1jdXN0b21Db250ZW50U3RyaW5nQXR0cl0gYXR0cmli
dXRlIERPTVN0cmluZyByZWZsZWN0ZWRTdHJpbmdBdHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAK
aW5kZXggMjlhMTJkOWEwNTYyMzgxMjRjOTI0MGU4YmEzYTA4MjFkYWZlMmRlNS4uMTU4NmEwMDcz
MmQ5YWRjNTJhMDZkNzRjZjRjZTcxNjkyZmUwMDU4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CkBAIC05MTcyLDYgKzkxNzIsMTIgQEAgYm9vbCBEb2N1bWVudDo6aXNTYW1lU2l0ZUZvckNvb2tp
ZXMoY29uc3QgVVJMJiB1cmwpIGNvbnN0CiAgICAgcmV0dXJuIGRvbWFpbi5tYXRjaGVzKHVybCk7
CiB9CiAKK0V4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAmIERvY3VtZW50OjplbnN1cmVFeHBs
aWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpCit7CisgICAg
QVNTRVJUKCZlbGVtZW50LmRvY3VtZW50KCkgPT0gdGhpcyk7CisgICAgcmV0dXJuIG1fZWxlbWVu
dEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAuYWRkKGVsZW1lbnQsIEV4cGxpY2l0bHlTZXRB
dHRyRWxlbWVudHNNYXAoKSkuaXRlcmF0b3ItPnZhbHVlOworfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKICN1bmRlZiBET0NVTUVOVF9SRUxFQVNFX0xPRwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApp
bmRleCBiMGY3ZDU3ZDU4ZTdjNTMyZjUyNDM2ZjI5ZTc0ZGIyOGNhNGIwM2ZmLi5iODYyMTBlOTIx
YzBhMzA5MjgxNWQ4ZWQ0ZDlmMGU4M2FiYWNjZjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAt
NjcsNiArNjcsNyBAQAogI2luY2x1ZGUgPHd0Zi9PYmplY3RJZGVudGlmaWVyLmg+CiAjaW5jbHVk
ZSA8d3RmL09ic2VydmVyLmg+CiAjaW5jbHVkZSA8d3RmL1VuaXF1ZVJlZi5oPgorI2luY2x1ZGUg
PHd0Zi9XZWFrSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrSGFzaFNldC5oPgogI2luY2x1
ZGUgPHd0Zi9XZWFrUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbVN0cmluZ0hhc2guaD4K
QEAgLTI3MSw2ICsyNzIsNyBAQCBlbnVtIGNsYXNzIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25UeXBl
IDogdWludDhfdDsKIHVzaW5nIE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlRmxhZ3MgPSBPcHRpb25T
ZXQ8TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU+OwogdXNpbmcgTWVkaWFQcm9kdWNlck11dGVkU3Rh
dGVGbGFncyA9IE9wdGlvblNldDxNZWRpYVByb2R1Y2VyTXV0ZWRTdGF0ZT47CiB1c2luZyBQbGF0
Zm9ybURpc3BsYXlJRCA9IHVpbnQzMl90OwordXNpbmcgRXhwbGljaXRseVNldEF0dHJFbGVtZW50
c01hcCA9IEhhc2hNYXA8UXVhbGlmaWVkTmFtZSwgVmVjdG9yPFdlYWtQdHI8RWxlbWVudD4+PjsK
IAogbmFtZXNwYWNlIFN0eWxlIHsKIGNsYXNzIFJlc29sdmVyOwpAQCAtMTY4NSw2ICsxNjg3LDgg
QEAgcHVibGljOgogCiAgICAgc3RkOjpvcHRpb25hbDxQQUw6OlNlc3Npb25JRD4gc2Vzc2lvbklE
KCkgY29uc3QgZmluYWw7CiAKKyAgICBFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwJiBlbnN1
cmVFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKGNvbnN0IEVsZW1lbnQmKTsKKwogcHJvdGVj
dGVkOgogICAgIGVudW0gQ29uc3RydWN0aW9uRmxhZ3MgeyBTeW50aGVzaXplZCA9IDEsIE5vblJl
bmRlcmVkUGxhY2Vob2xkZXIgPSAxIDw8IDEgfTsKICAgICBXRUJDT1JFX0VYUE9SVCBEb2N1bWVu
dChGcmFtZSosIGNvbnN0IFNldHRpbmdzJiwgY29uc3QgVVJMJiwgRG9jdW1lbnRDbGFzc2VzID0g
eyB9LCB1bnNpZ25lZCBjb25zdHJ1Y3Rpb25GbGFncyA9IDAsIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRJZGVudGlmaWVyID0geyB9KTsKQEAgLTIyNzcsNiArMjI4MSw4IEBAIHByaXZhdGU6CiAgICAg
VmVjdG9yPEZ1bmN0aW9uPHZvaWQoKT4+IG1fd2hlbklzVmlzaWJsZUhhbmRsZXJzOwogCiAgICAg
V2Vha0hhc2hTZXQ8RWxlbWVudD4gbV9lbGVtZW50c1dpdGhQZW5kaW5nVXNlckFnZW50U2hhZG93
VHJlZVVwZGF0ZXM7CisKKyAgICBXZWFrSGFzaE1hcDxFbGVtZW50LCBFeHBsaWNpdGx5U2V0QXR0
ckVsZW1lbnRzTWFwPiBtX2VsZW1lbnRFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwOwogfTsK
IAogRWxlbWVudCogZXZlbnRUYXJnZXRFbGVtZW50Rm9yRG9jdW1lbnQoRG9jdW1lbnQqKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmNwcAppbmRleCAwYmQyNjcyMWNiZTg3MDQ3MzZiMThhNzU2ZTg4ZjA2NWE2
NDA3MjNjLi4zZDQ4OTA3YmJlYzEyN2MxYzUxYzdiMDQxMTJlNjQ1OTY2ZDdiZTRhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuY3BwCkBAIC0xOTAxLDYgKzE5MDEsMTEgQEAgc3RhdGljIGlubGluZSBBdG9t
U3RyaW5nIG1ha2VJZEZvclN0eWxlUmVzb2x1dGlvbihjb25zdCBBdG9tU3RyaW5nJiB2YWx1ZSwg
Ym9vbAogICAgIHJldHVybiB2YWx1ZTsKIH0KIAorc3RhdGljIGJvb2wgaXNFbGVtZW50UmVmbGVj
dGlvbkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lKQoreworICAgIHJldHVybiBu
YW1lID09IEhUTUxOYW1lczo6YXJpYV9hY3RpdmVkZXNjZW5kYW50QXR0ciB8fCBuYW1lID09IEhU
TUxOYW1lczo6YXJpYV9lcnJvcm1lc3NhZ2VBdHRyOworfQorCiB2b2lkIEVsZW1lbnQ6OmF0dHJp
YnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYg
b2xkVmFsdWUsIGNvbnN0IEF0b21TdHJpbmcmIG5ld1ZhbHVlLCBBdHRyaWJ1dGVNb2RpZmljYXRp
b25SZWFzb24pCiB7CiAgICAgYm9vbCB2YWx1ZUlzU2FtZUFzQmVmb3JlID0gb2xkVmFsdWUgPT0g
bmV3VmFsdWU7CkBAIC0xOTM3LDYgKzE5NDIsOCBAQCB2b2lkIEVsZW1lbnQ6OmF0dHJpYnV0ZUNo
YW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYgb2xkVgog
ICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgaWYgKG5hbWUgPT0gSFRNTE5hbWVzOjpwYXJ0
QXR0cikKICAgICAgICAgICAgIHBhcnRBdHRyaWJ1dGVDaGFuZ2VkKG5ld1ZhbHVlKTsKKyAgICAg
ICAgZWxzZSBpZiAoaXNFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0ZShuYW1lKSkKKyAgICAgICAg
ICAgIHN5bmNocm9uaXplRWxlbWVudFJlZmxlY3Rpb25BdHRyaWJ1dGUobmFtZSk7CiAgICAgICAg
IGVsc2UgaWYgKG5hbWUgPT0gSFRNTE5hbWVzOjpleHBvcnRwYXJ0c0F0dHIpIHsKICAgICAgICAg
ICAgIGlmIChhdXRvKiBzaGFkb3dSb290ID0gdGhpcy0+c2hhZG93Um9vdCgpKSB7CiAgICAgICAg
ICAgICAgICAgc2hhZG93Um9vdC0+aW52YWxpZGF0ZVBhcnRNYXBwaW5ncygpOwpAQCAtMTk2MSw2
ICsxOTY4LDcxIEBAIHZvaWQgRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZp
ZWROYW1lJiBuYW1lLCBjb25zdCBBdG9tU3RyaW5nJiBvbGRWCiAgICAgICAgIGNhY2hlLT5kZWZl
ckF0dHJpYnV0ZUNoYW5nZUlmTmVlZGVkKG5hbWUsIHRoaXMpOwogfQogCit2b2lkIEVsZW1lbnQ6
OnN5bmNocm9uaXplRWxlbWVudFJlZmxlY3Rpb25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgYXR0cmlidXRlTmFtZSkKK3sKKyAgICBBU1NFUlQoZG9jdW1lbnQoKS5zZXR0aW5ncygpLmFy
aWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5jZXNFbmFibGVkKCkpOworICAgIEFTU0VSVChp
c0VsZW1lbnRSZWZsZWN0aW9uQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpKTsKKworICAgIGRvY3Vt
ZW50KCkuZW5zdXJlRXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCgqdGhpcykucmVtb3ZlKGF0
dHJpYnV0ZU5hbWUpOworfQorCitib29sIEVsZW1lbnQ6OmlzRGVzY2VuZGFudE9mU2hhZG93SW5j
bHVkaW5nQW5jZXN0b3JzKGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpIGNvbnN0Cit7CisgICAgaWYg
KCFpc0luVHJlZVNjb3BlKCkgfHwgIWVsZW1lbnQuaXNJblRyZWVTY29wZSgpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICBmb3IgKGF1dG8qIHJvb3QgPSBjb250YWluaW5nU2hhZG93Um9v
dCgpOyByb290OyByb290ID0gcm9vdC0+aG9zdCgpLT5jb250YWluaW5nU2hhZG93Um9vdCgpKSB7
CisgICAgICAgIGlmIChlbGVtZW50LmlzRGVzY2VuZGFudE9mKHJvb3QpKQorICAgICAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIGVsZW1lbnQuaXNEZXNjZW5kYW50T2Yo
ZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSk7Cit9CisKK0VsZW1lbnQqIEVsZW1lbnQ6Omdl
dEVsZW1lbnRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgY29u
c3QKK3sKKyAgICBBU1NFUlQoZG9jdW1lbnQoKS5zZXR0aW5ncygpLmFyaWFSZWZsZWN0aW9uRm9y
RWxlbWVudFJlZmVyZW5jZXNFbmFibGVkKCkpOworICAgIEFTU0VSVChpc0VsZW1lbnRSZWZsZWN0
aW9uQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpKTsKKworICAgIGF1dG8mIGV4cGxpY2l0bHlTZXRB
dHRyRWxlbWVudHNNYXAgPSBkb2N1bWVudCgpLmVuc3VyZUV4cGxpY2l0bHlTZXRBdHRyRWxlbWVu
dHNNYXAoKnRoaXMpOworICAgIGF1dG8gaXQgPSBleHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFw
LmZpbmQoYXR0cmlidXRlTmFtZSk7CisgICAgaWYgKGl0ICE9IGV4cGxpY2l0bHlTZXRBdHRyRWxl
bWVudHNNYXAuZW5kKCkpIHsKKyAgICAgICAgQVNTRVJUKGl0LT52YWx1ZS5zaXplKCkgPT0gMSk7
CisgICAgICAgIGF1dG8qIGVsZW1lbnQgPSBpdC0+dmFsdWVbMF0uZ2V0KCk7CisgICAgICAgIEFT
U0VSVChlbGVtZW50KTsKKyAgICAgICAgaWYgKGlzRGVzY2VuZGFudE9mU2hhZG93SW5jbHVkaW5n
QW5jZXN0b3JzKCplbGVtZW50KSkKKyAgICAgICAgICAgIHJldHVybiBlbGVtZW50OworICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKKyAgICBhdXRvIGlkID0gZ2V0QXR0cmlidXRlKGF0
dHJpYnV0ZU5hbWUpOworICAgIGlmIChpZC5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisKKyAgICByZXR1cm4gdHJlZVNjb3BlKCkuZ2V0RWxlbWVudEJ5SWQoaWQpOworfQorCit2
b2lkIEVsZW1lbnQ6OnNldEVsZW1lbnRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0
cmlidXRlTmFtZSwgRWxlbWVudCogZWxlbWVudCkKK3sKKyAgICBBU1NFUlQoZG9jdW1lbnQoKS5z
ZXR0aW5ncygpLmFyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5jZXNFbmFibGVkKCkpOwor
ICAgIEFTU0VSVChpc0VsZW1lbnRSZWZsZWN0aW9uQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpKTsK
KworICAgIGF1dG8mIGV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAgPSBkb2N1bWVudCgpLmVu
c3VyZUV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoKnRoaXMpOworICAgIGlmICghZWxlbWVu
dCkgeworICAgICAgICBleHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwLnJlbW92ZShhdHRyaWJ1
dGVOYW1lKTsKKyAgICAgICAgcmVtb3ZlQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgYXV0byBpZCA9IGVsZW1lbnQtPmdldElkQXR0cmlidXRl
KCk7CisgICAgaWYgKCFpZC5pc051bGwoKSAmJiAmdHJlZVNjb3BlKCkgPT0gJmVsZW1lbnQtPnRy
ZWVTY29wZSgpICYmIHRyZWVTY29wZSgpLmdldEVsZW1lbnRCeUlkKGlkKSA9PSBlbGVtZW50KQor
ICAgICAgICBzZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSwgaWQpOworICAgIGVsc2UKKyAgICAg
ICAgc2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUsIGVtcHR5QXRvbSgpKTsKKworICAgIGV4cGxp
Y2l0bHlTZXRBdHRyRWxlbWVudHNNYXAuc2V0KGF0dHJpYnV0ZU5hbWUsIFZlY3RvcjxXZWFrUHRy
PEVsZW1lbnQ+PiB7IGVsZW1lbnQgfSk7Cit9CisKIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0
ZXJUeXBlPgogc3RhdGljIGlubGluZSBib29sIGlzTm9uRW1wdHlUb2tlbkxpc3QoY29uc3QgQ2hh
cmFjdGVyVHlwZSogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmgKaW5kZXggOWNhYmUzYWRjZDc1OGM1MmViYjg1OTYxMjYwYjUyMWZiMjU4MDMwNy4uYzViNDJm
ZTk4ZjM5MjhmNzU1MDQ1Y2JkYTU5NzUwYWE3YzRlYWFjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBA
IC0xMjEsNiArMTIxLDggQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0SW50
ZWdyYWxBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSwgaW50IHZh
bHVlKTsKICAgICBXRUJDT1JFX0VYUE9SVCB1bnNpZ25lZCBnZXRVbnNpZ25lZEludGVncmFsQXR0
cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIGNvbnN0OwogICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgc2V0VW5zaWduZWRJbnRlZ3JhbEF0dHJpYnV0ZShjb25zdCBRdWFs
aWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lLCB1bnNpZ25lZCB2YWx1ZSk7CisgICAgV0VCQ09SRV9F
WFBPUlQgRWxlbWVudCogZ2V0RWxlbWVudEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBh
dHRyaWJ1dGVOYW1lKSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEVsZW1lbnRB
dHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSwgRWxlbWVudCogdmFs
dWUpOwogCiAgICAgLy8gQ2FsbCB0aGlzIHRvIGdldCB0aGUgdmFsdWUgb2YgYW4gYXR0cmlidXRl
IHRoYXQgaXMga25vd24gbm90IHRvIGJlIHRoZSBzdHlsZQogICAgIC8vIGF0dHJpYnV0ZSBvciBv
bmUgb2YgdGhlIFNWRyBhbmltYXRhYmxlIGF0dHJpYnV0ZXMuCkBAIC03MzksNiArNzQxLDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIHNldEF0dHJpYnV0ZUludGVybmFsKHVuc2lnbmVkIGluZGV4LCBj
b25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbVN0cmluZyYgdmFsdWUsIFN5bmNocm9uaXph
dGlvbk9mTGF6eUF0dHJpYnV0ZSk7CiAgICAgdm9pZCBhZGRBdHRyaWJ1dGVJbnRlcm5hbChjb25z
dCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbVN0cmluZyYgdmFsdWUsIFN5bmNocm9uaXphdGlv
bk9mTGF6eUF0dHJpYnV0ZSk7CiAgICAgdm9pZCByZW1vdmVBdHRyaWJ1dGVJbnRlcm5hbCh1bnNp
Z25lZCBpbmRleCwgU3luY2hyb25pemF0aW9uT2ZMYXp5QXR0cmlidXRlKTsKKyAgICB2b2lkIHN5
bmNocm9uaXplRWxlbWVudFJlZmxlY3Rpb25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYp
OwogCiAgICAgdm9pZCBzZXRTYXZlZExheWVyU2Nyb2xsUG9zaXRpb25TbG93KGNvbnN0IEludFBv
aW50Jik7CiAgICAgdm9pZCBjbGVhckJlZm9yZVBzZXVkb0VsZW1lbnRTbG93KCk7CkBAIC03ODUs
NiArNzg4LDggQEAgcHJpdmF0ZToKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGZhc3RBdHRyaWJ1
dGVMb29rdXBBbGxvd2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25zdDsKICNlbmRpZgogCisg
ICAgYm9vbCBpc0Rlc2NlbmRhbnRPZlNoYWRvd0luY2x1ZGluZ0FuY2VzdG9ycyhjb25zdCBFbGVt
ZW50JikgY29uc3Q7CisKICAgICBRdWFsaWZpZWROYW1lIG1fdGFnTmFtZTsKICAgICBSZWZQdHI8
RWxlbWVudERhdGE+IG1fZWxlbWVudERhdGE7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzMmNjZTQ1YzEwM2IzOGQyNmQw
YmFmZjQwZDU1YTE2ZjUzZTY2YWIwLi44NzZhYTg3MTA2NzNkNGVlMTcxYTQ4Yjg4MmQyMmU0ODc3
ODY5NTQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjItMDQtMjkgIE1hbnVlbCBSZWdvIENh
c2Fzbm92YXMgIDxyZWdvQGlnYWxpYS5jb20+CisKKyAgICAgICAgQVJJQSByZWZsZWN0aW9uIGZv
ciBFbGVtZW50IGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzOTg1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFVwZGF0ZSB0ZXN0IHRvIGluY2x1ZGUgdGhlIG5ldyByZWZsZWN0ZWQgYXR0
cmlidXRlcy4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVJJQS1yZWZsZWN0aW9uLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FSSUEtcmVmbGVjdGlvbi5odG1sOgor
CiAyMDIyLTA0LTI2ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAg
ICA6OmZpcnN0LWxldHRlciBkb2VzIG5vdCB3b3JrIGlmIHVzZWQgb25seSBpbiBzaGFkb3cgY29u
dGVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMmU1MzhjNjBjOWNmZDQ1NTUx
NjQ5NTM3NDdkMWY4MzRkZTA4YzIyZC4uZTRhOTAwZTBlNWMwMzQxNTc4MzYxNTk0Yzg3ZGIyODll
YzZmZGUwYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMjItMDQtMjggIE1hbnVlbCBSZWdvIENhc2Fzbm92YXMgIDxyZWdvQGlnYWxpYS5jb20+CisK
KyAgICAgICAgQVJJQSByZWZsZWN0aW9uIGZvciBFbGVtZW50IGF0dHJpYnV0ZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTg1MgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNtYWxsIGZpeCBvbiB0aGUg
dGVzdCBhbmQgdXBkYXRlIHRlc3QgcmVzdWx0cyB3aXRoIHRoZSBuZXcgUEFTUy4KKworICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24u
dGVudGF0aXZlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L25vZGVzL2FyaWEtZWxlbWVudC1yZWZsZWN0aW9uLnRlbnRhdGl2ZS5odG1sOgorCiAyMDIyLTA0
LTI2ICBPcmlvbCBCcnVmYXUgIDxvYnJ1ZmF1QGlnYWxpYS5jb20+CiAKICAgICAgICAgW2Nzcy1j
YXNjYWRlXSBGaXggY2FzY2FkZSByb2xsYmFjayBmb3IgZGVmZXJyZWQgcHJvcGVydGllcwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rpb24tZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rpb24tZXhwZWN0
ZWQudHh0CmluZGV4IDk1MDRiNjliY2JhY2QyNDFiOTU4NTQzMDJlZjU0NzRlMzUyYTQ5OGUuLmUz
ZmVlYzMwYzRjN2E5ZWFmYWQxYTk0ZGVkZWVjNjNmODhiYjgwZTcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvQVJJQS1yZWZsZWN0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L0FSSUEtcmVmbGVjdGlvbi1leHBlY3RlZC50eHQKQEAg
LTcsMzE3ICs3LDI5MiBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogVGVzdCByb2xlIDwgLSA+
IHJvbGUKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsicm9sZSJd
ID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMg
ZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRh
QXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgicm9sZSIsIG90aGVyRGF0YSk7Ci1QQVNT
IGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CisKK1Rlc3QgYXJpYUFjdGl2ZURlc2Nl
bmRhbnRFbGVtZW50IDwgLSA+IGFyaWEtYWN0aXZlZGVzY2VuZGFudAorUEFTUyBlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSBpcyBudWxsCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRy
aWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKK2VsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWFjdGl2
ZWRlc2NlbmRhbnQiLCBvdGhlckRhdGEpOworUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0g
aXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhQXRvbWljIDwgLSA+IGFyaWEtYXRvbWlj
CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFBdG9taWMi
XSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0
YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtYXRvbWljIiwgb3RoZXJEYXRh
KTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVt
ZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhQXV0
b0NvbXBsZXRlIDwgLSA+IGFyaWEtYXV0b2NvbXBsZXRlCiBQQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1
dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFBdXRvQ29tcGxldGUiXSA9IGRhdGE7Ci1QQVNTIGVs
ZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVu
dC5zZXRBdHRyaWJ1dGUoImFyaWEtYXV0b2NvbXBsZXRlIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQ
cm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhQnVzeSA8IC0gPiBhcmlh
LWJ1c3kKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUJ1
c3kiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUp
IGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMg
ZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtYnVzeSIsIG90aGVyRGF0
YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUNo
ZWNrZWQgPCAtID4gYXJpYS1jaGVja2VkCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51
bGwKLWVsZW1lbnRbImFyaWFDaGVja2VkIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRl
KGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRl
KCJhcmlhLWNoZWNrZWQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0
eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRh
dGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFDb2xDb3VudCA8IC0gPiBhcmlhLWNvbGNvdW50CiBQQVNT
IGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFDb2xDb3VudCJdID0g
ZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0
YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0
cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1jb2xjb3VudCIsIG90aGVyRGF0YSk7
Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUNvbElu
ZGV4IDwgLSA+IGFyaWEtY29saW5kZXgKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlz
IG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVs
bAotZWxlbWVudFsiYXJpYUNvbEluZGV4Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRl
KGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRl
KCJhcmlhLWNvbGluZGV4Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVy
dHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJE
YXRhUHJvcGVydHkKIAogVGVzdCBhcmlhQ29sU3BhbiA8IC0gPiBhcmlhLWNvbHNwYW4KIFBBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1
dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUNvbFNwYW4iXSA9IGRh
dGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEK
K1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJp
YnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtY29sc3BhbiIsIG90aGVyRGF0YSk7Ci1Q
QVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtj
dXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUN1cnJlbnQg
PCAtID4gYXJpYS1jdXJyZW50CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxs
CiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVs
ZW1lbnRbImFyaWFDdXJyZW50Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShj
dXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlh
LWN1cnJlbnQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMg
b3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9w
ZXJ0eQogCiBUZXN0IGFyaWFEaXNhYmxlZCA8IC0gPiBhcmlhLWRpc2FibGVkCiBQQVNTIGVsZW1l
bnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1
cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFEaXNhYmxlZCJdID0gZGF0YTsK
LVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFT
UyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRl
CiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1kaXNhYmxlZCIsIG90aGVyRGF0YSk7Ci1QQVNT
IGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CisKK1Rlc3QgYXJpYUVycm9yTWVzc2Fn
ZUVsZW1lbnQgPCAtID4gYXJpYS1lcnJvcm1lc3NhZ2UKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJv
cGVydHldIGlzIG51bGwKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgbnVsbAorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBkYXRhQXR0cmlidXRlCitlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1lcnJvcm1lc3NhZ2Ui
LCBvdGhlckRhdGEpOworUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRh
UHJvcGVydHkKIAogVGVzdCBhcmlhRXhwYW5kZWQgPCAtID4gYXJpYS1leHBhbmRlZAogUEFTUyBl
bGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0
ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhRXhwYW5kZWQiXSA9IGRh
dGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEK
K1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJp
YnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCBvdGhlckRhdGEpOwot
UEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRb
Y3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFIYXNQb3B1
cCA8IC0gPiBhcmlhLWhhc3BvcHVwCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBu
dWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwK
LWVsZW1lbnRbImFyaWFIYXNQb3B1cCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1
dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShj
dXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgi
YXJpYS1oYXNwb3B1cCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0
YVByb3BlcnR5CiAKIFRlc3QgYXJpYUhpZGRlbiA8IC0gPiBhcmlhLWhpZGRlbgogUEFTUyBlbGVt
ZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShj
dXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhSGlkZGVuIl0gPSBkYXRhOwot
UEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUK
IGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsIG90aGVyRGF0YSk7Ci1QQVNTIGVs
ZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50
UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUludmFsaWQgPCAtID4g
YXJpYS1pbnZhbGlkCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRb
ImFyaWFJbnZhbGlkIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRy
aWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWludmFs
aWQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJE
YXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQog
CiBUZXN0IGFyaWFLZXlTaG9ydGN1dHMgPCAtID4gYXJpYS1rZXlzaG9ydGN1dHMKIFBBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUo
Y3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUtleVNob3J0Y3V0cyJdID0g
ZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0
YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0
cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1rZXlzaG9ydGN1dHMiLCBvdGhlckRh
dGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVs
ZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFM
YWJlbCA8IC0gPiBhcmlhLWxhYmVsCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBu
dWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwK
LWVsZW1lbnRbImFyaWFMYWJlbCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUo
Y3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJp
YS1sYWJlbCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBv
dGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3Bl
cnR5CiAKIFRlc3QgYXJpYUxldmVsIDwgLSA+IGFyaWEtbGV2ZWwKIFBBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUxldmVsIl0gPSBkYXRhOwotUEFTUyBlbGVt
ZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQu
c2V0QXR0cmlidXRlKCJhcmlhLWxldmVsIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0g
aXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhTGl2ZSA8IC0gPiBhcmlhLWxpdmUKIFBB
U1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRy
aWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUxpdmUiXSA9IGRh
dGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEK
K1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJp
YnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbGl2ZSIsIG90aGVyRGF0YSk7Ci1QQVNT
IGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYU1vZGFsIDwgLSA+
IGFyaWEtbW9kYWwKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1Mg
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsi
YXJpYU1vZGFsIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0
cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1
dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLW1vZGFsIiwg
b3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQor
UEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVz
dCBhcmlhTXVsdGlMaW5lIDwgLSA+IGFyaWEtbXVsdGlsaW5lCiBQQVNTIGVsZW1lbnRbY3VycmVu
dFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRy
aWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFNdWx0aUxpbmUiXSA9IGRhdGE7Ci1QQVNTIGVs
ZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVu
dC5zZXRBdHRyaWJ1dGUoImFyaWEtbXVsdGlsaW5lIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9w
ZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhTXVsdGlTZWxlY3RhYmxlIDwg
LSA+IGFyaWEtbXVsdGlzZWxlY3RhYmxlCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51
bGwKLWVsZW1lbnRbImFyaWFNdWx0aVNlbGVjdGFibGUiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRB
dHRyaWJ1dGUoImFyaWEtbXVsdGlzZWxlY3RhYmxlIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9w
ZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhT3JpZW50YXRpb24gPCAtID4g
YXJpYS1vcmllbnRhdGlvbgogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAog
UEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVt
ZW50WyJhcmlhT3JpZW50YXRpb24iXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRl
KGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFy
aWEtb3JpZW50YXRpb24iLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0
eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRh
dGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFQbGFjZWhvbGRlciA8IC0gPiBhcmlhLXBsYWNlaG9sZGVy
CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFQbGFjZWhv
bGRlciJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1wbGFjZWhvbGRlciIs
IG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEK
K1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRl
c3QgYXJpYVBvc0luU2V0IDwgLSA+IGFyaWEtcG9zaW5zZXQKIFBBU1MgZWxlbWVudFtjdXJyZW50
UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJp
YnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVBvc0luU2V0Il0gPSBkYXRhOwotUEFTUyBlbGVt
ZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQu
c2V0QXR0cmlidXRlKCJhcmlhLXBvc2luc2V0Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtj
dXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0
eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhUHJlc3NlZCA8IC0gPiBhcmlhLXBy
ZXNzZWQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVBy
ZXNzZWQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1
dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkg
aXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsIG90
aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BB
U1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3Qg
YXJpYVJlYWRPbmx5IDwgLSA+IGFyaWEtcmVhZG9ubHkKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJv
cGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVJlYWRPbmx5Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50
LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0
QXR0cmlidXRlKCJhcmlhLXJlYWRvbmx5Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0g
aXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhUmVsZXZhbnQgPCAtID4gYXJpYS1yZWxl
dmFudAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50
LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhUmVs
ZXZhbnQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1
dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkg
aXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtcmVsZXZhbnQiLCBv
dGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQ
QVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0
IGFyaWFSZXF1aXJlZCA8IC0gPiBhcmlhLXJlcXVpcmVkCiBQQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1
dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFSZXF1aXJlZCJdID0gZGF0YTsKLVBBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNl
dEF0dHJpYnV0ZSgiYXJpYS1yZXF1aXJlZCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3Vy
cmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHld
IGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVJvbGVEZXNjcmlwdGlvbiA8IC0gPiBh
cmlhLXJvbGVkZXNjcmlwdGlvbgogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVs
bAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1l
bGVtZW50WyJhcmlhUm9sZURlc2NyaXB0aW9uIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmli
dXRlKCJhcmlhLXJvbGVkZXNjcmlwdGlvbiIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3Vy
cmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHld
IGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVJvd0NvdW50IDwgLSA+IGFyaWEtcm93
Y291bnQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVJv
d0NvdW50Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmli
dXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUp
IGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXJvd2NvdW50Iiwg
b3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQor
UEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVz
dCBhcmlhUm93SW5kZXggPCAtID4gYXJpYS1yb3dpbmRleAogUEFTUyBlbGVtZW50W2N1cnJlbnRQ
cm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmli
dXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhUm93SW5kZXgiXSA9IGRhdGE7Ci1QQVNTIGVsZW1l
bnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5n
ZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5z
ZXRBdHRyaWJ1dGUoImFyaWEtcm93aW5kZXgiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFSb3dTcGFuIDwgLSA+IGFyaWEtcm93
c3BhbgogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50
LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhUm93
U3BhbiJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1yb3dzcGFuIiwgb3Ro
ZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFT
UyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBh
cmlhU2VsZWN0ZWQgPCAtID4gYXJpYS1zZWxlY3RlZAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9w
ZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRl
KSBpcyBudWxsCi1lbGVtZW50WyJhcmlhU2VsZWN0ZWQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRB
dHRyaWJ1dGUoImFyaWEtc2VsZWN0ZWQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJl
bnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFTZXRTaXplIDwgLSA+IGFyaWEtc2V0c2l6
ZQogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhU2V0U2l6
ZSJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkg
aXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBk
YXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1zZXRzaXplIiwgb3RoZXJE
YXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBl
bGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlh
U29ydCA8IC0gPiBhcmlhLXNvcnQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51
bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAot
ZWxlbWVudFsiYXJpYVNvcnQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1
cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVu
dEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEt
c29ydCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhl
ckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5
CiAKIFRlc3QgYXJpYVZhbHVlTWF4IDwgLSA+IGFyaWEtdmFsdWVtYXgKIFBBU1MgZWxlbWVudFtj
dXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVu
dEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVZhbHVlTWF4Il0gPSBkYXRhOwotUEFT
UyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVs
ZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVs
ZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXZhbHVlbWF4Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQ
cm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhVmFsdWVNaW4gPCAtID4g
YXJpYS12YWx1ZW1pbgogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFT
UyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50
WyJhcmlhVmFsdWVNaW4iXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtdmFs
dWVtaW4iLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3Ro
ZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0
eQogCiBUZXN0IGFyaWFWYWx1ZU5vdyA8IC0gPiBhcmlhLXZhbHVlbm93CiBQQVNTIGVsZW1lbnRb
Y3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFWYWx1ZU5vdyJdID0gZGF0YTsKLVBB
U1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBl
bGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS12YWx1ZW5vdyIsIG90aGVyRGF0YSk7Ci1QQVNTIGVs
ZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50
UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVZhbHVlVGV4dCA8IC0g
PiBhcmlhLXZhbHVldGV4dAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAog
UEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVt
ZW50WyJhcmlhVmFsdWVUZXh0Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShj
dXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlh
LXZhbHVldGV4dCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVBy
b3BlcnR5CiAKIAotUEFTUyBjb3VudCBpcyAzOAorUEFTUyBjb3VudCBpcyA0MAogUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9hY2Nlc3NpYmlsaXR5L0FSSUEtcmVmbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rpb24uaHRtbAppbmRleCAzMjNiMTg5YzRlM2U0MDFh
NGZmZDU2ZDRjZmVlNDY0NzI5YWZmOTE4Li45M2E5YjdhMTdmOWE0NGU0Y2QxMWJlY2E5NjlmMGNl
NTc3NjljZWVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L0FSSUEtcmVm
bGVjdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvQVJJQS1yZWZsZWN0
aW9uLmh0bWwKQEAgLTUsNyArNSw4IEBACiA8ZGl2IGlkPSJjb250ZW50Ij4KIAogPGRpdiBpZD0i
dGVzdCIgZGF0YT0ic29tZSBkYXRhIj4KLQorICA8ZGl2IGlkPSJmaXJzdENoaWxkIj48L2Rpdj4K
KyAgPGRpdiBpZD0ic2Vjb25kQ2hpbGQiPjwvZGl2PgogPC9kaXY+CiAKIDxwIGlkPSJkZXNjcmlw
dGlvbiI+PC9wPgpAQCAtMjEsMjIgKzIyLDQwIEBACiAgICAgdmFyIGN1cnJlbnRQcm9wZXJ0eTsK
ICAgICB2YXIgY3VycmVudEF0dHJpYnV0ZTsKIAorICAgIGZ1bmN0aW9uIGlzRWxlbWVudFJlZmxl
Y3Rpb25Qcm9wZXJ0eShwcm9wZXJ0eSkgeworICAgICAgICBzd2l0Y2ggKHByb3BlcnR5KSB7Cisg
ICAgICAgICAgICBjYXNlICJhcmlhQWN0aXZlRGVzY2VuZGFudEVsZW1lbnQiOgorICAgICAgICAg
ICAgY2FzZSAiYXJpYUVycm9yTWVzc2FnZUVsZW1lbnQiOgorICAgICAgICAgICAgICAgIHJldHVy
biB0cnVlOworICAgICAgICB9CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBm
dW5jdGlvbiBjb252ZXJ0UHJvcGVydHlUb0F0dHJpYnV0ZShwcm9wZXJ0eSkgeworICAgICAgICBp
ZiAoaXNFbGVtZW50UmVmbGVjdGlvblByb3BlcnR5KHByb3BlcnR5KSkKKyAgICAgICAgICBwcm9w
ZXJ0eSA9IHByb3BlcnR5LnJlcGxhY2UoIkVsZW1lbnQiLCAiIik7CisgICAgICAgIHJldHVybiBw
cm9wZXJ0eS5yZXBsYWNlKCJhcmlhIiwgImFyaWEtIikudG9Mb3dlckNhc2UoKTsKKyAgICB9CisK
ICAgICBmdW5jdGlvbiB0ZXN0RWxlbWVudCgpIHsKLSAgICAgICAgY3VycmVudEF0dHJpYnV0ZSA9
IGN1cnJlbnRQcm9wZXJ0eS5yZXBsYWNlKCJhcmlhIiwgImFyaWEtIikudG9Mb3dlckNhc2UoKTsK
LSAgICAgICAgCisgICAgICAgIGN1cnJlbnRBdHRyaWJ1dGUgPSBjb252ZXJ0UHJvcGVydHlUb0F0
dHJpYnV0ZShjdXJyZW50UHJvcGVydHkpOworCiAgICAgICAgIGRlYnVnKCJcblRlc3QgIiArIGN1
cnJlbnRQcm9wZXJ0eSArICIgPCAtID4gIiArIGN1cnJlbnRBdHRyaWJ1dGUpOwogICAgICAgICBz
aG91bGRCZU51bGwoImVsZW1lbnRbY3VycmVudFByb3BlcnR5XSIpOwogICAgICAgICBzaG91bGRC
ZU51bGwoImVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIik7Ci0gICAgICAg
IAorCiAgICAgICAgIC8vIFNldCB0aGUgcHJvcGVydHkgdmFsdWUKLSAgICAgICAgZGVidWcoImVs
ZW1lbnRbXCIiICsgY3VycmVudFByb3BlcnR5ICsgIlwiXSA9IGRhdGE7Iik7Ci0gICAgICAgIGVs
ZW1lbnRbY3VycmVudFByb3BlcnR5XSA9IGRhdGE7Ci0gICAgICAgIHNob3VsZEJlKCJlbGVtZW50
LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSIsICJkYXRhIik7CisgICAgICAgIGRhdGFQ
cm9wZXJ0eSA9IGlzRWxlbWVudFJlZmxlY3Rpb25Qcm9wZXJ0eShjdXJyZW50UHJvcGVydHkpID8g
Zmlyc3RDaGlsZCA6IGRhdGE7CisgICAgICAgIGRhdGFBdHRyaWJ1dGUgPSBpc0VsZW1lbnRSZWZs
ZWN0aW9uUHJvcGVydHkoY3VycmVudFByb3BlcnR5KSA/IGZpcnN0Q2hpbGQuaWQgOiBkYXRhOwor
ICAgICAgICBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gPSBkYXRhUHJvcGVydHk7CisgICAgICAg
IHNob3VsZEJlKCJlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSIsICJkYXRh
QXR0cmlidXRlIik7CiAKICAgICAgICAgLy8gU2V0IHRoZSBhdHRyaWJ1dGUgdmFsdWUKKyAgICAg
ICAgb3RoZXJEYXRhUHJvcGVydHkgPSBpc0VsZW1lbnRSZWZsZWN0aW9uUHJvcGVydHkoY3VycmVu
dFByb3BlcnR5KSA/IHNlY29uZENoaWxkIDogb3RoZXJEYXRhOworICAgICAgICBvdGhlckRhdGFB
dHRyaWJ1dGUgPSBpc0VsZW1lbnRSZWZsZWN0aW9uUHJvcGVydHkoY3VycmVudFByb3BlcnR5KSA/
IHNlY29uZENoaWxkLmlkIDogb3RoZXJEYXRhOwogICAgICAgICBkZWJ1ZygiZWxlbWVudC5zZXRB
dHRyaWJ1dGUoXCIiICsgY3VycmVudEF0dHJpYnV0ZSArICJcIiwgb3RoZXJEYXRhKTsiKTsKLSAg
ICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSwgb3RoZXJEYXRhKTsK
LSAgICAgICAgc2hvdWxkQmUoImVsZW1lbnRbY3VycmVudFByb3BlcnR5XSIsICJvdGhlckRhdGEi
KTsKKyAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSwgb3RoZXJE
YXRhQXR0cmlidXRlKTsKKyAgICAgICAgc2hvdWxkQmUoImVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSIsICJvdGhlckRhdGFQcm9wZXJ0eSIpOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIHRlc3RSb2xl
KCkgewpAQCAtNTksNyArNzgsNyBAQAogICAgICAgICB9CiAKICAgICAgICAgZGVidWcoIlxuIik7
Ci0gICAgICAgIHNob3VsZEJlKCJjb3VudCIsICIzOCIpOworICAgICAgICBzaG91bGRCZSgiY291
bnQiLCAiNDAiKTsKIAogICAgIH0gZWxzZSB7CiAgICAgICAgIHRlc3RGYWlsZWQoIkNvdWxkIG5v
dCBsb2FkIGFjY2Vzc2liaWxpdHkgY29udHJvbGxlciIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50
LXJlZmxlY3Rpb24udGVudGF0aXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL2FyaWEtZWxlbWVudC1yZWZsZWN0aW9u
LnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKaW5kZXggZGNhMzE4YjA5ODUzYWJiYTk3ZDVkZjc1YmYz
NDNiYzE1MzU4N2FjMC4uM2M1ZDAyNjhiYWY5ZTYyYzgwYjEwOTIxNjA2NmEzZTFkMzA5YmIwNSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rl
cy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CkBAIC05LDEw
ICs5LDcgQEAgRmlyc3QgZGVzY3JpcHRpb24uCiBTZWNvbmQgZGVzY3JpcHRpb24uCiBJdGVtIDEK
IEl0ZW0gMgotSXRlbSAxCi1JdGVtIDIKIEhlbGxvIHdvcmxkIQotSSBhbSBhbiBhcHBsZQogSSBh
bSBhIHBlYXIKIEkgYW0gYSBiYW5hbmEKIEJpbGxpbmcKQEAgLTQ3LDE3ICs0NCwxNyBAQCBXb25k
ZXJmdWwKIEZhbnRhc3RpYwogCiAKLUZBSUwgYXJpYS1hY3RpdmVkZXNjZW5kYW50IGVsZW1lbnQg
cmVmbGVjdGlvbiBhc3NlcnRfZXF1YWxzOiBpbnZhbGlkIElEIGZvciByZWxhdGlvbnNoaXAgcmV0
dXJucyBudWxsIGV4cGVjdGVkIChvYmplY3QpIG51bGwgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRl
ZmluZWQKLUZBSUwgSWYgdGhlIGNvbnRlbnQgYXR0cmlidXRlIGlzIHNldCBkaXJlY3RseSwgdGhl
IElETCBhdHRyaWJ1dGUgZ2V0dGVyIGFsd2F5cyByZXR1cm5zIHRoZSBmaXJzdCBlbGVtZW50IHdo
b3NlIElEIG1hdGNoZXMgdGhlIGNvbnRlbnQgYXR0cmlidXRlLiBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAob2JqZWN0KSBFbGVtZW50IG5vZGUgPGRpdiByb2xlPSJvcHRpb24iIGlkPSJvcHRpb24x
Ij5JdGVtIDE8L2Rpdj4gYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgU2V0dGlu
ZyB0aGUgSURMIGF0dHJpYnV0ZSB0byBhbiBlbGVtZW50IHdoaWNoIGlzIG5vdCB0aGUgZmlyc3Qg
ZWxlbWVudCBpbiBET00gb3JkZXIgd2l0aCBpdHMgSUQgY2F1c2VzIHRoZSBjb250ZW50IGF0dHJp
YnV0ZSB0byBiZSBhbiBlbXB0eSBzdHJpbmcgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290
IGZhbHNlCi1GQUlMIFNldHRpbmcgYW4gZWxlbWVudCByZWZlcmVuY2UgdGhhdCBjcm9zc2VzIGlu
dG8gYSBzaGFkb3cgdHJlZSBpcyBkaXNhbGxvd2VkLCBidXQgc2V0dGluZyBvbmUgdGhhdCBpcyBp
biBhIHNoYWRvdyBpbmNsdXNpdmUgYW5jZXN0b3IgaXMgYWxsb3dlZC4gYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgKG9iamVjdCkgbnVsbCBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJ
TCBhcmlhLWVycm9ybWVzc2FnZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAiZXJy
b3JNZXNzYWdlIiBidXQgZ290IChvYmplY3QpIG51bGwKK1BBU1MgYXJpYS1hY3RpdmVkZXNjZW5k
YW50IGVsZW1lbnQgcmVmbGVjdGlvbgorUEFTUyBJZiB0aGUgY29udGVudCBhdHRyaWJ1dGUgaXMg
c2V0IGRpcmVjdGx5LCB0aGUgSURMIGF0dHJpYnV0ZSBnZXR0ZXIgYWx3YXlzIHJldHVybnMgdGhl
IGZpcnN0IGVsZW1lbnQgd2hvc2UgSUQgbWF0Y2hlcyB0aGUgY29udGVudCBhdHRyaWJ1dGUuCitQ
QVNTIFNldHRpbmcgdGhlIElETCBhdHRyaWJ1dGUgdG8gYW4gZWxlbWVudCB3aGljaCBpcyBub3Qg
dGhlIGZpcnN0IGVsZW1lbnQgaW4gRE9NIG9yZGVyIHdpdGggaXRzIElEIGNhdXNlcyB0aGUgY29u
dGVudCBhdHRyaWJ1dGUgdG8gYmUgYW4gZW1wdHkgc3RyaW5nCitQQVNTIFNldHRpbmcgYW4gZWxl
bWVudCByZWZlcmVuY2UgdGhhdCBjcm9zc2VzIGludG8gYSBzaGFkb3cgdHJlZSBpcyBkaXNhbGxv
d2VkLCBidXQgc2V0dGluZyBvbmUgdGhhdCBpcyBpbiBhIHNoYWRvdyBpbmNsdXNpdmUgYW5jZXN0
b3IgaXMgYWxsb3dlZC4KK1BBU1MgYXJpYS1lcnJvcm1lc3NhZ2UKIEZBSUwgYXJpYS1kZXRhaWxz
IGFzc2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzIHVuZGVmaW5lZCwgZXhwZWN0ZWQgYXJyYXkK
LUZBSUwgRGVsZXRpbmcgYSByZWZsZWN0ZWQgZWxlbWVudCBzaG91bGQgcmV0dXJuIG51bGwgZm9y
IHRoZSBJREwgYXR0cmlidXRlIGFuZCBjYXVzZSB0aGUgY29udGVudCBhdHRyaWJ1dGUgdG8gYmVj
b21lIHN0YWxlLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAob2JqZWN0KSBFbGVtZW50IG5vZGUg
PGRpdiByb2xlPSJvcHRpb24iIGlkPSJjb250ZW50QXR0ckVsZW1lbnQiPkl0ZW0gMTwvZGl2PiBi
dXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJTCBDaGFuZ2luZyB0aGUgSUQgb2YgYW4g
ZWxlbWVudCBjYXVzZXMgdGhlIGNvbnRlbnQgYXR0cmlidXRlIHRvIGJlY29tZSBvdXQgb2Ygc3lu
Yy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKG9iamVjdCkgRWxlbWVudCBub2RlIDxkaXYgcm9s
ZT0ib3B0aW9uIiBpZD0iY2hhbmdpbmdJZEVsZW1lbnQiPkl0ZW0gMTwvZGl2PiBidXQgZ290ICh1
bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJTCBSZXBhcmVudGluZyBhbiBlbGVtZW50IGludG8gYSBk
ZXNjZW5kYW50IHNoYWRvdyBzY29wZSBoaWRlcyB0aGUgZWxlbWVudCByZWZlcmVuY2UuIGFzc2Vy
dF9lcXVhbHM6IG51bGwgYmVmb3JlIGV4cGVjdGVkIChvYmplY3QpIG51bGwgYnV0IGdvdCAodW5k
ZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgUmVwYXJlbnRpbmcgcmVmZXJlbmNlZCBlbGVtZW50IGNh
bm5vdCBjYXVzZSByZXRhcmdldGluZyBvZiByZWZlcmVuY2UuIGFzc2VydF9lcXVhbHM6IGV4cGVj
dGVkIChzdHJpbmcpICJhcHBsZSIgYnV0IGdvdCAob2JqZWN0KSBudWxsCi1GQUlMIEVsZW1lbnQg
cmVmZXJlbmNlIHNldCBpbiBpbnZhbGlkIHNjb3BlIHJlbWFpbnMgaW50YWN0IHRocm91Z2hvdXQg
bW92ZSB0byB2YWxpZCBzY29wZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgbnVsbCBidXQgZ290
IEVsZW1lbnQgbm9kZSA8ZGl2IGlkPSJ0b2FzdCI+PC9kaXY+CitQQVNTIERlbGV0aW5nIGEgcmVm
bGVjdGVkIGVsZW1lbnQgc2hvdWxkIHJldHVybiBudWxsIGZvciB0aGUgSURMIGF0dHJpYnV0ZSBh
bmQgY2F1c2UgdGhlIGNvbnRlbnQgYXR0cmlidXRlIHRvIGJlY29tZSBzdGFsZS4KK1BBU1MgQ2hh
bmdpbmcgdGhlIElEIG9mIGFuIGVsZW1lbnQgY2F1c2VzIHRoZSBjb250ZW50IGF0dHJpYnV0ZSB0
byBiZWNvbWUgb3V0IG9mIHN5bmMuCitQQVNTIFJlcGFyZW50aW5nIGFuIGVsZW1lbnQgaW50byBh
IGRlc2NlbmRhbnQgc2hhZG93IHNjb3BlIGhpZGVzIHRoZSBlbGVtZW50IHJlZmVyZW5jZS4KK1BB
U1MgUmVwYXJlbnRpbmcgcmVmZXJlbmNlZCBlbGVtZW50IGNhbm5vdCBjYXVzZSByZXRhcmdldGlu
ZyBvZiByZWZlcmVuY2UuCitQQVNTIEVsZW1lbnQgcmVmZXJlbmNlIHNldCBpbiBpbnZhbGlkIHNj
b3BlIHJlbWFpbnMgaW50YWN0IHRocm91Z2hvdXQgbW92ZSB0byB2YWxpZCBzY29wZS4KIEZBSUwg
YXJpYS1sYWJlbGxlZGJ5LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiBwYXJzZWQgY29udGVudCBhdHRy
aWJ1dGUgc2V0cyBlbGVtZW50IHJlZmVyZW5jZXMuIHZhbHVlIGlzIHVuZGVmaW5lZCwgZXhwZWN0
ZWQgYXJyYXkKIEZBSUwgYXJpYS1jb250cm9scy4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUg
aXMgdW5kZWZpbmVkLCBleHBlY3RlZCBhcnJheQogRkFJTCBhcmlhLWRlc2NyaWJlZGJ5LiBhc3Nl
cnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyB1bmRlZmluZWQsIGV4cGVjdGVkIGFycmF5CkBAIC02
Nyw2ICs2NCw2IEBAIEZBSUwgc2hhZG93IERPTSBiZWhhdmlvdXIgZm9yIEZyb3plbkFycmF5IGVs
ZW1lbnQgcmVmbGVjdGlvbi4gYXNzZXJ0X2FycmF5X2VxdWFsCiBGQUlMIE1vdmluZyBleHBsaWNp
dGx5IHNldCBlbGVtZW50cyBhY3Jvc3Mgc2hhZG93IERPTSBib3VuZGFyaWVzLiBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAiYnV0dG9uRGVzY3JpcHRpb24xIGJ1dHRvbkRlc2NyaXB0
aW9uMiIgYnV0IGdvdCAob2JqZWN0KSBudWxsCiBGQUlMIE1vdmluZyBleHBsaWNpdGx5IHNldCBl
bGVtZW50cyBhcm91bmQgd2l0aGluIHRoZSBzYW1lIHNjb3BlLCBhbmQgcmVtb3ZpbmcgZnJvbSB0
aGUgRE9NLiBhc3NlcnRfYXJyYXlfZXF1YWxzOiBhcmlhLWxhYmVsZWQgYnkgaXMgc3VwcG9ydGVk
IGJ5IElETCBnZXR0ZXIuIHZhbHVlIGlzIHVuZGVmaW5lZCwgZXhwZWN0ZWQgYXJyYXkKIFBBU1Mg
UmVwYXJlbnRpbmcuCi1GQUlMIEF0dGFjaGluZyBlbGVtZW50IHJlZmVyZW5jZSBiZWZvcmUgaXQn
cyBpbnNlcnRlZCBpbnRvIHRoZSBET00uIGFzc2VydF9lcXVhbHM6IFJlZmVyZW5jZWQgZWxlbWVu
dCBub3QgaW5zZXJ0ZWQgaW50byBkb2N1bWVudCwgc28gaXMgaW4gYW4gaW52YWxpZCBzY29wZS4g
ZXhwZWN0ZWQgbnVsbCBidXQgZ290IEVsZW1lbnQgbm9kZSA8c3BhbiBpZD0idG9TcGFuIj48L3Nw
YW4+Ci1GQUlMIENyb3NzLWRvY3VtZW50IHJlZmVyZW5jZXMgYW5kIG1vdmVzLiBhc3NlcnRfZXF1
YWxzOiBDcm9zcy1kb2N1bWVudCBpcyBhbiBpbnZhbGlkIHNjb3BlLCBzbyByZWZlcmVuY2Ugd2ls
bCBub3QgYmUgdmlzaWJsZS4gZXhwZWN0ZWQgbnVsbCBidXQgZ290IEVsZW1lbnQgbm9kZSA8c3Bh
bj48L3NwYW4+CitQQVNTIEF0dGFjaGluZyBlbGVtZW50IHJlZmVyZW5jZSBiZWZvcmUgaXQncyBp
bnNlcnRlZCBpbnRvIHRoZSBET00uCitQQVNTIENyb3NzLWRvY3VtZW50IHJlZmVyZW5jZXMgYW5k
IG1vdmVzLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50YXRpdmUuaHRt
bCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVz
L2FyaWEtZWxlbWVudC1yZWZsZWN0aW9uLnRlbnRhdGl2ZS5odG1sCmluZGV4IDc3NmZmZjMxNDMy
MmI5MDA0ZTFlNjc4M2M2MjZjMDM1NmNhOGYwYTcuLjYxZDA0N2RhZjI4MWY5NzIxNGYzNGU5Mjdj
ZTc2MjIwNDgwNTZjMjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL2FyaWEtZWxlbWVudC1yZWZsZWN0aW9uLnRlbnRhdGl2
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL25vZGVzL2FyaWEtZWxlbWVudC1yZWZsZWN0aW9uLnRlbnRhdGl2ZS5odG1sCkBAIC0xNjQs
NiArMTY0LDcgQEAKICAgPHNjcmlwdD4KIAogICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICBjb25z
dCBjb250ZW50QXR0ckVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGVudEF0
dHJFbGVtZW50Iik7CiAgICAgY29uc3QgaWRsQXR0ckVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiaWRsQXR0ckVsZW1lbnQiKTsKIAogICAgIGFzc2VydF9lcXVhbHMoZGVsZXRpb25Q
YXJlbnQuZ2V0QXR0cmlidXRlKCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnQiKSwgImNvbnRlbnRBdHRy
RWxlbWVudCIpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458676</attachid>
            <date>2022-05-02 06:03:14 -0700</date>
            <delta_ts>2022-05-02 22:41:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239852-20220502150312.patch</filename>
            <type>text/plain</type>
            <size>51099</size>
            <attacher name="Manuel Rego Casasnovas">rego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNDk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGRhMjFhYjkzZTYyMDczYWRhNmQyNjEz
YjZhMmE3NmY4NDRmYzEzMzguLmIwZWJkZWExMDE4YTk3ZGVlYmQ2MjIyMGVhY2QyNmVmMzkyZTA0
ZmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjItMDQtMjggIE1hbnVlbCBSZWdvIENhc2Fzbm92
YXMgIDxyZWdvQGlnYWxpYS5jb20+CisKKyAgICAgICAgQVJJQSByZWZsZWN0aW9uIGZvciBFbGVt
ZW50IGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzOTg1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBuZXcgcnVudGltZSBmbGFnIEFyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVy
ZW5jZXNFbmFibGVkLgorCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJl
bmNlc0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIyLTA0LTI2ICBNYW51ZWwgUmVnbyBDYXNhc25v
dmFzICA8cmVnb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFJlbW92ZSBBcmlhUmVmbGVjdGlvbkVu
YWJsZWQgcnVudGltZSBmbGFnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M0ZjhhZDU3NDljYzliNTAyM2E4ZmVj
ZTAyYzc3MGIxMTA4YTBlYi4uM2Q5MjhmYWEwYmU4N2RkOTU3NWYxMmQxYzkxMWMzZjQ3M2EwOTAw
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU4IEBACisyMDIyLTA0LTI4ICBNYW51ZWwgUmVnbyBD
YXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIEFSSUEgcmVmbGVjdGlvbiBm
b3IgRWxlbWVudCBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzk4NTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJbXBsZW1lbnQgQVJJQSByZWZsZWN0aW9uIGZvciBhdHRyaWJ1dGVzIHRo
YXQgcmVmZXIgdG8gYSBzaW5nbGUgRWxlbWVudDoKKyAgICAgICAgYXJpYS1hY3RpdmVkZXNjZW5k
YW50ICYgYXJpYS1lcnJvcm1lc3NhZ2UuCisgICAgICAgIEZvciB0aGUgcHJvcGVydGllcyBuYW1l
cyB0aGlzIHBhdGNoIHVzZXMgIkVsZW1lbnQiIHN1ZmZpeDoKKyAgICAgICAgYXJpYUFjdGl2ZURl
c2NlbmRhbnRFbGVtZW50ICYgYXJpYUVycm9yTWVzc2FnZUVsZW1lbnQ7CisgICAgICAgIHRoaXMg
bWF0Y2hlcyBDaHJvbWl1bSBpbXBsZW1lbnRhdGlvbiBhbmQgQU9NIGV4cGxhaW5lciwgYnV0IG5v
dCBBT00gc3BlYzoKKyAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL3czYy9hcmlhL2lzc3Vlcy8x
NzMyCisKKyAgICAgICAgVGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBkb25lIGZvbGxvd2luZyB0aGUg
cHJvcG9zZWQgc3BlYyB0ZXh0IGRlZmluZWQgYXQ6CisgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNv
bS93aGF0d2cvaHRtbC9wdWxsLzM5MTcKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQXJpYUF0
dHJpYnV0ZXMuaWRsOiBBZGQgYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50ICYKKyAgICAgICAg
YXJpYUVycm9yTWVzc2FnZUVsZW1lbnQuCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yLnBtOgorICAgICAgICAoR2V0dGVyRXhwcmVzc2lvbik6IEFkZCBmdW5jdGlvbiBm
b3IgRWxlbWVudCBhdHRyaWJ1dGVzLgorICAgICAgICAoU2V0dGVyRXhwcmVzc2lvbik6IERpdHRv
LgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOiBBZGQg
dGVzdHMgZm9yIGVsZW1lbnQKKyAgICAgICAgYXR0cmlidXRlIHJlZmxlY3Rpb24uCisgICAgICAg
IChXZWJDb3JlOjpKU1Rlc3RPYmpET01Db25zdHJ1Y3Rvcjo6Y29uc3RydWN0KToKKyAgICAgICAg
KFdlYkNvcmU6OmpzVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0ckdldHRlcik6CisgICAgICAg
IChXZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIpOgorICAgICAgICAoV2ViQ29yZTo6
c2V0SlNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRyU2V0dGVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Rlc3RPYmouaWRsOiBBZGQgcmVmbGVjdGVkRWxlbWVudEF0dHIKKyAgICAgICAgYXR0
cmlidXRlLgorICAgICAgICAqIGRvbS9Eb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpE
b2N1bWVudDo6ZW5zdXJlRXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCk6IFJldHVybiB0aGUg
bWFwCisgICAgICAgIG9mIGF0dHJpYnV0ZXMgZXhwbGljaXRseSBzZXQgZm9yIGEgZ2l2ZW4gRWxl
bWVudC4KKyAgICAgICAgKiBkb20vRG9jdW1lbnQuaDogQWRkIG1hcCB0byBzdG9yZSBFbGVtZW50
IHRoYXQgaGF2ZSBzb21lIEVsZW1lbnQKKyAgICAgICAgYXR0cmlidXRlcyBleHBsaWNpdGx5IHNl
dC4gVGhlIG1hcCBlbmRzIHVwIHN0b3JpbmcgYSBWZWN0b3Igb2YKKyAgICAgICAgRWxlbWVudHMg
aW4gcHJlcGFyYXRpb24gZm9yIHN1cHBvcnRpbmcgRnJvemVuQXJyYXk8RWxlbWVudD4gYXR0cmli
dXRlcworICAgICAgICAodGhvdWdoIHNvIGZhciBvbmx5IG9uZSBFbGVtZW50IGlzIHN0b3JlZCku
CisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6aXNFbGVtZW50
UmVmbGVjdGlvbkF0dHJpYnV0ZSk6IFV0aWxpdHkgZnVuY3Rpb24gdG8gaWRlbnRpZnkKKyAgICAg
ICAgRWxlbWVudCByZWZsZWN0aW9uIGF0dHJpYnV0ZXMuCisgICAgICAgIChXZWJDb3JlOjpFbGVt
ZW50OjphdHRyaWJ1dGVDaGFuZ2VkKTogSWYgYW4gZWxlbWVudCByZWZsZWN0aW9uCisgICAgICAg
IGF0dHJpYnV0ZSBoYXMgY2hhbmdlZCB3ZSBuZWVkIHRvIHN5bmNocm9uaXplIHRoZSBtYXAuCisg
ICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpzeW5jaHJvbml6ZUVsZW1lbnRSZWZsZWN0aW9uQXR0
cmlidXRlKTogUmVtb3ZlIHRoZQorICAgICAgICBtYXAgZm9yIHRoZSBnaXZlbiBhdHRyaWJ1dGUg
YXMgaXQnbGwgYmUgcHJvcGVybHkgdXBkYXRlZCBpbgorICAgICAgICBzZXRFbGVtZW50QXR0cmli
dXRlKCkuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50Ojppc0Rlc2NlbmRhbnRPZlNoYWRvd0lu
Y2x1ZGluZ0FuY2VzdG9ycyBjb25zdCk6CisgICAgICAgIFV0aWxpdHkgbWV0aG9kIHRvIGRldGVj
dCBpZiBhbiBlbGVtZW50IGlzIGEgZGVzY2VuZGFudCBvZiBhbnkgb2YKKyAgICAgICAgZWxlbWVu
dCdzIHNoYWRvdy1pbmNsdWRpbmcgYW5jZXN0b3JzLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVu
dDo6Z2V0RWxlbWVudEF0dHJpYnV0ZSBjb25zdCk6IEltcGxlbWVudCBnZXR0ZXIgZm9yCisgICAg
ICAgIGVsZW1lbnQgYXR0cmlidXRlLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2V0RWxl
bWVudEF0dHJpYnV0ZSk6IEltcGxlbWVudCBzZXR0ZXIgZm9yCisgICAgICAgIGVsZW1lbnQgYXR0
cmlidXRlLgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6IEFkZCBuZXcgbWV0aG9kcyBoZWFkZXJz
LgorCiAyMDIyLTA0LTI2ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAg
ICAgICA6OmZpcnN0LWxldHRlciBkb2VzIG5vdCB3b3JrIGlmIHVzZWQgb25seSBpbiBzaGFkb3cg
Y29udGVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlBy
ZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5j
ZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAppbmRleCAwMzhlNjFhYzkyMzVjOWM3
YjhjYTUxZDllNzQ5YjkwZGY5YTAxMTBmLi44ODQ5ZjI5YTE5NDRiYTUzZDFmY2I1ZWI4NjYwYTIw
OGRiYWNhMzJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2Vi
UHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAorKysgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJl
ZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbApAQCAtNjYsNiArNjYsMTgg
QEAgQWNjZXNzaWJpbGl0eU9iamVjdE1vZGVsRW5hYmxlZDoKICAgICBXZWJLaXQ6CiAgICAgICBk
ZWZhdWx0OiBmYWxzZQogCitBcmlhUmVmbGVjdGlvbkZvckVsZW1lbnRSZWZlcmVuY2VzRW5hYmxl
ZDoKKyAgdHlwZTogYm9vbAorICBodW1hblJlYWRhYmxlTmFtZTogIkFSSUEgUmVmbGVjdGlvbiBm
b3IgRWxlbWVudCBSZWZlcmVuY2VzIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRpb246ICJFbmFi
bGUgQVJJQSByZWZsZWN0aW9uIGZvciBhdHRyaWJ1dGVzIHRoYXQgcmVmZXIgdG8gZWxlbWVudHMi
CisgIGRlZmF1bHRWYWx1ZToKKyAgICBXZWJLaXRMZWdhY3k6CisgICAgICBkZWZhdWx0OiBmYWxz
ZQorICAgIFdlYktpdDoKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViQ29yZToKKyAgICAg
IGRlZmF1bHQ6IGZhbHNlCisKIEFzcGVjdFJhdGlvRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBo
dW1hblJlYWRhYmxlTmFtZTogIkNTUyBBc3BlY3QgUmF0aW8iCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FyaWFBdHRyaWJ1dGVzLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQXJpYUF0dHJpYnV0ZXMuaWRsCmluZGV4IDViZTVlNDZmOGM1OTZhYzQ2
ODMzZmRjMTI0ZmEwZTcwMzEzOGUzODUuLjRjNjYwYmExODAyMTlhYTNmY2JiNjYyODRmNTMwODA5
YzRmN2NiYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQXJpYUF0
dHJpYnV0ZXMuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQXJpYUF0dHJp
YnV0ZXMuaWRsCkBAIC0yNSw2ICsyNSw3IEBACiAKIC8vIGh0dHBzOi8vd2ljZy5naXRodWIuaW8v
YW9tL3NwZWMvYXJpYS1yZWZsZWN0aW9uLmh0bWwjQXJpYUF0dHJpYnV0ZXMKIGludGVyZmFjZSBt
aXhpbiBBcmlhQXR0cmlidXRlcyB7CisgICAgW1JlZmxlY3Q9YXJpYV9hY3RpdmVkZXNjZW5kYW50
LCBFbmFibGVkQnlTZXR0aW5nPUFyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5jZXNFbmFi
bGVkXSBhdHRyaWJ1dGUgRWxlbWVudD8gYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50OwogICAg
IFtSZWZsZWN0PWFyaWFfYXRvbWljXSAgICAgICAgICAgYXR0cmlidXRlIFtBdG9tU3RyaW5nXSBE
T01TdHJpbmc/IGFyaWFBdG9taWM7CiAgICAgW1JlZmxlY3Q9YXJpYV9hdXRvY29tcGxldGVdICAg
ICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUF1dG9Db21wbGV0ZTsKICAg
ICBbUmVmbGVjdD1hcmlhX2J1c3ldICAgICAgICAgICAgIGF0dHJpYnV0ZSBbQXRvbVN0cmluZ10g
RE9NU3RyaW5nPyBhcmlhQnVzeTsKQEAgLTM0LDYgKzM1LDcgQEAgaW50ZXJmYWNlIG1peGluIEFy
aWFBdHRyaWJ1dGVzIHsKICAgICBbUmVmbGVjdD1hcmlhX2NvbHNwYW5dICAgICAgICAgIGF0dHJp
YnV0ZSBbQXRvbVN0cmluZ10gRE9NU3RyaW5nPyBhcmlhQ29sU3BhbjsKICAgICBbUmVmbGVjdD1h
cmlhX2N1cnJlbnRdICAgICAgICAgIGF0dHJpYnV0ZSBbQXRvbVN0cmluZ10gRE9NU3RyaW5nPyBh
cmlhQ3VycmVudDsKICAgICBbUmVmbGVjdD1hcmlhX2Rpc2FibGVkXSAgICAgICAgIGF0dHJpYnV0
ZSBbQXRvbVN0cmluZ10gRE9NU3RyaW5nPyBhcmlhRGlzYWJsZWQ7CisgICAgW1JlZmxlY3Q9YXJp
YV9lcnJvcm1lc3NhZ2UsIEVuYWJsZWRCeVNldHRpbmc9QXJpYVJlZmxlY3Rpb25Gb3JFbGVtZW50
UmVmZXJlbmNlc0VuYWJsZWRdIGF0dHJpYnV0ZSBFbGVtZW50PyBhcmlhRXJyb3JNZXNzYWdlRWxl
bWVudDsKICAgICBbUmVmbGVjdD1hcmlhX2V4cGFuZGVkXSAgICAgICAgIGF0dHJpYnV0ZSBbQXRv
bVN0cmluZ10gRE9NU3RyaW5nPyBhcmlhRXhwYW5kZWQ7CiAgICAgW1JlZmxlY3Q9YXJpYV9oYXNw
b3B1cF0gICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUhhc1Bv
cHVwOwogICAgIFtSZWZsZWN0PWFyaWFfaGlkZGVuXSAgICAgICAgICAgYXR0cmlidXRlIFtBdG9t
U3RyaW5nXSBET01TdHJpbmc/IGFyaWFIaWRkZW47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KaW5kZXggNzFiMzZiY2U1NTNjYzFlNGRmMzk5
NmQyYmQ0YTI4YWVkMDdhMmM5Mi4uYjhkN2E0ZjBiYmZmOWQ4MWU0NTFmYTUyNTVmNGQzMDZjNzZj
YzZlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9yLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVy
YXRvci5wbQpAQCAtMTEwOCw2ICsxMTA4LDggQEAgc3ViIEdldHRlckV4cHJlc3Npb24KICAgICAg
ICAgJGZ1bmN0aW9uTmFtZSA9ICJnZXRJbnRlZ3JhbEF0dHJpYnV0ZSI7CiAgICAgfSBlbHNpZiAo
JGF0dHJpYnV0ZVR5cGUtPm5hbWUgZXEgInVuc2lnbmVkIGxvbmciKSB7CiAgICAgICAgICRmdW5j
dGlvbk5hbWUgPSAiZ2V0VW5zaWduZWRJbnRlZ3JhbEF0dHJpYnV0ZSI7CisgICAgfSBlbHNpZiAo
JGF0dHJpYnV0ZVR5cGUtPm5hbWUgZXEgIkVsZW1lbnQiKSB7CisgICAgICAgICRmdW5jdGlvbk5h
bWUgPSAiZ2V0RWxlbWVudEF0dHJpYnV0ZSI7CiAgICAgfSBlbHNlIHsKICAgICAgICAgaWYgKCRj
b250ZW50QXR0cmlidXRlTmFtZSBlcSAiV2ViQ29yZTo6SFRNTE5hbWVzOjppZEF0dHIiKSB7CiAg
ICAgICAgICAgICAkZnVuY3Rpb25OYW1lID0gImdldElkQXR0cmlidXRlIjsKQEAgLTExNDUsNiAr
MTE0Nyw4IEBAIHN1YiBTZXR0ZXJFeHByZXNzaW9uCiAgICAgICAgICRmdW5jdGlvbk5hbWUgPSAi
c2V0SW50ZWdyYWxBdHRyaWJ1dGUiOwogICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGVUeXBlLT5uYW1l
IGVxICJ1bnNpZ25lZCBsb25nIikgewogICAgICAgICAkZnVuY3Rpb25OYW1lID0gInNldFVuc2ln
bmVkSW50ZWdyYWxBdHRyaWJ1dGUiOworICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGVUeXBlLT5uYW1l
IGVxICJFbGVtZW50IikgeworICAgICAgICAkZnVuY3Rpb25OYW1lID0gInNldEVsZW1lbnRBdHRy
aWJ1dGUiOwogICAgIH0gZWxzaWYgKCRnZW5lcmF0b3ItPklzU1ZHQW5pbWF0ZWRUeXBlKCRhdHRy
aWJ1dGVUeXBlKSkgewogICAgICAgICAkZnVuY3Rpb25OYW1lID0gInNldEF0dHJpYnV0ZSI7CiAg
ICAgfSBlbHNlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RPYmouY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE9iai5jcHAKaW5kZXggNTU4YTkxNmUzZTk1N2M1ZDIzYTY4Zjc3YjUzZTQy
MmE3MjliYmI1Ni4uY2M2MTk1YjRkMzhiNzhlYjc5YTUwZGEwZTE2NWM1NmE5NjYxZGEyNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9i
ai5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVz
dE9iai5jcHAKQEAgLTE4MDMsNiArMTgwMyw4IEBAIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01f
R0VUVEVSKGpzVGVzdE9ial9yZWZsZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0cik7CiBzdGF0aWMg
SlNDX0RFQ0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVW5zaWduZWRJ
bnRlZ3JhbEF0dHIpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNUZXN0T2Jq
X3JlZmxlY3RlZEJvb2xlYW5BdHRyKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVS
KHNldEpTVGVzdE9ial9yZWZsZWN0ZWRCb29sZWFuQXR0cik7CitzdGF0aWMgSlNDX0RFQ0xBUkVf
Q1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0dHIpOworc3RhdGljIEpT
Q19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRy
KTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVzdE9ial9yZWZsZWN0ZWRV
UkxBdHRyKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9y
ZWZsZWN0ZWRVUkxBdHRyKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVz
dE9ial9yZWZsZWN0ZWRVU1ZVUkxBdHRyKTsKQEAgLTIxNzUsNiArMjE3Nyw3IEBAIHN0YXRpYyBj
b25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RPYmpQcm90b3R5cGVUYWJsZVZhbHVlc1tdID0KICAg
ICB7ICJyZWZsZWN0ZWRJbnRlZ3JhbEF0dHIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpET01BdHRyaWJ1dGUpLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJv
cGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ial9yZWZsZWN0ZWRJbnRlZ3JhbEF0dHIp
LCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihz
ZXRKU1Rlc3RPYmpfcmVmbGVjdGVkSW50ZWdyYWxBdHRyKSB9IH0sCiAgICAgeyAicmVmbGVjdGVk
VW5zaWduZWRJbnRlZ3JhbEF0dHIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpET01B
dHRyaWJ1dGUpLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlT
bG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ial9yZWZsZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0
ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+
KHNldEpTVGVzdE9ial9yZWZsZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0cikgfSB9LAogICAgIHsg
InJlZmxlY3RlZEJvb2xlYW5BdHRyIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RE9N
QXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5
U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpfcmVmbGVjdGVkQm9vbGVhbkF0dHIpLCAoaW50
cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rl
c3RPYmpfcmVmbGVjdGVkQm9vbGVhbkF0dHIpIH0gfSwKKyAgICB7ICJyZWZsZWN0ZWRFbGVtZW50
QXR0ciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0
b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50
cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVu
Yz4oanNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2Fz
dDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3JlZmxlY3RlZEVs
ZW1lbnRBdHRyKSB9IH0sCiAgICAgeyAicmVmbGVjdGVkVVJMQXR0ciIsIHN0YXRpY19jYXN0PHVu
c2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClz
dGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqX3JlZmxlY3Rl
ZFVSTEF0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFs
dWVGdW5jPihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVVJMQXR0cikgfSB9LAogICAgIHsgInJlZmxl
Y3RlZFVTVlVSTEF0dHIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6Q3VzdG9tQWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpET01BdHRyaWJ1
dGUpLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpH
ZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ial9yZWZsZWN0ZWRVU1ZVUkxBdHRyKSwgKGludHB0cl90KSBz
dGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3Jl
ZmxlY3RlZFVTVlVSTEF0dHIpIH0gfSwKICAgICB7ICJyZWZsZWN0ZWRTdHJpbmdBdHRyIiwgc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29y
IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsg
KGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RP
YmpfcmVmbGVjdGVkU3RyaW5nQXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVy
dHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9ial9yZWZsZWN0ZWRTdHJpbmdBdHRyKSB9
IH0sCkBAIC0zOTE4LDYgKzM5MjEsMzcgQEAgSlNDX0RFRklORV9DVVNUT01fU0VUVEVSKHNldEpT
VGVzdE9ial9yZWZsZWN0ZWRCb29sZWFuQXR0ciwgKEpTR2xvYmFsT2JqZWN0KiBsZXgKICAgICBy
ZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfcmVmbGVjdGVk
Qm9vbGVhbkF0dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29k
ZWRWYWx1ZSwgYXR0cmlidXRlTmFtZSk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rl
c3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0dHJHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxH
bG9iYWxPYmplY3QsIEpTVGVzdE9iaiYgdGhpc09iamVjdCkKK3sKKyAgICBhdXRvJiB2bSA9IEpT
Qzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpOworICAgIGF1dG8gdGhyb3dTY29wZSA9IERF
Q0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIGF1dG8mIGltcGwgPSB0aGlzT2JqZWN0LndyYXBw
ZWQoKTsKKyAgICBSRUxFQVNFX0FORF9SRVRVUk4odGhyb3dTY29wZSwgKHRvSlM8SURMSW50ZXJm
YWNlPEVsZW1lbnQ+PihsZXhpY2FsR2xvYmFsT2JqZWN0LCAqdGhpc09iamVjdC5nbG9iYWxPYmpl
Y3QoKSwgdGhyb3dTY29wZSwgaW1wbC5nZXRFbGVtZW50QXR0cmlidXRlKFdlYkNvcmU6OkhUTUxO
YW1lczo6cmVmbGVjdGVkZWxlbWVudGF0dHJBdHRyKSkpKTsKK30KKworSlNDX0RFRklORV9DVVNU
T01fR0VUVEVSKGpzVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0ciwgKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5
TmFtZSBhdHRyaWJ1dGVOYW1lKSkKK3sKKyAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9i
aj46OmdldDxqc1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0dHJHZXR0ZXIsIENhc3RlZFRoaXNF
cnJvckJlaGF2aW9yOjpBc3NlcnQ+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGF0
dHJpYnV0ZU5hbWUpOworfQorCitzdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0T2JqX3JlZmxl
Y3RlZEVsZW1lbnRBdHRyU2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0
LCBKU1Rlc3RPYmomIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUpCit7CisgICAgYXV0byYgdm0g
PSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKKyAgICBhdXRvIHRocm93U2NvcGUg
PSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAgICBhdXRvJiBpbXBsID0gdGhpc09iamVjdC53
cmFwcGVkKCk7CisgICAgYXV0byBuYXRpdmVWYWx1ZSA9IGNvbnZlcnQ8SURMSW50ZXJmYWNlPEVs
ZW1lbnQ+PihsZXhpY2FsR2xvYmFsT2JqZWN0LCB2YWx1ZSwgW10oSlNDOjpKU0dsb2JhbE9iamVj
dCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpUaHJvd1Njb3BlJiBzY29wZSkgeyB0aHJvd0F0
dHJpYnV0ZVR5cGVFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBzY29wZSwgIlRlc3RPYmplY3Qi
LCAicmVmbGVjdGVkRWxlbWVudEF0dHIiLCAiRWxlbWVudCIpOyB9KTsKKyAgICBSRVRVUk5fSUZf
RVhDRVBUSU9OKHRocm93U2NvcGUsIGZhbHNlKTsKKyAgICBpbnZva2VGdW5jdG9yUHJvcGFnYXRp
bmdFeGNlcHRpb25JZk5lY2Vzc2FyeShsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aHJvd1Njb3BlLCBb
Jl0geworICAgICAgICByZXR1cm4gaW1wbC5zZXRFbGVtZW50QXR0cmlidXRlKFdlYkNvcmU6OkhU
TUxOYW1lczo6cmVmbGVjdGVkZWxlbWVudGF0dHJBdHRyLCAqbmF0aXZlVmFsdWUpOworICAgIH0p
OworICAgIHJldHVybiB0cnVlOworfQorCitKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNU
ZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2Rl
ZFZhbHVlLCBQcm9wZXJ0eU5hbWUgYXR0cmlidXRlTmFtZSkpCit7CisgICAgcmV0dXJuIElETEF0
dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRy
U2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsIGF0
dHJpYnV0ZU5hbWUpOworfQorCiBzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0T2JqX3JlZmxl
Y3RlZFVSTEF0dHJHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpT
VGVzdE9iaiYgdGhpc09iamVjdCkKIHsKICAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0oJmxleGlj
YWxHbG9iYWxPYmplY3QpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L1Rlc3RPYmouaWRsIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L1Rlc3RPYmouaWRsCmluZGV4IDEwZjY1MWE1NzVlNzdiNzUwMDJiODcwY2RiYjg5OGZmYTQ2
NjMzYzkuLjdlOTgyZDUxNjI0YjRjZmQ4Yjg2ZWQ1MTQ3N2Y3MTdiMWJiZmU1YzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKQEAgLTEw
NCw2ICsxMDQsNyBAQCBlbnVtIFRlc3RDb25maWRlbmNlIHsgImhpZ2giLCAia2luZGEtbG93IiB9
OwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgbG9uZyByZWZsZWN0ZWRJbnRlZ3JhbEF0dHI7CiAg
ICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHJlZmxlY3RlZFVuc2lnbmVkSW50
ZWdyYWxBdHRyOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgYm9vbGVhbiByZWZsZWN0ZWRCb29s
ZWFuQXR0cjsKKyAgICBbUmVmbGVjdF0gYXR0cmlidXRlIEVsZW1lbnQgcmVmbGVjdGVkRWxlbWVu
dEF0dHI7CiAgICAgW1JlZmxlY3QsIFVSTF0gYXR0cmlidXRlIERPTVN0cmluZyByZWZsZWN0ZWRV
UkxBdHRyOwogICAgIFtSZWZsZWN0LCBVUkxdIGF0dHJpYnV0ZSBVU1ZTdHJpbmcgcmVmbGVjdGVk
VVNWVVJMQXR0cjsKICAgICBbUmVmbGVjdD1jdXN0b21Db250ZW50U3RyaW5nQXR0cl0gYXR0cmli
dXRlIERPTVN0cmluZyByZWZsZWN0ZWRTdHJpbmdBdHRyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZG9tL0RvY3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Eb2N1bWVudC5jcHAK
aW5kZXggMjlhMTJkOWEwNTYyMzgxMjRjOTI0MGU4YmEzYTA4MjFkYWZlMmRlNS4uMTU4NmEwMDcz
MmQ5YWRjNTJhMDZkNzRjZjRjZTcxNjkyZmUwMDU4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0RvY3VtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuY3Bw
CkBAIC05MTcyLDYgKzkxNzIsMTIgQEAgYm9vbCBEb2N1bWVudDo6aXNTYW1lU2l0ZUZvckNvb2tp
ZXMoY29uc3QgVVJMJiB1cmwpIGNvbnN0CiAgICAgcmV0dXJuIGRvbWFpbi5tYXRjaGVzKHVybCk7
CiB9CiAKK0V4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAmIERvY3VtZW50OjplbnN1cmVFeHBs
aWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpCit7CisgICAg
QVNTRVJUKCZlbGVtZW50LmRvY3VtZW50KCkgPT0gdGhpcyk7CisgICAgcmV0dXJuIG1fZWxlbWVu
dEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAuYWRkKGVsZW1lbnQsIEV4cGxpY2l0bHlTZXRB
dHRyRWxlbWVudHNNYXAoKSkuaXRlcmF0b3ItPnZhbHVlOworfQorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKICN1bmRlZiBET0NVTUVOVF9SRUxFQVNFX0xPRwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0RvY3VtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApp
bmRleCBiMGY3ZDU3ZDU4ZTdjNTMyZjUyNDM2ZjI5ZTc0ZGIyOGNhNGIwM2ZmLi5iODYyMTBlOTIx
YzBhMzA5MjgxNWQ4ZWQ0ZDlmMGU4M2FiYWNjZjU3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRG9jdW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRG9jdW1lbnQuaApAQCAt
NjcsNiArNjcsNyBAQAogI2luY2x1ZGUgPHd0Zi9PYmplY3RJZGVudGlmaWVyLmg+CiAjaW5jbHVk
ZSA8d3RmL09ic2VydmVyLmg+CiAjaW5jbHVkZSA8d3RmL1VuaXF1ZVJlZi5oPgorI2luY2x1ZGUg
PHd0Zi9XZWFrSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrSGFzaFNldC5oPgogI2luY2x1
ZGUgPHd0Zi9XZWFrUHRyLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvQXRvbVN0cmluZ0hhc2guaD4K
QEAgLTI3MSw2ICsyNzIsNyBAQCBlbnVtIGNsYXNzIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25UeXBl
IDogdWludDhfdDsKIHVzaW5nIE1lZGlhUHJvZHVjZXJNZWRpYVN0YXRlRmxhZ3MgPSBPcHRpb25T
ZXQ8TWVkaWFQcm9kdWNlck1lZGlhU3RhdGU+OwogdXNpbmcgTWVkaWFQcm9kdWNlck11dGVkU3Rh
dGVGbGFncyA9IE9wdGlvblNldDxNZWRpYVByb2R1Y2VyTXV0ZWRTdGF0ZT47CiB1c2luZyBQbGF0
Zm9ybURpc3BsYXlJRCA9IHVpbnQzMl90OwordXNpbmcgRXhwbGljaXRseVNldEF0dHJFbGVtZW50
c01hcCA9IEhhc2hNYXA8UXVhbGlmaWVkTmFtZSwgVmVjdG9yPFdlYWtQdHI8RWxlbWVudD4+PjsK
IAogbmFtZXNwYWNlIFN0eWxlIHsKIGNsYXNzIFJlc29sdmVyOwpAQCAtMTY4NSw2ICsxNjg3LDgg
QEAgcHVibGljOgogCiAgICAgc3RkOjpvcHRpb25hbDxQQUw6OlNlc3Npb25JRD4gc2Vzc2lvbklE
KCkgY29uc3QgZmluYWw7CiAKKyAgICBFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwJiBlbnN1
cmVFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKGNvbnN0IEVsZW1lbnQmKTsKKwogcHJvdGVj
dGVkOgogICAgIGVudW0gQ29uc3RydWN0aW9uRmxhZ3MgeyBTeW50aGVzaXplZCA9IDEsIE5vblJl
bmRlcmVkUGxhY2Vob2xkZXIgPSAxIDw8IDEgfTsKICAgICBXRUJDT1JFX0VYUE9SVCBEb2N1bWVu
dChGcmFtZSosIGNvbnN0IFNldHRpbmdzJiwgY29uc3QgVVJMJiwgRG9jdW1lbnRDbGFzc2VzID0g
eyB9LCB1bnNpZ25lZCBjb25zdHJ1Y3Rpb25GbGFncyA9IDAsIFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHRJZGVudGlmaWVyID0geyB9KTsKQEAgLTIyNzcsNiArMjI4MSw4IEBAIHByaXZhdGU6CiAgICAg
VmVjdG9yPEZ1bmN0aW9uPHZvaWQoKT4+IG1fd2hlbklzVmlzaWJsZUhhbmRsZXJzOwogCiAgICAg
V2Vha0hhc2hTZXQ8RWxlbWVudD4gbV9lbGVtZW50c1dpdGhQZW5kaW5nVXNlckFnZW50U2hhZG93
VHJlZVVwZGF0ZXM7CisKKyAgICBXZWFrSGFzaE1hcDxFbGVtZW50LCBFeHBsaWNpdGx5U2V0QXR0
ckVsZW1lbnRzTWFwPiBtX2VsZW1lbnRFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwOwogfTsK
IAogRWxlbWVudCogZXZlbnRUYXJnZXRFbGVtZW50Rm9yRG9jdW1lbnQoRG9jdW1lbnQqKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmNwcAppbmRleCAwYmQyNjcyMWNiZTg3MDQ3MzZiMThhNzU2ZTg4ZjA2NWE2
NDA3MjNjLi4zZDQ4OTA3YmJlYzEyN2MxYzUxYzdiMDQxMTJlNjQ1OTY2ZDdiZTRhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuY3BwCkBAIC0xOTAxLDYgKzE5MDEsMTEgQEAgc3RhdGljIGlubGluZSBBdG9t
U3RyaW5nIG1ha2VJZEZvclN0eWxlUmVzb2x1dGlvbihjb25zdCBBdG9tU3RyaW5nJiB2YWx1ZSwg
Ym9vbAogICAgIHJldHVybiB2YWx1ZTsKIH0KIAorc3RhdGljIGJvb2wgaXNFbGVtZW50UmVmbGVj
dGlvbkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lKQoreworICAgIHJldHVybiBu
YW1lID09IEhUTUxOYW1lczo6YXJpYV9hY3RpdmVkZXNjZW5kYW50QXR0ciB8fCBuYW1lID09IEhU
TUxOYW1lczo6YXJpYV9lcnJvcm1lc3NhZ2VBdHRyOworfQorCiB2b2lkIEVsZW1lbnQ6OmF0dHJp
YnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYg
b2xkVmFsdWUsIGNvbnN0IEF0b21TdHJpbmcmIG5ld1ZhbHVlLCBBdHRyaWJ1dGVNb2RpZmljYXRp
b25SZWFzb24pCiB7CiAgICAgYm9vbCB2YWx1ZUlzU2FtZUFzQmVmb3JlID0gb2xkVmFsdWUgPT0g
bmV3VmFsdWU7CkBAIC0xOTM3LDYgKzE5NDIsOCBAQCB2b2lkIEVsZW1lbnQ6OmF0dHJpYnV0ZUNo
YW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYgb2xkVgog
ICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgaWYgKG5hbWUgPT0gSFRNTE5hbWVzOjpwYXJ0
QXR0cikKICAgICAgICAgICAgIHBhcnRBdHRyaWJ1dGVDaGFuZ2VkKG5ld1ZhbHVlKTsKKyAgICAg
ICAgZWxzZSBpZiAoaXNFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0ZShuYW1lKSkKKyAgICAgICAg
ICAgIHN5bmNocm9uaXplRWxlbWVudFJlZmxlY3Rpb25BdHRyaWJ1dGUobmFtZSk7CiAgICAgICAg
IGVsc2UgaWYgKG5hbWUgPT0gSFRNTE5hbWVzOjpleHBvcnRwYXJ0c0F0dHIpIHsKICAgICAgICAg
ICAgIGlmIChhdXRvKiBzaGFkb3dSb290ID0gdGhpcy0+c2hhZG93Um9vdCgpKSB7CiAgICAgICAg
ICAgICAgICAgc2hhZG93Um9vdC0+aW52YWxpZGF0ZVBhcnRNYXBwaW5ncygpOwpAQCAtMTk2MSw2
ICsxOTY4LDcxIEBAIHZvaWQgRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZp
ZWROYW1lJiBuYW1lLCBjb25zdCBBdG9tU3RyaW5nJiBvbGRWCiAgICAgICAgIGNhY2hlLT5kZWZl
ckF0dHJpYnV0ZUNoYW5nZUlmTmVlZGVkKG5hbWUsIHRoaXMpOwogfQogCit2b2lkIEVsZW1lbnQ6
OnN5bmNocm9uaXplRWxlbWVudFJlZmxlY3Rpb25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgYXR0cmlidXRlTmFtZSkKK3sKKyAgICBBU1NFUlQoZG9jdW1lbnQoKS5zZXR0aW5ncygpLmFy
aWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5jZXNFbmFibGVkKCkpOworICAgIEFTU0VSVChp
c0VsZW1lbnRSZWZsZWN0aW9uQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpKTsKKworICAgIGRvY3Vt
ZW50KCkuZW5zdXJlRXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCgqdGhpcykucmVtb3ZlKGF0
dHJpYnV0ZU5hbWUpOworfQorCitib29sIEVsZW1lbnQ6OmlzRGVzY2VuZGFudE9mU2hhZG93SW5j
bHVkaW5nQW5jZXN0b3JzKGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpIGNvbnN0Cit7CisgICAgaWYg
KCFpc0luVHJlZVNjb3BlKCkgfHwgIWVsZW1lbnQuaXNJblRyZWVTY29wZSgpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICBmb3IgKGF1dG8qIHJvb3QgPSBjb250YWluaW5nU2hhZG93Um9v
dCgpOyByb290OyByb290ID0gcm9vdC0+aG9zdCgpLT5jb250YWluaW5nU2hhZG93Um9vdCgpKSB7
CisgICAgICAgIGlmIChlbGVtZW50LmlzRGVzY2VuZGFudE9mKHJvb3QpKQorICAgICAgICAgICAg
cmV0dXJuIHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIGVsZW1lbnQuaXNEZXNjZW5kYW50T2Yo
ZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSk7Cit9CisKK0VsZW1lbnQqIEVsZW1lbnQ6Omdl
dEVsZW1lbnRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgY29u
c3QKK3sKKyAgICBBU1NFUlQoZG9jdW1lbnQoKS5zZXR0aW5ncygpLmFyaWFSZWZsZWN0aW9uRm9y
RWxlbWVudFJlZmVyZW5jZXNFbmFibGVkKCkpOworICAgIEFTU0VSVChpc0VsZW1lbnRSZWZsZWN0
aW9uQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpKTsKKworICAgIGF1dG8mIGV4cGxpY2l0bHlTZXRB
dHRyRWxlbWVudHNNYXAgPSBkb2N1bWVudCgpLmVuc3VyZUV4cGxpY2l0bHlTZXRBdHRyRWxlbWVu
dHNNYXAoKnRoaXMpOworICAgIGF1dG8gaXQgPSBleHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFw
LmZpbmQoYXR0cmlidXRlTmFtZSk7CisgICAgaWYgKGl0ICE9IGV4cGxpY2l0bHlTZXRBdHRyRWxl
bWVudHNNYXAuZW5kKCkpIHsKKyAgICAgICAgQVNTRVJUKGl0LT52YWx1ZS5zaXplKCkgPT0gMSk7
CisgICAgICAgIGF1dG8qIGVsZW1lbnQgPSBpdC0+dmFsdWVbMF0uZ2V0KCk7CisgICAgICAgIEFT
U0VSVChlbGVtZW50KTsKKyAgICAgICAgaWYgKGlzRGVzY2VuZGFudE9mU2hhZG93SW5jbHVkaW5n
QW5jZXN0b3JzKCplbGVtZW50KSkKKyAgICAgICAgICAgIHJldHVybiBlbGVtZW50OworICAgICAg
ICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKKyAgICBhdXRvIGlkID0gZ2V0QXR0cmlidXRlKGF0
dHJpYnV0ZU5hbWUpOworICAgIGlmIChpZC5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisKKyAgICByZXR1cm4gdHJlZVNjb3BlKCkuZ2V0RWxlbWVudEJ5SWQoaWQpOworfQorCit2
b2lkIEVsZW1lbnQ6OnNldEVsZW1lbnRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0
cmlidXRlTmFtZSwgRWxlbWVudCogZWxlbWVudCkKK3sKKyAgICBBU1NFUlQoZG9jdW1lbnQoKS5z
ZXR0aW5ncygpLmFyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5jZXNFbmFibGVkKCkpOwor
ICAgIEFTU0VSVChpc0VsZW1lbnRSZWZsZWN0aW9uQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpKTsK
KworICAgIGF1dG8mIGV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAgPSBkb2N1bWVudCgpLmVu
c3VyZUV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoKnRoaXMpOworICAgIGlmICghZWxlbWVu
dCkgeworICAgICAgICBleHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwLnJlbW92ZShhdHRyaWJ1
dGVOYW1lKTsKKyAgICAgICAgcmVtb3ZlQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgYXV0byBpZCA9IGVsZW1lbnQtPmdldElkQXR0cmlidXRl
KCk7CisgICAgaWYgKCFpZC5pc051bGwoKSAmJiAmdHJlZVNjb3BlKCkgPT0gJmVsZW1lbnQtPnRy
ZWVTY29wZSgpICYmIHRyZWVTY29wZSgpLmdldEVsZW1lbnRCeUlkKGlkKSA9PSBlbGVtZW50KQor
ICAgICAgICBzZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSwgaWQpOworICAgIGVsc2UKKyAgICAg
ICAgc2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUsIGVtcHR5QXRvbSgpKTsKKworICAgIGV4cGxp
Y2l0bHlTZXRBdHRyRWxlbWVudHNNYXAuc2V0KGF0dHJpYnV0ZU5hbWUsIFZlY3RvcjxXZWFrUHRy
PEVsZW1lbnQ+PiB7IGVsZW1lbnQgfSk7Cit9CisKIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0
ZXJUeXBlPgogc3RhdGljIGlubGluZSBib29sIGlzTm9uRW1wdHlUb2tlbkxpc3QoY29uc3QgQ2hh
cmFjdGVyVHlwZSogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50
LmgKaW5kZXggOWNhYmUzYWRjZDc1OGM1MmViYjg1OTYxMjYwYjUyMWZiMjU4MDMwNy4uYzViNDJm
ZTk4ZjM5MjhmNzU1MDQ1Y2JkYTU5NzUwYWE3YzRlYWFjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBA
IC0xMjEsNiArMTIxLDggQEAgcHVibGljOgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0SW50
ZWdyYWxBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSwgaW50IHZh
bHVlKTsKICAgICBXRUJDT1JFX0VYUE9SVCB1bnNpZ25lZCBnZXRVbnNpZ25lZEludGVncmFsQXR0
cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIGNvbnN0OwogICAgIFdF
QkNPUkVfRVhQT1JUIHZvaWQgc2V0VW5zaWduZWRJbnRlZ3JhbEF0dHJpYnV0ZShjb25zdCBRdWFs
aWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lLCB1bnNpZ25lZCB2YWx1ZSk7CisgICAgV0VCQ09SRV9F
WFBPUlQgRWxlbWVudCogZ2V0RWxlbWVudEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBh
dHRyaWJ1dGVOYW1lKSBjb25zdDsKKyAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEVsZW1lbnRB
dHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSwgRWxlbWVudCogdmFs
dWUpOwogCiAgICAgLy8gQ2FsbCB0aGlzIHRvIGdldCB0aGUgdmFsdWUgb2YgYW4gYXR0cmlidXRl
IHRoYXQgaXMga25vd24gbm90IHRvIGJlIHRoZSBzdHlsZQogICAgIC8vIGF0dHJpYnV0ZSBvciBv
bmUgb2YgdGhlIFNWRyBhbmltYXRhYmxlIGF0dHJpYnV0ZXMuCkBAIC03MzksNiArNzQxLDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIHNldEF0dHJpYnV0ZUludGVybmFsKHVuc2lnbmVkIGluZGV4LCBj
b25zdCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbVN0cmluZyYgdmFsdWUsIFN5bmNocm9uaXph
dGlvbk9mTGF6eUF0dHJpYnV0ZSk7CiAgICAgdm9pZCBhZGRBdHRyaWJ1dGVJbnRlcm5hbChjb25z
dCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbVN0cmluZyYgdmFsdWUsIFN5bmNocm9uaXphdGlv
bk9mTGF6eUF0dHJpYnV0ZSk7CiAgICAgdm9pZCByZW1vdmVBdHRyaWJ1dGVJbnRlcm5hbCh1bnNp
Z25lZCBpbmRleCwgU3luY2hyb25pemF0aW9uT2ZMYXp5QXR0cmlidXRlKTsKKyAgICB2b2lkIHN5
bmNocm9uaXplRWxlbWVudFJlZmxlY3Rpb25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYp
OwogCiAgICAgdm9pZCBzZXRTYXZlZExheWVyU2Nyb2xsUG9zaXRpb25TbG93KGNvbnN0IEludFBv
aW50Jik7CiAgICAgdm9pZCBjbGVhckJlZm9yZVBzZXVkb0VsZW1lbnRTbG93KCk7CkBAIC03ODUs
NiArNzg4LDggQEAgcHJpdmF0ZToKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGZhc3RBdHRyaWJ1
dGVMb29rdXBBbGxvd2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25zdDsKICNlbmRpZgogCisg
ICAgYm9vbCBpc0Rlc2NlbmRhbnRPZlNoYWRvd0luY2x1ZGluZ0FuY2VzdG9ycyhjb25zdCBFbGVt
ZW50JikgY29uc3Q7CisKICAgICBRdWFsaWZpZWROYW1lIG1fdGFnTmFtZTsKICAgICBSZWZQdHI8
RWxlbWVudERhdGE+IG1fZWxlbWVudERhdGE7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzMmNjZTQ1YzEwM2IzOGQyNmQw
YmFmZjQwZDU1YTE2ZjUzZTY2YWIwLi44NzZhYTg3MTA2NzNkNGVlMTcxYTQ4Yjg4MmQyMmU0ODc3
ODY5NTQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjItMDQtMjkgIE1hbnVlbCBSZWdvIENh
c2Fzbm92YXMgIDxyZWdvQGlnYWxpYS5jb20+CisKKyAgICAgICAgQVJJQSByZWZsZWN0aW9uIGZv
ciBFbGVtZW50IGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIzOTg1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIFVwZGF0ZSB0ZXN0IHRvIGluY2x1ZGUgdGhlIG5ldyByZWZsZWN0ZWQgYXR0
cmlidXRlcy4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVJJQS1yZWZsZWN0aW9uLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FSSUEtcmVmbGVjdGlvbi5odG1sOgor
CiAyMDIyLTA0LTI2ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAgICAg
ICA6OmZpcnN0LWxldHRlciBkb2VzIG5vdCB3b3JrIGlmIHVzZWQgb25seSBpbiBzaGFkb3cgY29u
dGVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMmU1MzhjNjBjOWNmZDQ1NTUx
NjQ5NTM3NDdkMWY4MzRkZTA4YzIyZC4uZGZiZmMwYjE2NzYyOGZmZjAwNGQ1MDRlNWU1YTNlZTIx
NzJhODY1MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMjItMDQtMjggIE1hbnVlbCBSZWdvIENhc2Fzbm92YXMgIDxyZWdvQGlnYWxpYS5jb20+CisK
KyAgICAgICAgQVJJQSByZWZsZWN0aW9uIGZvciBFbGVtZW50IGF0dHJpYnV0ZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTg1MgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNtYWxsIGZpeCBvbiB0aGUg
dGVzdCBhbmQgdXBkYXRlIHRlc3QgcmVzdWx0cyB3aXRoIHRoZSBuZXcgUEFTUy4KKyAgICAgICAg
QWRkIG5ldyB0ZXN0IGNhc2UgdG8gY292ZXIgZWxlbWVudHMgbW92ZWQgdG8gYSBkaWZmZXJlbnQg
ZG9jdW1lbnQuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL2FyaWEt
ZWxlbWVudC1yZWZsZWN0aW9uLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50YXRp
dmUuaHRtbDoKKwogMjAyMi0wNC0yNiAgT3Jpb2wgQnJ1ZmF1ICA8b2JydWZhdUBpZ2FsaWEuY29t
PgogCiAgICAgICAgIFtjc3MtY2FzY2FkZV0gRml4IGNhc2NhZGUgcm9sbGJhY2sgZm9yIGRlZmVy
cmVkIHByb3BlcnRpZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvQVJJ
QS1yZWZsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvQVJJ
QS1yZWZsZWN0aW9uLWV4cGVjdGVkLnR4dAppbmRleCA5NTA0YjY5YmNiYWNkMjQxYjk1ODU0MzAy
ZWY1NDc0ZTM1MmE0OThlLi5lM2ZlZWMzMGM0YzdhOWVhZmFkMWE5NGRlZGVlYzYzZjg4YmI4MGU3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L0FSSUEtcmVmbGVjdGlvbi1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rp
b24tZXhwZWN0ZWQudHh0CkBAIC03LDMxNyArNywyOTIgQEAgT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUKIFRlc3Qgcm9sZSA8IC0gPiByb2xlCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51
bGwKLWVsZW1lbnRbInJvbGUiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1
cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVu
dEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoInJvbGUi
LCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRh
CitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQorCitU
ZXN0IGFyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCA8IC0gPiBhcmlhLWFjdGl2ZWRlc2NlbmRh
bnQKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKK1BBU1MgZWxlbWVudC5n
ZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAorUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCitlbGVtZW50LnNldEF0
dHJpYnV0ZSgiYXJpYS1hY3RpdmVkZXNjZW5kYW50Iiwgb3RoZXJEYXRhKTsKK1BBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUF0b21p
YyA8IC0gPiBhcmlhLWF0b21pYwogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVs
bAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1l
bGVtZW50WyJhcmlhQXRvbWljIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShj
dXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlh
LWF0b21pYyIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBv
dGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3Bl
cnR5CiAKIFRlc3QgYXJpYUF1dG9Db21wbGV0ZSA8IC0gPiBhcmlhLWF1dG9jb21wbGV0ZQogUEFT
UyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhQXV0b0NvbXBsZXRl
Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRh
dGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWF1dG9jb21wbGV0ZSIsIG90
aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BB
U1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3Qg
YXJpYUJ1c3kgPCAtID4gYXJpYS1idXN5CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51
bGwKLWVsZW1lbnRbImFyaWFCdXN5Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0
ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1
cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJh
cmlhLWJ1c3kiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMg
b3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9w
ZXJ0eQogCiBUZXN0IGFyaWFDaGVja2VkIDwgLSA+IGFyaWEtY2hlY2tlZAogUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhQ2hlY2tlZCJdID0gZGF0YTsKLVBB
U1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBl
bGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1jaGVja2VkIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQ
cm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhQ29sQ291bnQgPCAtID4g
YXJpYS1jb2xjb3VudAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFT
UyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50
WyJhcmlhQ29sQ291bnQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtY29s
Y291bnQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3Ro
ZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0
eQogCiBUZXN0IGFyaWFDb2xJbmRleCA8IC0gPiBhcmlhLWNvbGluZGV4CiBQQVNTIGVsZW1lbnRb
Y3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFDb2xJbmRleCJdID0gZGF0YTsKLVBB
U1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBl
bGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1jb2xpbmRleCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVs
ZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50
UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUNvbFNwYW4gPCAtID4g
YXJpYS1jb2xzcGFuCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRb
ImFyaWFDb2xTcGFuIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRy
aWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWNvbHNw
YW4iLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJE
YXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQog
CiBUZXN0IGFyaWFDdXJyZW50IDwgLSA+IGFyaWEtY3VycmVudAogUEFTUyBlbGVtZW50W2N1cnJl
bnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0
cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhQ3VycmVudCJdID0gZGF0YTsKLVBBU1MgZWxl
bWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50
LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50
LnNldEF0dHJpYnV0ZSgiYXJpYS1jdXJyZW50Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtj
dXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0
eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhRGlzYWJsZWQgPCAtID4gYXJpYS1k
aXNhYmxlZAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVt
ZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlh
RGlzYWJsZWQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRy
aWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtZGlzYWJsZWQi
LCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRh
CitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQorCitU
ZXN0IGFyaWFFcnJvck1lc3NhZ2VFbGVtZW50IDwgLSA+IGFyaWEtZXJyb3JtZXNzYWdlCitQQVNT
IGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUo
Y3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQorZWxlbWVudC5zZXRBdHRyaWJ1dGUo
ImFyaWEtZXJyb3JtZXNzYWdlIiwgb3RoZXJEYXRhKTsKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJv
cGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUV4cGFuZGVkIDwgLSA+IGFy
aWEtZXhwYW5kZWQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1Mg
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsi
YXJpYUV4cGFuZGVkIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRy
aWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWV4cGFu
ZGVkIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVy
RGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkK
IAogVGVzdCBhcmlhSGFzUG9wdXAgPCAtID4gYXJpYS1oYXNwb3B1cAogUEFTUyBlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhSGFzUG9wdXAiXSA9IGRhdGE7Ci1QQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxl
bWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxl
bWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtaGFzcG9wdXAiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVt
ZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFIaWRkZW4gPCAtID4gYXJp
YS1oaWRkZW4KIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxl
bWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJp
YUhpZGRlbiJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJp
YnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRl
KSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4iLCBv
dGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQ
QVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0
IGFyaWFJbnZhbGlkIDwgLSA+IGFyaWEtaW52YWxpZAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9w
ZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRl
KSBpcyBudWxsCi1lbGVtZW50WyJhcmlhSW52YWxpZCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5n
ZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0
dHJpYnV0ZSgiYXJpYS1pbnZhbGlkIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50
UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMg
b3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhS2V5U2hvcnRjdXRzIDwgLSA+IGFyaWEta2V5
c2hvcnRjdXRzCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVs
ZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFy
aWFLZXlTaG9ydGN1dHMiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEta2V5
c2hvcnRjdXRzIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlz
IG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJv
cGVydHkKIAogVGVzdCBhcmlhTGFiZWwgPCAtID4gYXJpYS1sYWJlbAogUEFTUyBlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhTGFiZWwiXSA9IGRhdGE7Ci1QQVNTIGVs
ZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVu
dC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFMZXZlbCA8IC0gPiBhcmlhLWxldmVs
CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFMZXZlbCJd
ID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMg
ZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRh
QXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1sZXZlbCIsIG90aGVyRGF0YSk7
Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUxpdmUg
PCAtID4gYXJpYS1saXZlCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQ
QVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1l
bnRbImFyaWFMaXZlIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRy
aWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWxpdmUi
LCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRh
CitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBU
ZXN0IGFyaWFNb2RhbCA8IC0gPiBhcmlhLW1vZGFsCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUp
IGlzIG51bGwKLWVsZW1lbnRbImFyaWFNb2RhbCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJp
YnV0ZSgiYXJpYS1tb2RhbCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVy
RGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYU11bHRpTGluZSA8IC0gPiBhcmlhLW11bHRpbGluZQog
UEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhTXVsdGlMaW5l
Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRh
dGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLW11bHRpbGluZSIsIG90aGVy
RGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJp
YU11bHRpU2VsZWN0YWJsZSA8IC0gPiBhcmlhLW11bHRpc2VsZWN0YWJsZQogUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhTXVsdGlTZWxlY3RhYmxlIl0gPSBk
YXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRh
CitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRy
aWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLW11bHRpc2VsZWN0YWJsZSIsIG90aGVy
RGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJp
YU9yaWVudGF0aW9uIDwgLSA+IGFyaWEtb3JpZW50YXRpb24KIFBBU1MgZWxlbWVudFtjdXJyZW50
UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJp
YnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYU9yaWVudGF0aW9uIl0gPSBkYXRhOwotUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1l
bnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1l
bnQuc2V0QXR0cmlidXRlKCJhcmlhLW9yaWVudGF0aW9uIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQ
cm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhUGxhY2Vob2xkZXIgPCAt
ID4gYXJpYS1wbGFjZWhvbGRlcgogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVs
bAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1l
bGVtZW50WyJhcmlhUGxhY2Vob2xkZXIiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUo
Y3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUo
ImFyaWEtcGxhY2Vob2xkZXIiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9w
ZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhl
ckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFQb3NJblNldCA8IC0gPiBhcmlhLXBvc2luc2V0CiBQ
QVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0
cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFQb3NJblNldCJd
ID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMg
ZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRh
QXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1wb3NpbnNldCIsIG90aGVyRGF0
YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVBy
ZXNzZWQgPCAtID4gYXJpYS1wcmVzc2VkCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51
bGwKLWVsZW1lbnRbImFyaWFQcmVzc2VkIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRl
KGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRl
KCJhcmlhLXByZXNzZWQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0
eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRh
dGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFSZWFkT25seSA8IC0gPiBhcmlhLXJlYWRvbmx5CiBQQVNT
IGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFSZWFkT25seSJdID0g
ZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0
YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0
cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1yZWFkb25seSIsIG90aGVyRGF0YSk7
Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVJlbGV2
YW50IDwgLSA+IGFyaWEtcmVsZXZhbnQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlz
IG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVs
bAotZWxlbWVudFsiYXJpYVJlbGV2YW50Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRl
KGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRl
KCJhcmlhLXJlbGV2YW50Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVy
dHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJE
YXRhUHJvcGVydHkKIAogVGVzdCBhcmlhUmVxdWlyZWQgPCAtID4gYXJpYS1yZXF1aXJlZAogUEFT
UyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhUmVxdWlyZWQiXSA9
IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRh
dGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0
dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtcmVxdWlyZWQiLCBvdGhlckRhdGEp
OwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1l
bnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFSb2xl
RGVzY3JpcHRpb24gPCAtID4gYXJpYS1yb2xlZGVzY3JpcHRpb24KIFBBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVJvbGVEZXNjcmlwdGlvbiJdID0gZGF0YTsK
LVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFT
UyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRl
CiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1yb2xlZGVzY3JpcHRpb24iLCBvdGhlckRhdGEp
OwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1l
bnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFSb3dD
b3VudCA8IC0gPiBhcmlhLXJvd2NvdW50CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51
bGwKLWVsZW1lbnRbImFyaWFSb3dDb3VudCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRy
aWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0
ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0
ZSgiYXJpYS1yb3djb3VudCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVy
RGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVJvd0luZGV4IDwgLSA+IGFyaWEtcm93aW5kZXgKIFBB
U1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRy
aWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVJvd0luZGV4Il0g
PSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBk
YXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFB
dHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXJvd2luZGV4Iiwgb3RoZXJEYXRh
KTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVt
ZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhUm93
U3BhbiA8IC0gPiBhcmlhLXJvd3NwYW4KIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlz
IG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVs
bAotZWxlbWVudFsiYXJpYVJvd1NwYW4iXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUo
Y3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUo
ImFyaWEtcm93c3BhbiIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0
YVByb3BlcnR5CiAKIFRlc3QgYXJpYVNlbGVjdGVkIDwgLSA+IGFyaWEtc2VsZWN0ZWQKIFBBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1
dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVNlbGVjdGVkIl0gPSBk
YXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRh
CitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRy
aWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXNlbGVjdGVkIiwgb3RoZXJEYXRhKTsK
LVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhU2V0U2l6
ZSA8IC0gPiBhcmlhLXNldHNpemUKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51
bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAot
ZWxlbWVudFsiYXJpYVNldFNpemUiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRl
KGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFy
aWEtc2V0c2l6ZSIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVBy
b3BlcnR5CiAKIFRlc3QgYXJpYVNvcnQgPCAtID4gYXJpYS1zb3J0CiBQQVNTIGVsZW1lbnRbY3Vy
cmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFTb3J0Il0gPSBkYXRhOwotUEFTUyBlbGVt
ZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQu
c2V0QXR0cmlidXRlKCJhcmlhLXNvcnQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJl
bnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFWYWx1ZU1heCA8IC0gPiBhcmlhLXZhbHVl
bWF4CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFWYWx1
ZU1heCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS12YWx1ZW1heCIsIG90
aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BB
U1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3Qg
YXJpYVZhbHVlTWluIDwgLSA+IGFyaWEtdmFsdWVtaW4KIFBBU1MgZWxlbWVudFtjdXJyZW50UHJv
cGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVZhbHVlTWluIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50
LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0
QXR0cmlidXRlKCJhcmlhLXZhbHVlbWluIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0g
aXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhVmFsdWVOb3cgPCAtID4gYXJpYS12YWx1
ZW5vdwogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50
LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhVmFs
dWVOb3ciXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1
dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkg
aXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtdmFsdWVub3ciLCBv
dGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQ
QVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0
IGFyaWFWYWx1ZVRleHQgPCAtID4gYXJpYS12YWx1ZXRleHQKIFBBU1MgZWxlbWVudFtjdXJyZW50
UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJp
YnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVZhbHVlVGV4dCJdID0gZGF0YTsKLVBBU1MgZWxl
bWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50
LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50
LnNldEF0dHJpYnV0ZSgiYXJpYS12YWx1ZXRleHQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiAKLVBBU1MgY291bnQgaXMgMzgKK1BBU1MgY291
bnQgaXMgNDAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01QTEVU
RQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rpb24u
aHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvQVJJQS1yZWZsZWN0aW9uLmh0bWwKaW5k
ZXggMzIzYjE4OWM0ZTNlNDAxYTRmZmQ1NmQ0Y2ZlZTQ2NDcyOWFmZjkxOC4uOTNhOWI3YTE3Zjlh
NDRlNGNkMTFiZWNhOTY5ZjBjZTU3NzY5Y2VlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L0FSSUEtcmVmbGVjdGlvbi5odG1sCkBAIC01LDcgKzUsOCBAQAogPGRpdiBpZD0iY29u
dGVudCI+CiAKIDxkaXYgaWQ9InRlc3QiIGRhdGE9InNvbWUgZGF0YSI+Ci0KKyAgPGRpdiBpZD0i
Zmlyc3RDaGlsZCI+PC9kaXY+CisgIDxkaXYgaWQ9InNlY29uZENoaWxkIj48L2Rpdj4KIDwvZGl2
PgogCiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KQEAgLTIxLDIyICsyMiw0MCBAQAogICAgIHZh
ciBjdXJyZW50UHJvcGVydHk7CiAgICAgdmFyIGN1cnJlbnRBdHRyaWJ1dGU7CiAKKyAgICBmdW5j
dGlvbiBpc0VsZW1lbnRSZWZsZWN0aW9uUHJvcGVydHkocHJvcGVydHkpIHsKKyAgICAgICAgc3dp
dGNoIChwcm9wZXJ0eSkgeworICAgICAgICAgICAgY2FzZSAiYXJpYUFjdGl2ZURlc2NlbmRhbnRF
bGVtZW50IjoKKyAgICAgICAgICAgIGNhc2UgImFyaWFFcnJvck1lc3NhZ2VFbGVtZW50IjoKKyAg
ICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgfQorCisgICAgZnVuY3Rpb24gY29udmVydFByb3BlcnR5VG9BdHRyaWJ1dGUocHJv
cGVydHkpIHsKKyAgICAgICAgaWYgKGlzRWxlbWVudFJlZmxlY3Rpb25Qcm9wZXJ0eShwcm9wZXJ0
eSkpCisgICAgICAgICAgcHJvcGVydHkgPSBwcm9wZXJ0eS5yZXBsYWNlKCJFbGVtZW50IiwgIiIp
OworICAgICAgICByZXR1cm4gcHJvcGVydHkucmVwbGFjZSgiYXJpYSIsICJhcmlhLSIpLnRvTG93
ZXJDYXNlKCk7CisgICAgfQorCiAgICAgZnVuY3Rpb24gdGVzdEVsZW1lbnQoKSB7Ci0gICAgICAg
IGN1cnJlbnRBdHRyaWJ1dGUgPSBjdXJyZW50UHJvcGVydHkucmVwbGFjZSgiYXJpYSIsICJhcmlh
LSIpLnRvTG93ZXJDYXNlKCk7Ci0gICAgICAgIAorICAgICAgICBjdXJyZW50QXR0cmlidXRlID0g
Y29udmVydFByb3BlcnR5VG9BdHRyaWJ1dGUoY3VycmVudFByb3BlcnR5KTsKKwogICAgICAgICBk
ZWJ1ZygiXG5UZXN0ICIgKyBjdXJyZW50UHJvcGVydHkgKyAiIDwgLSA+ICIgKyBjdXJyZW50QXR0
cmlidXRlKTsKICAgICAgICAgc2hvdWxkQmVOdWxsKCJlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0i
KTsKICAgICAgICAgc2hvdWxkQmVOdWxsKCJlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0
cmlidXRlKSIpOwotICAgICAgICAKKwogICAgICAgICAvLyBTZXQgdGhlIHByb3BlcnR5IHZhbHVl
Ci0gICAgICAgIGRlYnVnKCJlbGVtZW50W1wiIiArIGN1cnJlbnRQcm9wZXJ0eSArICJcIl0gPSBk
YXRhOyIpOwotICAgICAgICBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gPSBkYXRhOwotICAgICAg
ICBzaG91bGRCZSgiZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkiLCAiZGF0
YSIpOworICAgICAgICBkYXRhUHJvcGVydHkgPSBpc0VsZW1lbnRSZWZsZWN0aW9uUHJvcGVydHko
Y3VycmVudFByb3BlcnR5KSA/IGZpcnN0Q2hpbGQgOiBkYXRhOworICAgICAgICBkYXRhQXR0cmli
dXRlID0gaXNFbGVtZW50UmVmbGVjdGlvblByb3BlcnR5KGN1cnJlbnRQcm9wZXJ0eSkgPyBmaXJz
dENoaWxkLmlkIDogZGF0YTsKKyAgICAgICAgZWxlbWVudFtjdXJyZW50UHJvcGVydHldID0gZGF0
YVByb3BlcnR5OworICAgICAgICBzaG91bGRCZSgiZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVu
dEF0dHJpYnV0ZSkiLCAiZGF0YUF0dHJpYnV0ZSIpOwogCiAgICAgICAgIC8vIFNldCB0aGUgYXR0
cmlidXRlIHZhbHVlCisgICAgICAgIG90aGVyRGF0YVByb3BlcnR5ID0gaXNFbGVtZW50UmVmbGVj
dGlvblByb3BlcnR5KGN1cnJlbnRQcm9wZXJ0eSkgPyBzZWNvbmRDaGlsZCA6IG90aGVyRGF0YTsK
KyAgICAgICAgb3RoZXJEYXRhQXR0cmlidXRlID0gaXNFbGVtZW50UmVmbGVjdGlvblByb3BlcnR5
KGN1cnJlbnRQcm9wZXJ0eSkgPyBzZWNvbmRDaGlsZC5pZCA6IG90aGVyRGF0YTsKICAgICAgICAg
ZGVidWcoImVsZW1lbnQuc2V0QXR0cmlidXRlKFwiIiArIGN1cnJlbnRBdHRyaWJ1dGUgKyAiXCIs
IG90aGVyRGF0YSk7Iik7Ci0gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKGN1cnJlbnRBdHRy
aWJ1dGUsIG90aGVyRGF0YSk7Ci0gICAgICAgIHNob3VsZEJlKCJlbGVtZW50W2N1cnJlbnRQcm9w
ZXJ0eV0iLCAib3RoZXJEYXRhIik7CisgICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUsIG90aGVyRGF0YUF0dHJpYnV0ZSk7CisgICAgICAgIHNob3VsZEJlKCJlbGVt
ZW50W2N1cnJlbnRQcm9wZXJ0eV0iLCAib3RoZXJEYXRhUHJvcGVydHkiKTsKICAgICB9CiAKICAg
ICBmdW5jdGlvbiB0ZXN0Um9sZSgpIHsKQEAgLTU5LDcgKzc4LDcgQEAKICAgICAgICAgfQogCiAg
ICAgICAgIGRlYnVnKCJcbiIpOwotICAgICAgICBzaG91bGRCZSgiY291bnQiLCAiMzgiKTsKKyAg
ICAgICAgc2hvdWxkQmUoImNvdW50IiwgIjQwIik7CiAKICAgICB9IGVsc2UgewogICAgICAgICB0
ZXN0RmFpbGVkKCJDb3VsZCBub3QgbG9hZCBhY2Nlc3NpYmlsaXR5IGNvbnRyb2xsZXIiKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L25vZGVzL2FyaWEtZWxlbWVudC1yZWZsZWN0aW9uLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlh
LWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CmluZGV4IGRjYTMxOGIw
OTg1M2FiYmE5N2Q1ZGY3NWJmMzQzYmMxNTM1ODdhYzAuLjU3NzZhNDJjZGEyZmI2ZDI1OGNiODg3
NzdhNzAwNzkwMDA2ZTQ5ODYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL2FyaWEtZWxlbWVudC1yZWZsZWN0aW9uLnRlbnRh
dGl2ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLWV4
cGVjdGVkLnR4dApAQCAtOSwxMCArOSw3IEBAIEZpcnN0IGRlc2NyaXB0aW9uLgogU2Vjb25kIGRl
c2NyaXB0aW9uLgogSXRlbSAxCiBJdGVtIDIKLUl0ZW0gMQotSXRlbSAyCiBIZWxsbyB3b3JsZCEK
LUkgYW0gYW4gYXBwbGUKIEkgYW0gYSBwZWFyCiBJIGFtIGEgYmFuYW5hCiBCaWxsaW5nCkBAIC00
NywxNyArNDQsMTcgQEAgV29uZGVyZnVsCiBGYW50YXN0aWMKIAogCi1GQUlMIGFyaWEtYWN0aXZl
ZGVzY2VuZGFudCBlbGVtZW50IHJlZmxlY3Rpb24gYXNzZXJ0X2VxdWFsczogaW52YWxpZCBJRCBm
b3IgcmVsYXRpb25zaGlwIHJldHVybnMgbnVsbCBleHBlY3RlZCAob2JqZWN0KSBudWxsIGJ1dCBn
b3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlMIElmIHRoZSBjb250ZW50IGF0dHJpYnV0ZSBp
cyBzZXQgZGlyZWN0bHksIHRoZSBJREwgYXR0cmlidXRlIGdldHRlciBhbHdheXMgcmV0dXJucyB0
aGUgZmlyc3QgZWxlbWVudCB3aG9zZSBJRCBtYXRjaGVzIHRoZSBjb250ZW50IGF0dHJpYnV0ZS4g
YXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKG9iamVjdCkgRWxlbWVudCBub2RlIDxkaXYgcm9sZT0i
b3B0aW9uIiBpZD0ib3B0aW9uMSI+SXRlbSAxPC9kaXY+IGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5k
ZWZpbmVkCi1GQUlMIFNldHRpbmcgdGhlIElETCBhdHRyaWJ1dGUgdG8gYW4gZWxlbWVudCB3aGlj
aCBpcyBub3QgdGhlIGZpcnN0IGVsZW1lbnQgaW4gRE9NIG9yZGVyIHdpdGggaXRzIElEIGNhdXNl
cyB0aGUgY29udGVudCBhdHRyaWJ1dGUgdG8gYmUgYW4gZW1wdHkgc3RyaW5nIGFzc2VydF90cnVl
OiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBTZXR0aW5nIGFuIGVsZW1lbnQgcmVmZXJl
bmNlIHRoYXQgY3Jvc3NlcyBpbnRvIGEgc2hhZG93IHRyZWUgaXMgZGlzYWxsb3dlZCwgYnV0IHNl
dHRpbmcgb25lIHRoYXQgaXMgaW4gYSBzaGFkb3cgaW5jbHVzaXZlIGFuY2VzdG9yIGlzIGFsbG93
ZWQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChvYmplY3QpIG51bGwgYnV0IGdvdCAodW5kZWZp
bmVkKSB1bmRlZmluZWQKLUZBSUwgYXJpYS1lcnJvcm1lc3NhZ2UgYXNzZXJ0X2VxdWFsczogZXhw
ZWN0ZWQgKHN0cmluZykgImVycm9yTWVzc2FnZSIgYnV0IGdvdCAob2JqZWN0KSBudWxsCitQQVNT
IGFyaWEtYWN0aXZlZGVzY2VuZGFudCBlbGVtZW50IHJlZmxlY3Rpb24KK1BBU1MgSWYgdGhlIGNv
bnRlbnQgYXR0cmlidXRlIGlzIHNldCBkaXJlY3RseSwgdGhlIElETCBhdHRyaWJ1dGUgZ2V0dGVy
IGFsd2F5cyByZXR1cm5zIHRoZSBmaXJzdCBlbGVtZW50IHdob3NlIElEIG1hdGNoZXMgdGhlIGNv
bnRlbnQgYXR0cmlidXRlLgorUEFTUyBTZXR0aW5nIHRoZSBJREwgYXR0cmlidXRlIHRvIGFuIGVs
ZW1lbnQgd2hpY2ggaXMgbm90IHRoZSBmaXJzdCBlbGVtZW50IGluIERPTSBvcmRlciB3aXRoIGl0
cyBJRCBjYXVzZXMgdGhlIGNvbnRlbnQgYXR0cmlidXRlIHRvIGJlIGFuIGVtcHR5IHN0cmluZwor
UEFTUyBTZXR0aW5nIGFuIGVsZW1lbnQgcmVmZXJlbmNlIHRoYXQgY3Jvc3NlcyBpbnRvIGEgc2hh
ZG93IHRyZWUgaXMgZGlzYWxsb3dlZCwgYnV0IHNldHRpbmcgb25lIHRoYXQgaXMgaW4gYSBzaGFk
b3cgaW5jbHVzaXZlIGFuY2VzdG9yIGlzIGFsbG93ZWQuCitQQVNTIGFyaWEtZXJyb3JtZXNzYWdl
CiBGQUlMIGFyaWEtZGV0YWlscyBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyB1bmRlZmlu
ZWQsIGV4cGVjdGVkIGFycmF5Ci1GQUlMIERlbGV0aW5nIGEgcmVmbGVjdGVkIGVsZW1lbnQgc2hv
dWxkIHJldHVybiBudWxsIGZvciB0aGUgSURMIGF0dHJpYnV0ZSBhbmQgY2F1c2UgdGhlIGNvbnRl
bnQgYXR0cmlidXRlIHRvIGJlY29tZSBzdGFsZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKG9i
amVjdCkgRWxlbWVudCBub2RlIDxkaXYgcm9sZT0ib3B0aW9uIiBpZD0iY29udGVudEF0dHJFbGVt
ZW50Ij5JdGVtIDE8L2Rpdj4gYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgQ2hh
bmdpbmcgdGhlIElEIG9mIGFuIGVsZW1lbnQgY2F1c2VzIHRoZSBjb250ZW50IGF0dHJpYnV0ZSB0
byBiZWNvbWUgb3V0IG9mIHN5bmMuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChvYmplY3QpIEVs
ZW1lbnQgbm9kZSA8ZGl2IHJvbGU9Im9wdGlvbiIgaWQ9ImNoYW5naW5nSWRFbGVtZW50Ij5JdGVt
IDE8L2Rpdj4gYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgUmVwYXJlbnRpbmcg
YW4gZWxlbWVudCBpbnRvIGEgZGVzY2VuZGFudCBzaGFkb3cgc2NvcGUgaGlkZXMgdGhlIGVsZW1l
bnQgcmVmZXJlbmNlLiBhc3NlcnRfZXF1YWxzOiBudWxsIGJlZm9yZSBleHBlY3RlZCAob2JqZWN0
KSBudWxsIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlMIFJlcGFyZW50aW5nIHJl
ZmVyZW5jZWQgZWxlbWVudCBjYW5ub3QgY2F1c2UgcmV0YXJnZXRpbmcgb2YgcmVmZXJlbmNlLiBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAiYXBwbGUiIGJ1dCBnb3QgKG9iamVjdCkg
bnVsbAotRkFJTCBFbGVtZW50IHJlZmVyZW5jZSBzZXQgaW4gaW52YWxpZCBzY29wZSByZW1haW5z
IGludGFjdCB0aHJvdWdob3V0IG1vdmUgdG8gdmFsaWQgc2NvcGUuIGFzc2VydF9lcXVhbHM6IGV4
cGVjdGVkIG51bGwgYnV0IGdvdCBFbGVtZW50IG5vZGUgPGRpdiBpZD0idG9hc3QiPjwvZGl2Pgor
UEFTUyBEZWxldGluZyBhIHJlZmxlY3RlZCBlbGVtZW50IHNob3VsZCByZXR1cm4gbnVsbCBmb3Ig
dGhlIElETCBhdHRyaWJ1dGUgYW5kIGNhdXNlIHRoZSBjb250ZW50IGF0dHJpYnV0ZSB0byBiZWNv
bWUgc3RhbGUuCitQQVNTIENoYW5naW5nIHRoZSBJRCBvZiBhbiBlbGVtZW50IGNhdXNlcyB0aGUg
Y29udGVudCBhdHRyaWJ1dGUgdG8gYmVjb21lIG91dCBvZiBzeW5jLgorUEFTUyBSZXBhcmVudGlu
ZyBhbiBlbGVtZW50IGludG8gYSBkZXNjZW5kYW50IHNoYWRvdyBzY29wZSBoaWRlcyB0aGUgZWxl
bWVudCByZWZlcmVuY2UuCitQQVNTIFJlcGFyZW50aW5nIHJlZmVyZW5jZWQgZWxlbWVudCBjYW5u
b3QgY2F1c2UgcmV0YXJnZXRpbmcgb2YgcmVmZXJlbmNlLgorUEFTUyBFbGVtZW50IHJlZmVyZW5j
ZSBzZXQgaW4gaW52YWxpZCBzY29wZSByZW1haW5zIGludGFjdCB0aHJvdWdob3V0IG1vdmUgdG8g
dmFsaWQgc2NvcGUuCiBGQUlMIGFyaWEtbGFiZWxsZWRieS4gYXNzZXJ0X2FycmF5X2VxdWFsczog
cGFyc2VkIGNvbnRlbnQgYXR0cmlidXRlIHNldHMgZWxlbWVudCByZWZlcmVuY2VzLiB2YWx1ZSBp
cyB1bmRlZmluZWQsIGV4cGVjdGVkIGFycmF5CiBGQUlMIGFyaWEtY29udHJvbHMuIGFzc2VydF9h
cnJheV9lcXVhbHM6IHZhbHVlIGlzIHVuZGVmaW5lZCwgZXhwZWN0ZWQgYXJyYXkKIEZBSUwgYXJp
YS1kZXNjcmliZWRieS4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgdW5kZWZpbmVkLCBl
eHBlY3RlZCBhcnJheQpAQCAtNjcsNiArNjQsNyBAQCBGQUlMIHNoYWRvdyBET00gYmVoYXZpb3Vy
IGZvciBGcm96ZW5BcnJheSBlbGVtZW50IHJlZmxlY3Rpb24uIGFzc2VydF9hcnJheV9lcXVhbAog
RkFJTCBNb3ZpbmcgZXhwbGljaXRseSBzZXQgZWxlbWVudHMgYWNyb3NzIHNoYWRvdyBET00gYm91
bmRhcmllcy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHN0cmluZykgImJ1dHRvbkRlc2NyaXB0
aW9uMSBidXR0b25EZXNjcmlwdGlvbjIiIGJ1dCBnb3QgKG9iamVjdCkgbnVsbAogRkFJTCBNb3Zp
bmcgZXhwbGljaXRseSBzZXQgZWxlbWVudHMgYXJvdW5kIHdpdGhpbiB0aGUgc2FtZSBzY29wZSwg
YW5kIHJlbW92aW5nIGZyb20gdGhlIERPTS4gYXNzZXJ0X2FycmF5X2VxdWFsczogYXJpYS1sYWJl
bGVkIGJ5IGlzIHN1cHBvcnRlZCBieSBJREwgZ2V0dGVyLiB2YWx1ZSBpcyB1bmRlZmluZWQsIGV4
cGVjdGVkIGFycmF5CiBQQVNTIFJlcGFyZW50aW5nLgotRkFJTCBBdHRhY2hpbmcgZWxlbWVudCBy
ZWZlcmVuY2UgYmVmb3JlIGl0J3MgaW5zZXJ0ZWQgaW50byB0aGUgRE9NLiBhc3NlcnRfZXF1YWxz
OiBSZWZlcmVuY2VkIGVsZW1lbnQgbm90IGluc2VydGVkIGludG8gZG9jdW1lbnQsIHNvIGlzIGlu
IGFuIGludmFsaWQgc2NvcGUuIGV4cGVjdGVkIG51bGwgYnV0IGdvdCBFbGVtZW50IG5vZGUgPHNw
YW4gaWQ9InRvU3BhbiI+PC9zcGFuPgotRkFJTCBDcm9zcy1kb2N1bWVudCByZWZlcmVuY2VzIGFu
ZCBtb3Zlcy4gYXNzZXJ0X2VxdWFsczogQ3Jvc3MtZG9jdW1lbnQgaXMgYW4gaW52YWxpZCBzY29w
ZSwgc28gcmVmZXJlbmNlIHdpbGwgbm90IGJlIHZpc2libGUuIGV4cGVjdGVkIG51bGwgYnV0IGdv
dCBFbGVtZW50IG5vZGUgPHNwYW4+PC9zcGFuPgorUEFTUyBBdHRhY2hpbmcgZWxlbWVudCByZWZl
cmVuY2UgYmVmb3JlIGl0J3MgaW5zZXJ0ZWQgaW50byB0aGUgRE9NLgorUEFTUyBDcm9zcy1kb2N1
bWVudCByZWZlcmVuY2VzIGFuZCBtb3Zlcy4KK0ZBSUwgQWRvcHRpbmcgZWxlbWVudCBrZWVwcyBy
ZWZlcmVuY2VzLiBhc3NlcnRfZXF1YWxzOiBSZWZlcmVuY2Ugc2hvdWxkIGJlIGtlcHQgb24gdGhl
IG5ldyBkb2N1bWVudGUgdG9vLiBleHBlY3RlZCBFbGVtZW50IG5vZGUgPHNwYW4+PC9zcGFuPiBi
dXQgZ290IG51bGwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9u
b2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50YXRpdmUuaHRtbAppbmRleCA3NzZmZmYz
MTQzMjJiOTAwNGUxZTY3ODNjNjI2YzAzNTZjYThmMGE3Li4zMTAxYjYyNWRlNzZmYjAxNTkyY2Uz
ZDk4M2FkMDNkNzE5NzY5YzhkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50
YXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50YXRpdmUuaHRtbApAQCAt
MTY0LDYgKzE2NCw3IEBACiAgIDxzY3JpcHQ+CiAKICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAg
Y29uc3QgY29udGVudEF0dHJFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRl
bnRBdHRyRWxlbWVudCIpOwogICAgIGNvbnN0IGlkbEF0dHJFbGVtZW50ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImlkbEF0dHJFbGVtZW50Iik7CiAKICAgICBhc3NlcnRfZXF1YWxzKGRlbGV0
aW9uUGFyZW50LmdldEF0dHJpYnV0ZSgiYXJpYS1hY3RpdmVkZXNjZW5kYW50IiksICJjb250ZW50
QXR0ckVsZW1lbnQiKTsKQEAgLTcwNyw2ICs3MDgsMjQgQEAKICAgICB9LCAiQ3Jvc3MtZG9jdW1l
bnQgcmVmZXJlbmNlcyBhbmQgbW92ZXMuIik7CiAgIDwvc2NyaXB0PgogCisKKyAgPHNjcmlwdD4K
KyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIGNvbnN0IG90aGVyRG9jID0gZG9jdW1lbnQu
aW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCdvdGhlckRvYycpOworICAgICAgY29u
c3Qgb3RoZXJEb2NEaXYgPSBvdGhlckRvYy5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAgIGNv
bnN0IG90aGVyRG9jU3BhbiA9IG90aGVyRG9jLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTsKKyAgICAg
IG90aGVyRG9jRGl2LmFwcGVuZENoaWxkKG90aGVyRG9jU3Bhbik7CisgICAgICBvdGhlckRvYy5i
b2R5LmFwcGVuZENoaWxkKG90aGVyRG9jRGl2KTsKKworICAgICAgb3RoZXJEb2NEaXYuYXJpYUFj
dGl2ZURlc2NlbmRhbnRFbGVtZW50ID0gb3RoZXJEb2NTcGFuOworICAgICAgYXNzZXJ0X2VxdWFs
cyhvdGhlckRvY0Rpdi5hcmlhQWN0aXZlRGVzY2VuZGFudEVsZW1lbnQsIG90aGVyRG9jU3Bhbiwg
IlNldHRpbmcgcmVmZXJlbmNlIG9uIGEgZGlmZmVyZW50IGRvY3VtZW50LiIpOworCisgICAgICAv
LyBBZG9wdCBlbGVtZW50IGZyb20gb3RoZXIgb2R1Y21lbnQuCisgICAgICBkb2N1bWVudC5hZG9w
dE5vZGUob3RoZXJEb2NEaXYpOworICAgICAgYXNzZXJ0X2VxdWFscyhvdGhlckRvY0Rpdi5hcmlh
QWN0aXZlRGVzY2VuZGFudEVsZW1lbnQsIG90aGVyRG9jU3BhbiwgIlJlZmVyZW5jZSBzaG91bGQg
YmUga2VwdCBvbiB0aGUgbmV3IGRvY3VtZW50ZSB0b28uIik7CisgICAgfSwgIkFkb3B0aW5nIGVs
ZW1lbnQga2VlcHMgcmVmZXJlbmNlcy4iKTsKKyAgPC9zY3JpcHQ+CisKICAgPCEtLSBUT0RPKGNo
cmlzaGFsbCk6IGFkZCBhZGRpdGlvbmFsIEdDIHRlc3QgY292ZXJpbmc6CiAgICAgICAgaWYgYW4g
ZWxlbWVudCBpcyBpbiBhbiBpbnZhbGlkIHNjb3BlIGJ1dCBhdHRhY2hlZCB0byB0aGUgZG9jdW1l
bnQsIGl0J3MKICAgICAgICBub3QgR0MnZDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458721</attachid>
            <date>2022-05-02 22:41:58 -0700</date>
            <delta_ts>2022-05-03 03:43:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239852-20220503074156.patch</filename>
            <type>text/plain</type>
            <size>52983</size>
            <attacher name="Manuel Rego Casasnovas">rego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNDk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGRhMjFhYjkzZTYyMDczYWRhNmQyNjEz
YjZhMmE3NmY4NDRmYzEzMzguLmVhYjMzNjZhNmE0YzZmYjNjNTU1ZGZhZDg0YTMxM2IzMDEzZGU1
YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjItMDUtMDIgIE1hbnVlbCBSZWdvIENhc2Fzbm92
YXMgIDxyZWdvQGlnYWxpYS5jb20+CisKKyAgICAgICAgQVJJQSByZWZsZWN0aW9uIGZvciBFbGVt
ZW50IGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzOTg1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBuZXcgcnVudGltZSBmbGFnIEFyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVy
ZW5jZXNFbmFibGVkLgorCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJl
bmNlc0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIyLTA0LTI2ICBNYW51ZWwgUmVnbyBDYXNhc25v
dmFzICA8cmVnb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFJlbW92ZSBBcmlhUmVmbGVjdGlvbkVu
YWJsZWQgcnVudGltZSBmbGFnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M0ZjhhZDU3NDljYzliNTAyM2E4ZmVj
ZTAyYzc3MGIxMTA4YTBlYi4uOGUzZDI1MTY1NDZjZDRkN2NjNTQ1Njg4NTVkY2VhMmFhYjYyMzBm
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDIyLTA1LTAyICBNYW51ZWwgUmVnbyBD
YXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIEFSSUEgcmVmbGVjdGlvbiBm
b3IgRWxlbWVudCBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzk4NTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJbXBsZW1lbnQgQVJJQSByZWZsZWN0aW9uIGZvciBhdHRyaWJ1dGVzIHRo
YXQgcmVmZXIgdG8gYSBzaW5nbGUgRWxlbWVudDoKKyAgICAgICAgYXJpYS1hY3RpdmVkZXNjZW5k
YW50ICYgYXJpYS1lcnJvcm1lc3NhZ2UuCisgICAgICAgIEZvciB0aGUgcHJvcGVydGllcyBuYW1l
cyB0aGlzIHBhdGNoIHVzZXMgIkVsZW1lbnQiIHN1ZmZpeDoKKyAgICAgICAgYXJpYUFjdGl2ZURl
c2NlbmRhbnRFbGVtZW50ICYgYXJpYUVycm9yTWVzc2FnZUVsZW1lbnQ7CisgICAgICAgIHRoaXMg
bWF0Y2hlcyBDaHJvbWl1bSBpbXBsZW1lbnRhdGlvbiBhbmQgQU9NIGV4cGxhaW5lciwgYnV0IG5v
dCBBT00gc3BlYzoKKyAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL3czYy9hcmlhL2lzc3Vlcy8x
NzMyCisKKyAgICAgICAgVGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBkb25lIGZvbGxvd2luZyB0aGUg
cHJvcG9zZWQgc3BlYyB0ZXh0IGRlZmluZWQgYXQ6CisgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNv
bS93aGF0d2cvaHRtbC9wdWxsLzM5MTcKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQXJpYUF0
dHJpYnV0ZXMuaWRsOiBBZGQgYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50ICYKKyAgICAgICAg
YXJpYUVycm9yTWVzc2FnZUVsZW1lbnQuCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yLnBtOgorICAgICAgICAoR2V0dGVyRXhwcmVzc2lvbik6IEFkZCBmdW5jdGlvbiBm
b3IgRWxlbWVudCBhdHRyaWJ1dGVzLgorICAgICAgICAoU2V0dGVyRXhwcmVzc2lvbik6IERpdHRv
LgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOiBBZGQg
dGVzdHMgZm9yIGVsZW1lbnQKKyAgICAgICAgYXR0cmlidXRlIHJlZmxlY3Rpb24uCisgICAgICAg
IChXZWJDb3JlOjpKU1Rlc3RPYmpET01Db25zdHJ1Y3Rvcjo6Y29uc3RydWN0KToKKyAgICAgICAg
KFdlYkNvcmU6OmpzVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0ckdldHRlcik6CisgICAgICAg
IChXZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIpOgorICAgICAgICAoV2ViQ29yZTo6
c2V0SlNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRyU2V0dGVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Rlc3RPYmouaWRsOiBBZGQgcmVmbGVjdGVkRWxlbWVudEF0dHIKKyAgICAgICAgYXR0
cmlidXRlLgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omlz
RWxlbWVudFJlZmxlY3Rpb25BdHRyaWJ1dGUpOiBVdGlsaXR5IGZ1bmN0aW9uIHRvIGlkZW50aWZ5
CisgICAgICAgIEVsZW1lbnQgcmVmbGVjdGlvbiBhdHRyaWJ1dGVzLgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6IElmIGFuIGVsZW1lbnQgcmVmbGVjdGlvbgor
ICAgICAgICBhdHRyaWJ1dGUgaGFzIGNoYW5nZWQgd2UgbmVlZCB0byBzeW5jaHJvbml6ZSB0aGUg
bWFwLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6ZW5zdXJlRXhwbGljaXRseVNldEF0dHJF
bGVtZW50c01hcCk6IEtpbmQgb2YgZ2V0dGVyCisgICAgICAgIGZvciB0aGUgRXhwbGljaXRseVNl
dEF0dHJFbGVtZW50c01hcCBidXQgdGhhdCBjcmVhdGVzIHRoZSBtYXAgaWYgaXQKKyAgICAgICAg
ZG9lc24ndCBleGlzdCB5ZXQuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpleHBsaWNpdGx5
U2V0QXR0ckVsZW1lbnRzTWFwIGNvbnN0KTogR2V0dGVyIGZvciB0aGUKKyAgICAgICAgbWFwLgor
ICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c3luY2hyb25pemVFbGVtZW50UmVmbGVjdGlvbkF0
dHJpYnV0ZSk6IFJlbW92ZSB0aGUKKyAgICAgICAgbWFwIGZvciB0aGUgZ2l2ZW4gYXR0cmlidXRl
IGFzIGl0J2xsIGJlIHByb3Blcmx5IHVwZGF0ZWQgaW4KKyAgICAgICAgc2V0RWxlbWVudEF0dHJp
YnV0ZSgpLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aXNEZXNjZW5kYW50T2ZTaGFkb3dJ
bmNsdWRpbmdBbmNlc3RvcnMgY29uc3QpOgorICAgICAgICBVdGlsaXR5IG1ldGhvZCB0byBkZXRl
Y3QgaWYgYW4gZWxlbWVudCBpcyBhIGRlc2NlbmRhbnQgb2YgYW55IG9mCisgICAgICAgIGVsZW1l
bnQncyBzaGFkb3ctaW5jbHVkaW5nIGFuY2VzdG9ycy4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1l
bnQ6OmdldEVsZW1lbnRBdHRyaWJ1dGUgY29uc3QpOiBJbXBsZW1lbnQgZ2V0dGVyIGZvcgorICAg
ICAgICBlbGVtZW50IGF0dHJpYnV0ZS4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNldEVs
ZW1lbnRBdHRyaWJ1dGUpOiBJbXBsZW1lbnQgc2V0dGVyIGZvcgorICAgICAgICBlbGVtZW50IGF0
dHJpYnV0ZS4KKyAgICAgICAgKiBkb20vRWxlbWVudC5oOiBBZGQgbmV3IG1ldGhvZCBoZWFkZXJz
LgorICAgICAgICAqIGRvbS9FbGVtZW50UmFyZURhdGEuY3BwOiBVcGRhdGUgc2l6ZSBvZiBTYW1l
U2l6ZUFzRWxlbWVudFJhcmVEYXRhIHRvCisgICAgICAgIGluY2x1ZGUgdGhlIG5ldyBwb2ludGVy
LgorICAgICAgICAqIGRvbS9FbGVtZW50UmFyZURhdGEuaDogQWRkIG1fZXhwbGljaXRseVNldEF0
dHJFbGVtZW50c01hcCBhdHRyaWJ1dGUuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFyZURh
dGE6OmV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXApOiBHZXR0ZXIuCisgICAgICAgIChXZWJD
b3JlOjpFbGVtZW50UmFyZURhdGE6OnNldEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXApOiBT
ZXR0ZXIuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6OnVzZVR5cGVzIGNvbnN0
KTpJbmNsdWRlCisgICAgICAgIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAuCisgICAgICAg
ICogZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c3RyaW5nRm9yUmFyZURhdGFVc2VU
eXBlKTogQWRkIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAuCisgICAgICAgICogZG9tL05v
ZGVSYXJlRGF0YS5oOiBEaXR0by4KKwogMjAyMi0wNC0yNiAgQW50dGkgS29pdmlzdG8gIDxhbnR0
aUBhcHBsZS5jb20+CiAKICAgICAgICAgOjpmaXJzdC1sZXR0ZXIgZG9lcyBub3Qgd29yayBpZiB1
c2VkIG9ubHkgaW4gc2hhZG93IGNvbnRlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0
cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIGIvU291cmNlL1dU
Ri9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKaW5k
ZXggMDM4ZTYxYWM5MjM1YzljN2I4Y2E1MWQ5ZTc0OWI5MGRmOWEwMTEwZi4uODg0OWYyOWExOTQ0
YmE1M2QxZmNiNWViODY2MGEyMDhkYmFjYTMyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3Jp
cHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKKysrIGIvU291
cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlh
bWwKQEAgLTY2LDYgKzY2LDE4IEBAIEFjY2Vzc2liaWxpdHlPYmplY3RNb2RlbEVuYWJsZWQ6CiAg
ICAgV2ViS2l0OgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorQXJpYVJlZmxlY3Rpb25Gb3JFbGVt
ZW50UmVmZXJlbmNlc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgaHVtYW5SZWFkYWJsZU5hbWU6
ICJBUklBIFJlZmxlY3Rpb24gZm9yIEVsZW1lbnQgUmVmZXJlbmNlcyIKKyAgaHVtYW5SZWFkYWJs
ZURlc2NyaXB0aW9uOiAiRW5hYmxlIEFSSUEgcmVmbGVjdGlvbiBmb3IgYXR0cmlidXRlcyB0aGF0
IHJlZmVyIHRvIGVsZW1lbnRzIgorICBkZWZhdWx0VmFsdWU6CisgICAgV2ViS2l0TGVnYWN5Ogor
ICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBXZWJLaXQ6CisgICAgICBkZWZhdWx0OiBmYWxzZQor
ICAgIFdlYkNvcmU6CisgICAgICBkZWZhdWx0OiBmYWxzZQorCiBBc3BlY3RSYXRpb0VuYWJsZWQ6
CiAgIHR5cGU6IGJvb2wKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJDU1MgQXNwZWN0IFJhdGlvIgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BcmlhQXR0cmlidXRlcy5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FyaWFBdHRyaWJ1dGVzLmlkbAppbmRl
eCA1YmU1ZTQ2ZjhjNTk2YWM0NjgzM2ZkYzEyNGZhMGU3MDMxMzhlMzg1Li40YzY2MGJhMTgwMjE5
YWEzZmNiYjY2Mjg0ZjUzMDgwOWM0ZjdjYmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FyaWFBdHRyaWJ1dGVzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FyaWFBdHRyaWJ1dGVzLmlkbApAQCAtMjUsNiArMjUsNyBAQAogCiAvLyBodHRw
czovL3dpY2cuZ2l0aHViLmlvL2FvbS9zcGVjL2FyaWEtcmVmbGVjdGlvbi5odG1sI0FyaWFBdHRy
aWJ1dGVzCiBpbnRlcmZhY2UgbWl4aW4gQXJpYUF0dHJpYnV0ZXMgeworICAgIFtSZWZsZWN0PWFy
aWFfYWN0aXZlZGVzY2VuZGFudCwgRW5hYmxlZEJ5U2V0dGluZz1BcmlhUmVmbGVjdGlvbkZvckVs
ZW1lbnRSZWZlcmVuY2VzRW5hYmxlZF0gYXR0cmlidXRlIEVsZW1lbnQ/IGFyaWFBY3RpdmVEZXNj
ZW5kYW50RWxlbWVudDsKICAgICBbUmVmbGVjdD1hcmlhX2F0b21pY10gICAgICAgICAgIGF0dHJp
YnV0ZSBbQXRvbVN0cmluZ10gRE9NU3RyaW5nPyBhcmlhQXRvbWljOwogICAgIFtSZWZsZWN0PWFy
aWFfYXV0b2NvbXBsZXRlXSAgICAgYXR0cmlidXRlIFtBdG9tU3RyaW5nXSBET01TdHJpbmc/IGFy
aWFBdXRvQ29tcGxldGU7CiAgICAgW1JlZmxlY3Q9YXJpYV9idXN5XSAgICAgICAgICAgICBhdHRy
aWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUJ1c3k7CkBAIC0zNCw2ICszNSw3IEBA
IGludGVyZmFjZSBtaXhpbiBBcmlhQXR0cmlidXRlcyB7CiAgICAgW1JlZmxlY3Q9YXJpYV9jb2xz
cGFuXSAgICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUNvbFNw
YW47CiAgICAgW1JlZmxlY3Q9YXJpYV9jdXJyZW50XSAgICAgICAgICBhdHRyaWJ1dGUgW0F0b21T
dHJpbmddIERPTVN0cmluZz8gYXJpYUN1cnJlbnQ7CiAgICAgW1JlZmxlY3Q9YXJpYV9kaXNhYmxl
ZF0gICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYURpc2FibGVk
OworICAgIFtSZWZsZWN0PWFyaWFfZXJyb3JtZXNzYWdlLCBFbmFibGVkQnlTZXR0aW5nPUFyaWFS
ZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5jZXNFbmFibGVkXSBhdHRyaWJ1dGUgRWxlbWVudD8g
YXJpYUVycm9yTWVzc2FnZUVsZW1lbnQ7CiAgICAgW1JlZmxlY3Q9YXJpYV9leHBhbmRlZF0gICAg
ICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUV4cGFuZGVkOwogICAg
IFtSZWZsZWN0PWFyaWFfaGFzcG9wdXBdICAgICAgICAgYXR0cmlidXRlIFtBdG9tU3RyaW5nXSBE
T01TdHJpbmc/IGFyaWFIYXNQb3B1cDsKICAgICBbUmVmbGVjdD1hcmlhX2hpZGRlbl0gICAgICAg
ICAgIGF0dHJpYnV0ZSBbQXRvbVN0cmluZ10gRE9NU3RyaW5nPyBhcmlhSGlkZGVuOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCmluZGV4IDcx
YjM2YmNlNTUzY2MxZTRkZjM5OTZkMmJkNGEyOGFlZDA3YTJjOTIuLmI4ZDdhNGYwYmJmZjlkODFl
NDUxZmE1MjU1ZjRkMzA2Yzc2Y2M2ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KQEAgLTExMDgsNiArMTEwOCw4IEBAIHN1YiBHZXR0
ZXJFeHByZXNzaW9uCiAgICAgICAgICRmdW5jdGlvbk5hbWUgPSAiZ2V0SW50ZWdyYWxBdHRyaWJ1
dGUiOwogICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGVUeXBlLT5uYW1lIGVxICJ1bnNpZ25lZCBsb25n
IikgewogICAgICAgICAkZnVuY3Rpb25OYW1lID0gImdldFVuc2lnbmVkSW50ZWdyYWxBdHRyaWJ1
dGUiOworICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGVUeXBlLT5uYW1lIGVxICJFbGVtZW50Iikgewor
ICAgICAgICAkZnVuY3Rpb25OYW1lID0gImdldEVsZW1lbnRBdHRyaWJ1dGUiOwogICAgIH0gZWxz
ZSB7CiAgICAgICAgIGlmICgkY29udGVudEF0dHJpYnV0ZU5hbWUgZXEgIldlYkNvcmU6OkhUTUxO
YW1lczo6aWRBdHRyIikgewogICAgICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICJnZXRJZEF0dHJp
YnV0ZSI7CkBAIC0xMTQ1LDYgKzExNDcsOCBAQCBzdWIgU2V0dGVyRXhwcmVzc2lvbgogICAgICAg
ICAkZnVuY3Rpb25OYW1lID0gInNldEludGVncmFsQXR0cmlidXRlIjsKICAgICB9IGVsc2lmICgk
YXR0cmlidXRlVHlwZS0+bmFtZSBlcSAidW5zaWduZWQgbG9uZyIpIHsKICAgICAgICAgJGZ1bmN0
aW9uTmFtZSA9ICJzZXRVbnNpZ25lZEludGVncmFsQXR0cmlidXRlIjsKKyAgICB9IGVsc2lmICgk
YXR0cmlidXRlVHlwZS0+bmFtZSBlcSAiRWxlbWVudCIpIHsKKyAgICAgICAgJGZ1bmN0aW9uTmFt
ZSA9ICJzZXRFbGVtZW50QXR0cmlidXRlIjsKICAgICB9IGVsc2lmICgkZ2VuZXJhdG9yLT5Jc1NW
R0FuaW1hdGVkVHlwZSgkYXR0cmlidXRlVHlwZSkpIHsKICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9
ICJzZXRBdHRyaWJ1dGUiOwogICAgIH0gZWxzZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCmluZGV4IDU1OGE5MTZlM2U5
NTdjNWQyM2E2OGY3N2I1M2U0MjJhNzI5YmJiNTYuLmNjNjE5NWI0ZDM4Yjc4ZWI3OWE1MGRhMGUx
NjVjNTZhOTY2MWRhMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCkBAIC0xODAzLDYgKzE4MDMsOCBAQCBzdGF0aWMg
SlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVmbGVjdGVkVW5zaWduZWRJbnRl
Z3JhbEF0dHIpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2Jq
X3JlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNU
T01fR0VUVEVSKGpzVGVzdE9ial9yZWZsZWN0ZWRCb29sZWFuQXR0cik7CiBzdGF0aWMgSlNDX0RF
Q0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkQm9vbGVhbkF0dHIpOwor
c3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNUZXN0T2JqX3JlZmxlY3RlZEVsZW1l
bnRBdHRyKTsKK3N0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9y
ZWZsZWN0ZWRFbGVtZW50QXR0cik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihq
c1Rlc3RPYmpfcmVmbGVjdGVkVVJMQXR0cik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX1NF
VFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVVJMQXR0cik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVf
Q1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVmbGVjdGVkVVNWVVJMQXR0cik7CkBAIC0yMTc1LDYg
KzIxNzcsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0T2JqUHJvdG90eXBl
VGFibGVWYWx1ZXNbXSA9CiAgICAgeyAicmVmbGVjdGVkSW50ZWdyYWxBdHRyIiwgc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0
cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpfcmVm
bGVjdGVkSW50ZWdyYWxBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNs
b3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3JlZmxlY3RlZEludGVncmFsQXR0cikgfSB9
LAogICAgIHsgInJlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyIiwgc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlNDOjpQcm9w
ZXJ0eUF0dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0
YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpfcmVmbGVjdGVk
VW5zaWduZWRJbnRlZ3JhbEF0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5
U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVW5zaWduZWRJbnRlZ3Jh
bEF0dHIpIH0gfSwKICAgICB7ICJyZWZsZWN0ZWRCb29sZWFuQXR0ciIsIHN0YXRpY19jYXN0PHVu
c2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClz
dGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqX3JlZmxlY3Rl
ZEJvb2xlYW5BdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1
dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3JlZmxlY3RlZEJvb2xlYW5BdHRyKSB9IH0sCisgICAg
eyAicmVmbGVjdGVkRWxlbWVudEF0dHIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9w
ZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
T01BdHRyaWJ1dGUpLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVy
dHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0ciksIChp
bnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpT
VGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0cikgfSB9LAogICAgIHsgInJlZmxlY3RlZFVSTEF0
dHIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9t
QWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpET01BdHRyaWJ1dGUpLCBOb0ludHJp
bnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+
KGpzVGVzdE9ial9yZWZsZWN0ZWRVUkxBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQ
cm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3JlZmxlY3RlZFVSTEF0dHIp
IH0gfSwKICAgICB7ICJyZWZsZWN0ZWRVU1ZVUkxBdHRyIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19j
YXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpfcmVmbGVjdGVkVVNWVVJM
QXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1
bmM+KHNldEpTVGVzdE9ial9yZWZsZWN0ZWRVU1ZVUkxBdHRyKSB9IH0sCiAgICAgeyAicmVmbGVj
dGVkU3RyaW5nQXR0ciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0
ZSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6Okdl
dFZhbHVlRnVuYz4oanNUZXN0T2JqX3JlZmxlY3RlZFN0cmluZ0F0dHIpLCAoaW50cHRyX3QpIHN0
YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpfcmVm
bGVjdGVkU3RyaW5nQXR0cikgfSB9LApAQCAtMzkxOCw2ICszOTIxLDM3IEBAIEpTQ19ERUZJTkVf
Q1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkQm9vbGVhbkF0dHIsIChKU0dsb2Jh
bE9iamVjdCogbGV4CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0
SlNUZXN0T2JqX3JlZmxlY3RlZEJvb2xlYW5BdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsIGF0dHJpYnV0ZU5hbWUpOwogfQogCitzdGF0aWMg
aW5saW5lIEpTVmFsdWUganNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRyR2V0dGVyKEpTR2xv
YmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RPYmomIHRoaXNPYmplY3QpCit7
CisgICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKKyAgICBh
dXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAgICBhdXRvJiBpbXBs
ID0gdGhpc09iamVjdC53cmFwcGVkKCk7CisgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHRocm93U2Nv
cGUsICh0b0pTPElETEludGVyZmFjZTxFbGVtZW50Pj4obGV4aWNhbEdsb2JhbE9iamVjdCwgKnRo
aXNPYmplY3QuZ2xvYmFsT2JqZWN0KCksIHRocm93U2NvcGUsIGltcGwuZ2V0RWxlbWVudEF0dHJp
YnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RlZGVsZW1lbnRhdHRyQXR0cikpKSk7Cit9
CisKK0pTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0
dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUgYXR0cmlidXRlTmFtZSkpCit7CisgICAgcmV0dXJuIElE
TEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpnZXQ8anNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRy
R2V0dGVyLCBDYXN0ZWRUaGlzRXJyb3JCZWhhdmlvcjo6QXNzZXJ0PigqbGV4aWNhbEdsb2JhbE9i
amVjdCwgdGhpc1ZhbHVlLCBhdHRyaWJ1dGVOYW1lKTsKK30KKworc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0clNldHRlcihKU0dsb2JhbE9iamVjdCYg
bGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0T2JqJiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVl
KQoreworICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Cisg
ICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisgICAgYXV0byYg
aW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOworICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252
ZXJ0PElETEludGVyZmFjZTxFbGVtZW50Pj4obGV4aWNhbEdsb2JhbE9iamVjdCwgdmFsdWUsIFtd
KEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29w
ZSYgc2NvcGUpIHsgdGhyb3dBdHRyaWJ1dGVUeXBlRXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwg
c2NvcGUsICJUZXN0T2JqZWN0IiwgInJlZmxlY3RlZEVsZW1lbnRBdHRyIiwgIkVsZW1lbnQiKTsg
fSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBmYWxzZSk7CisgICAgaW52
b2tlRnVuY3RvclByb3BhZ2F0aW5nRXhjZXB0aW9uSWZOZWNlc3NhcnkobGV4aWNhbEdsb2JhbE9i
amVjdCwgdGhyb3dTY29wZSwgWyZdIHsKKyAgICAgICAgcmV0dXJuIGltcGwuc2V0RWxlbWVudEF0
dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RlZGVsZW1lbnRhdHRyQXR0ciwgKm5h
dGl2ZVZhbHVlKTsKKyAgICB9KTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworSlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0ciwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lIGF0dHJpYnV0ZU5hbWUpKQor
eworICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9y
ZWZsZWN0ZWRFbGVtZW50QXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1
ZSwgZW5jb2RlZFZhbHVlLCBhdHRyaWJ1dGVOYW1lKTsKK30KKwogc3RhdGljIGlubGluZSBKU1Zh
bHVlIGpzVGVzdE9ial9yZWZsZWN0ZWRVUkxBdHRyR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RPYmomIHRoaXNPYmplY3QpCiB7CiAgICAgYXV0byYgdm0g
PSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAppbmRleCAxMGY2NTFhNTc1ZTc3Yjc1
MDAyYjg3MGNkYmI4OThmZmE0NjYzM2M5Li43ZTk4MmQ1MTYyNGI0Y2ZkOGI4NmVkNTE0NzdmNzE3
YjFiYmZlNWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVGVzdE9iai5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Rlc3RPYmouaWRsCkBAIC0xMDQsNiArMTA0LDcgQEAgZW51bSBUZXN0Q29uZmlkZW5jZSB7ICJo
aWdoIiwgImtpbmRhLWxvdyIgfTsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIGxvbmcgcmVmbGVj
dGVkSW50ZWdyYWxBdHRyOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBy
ZWZsZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0cjsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIGJv
b2xlYW4gcmVmbGVjdGVkQm9vbGVhbkF0dHI7CisgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBFbGVt
ZW50IHJlZmxlY3RlZEVsZW1lbnRBdHRyOwogICAgIFtSZWZsZWN0LCBVUkxdIGF0dHJpYnV0ZSBE
T01TdHJpbmcgcmVmbGVjdGVkVVJMQXR0cjsKICAgICBbUmVmbGVjdCwgVVJMXSBhdHRyaWJ1dGUg
VVNWU3RyaW5nIHJlZmxlY3RlZFVTVlVSTEF0dHI7CiAgICAgW1JlZmxlY3Q9Y3VzdG9tQ29udGVu
dFN0cmluZ0F0dHJdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmbGVjdGVkU3RyaW5nQXR0cjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmNwcAppbmRleCAwYmQyNjcyMWNiZTg3MDQ3MzZiMThhNzU2ZTg4ZjA2NWE2
NDA3MjNjLi4zZDkwYThkNDUzYWEwMDU5MGQ3ODAyNjljMDM5MzE5MDQyMmNlYTJiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuY3BwCkBAIC0xOTAxLDYgKzE5MDEsMTEgQEAgc3RhdGljIGlubGluZSBBdG9t
U3RyaW5nIG1ha2VJZEZvclN0eWxlUmVzb2x1dGlvbihjb25zdCBBdG9tU3RyaW5nJiB2YWx1ZSwg
Ym9vbAogICAgIHJldHVybiB2YWx1ZTsKIH0KIAorc3RhdGljIGJvb2wgaXNFbGVtZW50UmVmbGVj
dGlvbkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lKQoreworICAgIHJldHVybiBu
YW1lID09IEhUTUxOYW1lczo6YXJpYV9hY3RpdmVkZXNjZW5kYW50QXR0ciB8fCBuYW1lID09IEhU
TUxOYW1lczo6YXJpYV9lcnJvcm1lc3NhZ2VBdHRyOworfQorCiB2b2lkIEVsZW1lbnQ6OmF0dHJp
YnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYg
b2xkVmFsdWUsIGNvbnN0IEF0b21TdHJpbmcmIG5ld1ZhbHVlLCBBdHRyaWJ1dGVNb2RpZmljYXRp
b25SZWFzb24pCiB7CiAgICAgYm9vbCB2YWx1ZUlzU2FtZUFzQmVmb3JlID0gb2xkVmFsdWUgPT0g
bmV3VmFsdWU7CkBAIC0xOTM3LDYgKzE5NDIsOCBAQCB2b2lkIEVsZW1lbnQ6OmF0dHJpYnV0ZUNo
YW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYgb2xkVgog
ICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgaWYgKG5hbWUgPT0gSFRNTE5hbWVzOjpwYXJ0
QXR0cikKICAgICAgICAgICAgIHBhcnRBdHRyaWJ1dGVDaGFuZ2VkKG5ld1ZhbHVlKTsKKyAgICAg
ICAgZWxzZSBpZiAoaXNFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0ZShuYW1lKSkKKyAgICAgICAg
ICAgIHN5bmNocm9uaXplRWxlbWVudFJlZmxlY3Rpb25BdHRyaWJ1dGUobmFtZSk7CiAgICAgICAg
IGVsc2UgaWYgKG5hbWUgPT0gSFRNTE5hbWVzOjpleHBvcnRwYXJ0c0F0dHIpIHsKICAgICAgICAg
ICAgIGlmIChhdXRvKiBzaGFkb3dSb290ID0gdGhpcy0+c2hhZG93Um9vdCgpKSB7CiAgICAgICAg
ICAgICAgICAgc2hhZG93Um9vdC0+aW52YWxpZGF0ZVBhcnRNYXBwaW5ncygpOwpAQCAtMTk2MSw2
ICsxOTY4LDg1IEBAIHZvaWQgRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZp
ZWROYW1lJiBuYW1lLCBjb25zdCBBdG9tU3RyaW5nJiBvbGRWCiAgICAgICAgIGNhY2hlLT5kZWZl
ckF0dHJpYnV0ZUNoYW5nZUlmTmVlZGVkKG5hbWUsIHRoaXMpOwogfQogCitFeHBsaWNpdGx5U2V0
QXR0ckVsZW1lbnRzTWFwJiBFbGVtZW50OjplbnN1cmVFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRz
TWFwKCkKK3sKKyAgICBhdXRvJiByYXJlRGF0YSA9IGVuc3VyZUVsZW1lbnRSYXJlRGF0YSgpOwor
ICAgIGlmICghcmFyZURhdGEuZXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCgpKQorICAgICAg
ICByYXJlRGF0YS5zZXRFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKG1ha2VVbmlxdWU8RXhw
bGljaXRseVNldEF0dHJFbGVtZW50c01hcD4oKSk7CisgICAgcmV0dXJuICpyYXJlRGF0YS5leHBs
aWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKCk7Cit9CisKK0V4cGxpY2l0bHlTZXRBdHRyRWxlbWVu
dHNNYXAqIEVsZW1lbnQ6OmV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoKSBjb25zdAorewor
ICAgIHJldHVybiBoYXNSYXJlRGF0YSgpID8gZWxlbWVudFJhcmVEYXRhKCktPmV4cGxpY2l0bHlT
ZXRBdHRyRWxlbWVudHNNYXAoKSA6IG51bGxwdHI7Cit9CisKK3ZvaWQgRWxlbWVudDo6c3luY2hy
b25pemVFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRy
aWJ1dGVOYW1lKQoreworICAgIEFTU0VSVChkb2N1bWVudCgpLnNldHRpbmdzKCkuYXJpYVJlZmxl
Y3Rpb25Gb3JFbGVtZW50UmVmZXJlbmNlc0VuYWJsZWQoKSk7CisgICAgQVNTRVJUKGlzRWxlbWVu
dFJlZmxlY3Rpb25BdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSkpOworCisgICAgZW5zdXJlRXhwbGlj
aXRseVNldEF0dHJFbGVtZW50c01hcCgpLnJlbW92ZShhdHRyaWJ1dGVOYW1lKTsKK30KKworYm9v
bCBFbGVtZW50Ojppc0Rlc2NlbmRhbnRPZlNoYWRvd0luY2x1ZGluZ0FuY2VzdG9ycyhjb25zdCBF
bGVtZW50JiBlbGVtZW50KSBjb25zdAoreworICAgIGlmICghaXNJblRyZWVTY29wZSgpIHx8ICFl
bGVtZW50LmlzSW5UcmVlU2NvcGUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgZm9y
IChhdXRvKiByb290ID0gY29udGFpbmluZ1NoYWRvd1Jvb3QoKTsgcm9vdDsgcm9vdCA9IHJvb3Qt
Pmhvc3QoKS0+Y29udGFpbmluZ1NoYWRvd1Jvb3QoKSkgeworICAgICAgICBpZiAoZWxlbWVudC5p
c0Rlc2NlbmRhbnRPZihyb290KSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKwor
ICAgIHJldHVybiBlbGVtZW50LmlzRGVzY2VuZGFudE9mKGRvY3VtZW50KCkuZG9jdW1lbnRFbGVt
ZW50KCkpOworfQorCitFbGVtZW50KiBFbGVtZW50OjpnZXRFbGVtZW50QXR0cmlidXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIGNvbnN0Cit7CisgICAgQVNTRVJUKGRvY3Vt
ZW50KCkuc2V0dGluZ3MoKS5hcmlhUmVmbGVjdGlvbkZvckVsZW1lbnRSZWZlcmVuY2VzRW5hYmxl
ZCgpKTsKKyAgICBBU1NFUlQoaXNFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0ZShhdHRyaWJ1dGVO
YW1lKSk7CisKKyAgICBpZiAoYXV0byogbWFwID0gZXhwbGljaXRseVNldEF0dHJFbGVtZW50c01h
cCgpKSB7CisgICAgICAgIGF1dG8gaXQgPSBtYXAtPmZpbmQoYXR0cmlidXRlTmFtZSk7CisgICAg
ICAgIGlmIChpdCAhPSBtYXAtPmVuZCgpKSB7CisgICAgICAgICAgICBBU1NFUlQoaXQtPnZhbHVl
LnNpemUoKSA9PSAxKTsKKyAgICAgICAgICAgIGF1dG8qIGVsZW1lbnQgPSBpdC0+dmFsdWVbMF0u
Z2V0KCk7CisgICAgICAgICAgICBBU1NFUlQoZWxlbWVudCk7CisgICAgICAgICAgICBpZiAoaXNE
ZXNjZW5kYW50T2ZTaGFkb3dJbmNsdWRpbmdBbmNlc3RvcnMoKmVsZW1lbnQpKQorICAgICAgICAg
ICAgICAgIHJldHVybiBlbGVtZW50OworICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAg
ICAgIH0KKyAgICB9CisKKyAgICBhdXRvIGlkID0gZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUp
OworICAgIGlmIChpZC5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBy
ZXR1cm4gdHJlZVNjb3BlKCkuZ2V0RWxlbWVudEJ5SWQoaWQpOworfQorCit2b2lkIEVsZW1lbnQ6
OnNldEVsZW1lbnRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSwg
RWxlbWVudCogZWxlbWVudCkKK3sKKyAgICBBU1NFUlQoZG9jdW1lbnQoKS5zZXR0aW5ncygpLmFy
aWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5jZXNFbmFibGVkKCkpOworICAgIEFTU0VSVChp
c0VsZW1lbnRSZWZsZWN0aW9uQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpKTsKKworICAgIGF1dG8m
IG1hcCA9IGVuc3VyZUV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoKTsKKyAgICBpZiAoIWVs
ZW1lbnQpIHsKKyAgICAgICAgbWFwLnJlbW92ZShhdHRyaWJ1dGVOYW1lKTsKKyAgICAgICAgcmVt
b3ZlQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgYXV0byBpZCA9IGVsZW1lbnQtPmdldElkQXR0cmlidXRlKCk7CisgICAgaWYgKCFpZC5pc051
bGwoKSAmJiAmdHJlZVNjb3BlKCkgPT0gJmVsZW1lbnQtPnRyZWVTY29wZSgpICYmIHRyZWVTY29w
ZSgpLmdldEVsZW1lbnRCeUlkKGlkKSA9PSBlbGVtZW50KQorICAgICAgICBzZXRBdHRyaWJ1dGUo
YXR0cmlidXRlTmFtZSwgaWQpOworICAgIGVsc2UKKyAgICAgICAgc2V0QXR0cmlidXRlKGF0dHJp
YnV0ZU5hbWUsIGVtcHR5QXRvbSgpKTsKKworICAgIG1hcC5zZXQoYXR0cmlidXRlTmFtZSwgVmVj
dG9yPFdlYWtQdHI8RWxlbWVudD4+IHsgZWxlbWVudCB9KTsKK30KKwogdGVtcGxhdGUgPHR5cGVu
YW1lIENoYXJhY3RlclR5cGU+CiBzdGF0aWMgaW5saW5lIGJvb2wgaXNOb25FbXB0eVRva2VuTGlz
dChjb25zdCBDaGFyYWN0ZXJUeXBlKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuaAppbmRleCA5Y2FiZTNhZGNkNzU4YzUyZWJiODU5NjEyNjBiNTIxZmIyNTgw
MzA3Li43ZjIyOTNlMmU4YTNkYTJhMDI1MGJlYTlmZWQ0YzMwNGExY2ZkYmIxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmgKQEAgLTkzLDYgKzkzLDggQEAgc3RydWN0IFNjcm9sbFRvT3B0aW9uczsKIHN0cnVj
dCBTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50SW5pdDsKIHN0cnVjdCBTaGFkb3dSb290SW5p
dDsKIAordXNpbmcgRXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCA9IEhhc2hNYXA8UXVhbGlm
aWVkTmFtZSwgVmVjdG9yPFdlYWtQdHI8RWxlbWVudD4+PjsKKwogbmFtZXNwYWNlIFN0eWxlIHsK
IGNsYXNzIFJlc29sdmVyOwogZW51bSBjbGFzcyBDaGFuZ2UgOiB1aW50OF90OwpAQCAtMTIxLDYg
KzEyMyw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEludGVncmFsQXR0
cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUsIGludCB2YWx1ZSk7CiAg
ICAgV0VCQ09SRV9FWFBPUlQgdW5zaWduZWQgZ2V0VW5zaWduZWRJbnRlZ3JhbEF0dHJpYnV0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKSBjb25zdDsKICAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHNldFVuc2lnbmVkSW50ZWdyYWxBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgYXR0cmlidXRlTmFtZSwgdW5zaWduZWQgdmFsdWUpOworICAgIFdFQkNPUkVfRVhQT1JUIEVs
ZW1lbnQqIGdldEVsZW1lbnRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRl
TmFtZSkgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRFbGVtZW50QXR0cmlidXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUsIEVsZW1lbnQqIHZhbHVlKTsKIAog
ICAgIC8vIENhbGwgdGhpcyB0byBnZXQgdGhlIHZhbHVlIG9mIGFuIGF0dHJpYnV0ZSB0aGF0IGlz
IGtub3duIG5vdCB0byBiZSB0aGUgc3R5bGUKICAgICAvLyBhdHRyaWJ1dGUgb3Igb25lIG9mIHRo
ZSBTVkcgYW5pbWF0YWJsZSBhdHRyaWJ1dGVzLgpAQCAtNjY4LDYgKzY3Miw5IEBAIHB1YmxpYzoK
ICAgICBTdHlsZVByb3BlcnR5TWFwUmVhZE9ubHkqIGNvbXB1dGVkU3R5bGVNYXAoKTsKICNlbmRp
ZgogCisgICAgRXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCYgZW5zdXJlRXhwbGljaXRseVNl
dEF0dHJFbGVtZW50c01hcCgpOworICAgIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAqIGV4
cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoKSBjb25zdDsKKwogcHJvdGVjdGVkOgogICAgIEVs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50JiwgQ29uc3RydWN0aW9uVHlwZSk7
CiAKQEAgLTczOSw2ICs3NDYsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0QXR0cmlidXRlSW50
ZXJuYWwodW5zaWduZWQgaW5kZXgsIGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9tU3Ry
aW5nJiB2YWx1ZSwgU3luY2hyb25pemF0aW9uT2ZMYXp5QXR0cmlidXRlKTsKICAgICB2b2lkIGFk
ZEF0dHJpYnV0ZUludGVybmFsKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9tU3RyaW5n
JiB2YWx1ZSwgU3luY2hyb25pemF0aW9uT2ZMYXp5QXR0cmlidXRlKTsKICAgICB2b2lkIHJlbW92
ZUF0dHJpYnV0ZUludGVybmFsKHVuc2lnbmVkIGluZGV4LCBTeW5jaHJvbml6YXRpb25PZkxhenlB
dHRyaWJ1dGUpOworICAgIHZvaWQgc3luY2hyb25pemVFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0
ZShjb25zdCBRdWFsaWZpZWROYW1lJik7CiAKICAgICB2b2lkIHNldFNhdmVkTGF5ZXJTY3JvbGxQ
b3NpdGlvblNsb3coY29uc3QgSW50UG9pbnQmKTsKICAgICB2b2lkIGNsZWFyQmVmb3JlUHNldWRv
RWxlbWVudFNsb3coKTsKQEAgLTc4NSw2ICs3OTMsOCBAQCBwcml2YXRlOgogICAgIFdFQkNPUkVf
RVhQT1JUIGJvb2wgZmFzdEF0dHJpYnV0ZUxvb2t1cEFsbG93ZWQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYpIGNvbnN0OwogI2VuZGlmCiAKKyAgICBib29sIGlzRGVzY2VuZGFudE9mU2hhZG93SW5jbHVk
aW5nQW5jZXN0b3JzKGNvbnN0IEVsZW1lbnQmKSBjb25zdDsKKwogICAgIFF1YWxpZmllZE5hbWUg
bV90YWdOYW1lOwogICAgIFJlZlB0cjxFbGVtZW50RGF0YT4gbV9lbGVtZW50RGF0YTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmNwcAppbmRleCA5NGI4YTU4NTlmNzRiYzdjOTVk
MTI1Mzk5Yjc0NmVlMjc2ZTdlZWZmLi4xMjNjZjVlOTFhNzIxZjc3NjA4MjViZjdjZjE3MDM5NjNh
ZmE4M2QwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmNwcApAQCAtNDIsNiAr
NDIsNyBAQCBzdHJ1Y3QgU2FtZVNpemVBc0VsZW1lbnRSYXJlRGF0YSA6IE5vZGVSYXJlRGF0YSB7
CiAgICAgdm9pZCogdHlwZWRPTURhdGFbMl07CiAjZW5kaWYKICAgICB2b2lkKiByZXNpemVPYnNl
cnZlckRhdGE7CisgICAgdm9pZCogZXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcDsKIH07CiAK
IHN0YXRpY19hc3NlcnQoc2l6ZW9mKEVsZW1lbnRSYXJlRGF0YSkgPT0gc2l6ZW9mKFNhbWVTaXpl
QXNFbGVtZW50UmFyZURhdGEpLCAiRWxlbWVudFJhcmVEYXRhIHNob3VsZCBzdGF5IHNtYWxsIik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKaW5kZXggZDc2YmNjNDQ0Y2U3NTE0NGJi
ZWQzOTcxYmE5MTQwYThjNWRjNThhZi4uM2U2NzEwODk2ZjdiZDIyNzU0NTQ0MGI1MTA5OWUzNjc2
ZWI1MTE4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaApAQCAtMTA3LDYgKzEw
Nyw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldENvbXB1dGVkU3R5bGVNYXAoUmVmPFN0eWxlUHJv
cGVydHlNYXBSZWFkT25seT4mJiBtYXApIHsgbV9jb21wdXRlZFN0eWxlTWFwID0gV1RGTW92ZSht
YXApOyB9CiAjZW5kaWYKIAorICAgIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAqIGV4cGxp
Y2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoKSB7IHJldHVybiBtX2V4cGxpY2l0bHlTZXRBdHRyRWxl
bWVudHNNYXAuZ2V0KCk7IH0KKyAgICB2b2lkIHNldEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNN
YXAoc3RkOjp1bmlxdWVfcHRyPEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXA+JiYgZGF0YSkg
eyBtX2V4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAgPSBXVEZNb3ZlKGRhdGEpOyB9CisKICNp
ZiBEVU1QX05PREVfU1RBVElTVElDUwogICAgIE9wdGlvblNldDxVc2VUeXBlPiB1c2VUeXBlcygp
IGNvbnN0CiAgICAgewpAQCAtMTQ3LDYgKzE1MCw4IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJl
c3VsdC5hZGQoVXNlVHlwZTo6UGFydE5hbWVzKTsKICAgICAgICAgaWYgKG1fbm9uY2UpCiAgICAg
ICAgICAgICByZXN1bHQuYWRkKFVzZVR5cGU6Ok5vbmNlKTsKKyAgICAgICAgaWYgKG1fZXhwbGlj
aXRseVNldEF0dHJFbGVtZW50c01hcCkKKyAgICAgICAgICAgIHJlc3VsdC5hZGQoVXNlVHlwZTo6
RXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAg
ICAgfQogI2VuZGlmCkBAIC0xODAsNiArMTg1LDggQEAgcHJpdmF0ZToKIAogICAgIEF0b21TdHJp
bmcgbV9ub25jZTsKIAorICAgIHN0ZDo6dW5pcXVlX3B0cjxFeHBsaWNpdGx5U2V0QXR0ckVsZW1l
bnRzTWFwPiBtX2V4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXA7CisKICAgICB2b2lkIHJlbGVh
c2VQc2V1ZG9FbGVtZW50KFBzZXVkb0VsZW1lbnQqKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRl
eCAzOTVlZmZiZmNkZjg4ZDMwZTZkODk3Yzk3ZGJiODczMmJiMjc0NjMwLi5jNzAxMzM2NjE4YWYz
NWQ4NTMyMmRjMDM0ZjUzMGMxYmRiYzA5ZTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC0xNDMsNiAr
MTQzLDggQEAgc3RhdGljIGNvbnN0IGNoYXIqIHN0cmluZ0ZvclJhcmVEYXRhVXNlVHlwZShOb2Rl
UmFyZURhdGE6OlVzZVR5cGUgdXNlVHlwZSkKICAgICAgICAgcmV0dXJuICJQYXJ0TGlzdCI7CiAg
ICAgY2FzZSBOb2RlUmFyZURhdGE6OlVzZVR5cGU6OlBhcnROYW1lczoKICAgICAgICAgcmV0dXJu
ICJQYXJ0TmFtZXMiOworICAgIGNhc2UgTm9kZVJhcmVEYXRhOjpVc2VUeXBlOjpFeHBsaWNpdGx5
U2V0QXR0ckVsZW1lbnRzTWFwOgorICAgICAgICByZXR1cm4gIkV4cGxpY2l0bHlTZXRBdHRyRWxl
bWVudHNNYXAiOwogICAgIH0KICAgICByZXR1cm4gbnVsbHB0cjsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
UmFyZURhdGEuaAppbmRleCAzZjM5YWVmNDIwOGI3NGJhYjJkMmFiZjZhNzg0NTUzMzY1ZjQzYTYy
Li5jOTVhZjYwODMwMDM1OWFlZTcxYTU3NmZhZWY4NDRmM2MyMmE1ZWU1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L05vZGVSYXJlRGF0YS5oCkBAIC0yNjQsNiArMjY0LDcgQEAgcHVibGljOgogICAgICAgICBQYXJ0
TmFtZXMgPSAxIDw8IDE2LAogICAgICAgICBOb25jZSA9IDEgPDwgMTcsCiAgICAgICAgIENvbXB1
dGVkU3R5bGVNYXAgPSAxIDw8IDE4LAorICAgICAgICBFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRz
TWFwID0gMSA8PCAxOSwKICAgICB9OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzMmNjZTQ1YzEwM2IzOGQy
NmQwYmFmZjQwZDU1YTE2ZjUzZTY2YWIwLi4yY2E4NTcwN2ZlZjJiYjg3NzNlYmJmYTcxN2Y1ODM1
OTM1ZDIzNjY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjItMDUtMDIgIE1hbnVlbCBSZWdv
IENhc2Fzbm92YXMgIDxyZWdvQGlnYWxpYS5jb20+CisKKyAgICAgICAgQVJJQSByZWZsZWN0aW9u
IGZvciBFbGVtZW50IGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzOTg1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFVwZGF0ZSB0ZXN0IHRvIGluY2x1ZGUgdGhlIG5ldyByZWZsZWN0ZWQg
YXR0cmlidXRlcy4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVJJQS1yZWZsZWN0aW9uLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FSSUEtcmVmbGVjdGlvbi5odG1s
OgorCiAyMDIyLTA0LTI2ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAg
ICAgICA6OmZpcnN0LWxldHRlciBkb2VzIG5vdCB3b3JrIGlmIHVzZWQgb25seSBpbiBzaGFkb3cg
Y29udGVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMmU1MzhjNjBjOWNmZDQ1
NTUxNjQ5NTM3NDdkMWY4MzRkZTA4YzIyZC4uMDE3NGYzNTlhNzYxYjgzOGIwNWEyZGY3MjFlMjQz
MDdkNDNjZmQ4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMjItMDUtMDIgIE1hbnVlbCBSZWdvIENhc2Fzbm92YXMgIDxyZWdvQGlnYWxpYS5jb20+
CisKKyAgICAgICAgQVJJQSByZWZsZWN0aW9uIGZvciBFbGVtZW50IGF0dHJpYnV0ZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTg1MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNtYWxsIGZpeCBvbiB0
aGUgdGVzdCBhbmQgdXBkYXRlIHRlc3QgcmVzdWx0cyB3aXRoIHRoZSBuZXcgUEFTUy4KKyAgICAg
ICAgQWRkIG5ldyB0ZXN0IGNhc2UgdG8gY292ZXIgZWxlbWVudHMgbW92ZWQgdG8gYSBkaWZmZXJl
bnQgZG9jdW1lbnQuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL2Fy
aWEtZWxlbWVudC1yZWZsZWN0aW9uLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50
YXRpdmUuaHRtbDoKKwogMjAyMi0wNC0yNiAgT3Jpb2wgQnJ1ZmF1ICA8b2JydWZhdUBpZ2FsaWEu
Y29tPgogCiAgICAgICAgIFtjc3MtY2FzY2FkZV0gRml4IGNhc2NhZGUgcm9sbGJhY2sgZm9yIGRl
ZmVycmVkIHByb3BlcnRpZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
QVJJQS1yZWZsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
QVJJQS1yZWZsZWN0aW9uLWV4cGVjdGVkLnR4dAppbmRleCA5NTA0YjY5YmNiYWNkMjQxYjk1ODU0
MzAyZWY1NDc0ZTM1MmE0OThlLi5lM2ZlZWMzMGM0YzdhOWVhZmFkMWE5NGRlZGVlYzYzZjg4YmI4
MGU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L0FSSUEtcmVmbGVjdGlv
bi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9BUklBLXJlZmxl
Y3Rpb24tZXhwZWN0ZWQudHh0CkBAIC03LDMxNyArNywyOTIgQEAgT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUKIFRlc3Qgcm9sZSA8IC0gPiByb2xlCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IG51bGwKLWVsZW1lbnRbInJvbGUiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRl
KGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoInJv
bGUiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJE
YXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQor
CitUZXN0IGFyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCA8IC0gPiBhcmlhLWFjdGl2ZWRlc2Nl
bmRhbnQKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKK1BBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAorUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCitlbGVtZW50LnNl
dEF0dHJpYnV0ZSgiYXJpYS1hY3RpdmVkZXNjZW5kYW50Iiwgb3RoZXJEYXRhKTsKK1BBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUF0
b21pYyA8IC0gPiBhcmlhLWF0b21pYwogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMg
bnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxs
Ci1lbGVtZW50WyJhcmlhQXRvbWljIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0
ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1
cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJh
cmlhLWF0b21pYyIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVBy
b3BlcnR5CiAKIFRlc3QgYXJpYUF1dG9Db21wbGV0ZSA8IC0gPiBhcmlhLWF1dG9jb21wbGV0ZQog
UEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhQXV0b0NvbXBs
ZXRlIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRl
KSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWF1dG9jb21wbGV0ZSIs
IG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEK
K1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRl
c3QgYXJpYUJ1c3kgPCAtID4gYXJpYS1idXN5CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IG51bGwKLWVsZW1lbnRbImFyaWFCdXN5Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRl
KGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRl
KCJhcmlhLWJ1c3kiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0g
aXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQ
cm9wZXJ0eQogCiBUZXN0IGFyaWFDaGVja2VkIDwgLSA+IGFyaWEtY2hlY2tlZAogUEFTUyBlbGVt
ZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShj
dXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhQ2hlY2tlZCJdID0gZGF0YTsK
LVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFT
UyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRl
CiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1jaGVja2VkIiwgb3RoZXJEYXRhKTsKLVBBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJl
bnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhQ29sQ291bnQgPCAt
ID4gYXJpYS1jb2xjb3VudAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAog
UEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVt
ZW50WyJhcmlhQ29sQ291bnQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1
cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVu
dEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEt
Y29sY291bnQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMg
b3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9w
ZXJ0eQogCiBUZXN0IGFyaWFDb2xJbmRleCA8IC0gPiBhcmlhLWNvbGluZGV4CiBQQVNTIGVsZW1l
bnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1
cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFDb2xJbmRleCJdID0gZGF0YTsK
LVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFT
UyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRl
CiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1jb2xpbmRleCIsIG90aGVyRGF0YSk7Ci1QQVNT
IGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUNvbFNwYW4gPCAt
ID4gYXJpYS1jb2xzcGFuCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQ
QVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1l
bnRbImFyaWFDb2xTcGFuIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWNv
bHNwYW4iLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3Ro
ZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0
eQogCiBUZXN0IGFyaWFDdXJyZW50IDwgLSA+IGFyaWEtY3VycmVudAogUEFTUyBlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhQ3VycmVudCJdID0gZGF0YTsKLVBBU1Mg
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVt
ZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVt
ZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1jdXJyZW50Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9w
ZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhRGlzYWJsZWQgPCAtID4gYXJp
YS1kaXNhYmxlZAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJh
cmlhRGlzYWJsZWQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJp
YnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtZGlzYWJs
ZWQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJE
YXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQor
CitUZXN0IGFyaWFFcnJvck1lc3NhZ2VFbGVtZW50IDwgLSA+IGFyaWEtZXJyb3JtZXNzYWdlCitQ
QVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCitQQVNTIGVsZW1lbnQuZ2V0QXR0
cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1
dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQorZWxlbWVudC5zZXRBdHRyaWJ1
dGUoImFyaWEtZXJyb3JtZXNzYWdlIiwgb3RoZXJEYXRhKTsKK1BBU1MgZWxlbWVudFtjdXJyZW50
UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUV4cGFuZGVkIDwgLSA+
IGFyaWEtZXhwYW5kZWQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBB
U1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVu
dFsiYXJpYUV4cGFuZGVkIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWV4
cGFuZGVkIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90
aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVy
dHkKIAogVGVzdCBhcmlhSGFzUG9wdXAgPCAtID4gYXJpYS1oYXNwb3B1cAogUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhSGFzUG9wdXAiXSA9IGRhdGE7Ci1Q
QVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1Mg
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQog
ZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtaGFzcG9wdXAiLCBvdGhlckRhdGEpOwotUEFTUyBl
bGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVu
dFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFIaWRkZW4gPCAtID4g
YXJpYS1oaWRkZW4KIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1Mg
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsi
YXJpYUhpZGRlbiJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmli
dXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4i
LCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRh
CitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBU
ZXN0IGFyaWFJbnZhbGlkIDwgLSA+IGFyaWEtaW52YWxpZAogUEFTUyBlbGVtZW50W2N1cnJlbnRQ
cm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmli
dXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhSW52YWxpZCJdID0gZGF0YTsKLVBBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNl
dEF0dHJpYnV0ZSgiYXJpYS1pbnZhbGlkIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0g
aXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhS2V5U2hvcnRjdXRzIDwgLSA+IGFyaWEt
a2V5c2hvcnRjdXRzCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRb
ImFyaWFLZXlTaG9ydGN1dHMiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1
cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVu
dEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEt
a2V5c2hvcnRjdXRzIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHld
IGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRh
UHJvcGVydHkKIAogVGVzdCBhcmlhTGFiZWwgPCAtID4gYXJpYS1sYWJlbAogUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhTGFiZWwiXSA9IGRhdGE7Ci1QQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxl
bWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxl
bWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFMZXZlbCA8IC0gPiBhcmlhLWxl
dmVsCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFMZXZl
bCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkg
aXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBk
YXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1sZXZlbCIsIG90aGVyRGF0
YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUxp
dmUgPCAtID4gYXJpYS1saXZlCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxs
CiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVs
ZW1lbnRbImFyaWFMaXZlIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWxp
dmUiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJE
YXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQog
CiBUZXN0IGFyaWFNb2RhbCA8IC0gPiBhcmlhLW1vZGFsCiBQQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1
dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFNb2RhbCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5n
ZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0
dHJpYnV0ZSgiYXJpYS1tb2RhbCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90
aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYU11bHRpTGluZSA8IC0gPiBhcmlhLW11bHRpbGlu
ZQogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhTXVsdGlM
aW5lIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRl
KSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLW11bHRpbGluZSIsIG90
aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BB
U1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3Qg
YXJpYU11bHRpU2VsZWN0YWJsZSA8IC0gPiBhcmlhLW11bHRpc2VsZWN0YWJsZQogUEFTUyBlbGVt
ZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShj
dXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhTXVsdGlTZWxlY3RhYmxlIl0g
PSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBk
YXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFB
dHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLW11bHRpc2VsZWN0YWJsZSIsIG90
aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BB
U1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3Qg
YXJpYU9yaWVudGF0aW9uIDwgLSA+IGFyaWEtb3JpZW50YXRpb24KIFBBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYU9yaWVudGF0aW9uIl0gPSBkYXRhOwotUEFT
UyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVs
ZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVs
ZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLW9yaWVudGF0aW9uIiwgb3RoZXJEYXRhKTsKLVBBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJl
bnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhUGxhY2Vob2xkZXIg
PCAtID4gYXJpYS1wbGFjZWhvbGRlcgogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMg
bnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxs
Ci1lbGVtZW50WyJhcmlhUGxhY2Vob2xkZXIiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0
cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1
dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1
dGUoImFyaWEtcGxhY2Vob2xkZXIiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQ
cm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBv
dGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFQb3NJblNldCA8IC0gPiBhcmlhLXBvc2luc2V0
CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFQb3NJblNl
dCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkg
aXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBk
YXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1wb3NpbnNldCIsIG90aGVy
RGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJp
YVByZXNzZWQgPCAtID4gYXJpYS1wcmVzc2VkCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IG51bGwKLWVsZW1lbnRbImFyaWFQcmVzc2VkIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmli
dXRlKCJhcmlhLXByZXNzZWQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9w
ZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhl
ckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFSZWFkT25seSA8IC0gPiBhcmlhLXJlYWRvbmx5CiBQ
QVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0
cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFSZWFkT25seSJd
ID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMg
ZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRh
QXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1yZWFkb25seSIsIG90aGVyRGF0
YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVJl
bGV2YW50IDwgLSA+IGFyaWEtcmVsZXZhbnQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHld
IGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMg
bnVsbAotZWxlbWVudFsiYXJpYVJlbGV2YW50Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmli
dXRlKCJhcmlhLXJlbGV2YW50Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJv
cGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3Ro
ZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhUmVxdWlyZWQgPCAtID4gYXJpYS1yZXF1aXJlZAog
UEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhUmVxdWlyZWQi
XSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0
YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtcmVxdWlyZWQiLCBvdGhlckRh
dGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVs
ZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFS
b2xlRGVzY3JpcHRpb24gPCAtID4gYXJpYS1yb2xlZGVzY3JpcHRpb24KIFBBU1MgZWxlbWVudFtj
dXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVu
dEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVJvbGVEZXNjcmlwdGlvbiJdID0gZGF0
YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQor
UEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmli
dXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1yb2xlZGVzY3JpcHRpb24iLCBvdGhlckRh
dGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVs
ZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFS
b3dDb3VudCA8IC0gPiBhcmlhLXJvd2NvdW50CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IG51bGwKLWVsZW1lbnRbImFyaWFSb3dDb3VudCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJp
YnV0ZSgiYXJpYS1yb3djb3VudCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90
aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVJvd0luZGV4IDwgLSA+IGFyaWEtcm93aW5kZXgK
IFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVJvd0luZGV4
Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRh
dGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXJvd2luZGV4Iiwgb3RoZXJE
YXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBl
bGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlh
Um93U3BhbiA8IC0gPiBhcmlhLXJvd3NwYW4KIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHld
IGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMg
bnVsbAotZWxlbWVudFsiYXJpYVJvd1NwYW4iXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0
cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1
dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1
dGUoImFyaWEtcm93c3BhbiIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVy
RGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVNlbGVjdGVkIDwgLSA+IGFyaWEtc2VsZWN0ZWQKIFBB
U1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRy
aWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVNlbGVjdGVkIl0g
PSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBk
YXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFB
dHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXNlbGVjdGVkIiwgb3RoZXJEYXRh
KTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVt
ZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhU2V0
U2l6ZSA8IC0gPiBhcmlhLXNldHNpemUKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlz
IG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVs
bAotZWxlbWVudFsiYXJpYVNldFNpemUiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUo
Y3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUo
ImFyaWEtc2V0c2l6ZSIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0
YVByb3BlcnR5CiAKIFRlc3QgYXJpYVNvcnQgPCAtID4gYXJpYS1zb3J0CiBQQVNTIGVsZW1lbnRb
Y3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFTb3J0Il0gPSBkYXRhOwotUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1l
bnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1l
bnQuc2V0QXR0cmlidXRlKCJhcmlhLXNvcnQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFWYWx1ZU1heCA8IC0gPiBhcmlhLXZh
bHVlbWF4CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1l
bnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFW
YWx1ZU1heCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJp
YnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRl
KSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS12YWx1ZW1heCIs
IG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEK
K1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRl
c3QgYXJpYVZhbHVlTWluIDwgLSA+IGFyaWEtdmFsdWVtaW4KIFBBU1MgZWxlbWVudFtjdXJyZW50
UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJp
YnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVZhbHVlTWluIl0gPSBkYXRhOwotUEFTUyBlbGVt
ZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQu
c2V0QXR0cmlidXRlKCJhcmlhLXZhbHVlbWluIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtj
dXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0
eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhVmFsdWVOb3cgPCAtID4gYXJpYS12
YWx1ZW5vdwogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVt
ZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlh
VmFsdWVOb3ciXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRy
aWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtdmFsdWVub3ci
LCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRh
CitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBU
ZXN0IGFyaWFWYWx1ZVRleHQgPCAtID4gYXJpYS12YWx1ZXRleHQKIFBBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVZhbHVlVGV4dCJdID0gZGF0YTsKLVBBU1Mg
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVt
ZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVt
ZW50LnNldEF0dHJpYnV0ZSgiYXJpYS12YWx1ZXRleHQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVt
ZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiAKLVBBU1MgY291bnQgaXMgMzgKK1BBU1Mg
Y291bnQgaXMgNDAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01Q
TEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rp
b24uaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvQVJJQS1yZWZsZWN0aW9uLmh0bWwK
aW5kZXggMzIzYjE4OWM0ZTNlNDAxYTRmZmQ1NmQ0Y2ZlZTQ2NDcyOWFmZjkxOC4uOTNhOWI3YTE3
ZjlhNDRlNGNkMTFiZWNhOTY5ZjBjZTU3NzY5Y2VlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L0FSSUEtcmVmbGVjdGlvbi5odG1sCkBAIC01LDcgKzUsOCBAQAogPGRpdiBpZD0i
Y29udGVudCI+CiAKIDxkaXYgaWQ9InRlc3QiIGRhdGE9InNvbWUgZGF0YSI+Ci0KKyAgPGRpdiBp
ZD0iZmlyc3RDaGlsZCI+PC9kaXY+CisgIDxkaXYgaWQ9InNlY29uZENoaWxkIj48L2Rpdj4KIDwv
ZGl2PgogCiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KQEAgLTIxLDIyICsyMiw0MCBAQAogICAg
IHZhciBjdXJyZW50UHJvcGVydHk7CiAgICAgdmFyIGN1cnJlbnRBdHRyaWJ1dGU7CiAKKyAgICBm
dW5jdGlvbiBpc0VsZW1lbnRSZWZsZWN0aW9uUHJvcGVydHkocHJvcGVydHkpIHsKKyAgICAgICAg
c3dpdGNoIChwcm9wZXJ0eSkgeworICAgICAgICAgICAgY2FzZSAiYXJpYUFjdGl2ZURlc2NlbmRh
bnRFbGVtZW50IjoKKyAgICAgICAgICAgIGNhc2UgImFyaWFFcnJvck1lc3NhZ2VFbGVtZW50IjoK
KyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgfQorCisgICAgZnVuY3Rpb24gY29udmVydFByb3BlcnR5VG9BdHRyaWJ1dGUo
cHJvcGVydHkpIHsKKyAgICAgICAgaWYgKGlzRWxlbWVudFJlZmxlY3Rpb25Qcm9wZXJ0eShwcm9w
ZXJ0eSkpCisgICAgICAgICAgcHJvcGVydHkgPSBwcm9wZXJ0eS5yZXBsYWNlKCJFbGVtZW50Iiwg
IiIpOworICAgICAgICByZXR1cm4gcHJvcGVydHkucmVwbGFjZSgiYXJpYSIsICJhcmlhLSIpLnRv
TG93ZXJDYXNlKCk7CisgICAgfQorCiAgICAgZnVuY3Rpb24gdGVzdEVsZW1lbnQoKSB7Ci0gICAg
ICAgIGN1cnJlbnRBdHRyaWJ1dGUgPSBjdXJyZW50UHJvcGVydHkucmVwbGFjZSgiYXJpYSIsICJh
cmlhLSIpLnRvTG93ZXJDYXNlKCk7Ci0gICAgICAgIAorICAgICAgICBjdXJyZW50QXR0cmlidXRl
ID0gY29udmVydFByb3BlcnR5VG9BdHRyaWJ1dGUoY3VycmVudFByb3BlcnR5KTsKKwogICAgICAg
ICBkZWJ1ZygiXG5UZXN0ICIgKyBjdXJyZW50UHJvcGVydHkgKyAiIDwgLSA+ICIgKyBjdXJyZW50
QXR0cmlidXRlKTsKICAgICAgICAgc2hvdWxkQmVOdWxsKCJlbGVtZW50W2N1cnJlbnRQcm9wZXJ0
eV0iKTsKICAgICAgICAgc2hvdWxkQmVOdWxsKCJlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSIpOwotICAgICAgICAKKwogICAgICAgICAvLyBTZXQgdGhlIHByb3BlcnR5IHZh
bHVlCi0gICAgICAgIGRlYnVnKCJlbGVtZW50W1wiIiArIGN1cnJlbnRQcm9wZXJ0eSArICJcIl0g
PSBkYXRhOyIpOwotICAgICAgICBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gPSBkYXRhOwotICAg
ICAgICBzaG91bGRCZSgiZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkiLCAi
ZGF0YSIpOworICAgICAgICBkYXRhUHJvcGVydHkgPSBpc0VsZW1lbnRSZWZsZWN0aW9uUHJvcGVy
dHkoY3VycmVudFByb3BlcnR5KSA/IGZpcnN0Q2hpbGQgOiBkYXRhOworICAgICAgICBkYXRhQXR0
cmlidXRlID0gaXNFbGVtZW50UmVmbGVjdGlvblByb3BlcnR5KGN1cnJlbnRQcm9wZXJ0eSkgPyBm
aXJzdENoaWxkLmlkIDogZGF0YTsKKyAgICAgICAgZWxlbWVudFtjdXJyZW50UHJvcGVydHldID0g
ZGF0YVByb3BlcnR5OworICAgICAgICBzaG91bGRCZSgiZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkiLCAiZGF0YUF0dHJpYnV0ZSIpOwogCiAgICAgICAgIC8vIFNldCB0aGUg
YXR0cmlidXRlIHZhbHVlCisgICAgICAgIG90aGVyRGF0YVByb3BlcnR5ID0gaXNFbGVtZW50UmVm
bGVjdGlvblByb3BlcnR5KGN1cnJlbnRQcm9wZXJ0eSkgPyBzZWNvbmRDaGlsZCA6IG90aGVyRGF0
YTsKKyAgICAgICAgb3RoZXJEYXRhQXR0cmlidXRlID0gaXNFbGVtZW50UmVmbGVjdGlvblByb3Bl
cnR5KGN1cnJlbnRQcm9wZXJ0eSkgPyBzZWNvbmRDaGlsZC5pZCA6IG90aGVyRGF0YTsKICAgICAg
ICAgZGVidWcoImVsZW1lbnQuc2V0QXR0cmlidXRlKFwiIiArIGN1cnJlbnRBdHRyaWJ1dGUgKyAi
XCIsIG90aGVyRGF0YSk7Iik7Ci0gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUsIG90aGVyRGF0YSk7Ci0gICAgICAgIHNob3VsZEJlKCJlbGVtZW50W2N1cnJlbnRQ
cm9wZXJ0eV0iLCAib3RoZXJEYXRhIik7CisgICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKGN1
cnJlbnRBdHRyaWJ1dGUsIG90aGVyRGF0YUF0dHJpYnV0ZSk7CisgICAgICAgIHNob3VsZEJlKCJl
bGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0iLCAib3RoZXJEYXRhUHJvcGVydHkiKTsKICAgICB9CiAK
ICAgICBmdW5jdGlvbiB0ZXN0Um9sZSgpIHsKQEAgLTU5LDcgKzc4LDcgQEAKICAgICAgICAgfQog
CiAgICAgICAgIGRlYnVnKCJcbiIpOwotICAgICAgICBzaG91bGRCZSgiY291bnQiLCAiMzgiKTsK
KyAgICAgICAgc2hvdWxkQmUoImNvdW50IiwgIjQwIik7CiAKICAgICB9IGVsc2UgewogICAgICAg
ICB0ZXN0RmFpbGVkKCJDb3VsZCBub3QgbG9hZCBhY2Nlc3NpYmlsaXR5IGNvbnRyb2xsZXIiKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL25vZGVzL2FyaWEtZWxlbWVudC1yZWZsZWN0aW9uLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9h
cmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CmluZGV4IGRjYTMx
OGIwOTg1M2FiYmE5N2Q1ZGY3NWJmMzQzYmMxNTM1ODdhYzAuLjU3NzZhNDJjZGEyZmI2ZDI1OGNi
ODg3NzdhNzAwNzkwMDA2ZTQ5ODYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL2FyaWEtZWxlbWVudC1yZWZsZWN0aW9uLnRl
bnRhdGl2ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZl
LWV4cGVjdGVkLnR4dApAQCAtOSwxMCArOSw3IEBAIEZpcnN0IGRlc2NyaXB0aW9uLgogU2Vjb25k
IGRlc2NyaXB0aW9uLgogSXRlbSAxCiBJdGVtIDIKLUl0ZW0gMQotSXRlbSAyCiBIZWxsbyB3b3Js
ZCEKLUkgYW0gYW4gYXBwbGUKIEkgYW0gYSBwZWFyCiBJIGFtIGEgYmFuYW5hCiBCaWxsaW5nCkBA
IC00NywxNyArNDQsMTcgQEAgV29uZGVyZnVsCiBGYW50YXN0aWMKIAogCi1GQUlMIGFyaWEtYWN0
aXZlZGVzY2VuZGFudCBlbGVtZW50IHJlZmxlY3Rpb24gYXNzZXJ0X2VxdWFsczogaW52YWxpZCBJ
RCBmb3IgcmVsYXRpb25zaGlwIHJldHVybnMgbnVsbCBleHBlY3RlZCAob2JqZWN0KSBudWxsIGJ1
dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlMIElmIHRoZSBjb250ZW50IGF0dHJpYnV0
ZSBpcyBzZXQgZGlyZWN0bHksIHRoZSBJREwgYXR0cmlidXRlIGdldHRlciBhbHdheXMgcmV0dXJu
cyB0aGUgZmlyc3QgZWxlbWVudCB3aG9zZSBJRCBtYXRjaGVzIHRoZSBjb250ZW50IGF0dHJpYnV0
ZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKG9iamVjdCkgRWxlbWVudCBub2RlIDxkaXYgcm9s
ZT0ib3B0aW9uIiBpZD0ib3B0aW9uMSI+SXRlbSAxPC9kaXY+IGJ1dCBnb3QgKHVuZGVmaW5lZCkg
dW5kZWZpbmVkCi1GQUlMIFNldHRpbmcgdGhlIElETCBhdHRyaWJ1dGUgdG8gYW4gZWxlbWVudCB3
aGljaCBpcyBub3QgdGhlIGZpcnN0IGVsZW1lbnQgaW4gRE9NIG9yZGVyIHdpdGggaXRzIElEIGNh
dXNlcyB0aGUgY29udGVudCBhdHRyaWJ1dGUgdG8gYmUgYW4gZW1wdHkgc3RyaW5nIGFzc2VydF90
cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBTZXR0aW5nIGFuIGVsZW1lbnQgcmVm
ZXJlbmNlIHRoYXQgY3Jvc3NlcyBpbnRvIGEgc2hhZG93IHRyZWUgaXMgZGlzYWxsb3dlZCwgYnV0
IHNldHRpbmcgb25lIHRoYXQgaXMgaW4gYSBzaGFkb3cgaW5jbHVzaXZlIGFuY2VzdG9yIGlzIGFs
bG93ZWQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChvYmplY3QpIG51bGwgYnV0IGdvdCAodW5k
ZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgYXJpYS1lcnJvcm1lc3NhZ2UgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgKHN0cmluZykgImVycm9yTWVzc2FnZSIgYnV0IGdvdCAob2JqZWN0KSBudWxsCitQ
QVNTIGFyaWEtYWN0aXZlZGVzY2VuZGFudCBlbGVtZW50IHJlZmxlY3Rpb24KK1BBU1MgSWYgdGhl
IGNvbnRlbnQgYXR0cmlidXRlIGlzIHNldCBkaXJlY3RseSwgdGhlIElETCBhdHRyaWJ1dGUgZ2V0
dGVyIGFsd2F5cyByZXR1cm5zIHRoZSBmaXJzdCBlbGVtZW50IHdob3NlIElEIG1hdGNoZXMgdGhl
IGNvbnRlbnQgYXR0cmlidXRlLgorUEFTUyBTZXR0aW5nIHRoZSBJREwgYXR0cmlidXRlIHRvIGFu
IGVsZW1lbnQgd2hpY2ggaXMgbm90IHRoZSBmaXJzdCBlbGVtZW50IGluIERPTSBvcmRlciB3aXRo
IGl0cyBJRCBjYXVzZXMgdGhlIGNvbnRlbnQgYXR0cmlidXRlIHRvIGJlIGFuIGVtcHR5IHN0cmlu
ZworUEFTUyBTZXR0aW5nIGFuIGVsZW1lbnQgcmVmZXJlbmNlIHRoYXQgY3Jvc3NlcyBpbnRvIGEg
c2hhZG93IHRyZWUgaXMgZGlzYWxsb3dlZCwgYnV0IHNldHRpbmcgb25lIHRoYXQgaXMgaW4gYSBz
aGFkb3cgaW5jbHVzaXZlIGFuY2VzdG9yIGlzIGFsbG93ZWQuCitQQVNTIGFyaWEtZXJyb3JtZXNz
YWdlCiBGQUlMIGFyaWEtZGV0YWlscyBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyB1bmRl
ZmluZWQsIGV4cGVjdGVkIGFycmF5Ci1GQUlMIERlbGV0aW5nIGEgcmVmbGVjdGVkIGVsZW1lbnQg
c2hvdWxkIHJldHVybiBudWxsIGZvciB0aGUgSURMIGF0dHJpYnV0ZSBhbmQgY2F1c2UgdGhlIGNv
bnRlbnQgYXR0cmlidXRlIHRvIGJlY29tZSBzdGFsZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
KG9iamVjdCkgRWxlbWVudCBub2RlIDxkaXYgcm9sZT0ib3B0aW9uIiBpZD0iY29udGVudEF0dHJF
bGVtZW50Ij5JdGVtIDE8L2Rpdj4gYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwg
Q2hhbmdpbmcgdGhlIElEIG9mIGFuIGVsZW1lbnQgY2F1c2VzIHRoZSBjb250ZW50IGF0dHJpYnV0
ZSB0byBiZWNvbWUgb3V0IG9mIHN5bmMuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChvYmplY3Qp
IEVsZW1lbnQgbm9kZSA8ZGl2IHJvbGU9Im9wdGlvbiIgaWQ9ImNoYW5naW5nSWRFbGVtZW50Ij5J
dGVtIDE8L2Rpdj4gYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgUmVwYXJlbnRp
bmcgYW4gZWxlbWVudCBpbnRvIGEgZGVzY2VuZGFudCBzaGFkb3cgc2NvcGUgaGlkZXMgdGhlIGVs
ZW1lbnQgcmVmZXJlbmNlLiBhc3NlcnRfZXF1YWxzOiBudWxsIGJlZm9yZSBleHBlY3RlZCAob2Jq
ZWN0KSBudWxsIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlMIFJlcGFyZW50aW5n
IHJlZmVyZW5jZWQgZWxlbWVudCBjYW5ub3QgY2F1c2UgcmV0YXJnZXRpbmcgb2YgcmVmZXJlbmNl
LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAiYXBwbGUiIGJ1dCBnb3QgKG9iamVj
dCkgbnVsbAotRkFJTCBFbGVtZW50IHJlZmVyZW5jZSBzZXQgaW4gaW52YWxpZCBzY29wZSByZW1h
aW5zIGludGFjdCB0aHJvdWdob3V0IG1vdmUgdG8gdmFsaWQgc2NvcGUuIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBFbGVtZW50IG5vZGUgPGRpdiBpZD0idG9hc3QiPjwvZGl2
PgorUEFTUyBEZWxldGluZyBhIHJlZmxlY3RlZCBlbGVtZW50IHNob3VsZCByZXR1cm4gbnVsbCBm
b3IgdGhlIElETCBhdHRyaWJ1dGUgYW5kIGNhdXNlIHRoZSBjb250ZW50IGF0dHJpYnV0ZSB0byBi
ZWNvbWUgc3RhbGUuCitQQVNTIENoYW5naW5nIHRoZSBJRCBvZiBhbiBlbGVtZW50IGNhdXNlcyB0
aGUgY29udGVudCBhdHRyaWJ1dGUgdG8gYmVjb21lIG91dCBvZiBzeW5jLgorUEFTUyBSZXBhcmVu
dGluZyBhbiBlbGVtZW50IGludG8gYSBkZXNjZW5kYW50IHNoYWRvdyBzY29wZSBoaWRlcyB0aGUg
ZWxlbWVudCByZWZlcmVuY2UuCitQQVNTIFJlcGFyZW50aW5nIHJlZmVyZW5jZWQgZWxlbWVudCBj
YW5ub3QgY2F1c2UgcmV0YXJnZXRpbmcgb2YgcmVmZXJlbmNlLgorUEFTUyBFbGVtZW50IHJlZmVy
ZW5jZSBzZXQgaW4gaW52YWxpZCBzY29wZSByZW1haW5zIGludGFjdCB0aHJvdWdob3V0IG1vdmUg
dG8gdmFsaWQgc2NvcGUuCiBGQUlMIGFyaWEtbGFiZWxsZWRieS4gYXNzZXJ0X2FycmF5X2VxdWFs
czogcGFyc2VkIGNvbnRlbnQgYXR0cmlidXRlIHNldHMgZWxlbWVudCByZWZlcmVuY2VzLiB2YWx1
ZSBpcyB1bmRlZmluZWQsIGV4cGVjdGVkIGFycmF5CiBGQUlMIGFyaWEtY29udHJvbHMuIGFzc2Vy
dF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzIHVuZGVmaW5lZCwgZXhwZWN0ZWQgYXJyYXkKIEZBSUwg
YXJpYS1kZXNjcmliZWRieS4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgdW5kZWZpbmVk
LCBleHBlY3RlZCBhcnJheQpAQCAtNjcsNiArNjQsNyBAQCBGQUlMIHNoYWRvdyBET00gYmVoYXZp
b3VyIGZvciBGcm96ZW5BcnJheSBlbGVtZW50IHJlZmxlY3Rpb24uIGFzc2VydF9hcnJheV9lcXVh
bAogRkFJTCBNb3ZpbmcgZXhwbGljaXRseSBzZXQgZWxlbWVudHMgYWNyb3NzIHNoYWRvdyBET00g
Ym91bmRhcmllcy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHN0cmluZykgImJ1dHRvbkRlc2Ny
aXB0aW9uMSBidXR0b25EZXNjcmlwdGlvbjIiIGJ1dCBnb3QgKG9iamVjdCkgbnVsbAogRkFJTCBN
b3ZpbmcgZXhwbGljaXRseSBzZXQgZWxlbWVudHMgYXJvdW5kIHdpdGhpbiB0aGUgc2FtZSBzY29w
ZSwgYW5kIHJlbW92aW5nIGZyb20gdGhlIERPTS4gYXNzZXJ0X2FycmF5X2VxdWFsczogYXJpYS1s
YWJlbGVkIGJ5IGlzIHN1cHBvcnRlZCBieSBJREwgZ2V0dGVyLiB2YWx1ZSBpcyB1bmRlZmluZWQs
IGV4cGVjdGVkIGFycmF5CiBQQVNTIFJlcGFyZW50aW5nLgotRkFJTCBBdHRhY2hpbmcgZWxlbWVu
dCByZWZlcmVuY2UgYmVmb3JlIGl0J3MgaW5zZXJ0ZWQgaW50byB0aGUgRE9NLiBhc3NlcnRfZXF1
YWxzOiBSZWZlcmVuY2VkIGVsZW1lbnQgbm90IGluc2VydGVkIGludG8gZG9jdW1lbnQsIHNvIGlz
IGluIGFuIGludmFsaWQgc2NvcGUuIGV4cGVjdGVkIG51bGwgYnV0IGdvdCBFbGVtZW50IG5vZGUg
PHNwYW4gaWQ9InRvU3BhbiI+PC9zcGFuPgotRkFJTCBDcm9zcy1kb2N1bWVudCByZWZlcmVuY2Vz
IGFuZCBtb3Zlcy4gYXNzZXJ0X2VxdWFsczogQ3Jvc3MtZG9jdW1lbnQgaXMgYW4gaW52YWxpZCBz
Y29wZSwgc28gcmVmZXJlbmNlIHdpbGwgbm90IGJlIHZpc2libGUuIGV4cGVjdGVkIG51bGwgYnV0
IGdvdCBFbGVtZW50IG5vZGUgPHNwYW4+PC9zcGFuPgorUEFTUyBBdHRhY2hpbmcgZWxlbWVudCBy
ZWZlcmVuY2UgYmVmb3JlIGl0J3MgaW5zZXJ0ZWQgaW50byB0aGUgRE9NLgorUEFTUyBDcm9zcy1k
b2N1bWVudCByZWZlcmVuY2VzIGFuZCBtb3Zlcy4KK0ZBSUwgQWRvcHRpbmcgZWxlbWVudCBrZWVw
cyByZWZlcmVuY2VzLiBhc3NlcnRfZXF1YWxzOiBSZWZlcmVuY2Ugc2hvdWxkIGJlIGtlcHQgb24g
dGhlIG5ldyBkb2N1bWVudGUgdG9vLiBleHBlY3RlZCBFbGVtZW50IG5vZGUgPHNwYW4+PC9zcGFu
PiBidXQgZ290IG51bGwKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0
aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Rv
bS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50YXRpdmUuaHRtbAppbmRleCA3NzZm
ZmYzMTQzMjJiOTAwNGUxZTY3ODNjNjI2YzAzNTZjYThmMGE3Li4zMTAxYjYyNWRlNzZmYjAxNTky
Y2UzZDk4M2FkMDNkNzE5NzY5YzhkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50
ZW50YXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50YXRpdmUuaHRtbApA
QCAtMTY0LDYgKzE2NCw3IEBACiAgIDxzY3JpcHQ+CiAKICAgdGVzdChmdW5jdGlvbih0KSB7Cisg
ICAgY29uc3QgY29udGVudEF0dHJFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNv
bnRlbnRBdHRyRWxlbWVudCIpOwogICAgIGNvbnN0IGlkbEF0dHJFbGVtZW50ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImlkbEF0dHJFbGVtZW50Iik7CiAKICAgICBhc3NlcnRfZXF1YWxzKGRl
bGV0aW9uUGFyZW50LmdldEF0dHJpYnV0ZSgiYXJpYS1hY3RpdmVkZXNjZW5kYW50IiksICJjb250
ZW50QXR0ckVsZW1lbnQiKTsKQEAgLTcwNyw2ICs3MDgsMjQgQEAKICAgICB9LCAiQ3Jvc3MtZG9j
dW1lbnQgcmVmZXJlbmNlcyBhbmQgbW92ZXMuIik7CiAgIDwvc2NyaXB0PgogCisKKyAgPHNjcmlw
dD4KKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIGNvbnN0IG90aGVyRG9jID0gZG9jdW1l
bnQuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCdvdGhlckRvYycpOworICAgICAg
Y29uc3Qgb3RoZXJEb2NEaXYgPSBvdGhlckRvYy5jcmVhdGVFbGVtZW50KCdkaXYnKTsKKyAgICAg
IGNvbnN0IG90aGVyRG9jU3BhbiA9IG90aGVyRG9jLmNyZWF0ZUVsZW1lbnQoJ3NwYW4nKTsKKyAg
ICAgIG90aGVyRG9jRGl2LmFwcGVuZENoaWxkKG90aGVyRG9jU3Bhbik7CisgICAgICBvdGhlckRv
Yy5ib2R5LmFwcGVuZENoaWxkKG90aGVyRG9jRGl2KTsKKworICAgICAgb3RoZXJEb2NEaXYuYXJp
YUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50ID0gb3RoZXJEb2NTcGFuOworICAgICAgYXNzZXJ0X2Vx
dWFscyhvdGhlckRvY0Rpdi5hcmlhQWN0aXZlRGVzY2VuZGFudEVsZW1lbnQsIG90aGVyRG9jU3Bh
biwgIlNldHRpbmcgcmVmZXJlbmNlIG9uIGEgZGlmZmVyZW50IGRvY3VtZW50LiIpOworCisgICAg
ICAvLyBBZG9wdCBlbGVtZW50IGZyb20gb3RoZXIgb2R1Y21lbnQuCisgICAgICBkb2N1bWVudC5h
ZG9wdE5vZGUob3RoZXJEb2NEaXYpOworICAgICAgYXNzZXJ0X2VxdWFscyhvdGhlckRvY0Rpdi5h
cmlhQWN0aXZlRGVzY2VuZGFudEVsZW1lbnQsIG90aGVyRG9jU3BhbiwgIlJlZmVyZW5jZSBzaG91
bGQgYmUga2VwdCBvbiB0aGUgbmV3IGRvY3VtZW50ZSB0b28uIik7CisgICAgfSwgIkFkb3B0aW5n
IGVsZW1lbnQga2VlcHMgcmVmZXJlbmNlcy4iKTsKKyAgPC9zY3JpcHQ+CisKICAgPCEtLSBUT0RP
KGNocmlzaGFsbCk6IGFkZCBhZGRpdGlvbmFsIEdDIHRlc3QgY292ZXJpbmc6CiAgICAgICAgaWYg
YW4gZWxlbWVudCBpcyBpbiBhbiBpbnZhbGlkIHNjb3BlIGJ1dCBhdHRhY2hlZCB0byB0aGUgZG9j
dW1lbnQsIGl0J3MKICAgICAgICBub3QgR0MnZDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458730</attachid>
            <date>2022-05-03 03:43:45 -0700</date>
            <delta_ts>2022-05-03 14:42:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239852-20220503124343.patch</filename>
            <type>text/plain</type>
            <size>52895</size>
            <attacher name="Manuel Rego Casasnovas">rego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNDk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGRhMjFhYjkzZTYyMDczYWRhNmQyNjEz
YjZhMmE3NmY4NDRmYzEzMzguLmVhYjMzNjZhNmE0YzZmYjNjNTU1ZGZhZDg0YTMxM2IzMDEzZGU1
YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjItMDUtMDIgIE1hbnVlbCBSZWdvIENhc2Fzbm92
YXMgIDxyZWdvQGlnYWxpYS5jb20+CisKKyAgICAgICAgQVJJQSByZWZsZWN0aW9uIGZvciBFbGVt
ZW50IGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzOTg1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBuZXcgcnVudGltZSBmbGFnIEFyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVy
ZW5jZXNFbmFibGVkLgorCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJl
bmNlc0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIyLTA0LTI2ICBNYW51ZWwgUmVnbyBDYXNhc25v
dmFzICA8cmVnb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFJlbW92ZSBBcmlhUmVmbGVjdGlvbkVu
YWJsZWQgcnVudGltZSBmbGFnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M0ZjhhZDU3NDljYzliNTAyM2E4ZmVj
ZTAyYzc3MGIxMTA4YTBlYi4uOGUzZDI1MTY1NDZjZDRkN2NjNTQ1Njg4NTVkY2VhMmFhYjYyMzBm
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDIyLTA1LTAyICBNYW51ZWwgUmVnbyBD
YXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIEFSSUEgcmVmbGVjdGlvbiBm
b3IgRWxlbWVudCBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzk4NTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJbXBsZW1lbnQgQVJJQSByZWZsZWN0aW9uIGZvciBhdHRyaWJ1dGVzIHRo
YXQgcmVmZXIgdG8gYSBzaW5nbGUgRWxlbWVudDoKKyAgICAgICAgYXJpYS1hY3RpdmVkZXNjZW5k
YW50ICYgYXJpYS1lcnJvcm1lc3NhZ2UuCisgICAgICAgIEZvciB0aGUgcHJvcGVydGllcyBuYW1l
cyB0aGlzIHBhdGNoIHVzZXMgIkVsZW1lbnQiIHN1ZmZpeDoKKyAgICAgICAgYXJpYUFjdGl2ZURl
c2NlbmRhbnRFbGVtZW50ICYgYXJpYUVycm9yTWVzc2FnZUVsZW1lbnQ7CisgICAgICAgIHRoaXMg
bWF0Y2hlcyBDaHJvbWl1bSBpbXBsZW1lbnRhdGlvbiBhbmQgQU9NIGV4cGxhaW5lciwgYnV0IG5v
dCBBT00gc3BlYzoKKyAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL3czYy9hcmlhL2lzc3Vlcy8x
NzMyCisKKyAgICAgICAgVGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBkb25lIGZvbGxvd2luZyB0aGUg
cHJvcG9zZWQgc3BlYyB0ZXh0IGRlZmluZWQgYXQ6CisgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNv
bS93aGF0d2cvaHRtbC9wdWxsLzM5MTcKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQXJpYUF0
dHJpYnV0ZXMuaWRsOiBBZGQgYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50ICYKKyAgICAgICAg
YXJpYUVycm9yTWVzc2FnZUVsZW1lbnQuCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yLnBtOgorICAgICAgICAoR2V0dGVyRXhwcmVzc2lvbik6IEFkZCBmdW5jdGlvbiBm
b3IgRWxlbWVudCBhdHRyaWJ1dGVzLgorICAgICAgICAoU2V0dGVyRXhwcmVzc2lvbik6IERpdHRv
LgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOiBBZGQg
dGVzdHMgZm9yIGVsZW1lbnQKKyAgICAgICAgYXR0cmlidXRlIHJlZmxlY3Rpb24uCisgICAgICAg
IChXZWJDb3JlOjpKU1Rlc3RPYmpET01Db25zdHJ1Y3Rvcjo6Y29uc3RydWN0KToKKyAgICAgICAg
KFdlYkNvcmU6OmpzVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0ckdldHRlcik6CisgICAgICAg
IChXZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIpOgorICAgICAgICAoV2ViQ29yZTo6
c2V0SlNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRyU2V0dGVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Rlc3RPYmouaWRsOiBBZGQgcmVmbGVjdGVkRWxlbWVudEF0dHIKKyAgICAgICAgYXR0
cmlidXRlLgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omlz
RWxlbWVudFJlZmxlY3Rpb25BdHRyaWJ1dGUpOiBVdGlsaXR5IGZ1bmN0aW9uIHRvIGlkZW50aWZ5
CisgICAgICAgIEVsZW1lbnQgcmVmbGVjdGlvbiBhdHRyaWJ1dGVzLgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6IElmIGFuIGVsZW1lbnQgcmVmbGVjdGlvbgor
ICAgICAgICBhdHRyaWJ1dGUgaGFzIGNoYW5nZWQgd2UgbmVlZCB0byBzeW5jaHJvbml6ZSB0aGUg
bWFwLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6ZW5zdXJlRXhwbGljaXRseVNldEF0dHJF
bGVtZW50c01hcCk6IEtpbmQgb2YgZ2V0dGVyCisgICAgICAgIGZvciB0aGUgRXhwbGljaXRseVNl
dEF0dHJFbGVtZW50c01hcCBidXQgdGhhdCBjcmVhdGVzIHRoZSBtYXAgaWYgaXQKKyAgICAgICAg
ZG9lc24ndCBleGlzdCB5ZXQuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpleHBsaWNpdGx5
U2V0QXR0ckVsZW1lbnRzTWFwIGNvbnN0KTogR2V0dGVyIGZvciB0aGUKKyAgICAgICAgbWFwLgor
ICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c3luY2hyb25pemVFbGVtZW50UmVmbGVjdGlvbkF0
dHJpYnV0ZSk6IFJlbW92ZSB0aGUKKyAgICAgICAgbWFwIGZvciB0aGUgZ2l2ZW4gYXR0cmlidXRl
IGFzIGl0J2xsIGJlIHByb3Blcmx5IHVwZGF0ZWQgaW4KKyAgICAgICAgc2V0RWxlbWVudEF0dHJp
YnV0ZSgpLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6aXNEZXNjZW5kYW50T2ZTaGFkb3dJ
bmNsdWRpbmdBbmNlc3RvcnMgY29uc3QpOgorICAgICAgICBVdGlsaXR5IG1ldGhvZCB0byBkZXRl
Y3QgaWYgYW4gZWxlbWVudCBpcyBhIGRlc2NlbmRhbnQgb2YgYW55IG9mCisgICAgICAgIGVsZW1l
bnQncyBzaGFkb3ctaW5jbHVkaW5nIGFuY2VzdG9ycy4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1l
bnQ6OmdldEVsZW1lbnRBdHRyaWJ1dGUgY29uc3QpOiBJbXBsZW1lbnQgZ2V0dGVyIGZvcgorICAg
ICAgICBlbGVtZW50IGF0dHJpYnV0ZS4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNldEVs
ZW1lbnRBdHRyaWJ1dGUpOiBJbXBsZW1lbnQgc2V0dGVyIGZvcgorICAgICAgICBlbGVtZW50IGF0
dHJpYnV0ZS4KKyAgICAgICAgKiBkb20vRWxlbWVudC5oOiBBZGQgbmV3IG1ldGhvZCBoZWFkZXJz
LgorICAgICAgICAqIGRvbS9FbGVtZW50UmFyZURhdGEuY3BwOiBVcGRhdGUgc2l6ZSBvZiBTYW1l
U2l6ZUFzRWxlbWVudFJhcmVEYXRhIHRvCisgICAgICAgIGluY2x1ZGUgdGhlIG5ldyBwb2ludGVy
LgorICAgICAgICAqIGRvbS9FbGVtZW50UmFyZURhdGEuaDogQWRkIG1fZXhwbGljaXRseVNldEF0
dHJFbGVtZW50c01hcCBhdHRyaWJ1dGUuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFyZURh
dGE6OmV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXApOiBHZXR0ZXIuCisgICAgICAgIChXZWJD
b3JlOjpFbGVtZW50UmFyZURhdGE6OnNldEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXApOiBT
ZXR0ZXIuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6OnVzZVR5cGVzIGNvbnN0
KTpJbmNsdWRlCisgICAgICAgIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAuCisgICAgICAg
ICogZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c3RyaW5nRm9yUmFyZURhdGFVc2VU
eXBlKTogQWRkIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAuCisgICAgICAgICogZG9tL05v
ZGVSYXJlRGF0YS5oOiBEaXR0by4KKwogMjAyMi0wNC0yNiAgQW50dGkgS29pdmlzdG8gIDxhbnR0
aUBhcHBsZS5jb20+CiAKICAgICAgICAgOjpmaXJzdC1sZXR0ZXIgZG9lcyBub3Qgd29yayBpZiB1
c2VkIG9ubHkgaW4gc2hhZG93IGNvbnRlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0
cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIGIvU291cmNlL1dU
Ri9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKaW5k
ZXggMDM4ZTYxYWM5MjM1YzljN2I4Y2E1MWQ5ZTc0OWI5MGRmOWEwMTEwZi4uODg0OWYyOWExOTQ0
YmE1M2QxZmNiNWViODY2MGEyMDhkYmFjYTMyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3Jp
cHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKKysrIGIvU291
cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlh
bWwKQEAgLTY2LDYgKzY2LDE4IEBAIEFjY2Vzc2liaWxpdHlPYmplY3RNb2RlbEVuYWJsZWQ6CiAg
ICAgV2ViS2l0OgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorQXJpYVJlZmxlY3Rpb25Gb3JFbGVt
ZW50UmVmZXJlbmNlc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgaHVtYW5SZWFkYWJsZU5hbWU6
ICJBUklBIFJlZmxlY3Rpb24gZm9yIEVsZW1lbnQgUmVmZXJlbmNlcyIKKyAgaHVtYW5SZWFkYWJs
ZURlc2NyaXB0aW9uOiAiRW5hYmxlIEFSSUEgcmVmbGVjdGlvbiBmb3IgYXR0cmlidXRlcyB0aGF0
IHJlZmVyIHRvIGVsZW1lbnRzIgorICBkZWZhdWx0VmFsdWU6CisgICAgV2ViS2l0TGVnYWN5Ogor
ICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBXZWJLaXQ6CisgICAgICBkZWZhdWx0OiBmYWxzZQor
ICAgIFdlYkNvcmU6CisgICAgICBkZWZhdWx0OiBmYWxzZQorCiBBc3BlY3RSYXRpb0VuYWJsZWQ6
CiAgIHR5cGU6IGJvb2wKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJDU1MgQXNwZWN0IFJhdGlvIgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BcmlhQXR0cmlidXRlcy5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FyaWFBdHRyaWJ1dGVzLmlkbAppbmRl
eCA1YmU1ZTQ2ZjhjNTk2YWM0NjgzM2ZkYzEyNGZhMGU3MDMxMzhlMzg1Li40YzY2MGJhMTgwMjE5
YWEzZmNiYjY2Mjg0ZjUzMDgwOWM0ZjdjYmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FyaWFBdHRyaWJ1dGVzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FyaWFBdHRyaWJ1dGVzLmlkbApAQCAtMjUsNiArMjUsNyBAQAogCiAvLyBodHRw
czovL3dpY2cuZ2l0aHViLmlvL2FvbS9zcGVjL2FyaWEtcmVmbGVjdGlvbi5odG1sI0FyaWFBdHRy
aWJ1dGVzCiBpbnRlcmZhY2UgbWl4aW4gQXJpYUF0dHJpYnV0ZXMgeworICAgIFtSZWZsZWN0PWFy
aWFfYWN0aXZlZGVzY2VuZGFudCwgRW5hYmxlZEJ5U2V0dGluZz1BcmlhUmVmbGVjdGlvbkZvckVs
ZW1lbnRSZWZlcmVuY2VzRW5hYmxlZF0gYXR0cmlidXRlIEVsZW1lbnQ/IGFyaWFBY3RpdmVEZXNj
ZW5kYW50RWxlbWVudDsKICAgICBbUmVmbGVjdD1hcmlhX2F0b21pY10gICAgICAgICAgIGF0dHJp
YnV0ZSBbQXRvbVN0cmluZ10gRE9NU3RyaW5nPyBhcmlhQXRvbWljOwogICAgIFtSZWZsZWN0PWFy
aWFfYXV0b2NvbXBsZXRlXSAgICAgYXR0cmlidXRlIFtBdG9tU3RyaW5nXSBET01TdHJpbmc/IGFy
aWFBdXRvQ29tcGxldGU7CiAgICAgW1JlZmxlY3Q9YXJpYV9idXN5XSAgICAgICAgICAgICBhdHRy
aWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUJ1c3k7CkBAIC0zNCw2ICszNSw3IEBA
IGludGVyZmFjZSBtaXhpbiBBcmlhQXR0cmlidXRlcyB7CiAgICAgW1JlZmxlY3Q9YXJpYV9jb2xz
cGFuXSAgICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUNvbFNw
YW47CiAgICAgW1JlZmxlY3Q9YXJpYV9jdXJyZW50XSAgICAgICAgICBhdHRyaWJ1dGUgW0F0b21T
dHJpbmddIERPTVN0cmluZz8gYXJpYUN1cnJlbnQ7CiAgICAgW1JlZmxlY3Q9YXJpYV9kaXNhYmxl
ZF0gICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYURpc2FibGVk
OworICAgIFtSZWZsZWN0PWFyaWFfZXJyb3JtZXNzYWdlLCBFbmFibGVkQnlTZXR0aW5nPUFyaWFS
ZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5jZXNFbmFibGVkXSBhdHRyaWJ1dGUgRWxlbWVudD8g
YXJpYUVycm9yTWVzc2FnZUVsZW1lbnQ7CiAgICAgW1JlZmxlY3Q9YXJpYV9leHBhbmRlZF0gICAg
ICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUV4cGFuZGVkOwogICAg
IFtSZWZsZWN0PWFyaWFfaGFzcG9wdXBdICAgICAgICAgYXR0cmlidXRlIFtBdG9tU3RyaW5nXSBE
T01TdHJpbmc/IGFyaWFIYXNQb3B1cDsKICAgICBbUmVmbGVjdD1hcmlhX2hpZGRlbl0gICAgICAg
ICAgIGF0dHJpYnV0ZSBbQXRvbVN0cmluZ10gRE9NU3RyaW5nPyBhcmlhSGlkZGVuOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCmluZGV4IDcx
YjM2YmNlNTUzY2MxZTRkZjM5OTZkMmJkNGEyOGFlZDA3YTJjOTIuLmI4ZDdhNGYwYmJmZjlkODFl
NDUxZmE1MjU1ZjRkMzA2Yzc2Y2M2ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KQEAgLTExMDgsNiArMTEwOCw4IEBAIHN1YiBHZXR0
ZXJFeHByZXNzaW9uCiAgICAgICAgICRmdW5jdGlvbk5hbWUgPSAiZ2V0SW50ZWdyYWxBdHRyaWJ1
dGUiOwogICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGVUeXBlLT5uYW1lIGVxICJ1bnNpZ25lZCBsb25n
IikgewogICAgICAgICAkZnVuY3Rpb25OYW1lID0gImdldFVuc2lnbmVkSW50ZWdyYWxBdHRyaWJ1
dGUiOworICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGVUeXBlLT5uYW1lIGVxICJFbGVtZW50Iikgewor
ICAgICAgICAkZnVuY3Rpb25OYW1lID0gImdldEVsZW1lbnRBdHRyaWJ1dGUiOwogICAgIH0gZWxz
ZSB7CiAgICAgICAgIGlmICgkY29udGVudEF0dHJpYnV0ZU5hbWUgZXEgIldlYkNvcmU6OkhUTUxO
YW1lczo6aWRBdHRyIikgewogICAgICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICJnZXRJZEF0dHJp
YnV0ZSI7CkBAIC0xMTQ1LDYgKzExNDcsOCBAQCBzdWIgU2V0dGVyRXhwcmVzc2lvbgogICAgICAg
ICAkZnVuY3Rpb25OYW1lID0gInNldEludGVncmFsQXR0cmlidXRlIjsKICAgICB9IGVsc2lmICgk
YXR0cmlidXRlVHlwZS0+bmFtZSBlcSAidW5zaWduZWQgbG9uZyIpIHsKICAgICAgICAgJGZ1bmN0
aW9uTmFtZSA9ICJzZXRVbnNpZ25lZEludGVncmFsQXR0cmlidXRlIjsKKyAgICB9IGVsc2lmICgk
YXR0cmlidXRlVHlwZS0+bmFtZSBlcSAiRWxlbWVudCIpIHsKKyAgICAgICAgJGZ1bmN0aW9uTmFt
ZSA9ICJzZXRFbGVtZW50QXR0cmlidXRlIjsKICAgICB9IGVsc2lmICgkZ2VuZXJhdG9yLT5Jc1NW
R0FuaW1hdGVkVHlwZSgkYXR0cmlidXRlVHlwZSkpIHsKICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9
ICJzZXRBdHRyaWJ1dGUiOwogICAgIH0gZWxzZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCmluZGV4IDU1OGE5MTZlM2U5
NTdjNWQyM2E2OGY3N2I1M2U0MjJhNzI5YmJiNTYuLmNjNjE5NWI0ZDM4Yjc4ZWI3OWE1MGRhMGUx
NjVjNTZhOTY2MWRhMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCkBAIC0xODAzLDYgKzE4MDMsOCBAQCBzdGF0aWMg
SlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVmbGVjdGVkVW5zaWduZWRJbnRl
Z3JhbEF0dHIpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2Jq
X3JlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNU
T01fR0VUVEVSKGpzVGVzdE9ial9yZWZsZWN0ZWRCb29sZWFuQXR0cik7CiBzdGF0aWMgSlNDX0RF
Q0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkQm9vbGVhbkF0dHIpOwor
c3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNUZXN0T2JqX3JlZmxlY3RlZEVsZW1l
bnRBdHRyKTsKK3N0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9y
ZWZsZWN0ZWRFbGVtZW50QXR0cik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihq
c1Rlc3RPYmpfcmVmbGVjdGVkVVJMQXR0cik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX1NF
VFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVVJMQXR0cik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVf
Q1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVmbGVjdGVkVVNWVVJMQXR0cik7CkBAIC0yMTc1LDYg
KzIxNzcsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0T2JqUHJvdG90eXBl
VGFibGVWYWx1ZXNbXSA9CiAgICAgeyAicmVmbGVjdGVkSW50ZWdyYWxBdHRyIiwgc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0
cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpfcmVm
bGVjdGVkSW50ZWdyYWxBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNs
b3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3JlZmxlY3RlZEludGVncmFsQXR0cikgfSB9
LAogICAgIHsgInJlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyIiwgc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlNDOjpQcm9w
ZXJ0eUF0dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0
YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpfcmVmbGVjdGVk
VW5zaWduZWRJbnRlZ3JhbEF0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5
U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVW5zaWduZWRJbnRlZ3Jh
bEF0dHIpIH0gfSwKICAgICB7ICJyZWZsZWN0ZWRCb29sZWFuQXR0ciIsIHN0YXRpY19jYXN0PHVu
c2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClz
dGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqX3JlZmxlY3Rl
ZEJvb2xlYW5BdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1
dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3JlZmxlY3RlZEJvb2xlYW5BdHRyKSB9IH0sCisgICAg
eyAicmVmbGVjdGVkRWxlbWVudEF0dHIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9w
ZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
T01BdHRyaWJ1dGUpLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVy
dHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0ciksIChp
bnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpT
VGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0cikgfSB9LAogICAgIHsgInJlZmxlY3RlZFVSTEF0
dHIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9t
QWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpET01BdHRyaWJ1dGUpLCBOb0ludHJp
bnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+
KGpzVGVzdE9ial9yZWZsZWN0ZWRVUkxBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQ
cm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3JlZmxlY3RlZFVSTEF0dHIp
IH0gfSwKICAgICB7ICJyZWZsZWN0ZWRVU1ZVUkxBdHRyIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19j
YXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpfcmVmbGVjdGVkVVNWVVJM
QXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1
bmM+KHNldEpTVGVzdE9ial9yZWZsZWN0ZWRVU1ZVUkxBdHRyKSB9IH0sCiAgICAgeyAicmVmbGVj
dGVkU3RyaW5nQXR0ciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0
ZSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6Okdl
dFZhbHVlRnVuYz4oanNUZXN0T2JqX3JlZmxlY3RlZFN0cmluZ0F0dHIpLCAoaW50cHRyX3QpIHN0
YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpfcmVm
bGVjdGVkU3RyaW5nQXR0cikgfSB9LApAQCAtMzkxOCw2ICszOTIxLDM3IEBAIEpTQ19ERUZJTkVf
Q1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkQm9vbGVhbkF0dHIsIChKU0dsb2Jh
bE9iamVjdCogbGV4CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0
SlNUZXN0T2JqX3JlZmxlY3RlZEJvb2xlYW5BdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsIGF0dHJpYnV0ZU5hbWUpOwogfQogCitzdGF0aWMg
aW5saW5lIEpTVmFsdWUganNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRyR2V0dGVyKEpTR2xv
YmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RPYmomIHRoaXNPYmplY3QpCit7
CisgICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKKyAgICBh
dXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAgICBhdXRvJiBpbXBs
ID0gdGhpc09iamVjdC53cmFwcGVkKCk7CisgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHRocm93U2Nv
cGUsICh0b0pTPElETEludGVyZmFjZTxFbGVtZW50Pj4obGV4aWNhbEdsb2JhbE9iamVjdCwgKnRo
aXNPYmplY3QuZ2xvYmFsT2JqZWN0KCksIHRocm93U2NvcGUsIGltcGwuZ2V0RWxlbWVudEF0dHJp
YnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RlZGVsZW1lbnRhdHRyQXR0cikpKSk7Cit9
CisKK0pTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0
dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUgYXR0cmlidXRlTmFtZSkpCit7CisgICAgcmV0dXJuIElE
TEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpnZXQ8anNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRy
R2V0dGVyLCBDYXN0ZWRUaGlzRXJyb3JCZWhhdmlvcjo6QXNzZXJ0PigqbGV4aWNhbEdsb2JhbE9i
amVjdCwgdGhpc1ZhbHVlLCBhdHRyaWJ1dGVOYW1lKTsKK30KKworc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0clNldHRlcihKU0dsb2JhbE9iamVjdCYg
bGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0T2JqJiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVl
KQoreworICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Cisg
ICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisgICAgYXV0byYg
aW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOworICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252
ZXJ0PElETEludGVyZmFjZTxFbGVtZW50Pj4obGV4aWNhbEdsb2JhbE9iamVjdCwgdmFsdWUsIFtd
KEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29w
ZSYgc2NvcGUpIHsgdGhyb3dBdHRyaWJ1dGVUeXBlRXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwg
c2NvcGUsICJUZXN0T2JqZWN0IiwgInJlZmxlY3RlZEVsZW1lbnRBdHRyIiwgIkVsZW1lbnQiKTsg
fSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBmYWxzZSk7CisgICAgaW52
b2tlRnVuY3RvclByb3BhZ2F0aW5nRXhjZXB0aW9uSWZOZWNlc3NhcnkobGV4aWNhbEdsb2JhbE9i
amVjdCwgdGhyb3dTY29wZSwgWyZdIHsKKyAgICAgICAgcmV0dXJuIGltcGwuc2V0RWxlbWVudEF0
dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RlZGVsZW1lbnRhdHRyQXR0ciwgKm5h
dGl2ZVZhbHVlKTsKKyAgICB9KTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworSlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0ciwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lIGF0dHJpYnV0ZU5hbWUpKQor
eworICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9y
ZWZsZWN0ZWRFbGVtZW50QXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1
ZSwgZW5jb2RlZFZhbHVlLCBhdHRyaWJ1dGVOYW1lKTsKK30KKwogc3RhdGljIGlubGluZSBKU1Zh
bHVlIGpzVGVzdE9ial9yZWZsZWN0ZWRVUkxBdHRyR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RPYmomIHRoaXNPYmplY3QpCiB7CiAgICAgYXV0byYgdm0g
PSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAppbmRleCAxMGY2NTFhNTc1ZTc3Yjc1
MDAyYjg3MGNkYmI4OThmZmE0NjYzM2M5Li43ZTk4MmQ1MTYyNGI0Y2ZkOGI4NmVkNTE0NzdmNzE3
YjFiYmZlNWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVGVzdE9iai5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Rlc3RPYmouaWRsCkBAIC0xMDQsNiArMTA0LDcgQEAgZW51bSBUZXN0Q29uZmlkZW5jZSB7ICJo
aWdoIiwgImtpbmRhLWxvdyIgfTsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIGxvbmcgcmVmbGVj
dGVkSW50ZWdyYWxBdHRyOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBy
ZWZsZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0cjsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIGJv
b2xlYW4gcmVmbGVjdGVkQm9vbGVhbkF0dHI7CisgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBFbGVt
ZW50IHJlZmxlY3RlZEVsZW1lbnRBdHRyOwogICAgIFtSZWZsZWN0LCBVUkxdIGF0dHJpYnV0ZSBE
T01TdHJpbmcgcmVmbGVjdGVkVVJMQXR0cjsKICAgICBbUmVmbGVjdCwgVVJMXSBhdHRyaWJ1dGUg
VVNWU3RyaW5nIHJlZmxlY3RlZFVTVlVSTEF0dHI7CiAgICAgW1JlZmxlY3Q9Y3VzdG9tQ29udGVu
dFN0cmluZ0F0dHJdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmbGVjdGVkU3RyaW5nQXR0cjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmNwcAppbmRleCAwYmQyNjcyMWNiZTg3MDQ3MzZiMThhNzU2ZTg4ZjA2NWE2
NDA3MjNjLi4zZDkwYThkNDUzYWEwMDU5MGQ3ODAyNjljMDM5MzE5MDQyMmNlYTJiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuY3BwCkBAIC0xOTAxLDYgKzE5MDEsMTEgQEAgc3RhdGljIGlubGluZSBBdG9t
U3RyaW5nIG1ha2VJZEZvclN0eWxlUmVzb2x1dGlvbihjb25zdCBBdG9tU3RyaW5nJiB2YWx1ZSwg
Ym9vbAogICAgIHJldHVybiB2YWx1ZTsKIH0KIAorc3RhdGljIGJvb2wgaXNFbGVtZW50UmVmbGVj
dGlvbkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lKQoreworICAgIHJldHVybiBu
YW1lID09IEhUTUxOYW1lczo6YXJpYV9hY3RpdmVkZXNjZW5kYW50QXR0ciB8fCBuYW1lID09IEhU
TUxOYW1lczo6YXJpYV9lcnJvcm1lc3NhZ2VBdHRyOworfQorCiB2b2lkIEVsZW1lbnQ6OmF0dHJp
YnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYg
b2xkVmFsdWUsIGNvbnN0IEF0b21TdHJpbmcmIG5ld1ZhbHVlLCBBdHRyaWJ1dGVNb2RpZmljYXRp
b25SZWFzb24pCiB7CiAgICAgYm9vbCB2YWx1ZUlzU2FtZUFzQmVmb3JlID0gb2xkVmFsdWUgPT0g
bmV3VmFsdWU7CkBAIC0xOTM3LDYgKzE5NDIsOCBAQCB2b2lkIEVsZW1lbnQ6OmF0dHJpYnV0ZUNo
YW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYgb2xkVgog
ICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgaWYgKG5hbWUgPT0gSFRNTE5hbWVzOjpwYXJ0
QXR0cikKICAgICAgICAgICAgIHBhcnRBdHRyaWJ1dGVDaGFuZ2VkKG5ld1ZhbHVlKTsKKyAgICAg
ICAgZWxzZSBpZiAoaXNFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0ZShuYW1lKSkKKyAgICAgICAg
ICAgIHN5bmNocm9uaXplRWxlbWVudFJlZmxlY3Rpb25BdHRyaWJ1dGUobmFtZSk7CiAgICAgICAg
IGVsc2UgaWYgKG5hbWUgPT0gSFRNTE5hbWVzOjpleHBvcnRwYXJ0c0F0dHIpIHsKICAgICAgICAg
ICAgIGlmIChhdXRvKiBzaGFkb3dSb290ID0gdGhpcy0+c2hhZG93Um9vdCgpKSB7CiAgICAgICAg
ICAgICAgICAgc2hhZG93Um9vdC0+aW52YWxpZGF0ZVBhcnRNYXBwaW5ncygpOwpAQCAtMTk2MSw2
ICsxOTY4LDg1IEBAIHZvaWQgRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZp
ZWROYW1lJiBuYW1lLCBjb25zdCBBdG9tU3RyaW5nJiBvbGRWCiAgICAgICAgIGNhY2hlLT5kZWZl
ckF0dHJpYnV0ZUNoYW5nZUlmTmVlZGVkKG5hbWUsIHRoaXMpOwogfQogCitFeHBsaWNpdGx5U2V0
QXR0ckVsZW1lbnRzTWFwJiBFbGVtZW50OjplbnN1cmVFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRz
TWFwKCkKK3sKKyAgICBhdXRvJiByYXJlRGF0YSA9IGVuc3VyZUVsZW1lbnRSYXJlRGF0YSgpOwor
ICAgIGlmICghcmFyZURhdGEuZXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCgpKQorICAgICAg
ICByYXJlRGF0YS5zZXRFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKG1ha2VVbmlxdWU8RXhw
bGljaXRseVNldEF0dHJFbGVtZW50c01hcD4oKSk7CisgICAgcmV0dXJuICpyYXJlRGF0YS5leHBs
aWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKCk7Cit9CisKK0V4cGxpY2l0bHlTZXRBdHRyRWxlbWVu
dHNNYXAqIEVsZW1lbnQ6OmV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoKSBjb25zdAorewor
ICAgIHJldHVybiBoYXNSYXJlRGF0YSgpID8gZWxlbWVudFJhcmVEYXRhKCktPmV4cGxpY2l0bHlT
ZXRBdHRyRWxlbWVudHNNYXAoKSA6IG51bGxwdHI7Cit9CisKK3ZvaWQgRWxlbWVudDo6c3luY2hy
b25pemVFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRy
aWJ1dGVOYW1lKQoreworICAgIEFTU0VSVChkb2N1bWVudCgpLnNldHRpbmdzKCkuYXJpYVJlZmxl
Y3Rpb25Gb3JFbGVtZW50UmVmZXJlbmNlc0VuYWJsZWQoKSk7CisgICAgQVNTRVJUKGlzRWxlbWVu
dFJlZmxlY3Rpb25BdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSkpOworCisgICAgZW5zdXJlRXhwbGlj
aXRseVNldEF0dHJFbGVtZW50c01hcCgpLnJlbW92ZShhdHRyaWJ1dGVOYW1lKTsKK30KKworYm9v
bCBFbGVtZW50Ojppc0Rlc2NlbmRhbnRPZlNoYWRvd0luY2x1ZGluZ0FuY2VzdG9ycyhjb25zdCBF
bGVtZW50JiBlbGVtZW50KSBjb25zdAoreworICAgIGlmICghaXNJblRyZWVTY29wZSgpIHx8ICFl
bGVtZW50LmlzSW5UcmVlU2NvcGUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgZm9y
IChhdXRvKiByb290ID0gY29udGFpbmluZ1NoYWRvd1Jvb3QoKTsgcm9vdDsgcm9vdCA9IHJvb3Qt
Pmhvc3QoKS0+Y29udGFpbmluZ1NoYWRvd1Jvb3QoKSkgeworICAgICAgICBpZiAoZWxlbWVudC5p
c0Rlc2NlbmRhbnRPZihyb290KSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKwor
ICAgIHJldHVybiBlbGVtZW50LmlzRGVzY2VuZGFudE9mKGRvY3VtZW50KCkuZG9jdW1lbnRFbGVt
ZW50KCkpOworfQorCitFbGVtZW50KiBFbGVtZW50OjpnZXRFbGVtZW50QXR0cmlidXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIGNvbnN0Cit7CisgICAgQVNTRVJUKGRvY3Vt
ZW50KCkuc2V0dGluZ3MoKS5hcmlhUmVmbGVjdGlvbkZvckVsZW1lbnRSZWZlcmVuY2VzRW5hYmxl
ZCgpKTsKKyAgICBBU1NFUlQoaXNFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0ZShhdHRyaWJ1dGVO
YW1lKSk7CisKKyAgICBpZiAoYXV0byogbWFwID0gZXhwbGljaXRseVNldEF0dHJFbGVtZW50c01h
cCgpKSB7CisgICAgICAgIGF1dG8gaXQgPSBtYXAtPmZpbmQoYXR0cmlidXRlTmFtZSk7CisgICAg
ICAgIGlmIChpdCAhPSBtYXAtPmVuZCgpKSB7CisgICAgICAgICAgICBBU1NFUlQoaXQtPnZhbHVl
LnNpemUoKSA9PSAxKTsKKyAgICAgICAgICAgIGF1dG8qIGVsZW1lbnQgPSBpdC0+dmFsdWVbMF0u
Z2V0KCk7CisgICAgICAgICAgICBBU1NFUlQoZWxlbWVudCk7CisgICAgICAgICAgICBpZiAoaXNE
ZXNjZW5kYW50T2ZTaGFkb3dJbmNsdWRpbmdBbmNlc3RvcnMoKmVsZW1lbnQpKQorICAgICAgICAg
ICAgICAgIHJldHVybiBlbGVtZW50OworICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAg
ICAgIH0KKyAgICB9CisKKyAgICBhdXRvIGlkID0gZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUp
OworICAgIGlmIChpZC5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBy
ZXR1cm4gdHJlZVNjb3BlKCkuZ2V0RWxlbWVudEJ5SWQoaWQpOworfQorCit2b2lkIEVsZW1lbnQ6
OnNldEVsZW1lbnRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSwg
RWxlbWVudCogZWxlbWVudCkKK3sKKyAgICBBU1NFUlQoZG9jdW1lbnQoKS5zZXR0aW5ncygpLmFy
aWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5jZXNFbmFibGVkKCkpOworICAgIEFTU0VSVChp
c0VsZW1lbnRSZWZsZWN0aW9uQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpKTsKKworICAgIGF1dG8m
IG1hcCA9IGVuc3VyZUV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoKTsKKyAgICBpZiAoIWVs
ZW1lbnQpIHsKKyAgICAgICAgbWFwLnJlbW92ZShhdHRyaWJ1dGVOYW1lKTsKKyAgICAgICAgcmVt
b3ZlQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgYXV0byBpZCA9IGVsZW1lbnQtPmdldElkQXR0cmlidXRlKCk7CisgICAgaWYgKCFpZC5pc051
bGwoKSAmJiAmdHJlZVNjb3BlKCkgPT0gJmVsZW1lbnQtPnRyZWVTY29wZSgpICYmIHRyZWVTY29w
ZSgpLmdldEVsZW1lbnRCeUlkKGlkKSA9PSBlbGVtZW50KQorICAgICAgICBzZXRBdHRyaWJ1dGUo
YXR0cmlidXRlTmFtZSwgaWQpOworICAgIGVsc2UKKyAgICAgICAgc2V0QXR0cmlidXRlKGF0dHJp
YnV0ZU5hbWUsIGVtcHR5QXRvbSgpKTsKKworICAgIG1hcC5zZXQoYXR0cmlidXRlTmFtZSwgVmVj
dG9yPFdlYWtQdHI8RWxlbWVudD4+IHsgZWxlbWVudCB9KTsKK30KKwogdGVtcGxhdGUgPHR5cGVu
YW1lIENoYXJhY3RlclR5cGU+CiBzdGF0aWMgaW5saW5lIGJvb2wgaXNOb25FbXB0eVRva2VuTGlz
dChjb25zdCBDaGFyYWN0ZXJUeXBlKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCiB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuaAppbmRleCA5Y2FiZTNhZGNkNzU4YzUyZWJiODU5NjEyNjBiNTIxZmIyNTgw
MzA3Li43ZjIyOTNlMmU4YTNkYTJhMDI1MGJlYTlmZWQ0YzMwNGExY2ZkYmIxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmgKQEAgLTkzLDYgKzkzLDggQEAgc3RydWN0IFNjcm9sbFRvT3B0aW9uczsKIHN0cnVj
dCBTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50SW5pdDsKIHN0cnVjdCBTaGFkb3dSb290SW5p
dDsKIAordXNpbmcgRXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCA9IEhhc2hNYXA8UXVhbGlm
aWVkTmFtZSwgVmVjdG9yPFdlYWtQdHI8RWxlbWVudD4+PjsKKwogbmFtZXNwYWNlIFN0eWxlIHsK
IGNsYXNzIFJlc29sdmVyOwogZW51bSBjbGFzcyBDaGFuZ2UgOiB1aW50OF90OwpAQCAtMTIxLDYg
KzEyMyw4IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEludGVncmFsQXR0
cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUsIGludCB2YWx1ZSk7CiAg
ICAgV0VCQ09SRV9FWFBPUlQgdW5zaWduZWQgZ2V0VW5zaWduZWRJbnRlZ3JhbEF0dHJpYnV0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKSBjb25zdDsKICAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHNldFVuc2lnbmVkSW50ZWdyYWxBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFt
ZSYgYXR0cmlidXRlTmFtZSwgdW5zaWduZWQgdmFsdWUpOworICAgIFdFQkNPUkVfRVhQT1JUIEVs
ZW1lbnQqIGdldEVsZW1lbnRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRl
TmFtZSkgY29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRFbGVtZW50QXR0cmlidXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUsIEVsZW1lbnQqIHZhbHVlKTsKIAog
ICAgIC8vIENhbGwgdGhpcyB0byBnZXQgdGhlIHZhbHVlIG9mIGFuIGF0dHJpYnV0ZSB0aGF0IGlz
IGtub3duIG5vdCB0byBiZSB0aGUgc3R5bGUKICAgICAvLyBhdHRyaWJ1dGUgb3Igb25lIG9mIHRo
ZSBTVkcgYW5pbWF0YWJsZSBhdHRyaWJ1dGVzLgpAQCAtNjY4LDYgKzY3Miw5IEBAIHB1YmxpYzoK
ICAgICBTdHlsZVByb3BlcnR5TWFwUmVhZE9ubHkqIGNvbXB1dGVkU3R5bGVNYXAoKTsKICNlbmRp
ZgogCisgICAgRXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCYgZW5zdXJlRXhwbGljaXRseVNl
dEF0dHJFbGVtZW50c01hcCgpOworICAgIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAqIGV4
cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoKSBjb25zdDsKKwogcHJvdGVjdGVkOgogICAgIEVs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50JiwgQ29uc3RydWN0aW9uVHlwZSk7
CiAKQEAgLTczOSw2ICs3NDYsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgc2V0QXR0cmlidXRlSW50
ZXJuYWwodW5zaWduZWQgaW5kZXgsIGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9tU3Ry
aW5nJiB2YWx1ZSwgU3luY2hyb25pemF0aW9uT2ZMYXp5QXR0cmlidXRlKTsKICAgICB2b2lkIGFk
ZEF0dHJpYnV0ZUludGVybmFsKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9tU3RyaW5n
JiB2YWx1ZSwgU3luY2hyb25pemF0aW9uT2ZMYXp5QXR0cmlidXRlKTsKICAgICB2b2lkIHJlbW92
ZUF0dHJpYnV0ZUludGVybmFsKHVuc2lnbmVkIGluZGV4LCBTeW5jaHJvbml6YXRpb25PZkxhenlB
dHRyaWJ1dGUpOworICAgIHZvaWQgc3luY2hyb25pemVFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0
ZShjb25zdCBRdWFsaWZpZWROYW1lJik7CiAKICAgICB2b2lkIHNldFNhdmVkTGF5ZXJTY3JvbGxQ
b3NpdGlvblNsb3coY29uc3QgSW50UG9pbnQmKTsKICAgICB2b2lkIGNsZWFyQmVmb3JlUHNldWRv
RWxlbWVudFNsb3coKTsKQEAgLTc4NSw2ICs3OTMsOCBAQCBwcml2YXRlOgogICAgIFdFQkNPUkVf
RVhQT1JUIGJvb2wgZmFzdEF0dHJpYnV0ZUxvb2t1cEFsbG93ZWQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYpIGNvbnN0OwogI2VuZGlmCiAKKyAgICBib29sIGlzRGVzY2VuZGFudE9mU2hhZG93SW5jbHVk
aW5nQW5jZXN0b3JzKGNvbnN0IEVsZW1lbnQmKSBjb25zdDsKKwogICAgIFF1YWxpZmllZE5hbWUg
bV90YWdOYW1lOwogICAgIFJlZlB0cjxFbGVtZW50RGF0YT4gbV9lbGVtZW50RGF0YTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmNwcAppbmRleCA5NGI4YTU4NTlmNzRiYzdjOTVk
MTI1Mzk5Yjc0NmVlMjc2ZTdlZWZmLi4xMjNjZjVlOTFhNzIxZjc3NjA4MjViZjdjZjE3MDM5NjNh
ZmE4M2QwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmNwcApAQCAtNDIsNiAr
NDIsNyBAQCBzdHJ1Y3QgU2FtZVNpemVBc0VsZW1lbnRSYXJlRGF0YSA6IE5vZGVSYXJlRGF0YSB7
CiAgICAgdm9pZCogdHlwZWRPTURhdGFbMl07CiAjZW5kaWYKICAgICB2b2lkKiByZXNpemVPYnNl
cnZlckRhdGE7CisgICAgdm9pZCogZXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcDsKIH07CiAK
IHN0YXRpY19hc3NlcnQoc2l6ZW9mKEVsZW1lbnRSYXJlRGF0YSkgPT0gc2l6ZW9mKFNhbWVTaXpl
QXNFbGVtZW50UmFyZURhdGEpLCAiRWxlbWVudFJhcmVEYXRhIHNob3VsZCBzdGF5IHNtYWxsIik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKaW5kZXggZDc2YmNjNDQ0Y2U3NTE0NGJi
ZWQzOTcxYmE5MTQwYThjNWRjNThhZi4uM2U2NzEwODk2ZjdiZDIyNzU0NTQ0MGI1MTA5OWUzNjc2
ZWI1MTE4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaApAQCAtMTA3LDYgKzEw
Nyw5IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldENvbXB1dGVkU3R5bGVNYXAoUmVmPFN0eWxlUHJv
cGVydHlNYXBSZWFkT25seT4mJiBtYXApIHsgbV9jb21wdXRlZFN0eWxlTWFwID0gV1RGTW92ZSht
YXApOyB9CiAjZW5kaWYKIAorICAgIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAqIGV4cGxp
Y2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoKSB7IHJldHVybiBtX2V4cGxpY2l0bHlTZXRBdHRyRWxl
bWVudHNNYXAuZ2V0KCk7IH0KKyAgICB2b2lkIHNldEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNN
YXAoc3RkOjp1bmlxdWVfcHRyPEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXA+JiYgZGF0YSkg
eyBtX2V4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAgPSBXVEZNb3ZlKGRhdGEpOyB9CisKICNp
ZiBEVU1QX05PREVfU1RBVElTVElDUwogICAgIE9wdGlvblNldDxVc2VUeXBlPiB1c2VUeXBlcygp
IGNvbnN0CiAgICAgewpAQCAtMTQ3LDYgKzE1MCw4IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJl
c3VsdC5hZGQoVXNlVHlwZTo6UGFydE5hbWVzKTsKICAgICAgICAgaWYgKG1fbm9uY2UpCiAgICAg
ICAgICAgICByZXN1bHQuYWRkKFVzZVR5cGU6Ok5vbmNlKTsKKyAgICAgICAgaWYgKG1fZXhwbGlj
aXRseVNldEF0dHJFbGVtZW50c01hcCkKKyAgICAgICAgICAgIHJlc3VsdC5hZGQoVXNlVHlwZTo6
RXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAg
ICAgfQogI2VuZGlmCkBAIC0xODAsNiArMTg1LDggQEAgcHJpdmF0ZToKIAogICAgIEF0b21TdHJp
bmcgbV9ub25jZTsKIAorICAgIHN0ZDo6dW5pcXVlX3B0cjxFeHBsaWNpdGx5U2V0QXR0ckVsZW1l
bnRzTWFwPiBtX2V4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXA7CisKICAgICB2b2lkIHJlbGVh
c2VQc2V1ZG9FbGVtZW50KFBzZXVkb0VsZW1lbnQqKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAppbmRl
eCAzOTVlZmZiZmNkZjg4ZDMwZTZkODk3Yzk3ZGJiODczMmJiMjc0NjMwLi5jNzAxMzM2NjE4YWYz
NWQ4NTMyMmRjMDM0ZjUzMGMxYmRiYzA5ZTRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9k
b20vTm9kZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCkBAIC0xNDMsNiAr
MTQzLDggQEAgc3RhdGljIGNvbnN0IGNoYXIqIHN0cmluZ0ZvclJhcmVEYXRhVXNlVHlwZShOb2Rl
UmFyZURhdGE6OlVzZVR5cGUgdXNlVHlwZSkKICAgICAgICAgcmV0dXJuICJQYXJ0TGlzdCI7CiAg
ICAgY2FzZSBOb2RlUmFyZURhdGE6OlVzZVR5cGU6OlBhcnROYW1lczoKICAgICAgICAgcmV0dXJu
ICJQYXJ0TmFtZXMiOworICAgIGNhc2UgTm9kZVJhcmVEYXRhOjpVc2VUeXBlOjpFeHBsaWNpdGx5
U2V0QXR0ckVsZW1lbnRzTWFwOgorICAgICAgICByZXR1cm4gIkV4cGxpY2l0bHlTZXRBdHRyRWxl
bWVudHNNYXAiOwogICAgIH0KICAgICByZXR1cm4gbnVsbHB0cjsKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2Rl
UmFyZURhdGEuaAppbmRleCAzZjM5YWVmNDIwOGI3NGJhYjJkMmFiZjZhNzg0NTUzMzY1ZjQzYTYy
Li5jOTVhZjYwODMwMDM1OWFlZTcxYTU3NmZhZWY4NDRmM2MyMmE1ZWU1IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L05vZGVSYXJlRGF0YS5oCkBAIC0yNjQsNiArMjY0LDcgQEAgcHVibGljOgogICAgICAgICBQYXJ0
TmFtZXMgPSAxIDw8IDE2LAogICAgICAgICBOb25jZSA9IDEgPDwgMTcsCiAgICAgICAgIENvbXB1
dGVkU3R5bGVNYXAgPSAxIDw8IDE4LAorICAgICAgICBFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRz
TWFwID0gMSA8PCAxOSwKICAgICB9OwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAzMmNjZTQ1YzEwM2IzOGQy
NmQwYmFmZjQwZDU1YTE2ZjUzZTY2YWIwLi4yY2E4NTcwN2ZlZjJiYjg3NzNlYmJmYTcxN2Y1ODM1
OTM1ZDIzNjY5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjItMDUtMDIgIE1hbnVlbCBSZWdv
IENhc2Fzbm92YXMgIDxyZWdvQGlnYWxpYS5jb20+CisKKyAgICAgICAgQVJJQSByZWZsZWN0aW9u
IGZvciBFbGVtZW50IGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzOTg1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFVwZGF0ZSB0ZXN0IHRvIGluY2x1ZGUgdGhlIG5ldyByZWZsZWN0ZWQg
YXR0cmlidXRlcy4KKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVJJQS1yZWZsZWN0aW9uLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FSSUEtcmVmbGVjdGlvbi5odG1s
OgorCiAyMDIyLTA0LTI2ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAg
ICAgICA6OmZpcnN0LWxldHRlciBkb2VzIG5vdCB3b3JrIGlmIHVzZWQgb25seSBpbiBzaGFkb3cg
Y29udGVudApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMmU1MzhjNjBjOWNmZDQ1
NTUxNjQ5NTM3NDdkMWY4MzRkZTA4YzIyZC4uMDE3NGYzNTlhNzYxYjgzOGIwNWEyZGY3MjFlMjQz
MDdkNDNjZmQ4YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMjItMDUtMDIgIE1hbnVlbCBSZWdvIENhc2Fzbm92YXMgIDxyZWdvQGlnYWxpYS5jb20+
CisKKyAgICAgICAgQVJJQSByZWZsZWN0aW9uIGZvciBFbGVtZW50IGF0dHJpYnV0ZXMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTg1MgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNtYWxsIGZpeCBvbiB0
aGUgdGVzdCBhbmQgdXBkYXRlIHRlc3QgcmVzdWx0cyB3aXRoIHRoZSBuZXcgUEFTUy4KKyAgICAg
ICAgQWRkIG5ldyB0ZXN0IGNhc2UgdG8gY292ZXIgZWxlbWVudHMgbW92ZWQgdG8gYSBkaWZmZXJl
bnQgZG9jdW1lbnQuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL2Fy
aWEtZWxlbWVudC1yZWZsZWN0aW9uLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQ6CisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50
YXRpdmUuaHRtbDoKKwogMjAyMi0wNC0yNiAgT3Jpb2wgQnJ1ZmF1ICA8b2JydWZhdUBpZ2FsaWEu
Y29tPgogCiAgICAgICAgIFtjc3MtY2FzY2FkZV0gRml4IGNhc2NhZGUgcm9sbGJhY2sgZm9yIGRl
ZmVycmVkIHByb3BlcnRpZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
QVJJQS1yZWZsZWN0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
QVJJQS1yZWZsZWN0aW9uLWV4cGVjdGVkLnR4dAppbmRleCA5NTA0YjY5YmNiYWNkMjQxYjk1ODU0
MzAyZWY1NDc0ZTM1MmE0OThlLi5lM2ZlZWMzMGM0YzdhOWVhZmFkMWE5NGRlZGVlYzYzZjg4YmI4
MGU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L0FSSUEtcmVmbGVjdGlv
bi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9BUklBLXJlZmxl
Y3Rpb24tZXhwZWN0ZWQudHh0CkBAIC03LDMxNyArNywyOTIgQEAgT24gc3VjY2VzcywgeW91IHdp
bGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09N
UExFVEUKIFRlc3Qgcm9sZSA8IC0gPiByb2xlCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IG51bGwKLWVsZW1lbnRbInJvbGUiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRl
KGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoInJv
bGUiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJE
YXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQor
CitUZXN0IGFyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCA8IC0gPiBhcmlhLWFjdGl2ZWRlc2Nl
bmRhbnQKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKK1BBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAorUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCitlbGVtZW50LnNl
dEF0dHJpYnV0ZSgiYXJpYS1hY3RpdmVkZXNjZW5kYW50Iiwgb3RoZXJEYXRhKTsKK1BBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUF0
b21pYyA8IC0gPiBhcmlhLWF0b21pYwogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMg
bnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxs
Ci1lbGVtZW50WyJhcmlhQXRvbWljIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0
ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1
cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJh
cmlhLWF0b21pYyIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVBy
b3BlcnR5CiAKIFRlc3QgYXJpYUF1dG9Db21wbGV0ZSA8IC0gPiBhcmlhLWF1dG9jb21wbGV0ZQog
UEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhQXV0b0NvbXBs
ZXRlIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRl
KSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWF1dG9jb21wbGV0ZSIs
IG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEK
K1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRl
c3QgYXJpYUJ1c3kgPCAtID4gYXJpYS1idXN5CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IG51bGwKLWVsZW1lbnRbImFyaWFCdXN5Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRl
KGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRl
KCJhcmlhLWJ1c3kiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0g
aXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQ
cm9wZXJ0eQogCiBUZXN0IGFyaWFDaGVja2VkIDwgLSA+IGFyaWEtY2hlY2tlZAogUEFTUyBlbGVt
ZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShj
dXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhQ2hlY2tlZCJdID0gZGF0YTsK
LVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFT
UyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRl
CiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1jaGVja2VkIiwgb3RoZXJEYXRhKTsKLVBBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJl
bnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhQ29sQ291bnQgPCAt
ID4gYXJpYS1jb2xjb3VudAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAog
UEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVt
ZW50WyJhcmlhQ29sQ291bnQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1
cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVu
dEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEt
Y29sY291bnQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMg
b3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9w
ZXJ0eQogCiBUZXN0IGFyaWFDb2xJbmRleCA8IC0gPiBhcmlhLWNvbGluZGV4CiBQQVNTIGVsZW1l
bnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1
cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFDb2xJbmRleCJdID0gZGF0YTsK
LVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFT
UyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRl
CiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1jb2xpbmRleCIsIG90aGVyRGF0YSk7Ci1QQVNT
IGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUNvbFNwYW4gPCAt
ID4gYXJpYS1jb2xzcGFuCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQ
QVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1l
bnRbImFyaWFDb2xTcGFuIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWNv
bHNwYW4iLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3Ro
ZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0
eQogCiBUZXN0IGFyaWFDdXJyZW50IDwgLSA+IGFyaWEtY3VycmVudAogUEFTUyBlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhQ3VycmVudCJdID0gZGF0YTsKLVBBU1Mg
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVt
ZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVt
ZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1jdXJyZW50Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9w
ZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhRGlzYWJsZWQgPCAtID4gYXJp
YS1kaXNhYmxlZAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJh
cmlhRGlzYWJsZWQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJp
YnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtZGlzYWJs
ZWQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJE
YXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQor
CitUZXN0IGFyaWFFcnJvck1lc3NhZ2VFbGVtZW50IDwgLSA+IGFyaWEtZXJyb3JtZXNzYWdlCitQ
QVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCitQQVNTIGVsZW1lbnQuZ2V0QXR0
cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1
dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQorZWxlbWVudC5zZXRBdHRyaWJ1
dGUoImFyaWEtZXJyb3JtZXNzYWdlIiwgb3RoZXJEYXRhKTsKK1BBU1MgZWxlbWVudFtjdXJyZW50
UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUV4cGFuZGVkIDwgLSA+
IGFyaWEtZXhwYW5kZWQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBB
U1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVu
dFsiYXJpYUV4cGFuZGVkIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWV4
cGFuZGVkIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90
aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVy
dHkKIAogVGVzdCBhcmlhSGFzUG9wdXAgPCAtID4gYXJpYS1oYXNwb3B1cAogUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhSGFzUG9wdXAiXSA9IGRhdGE7Ci1Q
QVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1Mg
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQog
ZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtaGFzcG9wdXAiLCBvdGhlckRhdGEpOwotUEFTUyBl
bGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVu
dFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFIaWRkZW4gPCAtID4g
YXJpYS1oaWRkZW4KIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1Mg
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsi
YXJpYUhpZGRlbiJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmli
dXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1oaWRkZW4i
LCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRh
CitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBU
ZXN0IGFyaWFJbnZhbGlkIDwgLSA+IGFyaWEtaW52YWxpZAogUEFTUyBlbGVtZW50W2N1cnJlbnRQ
cm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmli
dXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhSW52YWxpZCJdID0gZGF0YTsKLVBBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNl
dEF0dHJpYnV0ZSgiYXJpYS1pbnZhbGlkIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0g
aXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhS2V5U2hvcnRjdXRzIDwgLSA+IGFyaWEt
a2V5c2hvcnRjdXRzCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRb
ImFyaWFLZXlTaG9ydGN1dHMiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1
cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVu
dEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEt
a2V5c2hvcnRjdXRzIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHld
IGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRh
UHJvcGVydHkKIAogVGVzdCBhcmlhTGFiZWwgPCAtID4gYXJpYS1sYWJlbAogUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhTGFiZWwiXSA9IGRhdGE7Ci1QQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxl
bWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxl
bWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbGFiZWwiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFMZXZlbCA8IC0gPiBhcmlhLWxl
dmVsCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFMZXZl
bCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkg
aXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBk
YXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1sZXZlbCIsIG90aGVyRGF0
YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUxp
dmUgPCAtID4gYXJpYS1saXZlCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxs
CiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVs
ZW1lbnRbImFyaWFMaXZlIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWxp
dmUiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJE
YXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQog
CiBUZXN0IGFyaWFNb2RhbCA8IC0gPiBhcmlhLW1vZGFsCiBQQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1
dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFNb2RhbCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5n
ZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0
dHJpYnV0ZSgiYXJpYS1tb2RhbCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90
aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYU11bHRpTGluZSA8IC0gPiBhcmlhLW11bHRpbGlu
ZQogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhTXVsdGlM
aW5lIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRl
KSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLW11bHRpbGluZSIsIG90
aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BB
U1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3Qg
YXJpYU11bHRpU2VsZWN0YWJsZSA8IC0gPiBhcmlhLW11bHRpc2VsZWN0YWJsZQogUEFTUyBlbGVt
ZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShj
dXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhTXVsdGlTZWxlY3RhYmxlIl0g
PSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBk
YXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFB
dHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLW11bHRpc2VsZWN0YWJsZSIsIG90
aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BB
U1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3Qg
YXJpYU9yaWVudGF0aW9uIDwgLSA+IGFyaWEtb3JpZW50YXRpb24KIFBBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYU9yaWVudGF0aW9uIl0gPSBkYXRhOwotUEFT
UyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVs
ZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVs
ZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLW9yaWVudGF0aW9uIiwgb3RoZXJEYXRhKTsKLVBBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJl
bnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhUGxhY2Vob2xkZXIg
PCAtID4gYXJpYS1wbGFjZWhvbGRlcgogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMg
bnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxs
Ci1lbGVtZW50WyJhcmlhUGxhY2Vob2xkZXIiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0
cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1
dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1
dGUoImFyaWEtcGxhY2Vob2xkZXIiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQ
cm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBv
dGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFQb3NJblNldCA8IC0gPiBhcmlhLXBvc2luc2V0
CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFQb3NJblNl
dCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkg
aXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBk
YXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1wb3NpbnNldCIsIG90aGVy
RGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJp
YVByZXNzZWQgPCAtID4gYXJpYS1wcmVzc2VkCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IG51bGwKLWVsZW1lbnRbImFyaWFQcmVzc2VkIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmli
dXRlKCJhcmlhLXByZXNzZWQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9w
ZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhl
ckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFSZWFkT25seSA8IC0gPiBhcmlhLXJlYWRvbmx5CiBQ
QVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0
cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFSZWFkT25seSJd
ID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMg
ZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRh
QXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1yZWFkb25seSIsIG90aGVyRGF0
YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVJl
bGV2YW50IDwgLSA+IGFyaWEtcmVsZXZhbnQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHld
IGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMg
bnVsbAotZWxlbWVudFsiYXJpYVJlbGV2YW50Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmli
dXRlKCJhcmlhLXJlbGV2YW50Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJv
cGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3Ro
ZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhUmVxdWlyZWQgPCAtID4gYXJpYS1yZXF1aXJlZAog
UEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhUmVxdWlyZWQi
XSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0
YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtcmVxdWlyZWQiLCBvdGhlckRh
dGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVs
ZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFS
b2xlRGVzY3JpcHRpb24gPCAtID4gYXJpYS1yb2xlZGVzY3JpcHRpb24KIFBBU1MgZWxlbWVudFtj
dXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVu
dEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVJvbGVEZXNjcmlwdGlvbiJdID0gZGF0
YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQor
UEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmli
dXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1yb2xlZGVzY3JpcHRpb24iLCBvdGhlckRh
dGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVs
ZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFS
b3dDb3VudCA8IC0gPiBhcmlhLXJvd2NvdW50CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IG51bGwKLWVsZW1lbnRbImFyaWFSb3dDb3VudCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJp
YnV0ZSgiYXJpYS1yb3djb3VudCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90
aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVJvd0luZGV4IDwgLSA+IGFyaWEtcm93aW5kZXgK
IFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVJvd0luZGV4
Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRh
dGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXJvd2luZGV4Iiwgb3RoZXJE
YXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBl
bGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlh
Um93U3BhbiA8IC0gPiBhcmlhLXJvd3NwYW4KIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHld
IGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMg
bnVsbAotZWxlbWVudFsiYXJpYVJvd1NwYW4iXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0
cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1
dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1
dGUoImFyaWEtcm93c3BhbiIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVy
RGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVNlbGVjdGVkIDwgLSA+IGFyaWEtc2VsZWN0ZWQKIFBB
U1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRy
aWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVNlbGVjdGVkIl0g
PSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBk
YXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFB
dHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXNlbGVjdGVkIiwgb3RoZXJEYXRh
KTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVt
ZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhU2V0
U2l6ZSA8IC0gPiBhcmlhLXNldHNpemUKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlz
IG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVs
bAotZWxlbWVudFsiYXJpYVNldFNpemUiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUo
Y3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUo
ImFyaWEtc2V0c2l6ZSIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0
YVByb3BlcnR5CiAKIFRlc3QgYXJpYVNvcnQgPCAtID4gYXJpYS1zb3J0CiBQQVNTIGVsZW1lbnRb
Y3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFTb3J0Il0gPSBkYXRhOwotUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1l
bnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1l
bnQuc2V0QXR0cmlidXRlKCJhcmlhLXNvcnQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFWYWx1ZU1heCA8IC0gPiBhcmlhLXZh
bHVlbWF4CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1l
bnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFW
YWx1ZU1heCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJp
YnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRl
KSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS12YWx1ZW1heCIs
IG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEK
K1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRl
c3QgYXJpYVZhbHVlTWluIDwgLSA+IGFyaWEtdmFsdWVtaW4KIFBBU1MgZWxlbWVudFtjdXJyZW50
UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJp
YnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVZhbHVlTWluIl0gPSBkYXRhOwotUEFTUyBlbGVt
ZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQu
c2V0QXR0cmlidXRlKCJhcmlhLXZhbHVlbWluIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtj
dXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0
eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhVmFsdWVOb3cgPCAtID4gYXJpYS12
YWx1ZW5vdwogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVt
ZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlh
VmFsdWVOb3ciXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRy
aWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtdmFsdWVub3ci
LCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRh
CitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBU
ZXN0IGFyaWFWYWx1ZVRleHQgPCAtID4gYXJpYS12YWx1ZXRleHQKIFBBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVZhbHVlVGV4dCJdID0gZGF0YTsKLVBBU1Mg
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVt
ZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVt
ZW50LnNldEF0dHJpYnV0ZSgiYXJpYS12YWx1ZXRleHQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVt
ZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiAKLVBBU1MgY291bnQgaXMgMzgKK1BBU1Mg
Y291bnQgaXMgNDAKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVTVCBDT01Q
TEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rp
b24uaHRtbCBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvQVJJQS1yZWZsZWN0aW9uLmh0bWwK
aW5kZXggMzIzYjE4OWM0ZTNlNDAxYTRmZmQ1NmQ0Y2ZlZTQ2NDcyOWFmZjkxOC4uOTNhOWI3YTE3
ZjlhNDRlNGNkMTFiZWNhOTY5ZjBjZTU3NzY5Y2VlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
YWNjZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9hY2Nl
c3NpYmlsaXR5L0FSSUEtcmVmbGVjdGlvbi5odG1sCkBAIC01LDcgKzUsOCBAQAogPGRpdiBpZD0i
Y29udGVudCI+CiAKIDxkaXYgaWQ9InRlc3QiIGRhdGE9InNvbWUgZGF0YSI+Ci0KKyAgPGRpdiBp
ZD0iZmlyc3RDaGlsZCI+PC9kaXY+CisgIDxkaXYgaWQ9InNlY29uZENoaWxkIj48L2Rpdj4KIDwv
ZGl2PgogCiA8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KQEAgLTIxLDIyICsyMiw0MCBAQAogICAg
IHZhciBjdXJyZW50UHJvcGVydHk7CiAgICAgdmFyIGN1cnJlbnRBdHRyaWJ1dGU7CiAKKyAgICBm
dW5jdGlvbiBpc0VsZW1lbnRSZWZsZWN0aW9uUHJvcGVydHkocHJvcGVydHkpIHsKKyAgICAgICAg
c3dpdGNoIChwcm9wZXJ0eSkgeworICAgICAgICAgICAgY2FzZSAiYXJpYUFjdGl2ZURlc2NlbmRh
bnRFbGVtZW50IjoKKyAgICAgICAgICAgIGNhc2UgImFyaWFFcnJvck1lc3NhZ2VFbGVtZW50IjoK
KyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgfQorCisgICAgZnVuY3Rpb24gY29udmVydFByb3BlcnR5VG9BdHRyaWJ1dGUo
cHJvcGVydHkpIHsKKyAgICAgICAgaWYgKGlzRWxlbWVudFJlZmxlY3Rpb25Qcm9wZXJ0eShwcm9w
ZXJ0eSkpCisgICAgICAgICAgcHJvcGVydHkgPSBwcm9wZXJ0eS5yZXBsYWNlKCJFbGVtZW50Iiwg
IiIpOworICAgICAgICByZXR1cm4gcHJvcGVydHkucmVwbGFjZSgiYXJpYSIsICJhcmlhLSIpLnRv
TG93ZXJDYXNlKCk7CisgICAgfQorCiAgICAgZnVuY3Rpb24gdGVzdEVsZW1lbnQoKSB7Ci0gICAg
ICAgIGN1cnJlbnRBdHRyaWJ1dGUgPSBjdXJyZW50UHJvcGVydHkucmVwbGFjZSgiYXJpYSIsICJh
cmlhLSIpLnRvTG93ZXJDYXNlKCk7Ci0gICAgICAgIAorICAgICAgICBjdXJyZW50QXR0cmlidXRl
ID0gY29udmVydFByb3BlcnR5VG9BdHRyaWJ1dGUoY3VycmVudFByb3BlcnR5KTsKKwogICAgICAg
ICBkZWJ1ZygiXG5UZXN0ICIgKyBjdXJyZW50UHJvcGVydHkgKyAiIDwgLSA+ICIgKyBjdXJyZW50
QXR0cmlidXRlKTsKICAgICAgICAgc2hvdWxkQmVOdWxsKCJlbGVtZW50W2N1cnJlbnRQcm9wZXJ0
eV0iKTsKICAgICAgICAgc2hvdWxkQmVOdWxsKCJlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSIpOwotICAgICAgICAKKwogICAgICAgICAvLyBTZXQgdGhlIHByb3BlcnR5IHZh
bHVlCi0gICAgICAgIGRlYnVnKCJlbGVtZW50W1wiIiArIGN1cnJlbnRQcm9wZXJ0eSArICJcIl0g
PSBkYXRhOyIpOwotICAgICAgICBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gPSBkYXRhOwotICAg
ICAgICBzaG91bGRCZSgiZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkiLCAi
ZGF0YSIpOworICAgICAgICBkYXRhUHJvcGVydHkgPSBpc0VsZW1lbnRSZWZsZWN0aW9uUHJvcGVy
dHkoY3VycmVudFByb3BlcnR5KSA/IGZpcnN0Q2hpbGQgOiBkYXRhOworICAgICAgICBkYXRhQXR0
cmlidXRlID0gaXNFbGVtZW50UmVmbGVjdGlvblByb3BlcnR5KGN1cnJlbnRQcm9wZXJ0eSkgPyBm
aXJzdENoaWxkLmlkIDogZGF0YTsKKyAgICAgICAgZWxlbWVudFtjdXJyZW50UHJvcGVydHldID0g
ZGF0YVByb3BlcnR5OworICAgICAgICBzaG91bGRCZSgiZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkiLCAiZGF0YUF0dHJpYnV0ZSIpOwogCiAgICAgICAgIC8vIFNldCB0aGUg
YXR0cmlidXRlIHZhbHVlCisgICAgICAgIG90aGVyRGF0YVByb3BlcnR5ID0gaXNFbGVtZW50UmVm
bGVjdGlvblByb3BlcnR5KGN1cnJlbnRQcm9wZXJ0eSkgPyBzZWNvbmRDaGlsZCA6IG90aGVyRGF0
YTsKKyAgICAgICAgb3RoZXJEYXRhQXR0cmlidXRlID0gaXNFbGVtZW50UmVmbGVjdGlvblByb3Bl
cnR5KGN1cnJlbnRQcm9wZXJ0eSkgPyBzZWNvbmRDaGlsZC5pZCA6IG90aGVyRGF0YTsKICAgICAg
ICAgZGVidWcoImVsZW1lbnQuc2V0QXR0cmlidXRlKFwiIiArIGN1cnJlbnRBdHRyaWJ1dGUgKyAi
XCIsIG90aGVyRGF0YSk7Iik7Ci0gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUsIG90aGVyRGF0YSk7Ci0gICAgICAgIHNob3VsZEJlKCJlbGVtZW50W2N1cnJlbnRQ
cm9wZXJ0eV0iLCAib3RoZXJEYXRhIik7CisgICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKGN1
cnJlbnRBdHRyaWJ1dGUsIG90aGVyRGF0YUF0dHJpYnV0ZSk7CisgICAgICAgIHNob3VsZEJlKCJl
bGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0iLCAib3RoZXJEYXRhUHJvcGVydHkiKTsKICAgICB9CiAK
ICAgICBmdW5jdGlvbiB0ZXN0Um9sZSgpIHsKQEAgLTU5LDcgKzc4LDcgQEAKICAgICAgICAgfQog
CiAgICAgICAgIGRlYnVnKCJcbiIpOwotICAgICAgICBzaG91bGRCZSgiY291bnQiLCAiMzgiKTsK
KyAgICAgICAgc2hvdWxkQmUoImNvdW50IiwgIjQwIik7CiAKICAgICB9IGVsc2UgewogICAgICAg
ICB0ZXN0RmFpbGVkKCJDb3VsZCBub3QgbG9hZCBhY2Nlc3NpYmlsaXR5IGNvbnRyb2xsZXIiKTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL25vZGVzL2FyaWEtZWxlbWVudC1yZWZsZWN0aW9uLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9h
cmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CmluZGV4IGRjYTMx
OGIwOTg1M2FiYmE5N2Q1ZGY3NWJmMzQzYmMxNTM1ODdhYzAuLjE2NzgwNjQ3MTY3ZjQ2YWE1ZDBj
YzE0NjNhOTNlMjAwYTJjZGRjYzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL2FyaWEtZWxlbWVudC1yZWZsZWN0aW9uLnRl
bnRhdGl2ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZl
LWV4cGVjdGVkLnR4dApAQCAtOSwxMCArOSw3IEBAIEZpcnN0IGRlc2NyaXB0aW9uLgogU2Vjb25k
IGRlc2NyaXB0aW9uLgogSXRlbSAxCiBJdGVtIDIKLUl0ZW0gMQotSXRlbSAyCiBIZWxsbyB3b3Js
ZCEKLUkgYW0gYW4gYXBwbGUKIEkgYW0gYSBwZWFyCiBJIGFtIGEgYmFuYW5hCiBCaWxsaW5nCkBA
IC00NywxNyArNDQsMTcgQEAgV29uZGVyZnVsCiBGYW50YXN0aWMKIAogCi1GQUlMIGFyaWEtYWN0
aXZlZGVzY2VuZGFudCBlbGVtZW50IHJlZmxlY3Rpb24gYXNzZXJ0X2VxdWFsczogaW52YWxpZCBJ
RCBmb3IgcmVsYXRpb25zaGlwIHJldHVybnMgbnVsbCBleHBlY3RlZCAob2JqZWN0KSBudWxsIGJ1
dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlMIElmIHRoZSBjb250ZW50IGF0dHJpYnV0
ZSBpcyBzZXQgZGlyZWN0bHksIHRoZSBJREwgYXR0cmlidXRlIGdldHRlciBhbHdheXMgcmV0dXJu
cyB0aGUgZmlyc3QgZWxlbWVudCB3aG9zZSBJRCBtYXRjaGVzIHRoZSBjb250ZW50IGF0dHJpYnV0
ZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKG9iamVjdCkgRWxlbWVudCBub2RlIDxkaXYgcm9s
ZT0ib3B0aW9uIiBpZD0ib3B0aW9uMSI+SXRlbSAxPC9kaXY+IGJ1dCBnb3QgKHVuZGVmaW5lZCkg
dW5kZWZpbmVkCi1GQUlMIFNldHRpbmcgdGhlIElETCBhdHRyaWJ1dGUgdG8gYW4gZWxlbWVudCB3
aGljaCBpcyBub3QgdGhlIGZpcnN0IGVsZW1lbnQgaW4gRE9NIG9yZGVyIHdpdGggaXRzIElEIGNh
dXNlcyB0aGUgY29udGVudCBhdHRyaWJ1dGUgdG8gYmUgYW4gZW1wdHkgc3RyaW5nIGFzc2VydF90
cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQotRkFJTCBTZXR0aW5nIGFuIGVsZW1lbnQgcmVm
ZXJlbmNlIHRoYXQgY3Jvc3NlcyBpbnRvIGEgc2hhZG93IHRyZWUgaXMgZGlzYWxsb3dlZCwgYnV0
IHNldHRpbmcgb25lIHRoYXQgaXMgaW4gYSBzaGFkb3cgaW5jbHVzaXZlIGFuY2VzdG9yIGlzIGFs
bG93ZWQuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChvYmplY3QpIG51bGwgYnV0IGdvdCAodW5k
ZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgYXJpYS1lcnJvcm1lc3NhZ2UgYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgKHN0cmluZykgImVycm9yTWVzc2FnZSIgYnV0IGdvdCAob2JqZWN0KSBudWxsCitQ
QVNTIGFyaWEtYWN0aXZlZGVzY2VuZGFudCBlbGVtZW50IHJlZmxlY3Rpb24KK1BBU1MgSWYgdGhl
IGNvbnRlbnQgYXR0cmlidXRlIGlzIHNldCBkaXJlY3RseSwgdGhlIElETCBhdHRyaWJ1dGUgZ2V0
dGVyIGFsd2F5cyByZXR1cm5zIHRoZSBmaXJzdCBlbGVtZW50IHdob3NlIElEIG1hdGNoZXMgdGhl
IGNvbnRlbnQgYXR0cmlidXRlLgorUEFTUyBTZXR0aW5nIHRoZSBJREwgYXR0cmlidXRlIHRvIGFu
IGVsZW1lbnQgd2hpY2ggaXMgbm90IHRoZSBmaXJzdCBlbGVtZW50IGluIERPTSBvcmRlciB3aXRo
IGl0cyBJRCBjYXVzZXMgdGhlIGNvbnRlbnQgYXR0cmlidXRlIHRvIGJlIGFuIGVtcHR5IHN0cmlu
ZworUEFTUyBTZXR0aW5nIGFuIGVsZW1lbnQgcmVmZXJlbmNlIHRoYXQgY3Jvc3NlcyBpbnRvIGEg
c2hhZG93IHRyZWUgaXMgZGlzYWxsb3dlZCwgYnV0IHNldHRpbmcgb25lIHRoYXQgaXMgaW4gYSBz
aGFkb3cgaW5jbHVzaXZlIGFuY2VzdG9yIGlzIGFsbG93ZWQuCitQQVNTIGFyaWEtZXJyb3JtZXNz
YWdlCiBGQUlMIGFyaWEtZGV0YWlscyBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyB1bmRl
ZmluZWQsIGV4cGVjdGVkIGFycmF5Ci1GQUlMIERlbGV0aW5nIGEgcmVmbGVjdGVkIGVsZW1lbnQg
c2hvdWxkIHJldHVybiBudWxsIGZvciB0aGUgSURMIGF0dHJpYnV0ZSBhbmQgY2F1c2UgdGhlIGNv
bnRlbnQgYXR0cmlidXRlIHRvIGJlY29tZSBzdGFsZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQg
KG9iamVjdCkgRWxlbWVudCBub2RlIDxkaXYgcm9sZT0ib3B0aW9uIiBpZD0iY29udGVudEF0dHJF
bGVtZW50Ij5JdGVtIDE8L2Rpdj4gYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwg
Q2hhbmdpbmcgdGhlIElEIG9mIGFuIGVsZW1lbnQgY2F1c2VzIHRoZSBjb250ZW50IGF0dHJpYnV0
ZSB0byBiZWNvbWUgb3V0IG9mIHN5bmMuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChvYmplY3Qp
IEVsZW1lbnQgbm9kZSA8ZGl2IHJvbGU9Im9wdGlvbiIgaWQ9ImNoYW5naW5nSWRFbGVtZW50Ij5J
dGVtIDE8L2Rpdj4gYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgUmVwYXJlbnRp
bmcgYW4gZWxlbWVudCBpbnRvIGEgZGVzY2VuZGFudCBzaGFkb3cgc2NvcGUgaGlkZXMgdGhlIGVs
ZW1lbnQgcmVmZXJlbmNlLiBhc3NlcnRfZXF1YWxzOiBudWxsIGJlZm9yZSBleHBlY3RlZCAob2Jq
ZWN0KSBudWxsIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlMIFJlcGFyZW50aW5n
IHJlZmVyZW5jZWQgZWxlbWVudCBjYW5ub3QgY2F1c2UgcmV0YXJnZXRpbmcgb2YgcmVmZXJlbmNl
LiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAiYXBwbGUiIGJ1dCBnb3QgKG9iamVj
dCkgbnVsbAotRkFJTCBFbGVtZW50IHJlZmVyZW5jZSBzZXQgaW4gaW52YWxpZCBzY29wZSByZW1h
aW5zIGludGFjdCB0aHJvdWdob3V0IG1vdmUgdG8gdmFsaWQgc2NvcGUuIGFzc2VydF9lcXVhbHM6
IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBFbGVtZW50IG5vZGUgPGRpdiBpZD0idG9hc3QiPjwvZGl2
PgorUEFTUyBEZWxldGluZyBhIHJlZmxlY3RlZCBlbGVtZW50IHNob3VsZCByZXR1cm4gbnVsbCBm
b3IgdGhlIElETCBhdHRyaWJ1dGUgYW5kIGNhdXNlIHRoZSBjb250ZW50IGF0dHJpYnV0ZSB0byBi
ZWNvbWUgc3RhbGUuCitQQVNTIENoYW5naW5nIHRoZSBJRCBvZiBhbiBlbGVtZW50IGNhdXNlcyB0
aGUgY29udGVudCBhdHRyaWJ1dGUgdG8gYmVjb21lIG91dCBvZiBzeW5jLgorUEFTUyBSZXBhcmVu
dGluZyBhbiBlbGVtZW50IGludG8gYSBkZXNjZW5kYW50IHNoYWRvdyBzY29wZSBoaWRlcyB0aGUg
ZWxlbWVudCByZWZlcmVuY2UuCitQQVNTIFJlcGFyZW50aW5nIHJlZmVyZW5jZWQgZWxlbWVudCBj
YW5ub3QgY2F1c2UgcmV0YXJnZXRpbmcgb2YgcmVmZXJlbmNlLgorUEFTUyBFbGVtZW50IHJlZmVy
ZW5jZSBzZXQgaW4gaW52YWxpZCBzY29wZSByZW1haW5zIGludGFjdCB0aHJvdWdob3V0IG1vdmUg
dG8gdmFsaWQgc2NvcGUuCiBGQUlMIGFyaWEtbGFiZWxsZWRieS4gYXNzZXJ0X2FycmF5X2VxdWFs
czogcGFyc2VkIGNvbnRlbnQgYXR0cmlidXRlIHNldHMgZWxlbWVudCByZWZlcmVuY2VzLiB2YWx1
ZSBpcyB1bmRlZmluZWQsIGV4cGVjdGVkIGFycmF5CiBGQUlMIGFyaWEtY29udHJvbHMuIGFzc2Vy
dF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzIHVuZGVmaW5lZCwgZXhwZWN0ZWQgYXJyYXkKIEZBSUwg
YXJpYS1kZXNjcmliZWRieS4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgdW5kZWZpbmVk
LCBleHBlY3RlZCBhcnJheQpAQCAtNjcsNiArNjQsNyBAQCBGQUlMIHNoYWRvdyBET00gYmVoYXZp
b3VyIGZvciBGcm96ZW5BcnJheSBlbGVtZW50IHJlZmxlY3Rpb24uIGFzc2VydF9hcnJheV9lcXVh
bAogRkFJTCBNb3ZpbmcgZXhwbGljaXRseSBzZXQgZWxlbWVudHMgYWNyb3NzIHNoYWRvdyBET00g
Ym91bmRhcmllcy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHN0cmluZykgImJ1dHRvbkRlc2Ny
aXB0aW9uMSBidXR0b25EZXNjcmlwdGlvbjIiIGJ1dCBnb3QgKG9iamVjdCkgbnVsbAogRkFJTCBN
b3ZpbmcgZXhwbGljaXRseSBzZXQgZWxlbWVudHMgYXJvdW5kIHdpdGhpbiB0aGUgc2FtZSBzY29w
ZSwgYW5kIHJlbW92aW5nIGZyb20gdGhlIERPTS4gYXNzZXJ0X2FycmF5X2VxdWFsczogYXJpYS1s
YWJlbGVkIGJ5IGlzIHN1cHBvcnRlZCBieSBJREwgZ2V0dGVyLiB2YWx1ZSBpcyB1bmRlZmluZWQs
IGV4cGVjdGVkIGFycmF5CiBQQVNTIFJlcGFyZW50aW5nLgotRkFJTCBBdHRhY2hpbmcgZWxlbWVu
dCByZWZlcmVuY2UgYmVmb3JlIGl0J3MgaW5zZXJ0ZWQgaW50byB0aGUgRE9NLiBhc3NlcnRfZXF1
YWxzOiBSZWZlcmVuY2VkIGVsZW1lbnQgbm90IGluc2VydGVkIGludG8gZG9jdW1lbnQsIHNvIGlz
IGluIGFuIGludmFsaWQgc2NvcGUuIGV4cGVjdGVkIG51bGwgYnV0IGdvdCBFbGVtZW50IG5vZGUg
PHNwYW4gaWQ9InRvU3BhbiI+PC9zcGFuPgotRkFJTCBDcm9zcy1kb2N1bWVudCByZWZlcmVuY2Vz
IGFuZCBtb3Zlcy4gYXNzZXJ0X2VxdWFsczogQ3Jvc3MtZG9jdW1lbnQgaXMgYW4gaW52YWxpZCBz
Y29wZSwgc28gcmVmZXJlbmNlIHdpbGwgbm90IGJlIHZpc2libGUuIGV4cGVjdGVkIG51bGwgYnV0
IGdvdCBFbGVtZW50IG5vZGUgPHNwYW4+PC9zcGFuPgorUEFTUyBBdHRhY2hpbmcgZWxlbWVudCBy
ZWZlcmVuY2UgYmVmb3JlIGl0J3MgaW5zZXJ0ZWQgaW50byB0aGUgRE9NLgorUEFTUyBDcm9zcy1k
b2N1bWVudCByZWZlcmVuY2VzIGFuZCBtb3Zlcy4KK1BBU1MgQWRvcHRpbmcgZWxlbWVudCBrZWVw
cyByZWZlcmVuY2VzLgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50YXRp
dmUuaHRtbCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9t
L25vZGVzL2FyaWEtZWxlbWVudC1yZWZsZWN0aW9uLnRlbnRhdGl2ZS5odG1sCmluZGV4IDc3NmZm
ZjMxNDMyMmI5MDA0ZTFlNjc4M2M2MjZjMDM1NmNhOGYwYTcuLmViZDI2OTViMjNiNjk4ZWZlZDNk
YWRjMGQzMDM3OGYzNDZkZWYxNjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL2FyaWEtZWxlbWVudC1yZWZsZWN0aW9uLnRl
bnRhdGl2ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL25vZGVzL2FyaWEtZWxlbWVudC1yZWZsZWN0aW9uLnRlbnRhdGl2ZS5odG1sCkBA
IC0xNjQsNiArMTY0LDcgQEAKICAgPHNjcmlwdD4KIAogICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAg
ICBjb25zdCBjb250ZW50QXR0ckVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29u
dGVudEF0dHJFbGVtZW50Iik7CiAgICAgY29uc3QgaWRsQXR0ckVsZW1lbnQgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgiaWRsQXR0ckVsZW1lbnQiKTsKIAogICAgIGFzc2VydF9lcXVhbHMoZGVs
ZXRpb25QYXJlbnQuZ2V0QXR0cmlidXRlKCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnQiKSwgImNvbnRl
bnRBdHRyRWxlbWVudCIpOwpAQCAtNzA3LDYgKzcwOCwyNCBAQAogICAgIH0sICJDcm9zcy1kb2N1
bWVudCByZWZlcmVuY2VzIGFuZCBtb3Zlcy4iKTsKICAgPC9zY3JpcHQ+CiAKKworICA8c2NyaXB0
PgorICAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgICAgY29uc3Qgb3RoZXJEb2MgPSBkb2N1bWVu
dC5pbXBsZW1lbnRhdGlvbi5jcmVhdGVIVE1MRG9jdW1lbnQoJ290aGVyRG9jJyk7CisgICAgICBj
b25zdCBvdGhlckRvY0RpdiA9IG90aGVyRG9jLmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAg
Y29uc3Qgb3RoZXJEb2NTcGFuID0gb3RoZXJEb2MuY3JlYXRlRWxlbWVudCgnc3BhbicpOworICAg
ICAgb3RoZXJEb2NEaXYuYXBwZW5kQ2hpbGQob3RoZXJEb2NTcGFuKTsKKyAgICAgIG90aGVyRG9j
LmJvZHkuYXBwZW5kQ2hpbGQob3RoZXJEb2NEaXYpOworCisgICAgICBvdGhlckRvY0Rpdi5hcmlh
QWN0aXZlRGVzY2VuZGFudEVsZW1lbnQgPSBvdGhlckRvY1NwYW47CisgICAgICBhc3NlcnRfZXF1
YWxzKG90aGVyRG9jRGl2LmFyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCwgb3RoZXJEb2NTcGFu
LCAiU2V0dGluZyByZWZlcmVuY2Ugb24gYSBkaWZmZXJlbnQgZG9jdW1lbnQuIik7CisKKyAgICAg
IC8vIEFkb3B0IGVsZW1lbnQgZnJvbSBvdGhlciBvZHVjbWVudC4KKyAgICAgIGRvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuYWRvcHROb2RlKG90aGVyRG9jRGl2KSk7CisgICAgICBh
c3NlcnRfZXF1YWxzKG90aGVyRG9jRGl2LmFyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCwgb3Ro
ZXJEb2NTcGFuLCAiUmVmZXJlbmNlIHNob3VsZCBiZSBrZXB0IG9uIHRoZSBuZXcgZG9jdW1lbnRl
IHRvby4iKTsKKyAgICB9LCAiQWRvcHRpbmcgZWxlbWVudCBrZWVwcyByZWZlcmVuY2VzLiIpOwor
ICA8L3NjcmlwdD4KKwogICA8IS0tIFRPRE8oY2hyaXNoYWxsKTogYWRkIGFkZGl0aW9uYWwgR0Mg
dGVzdCBjb3ZlcmluZzoKICAgICAgICBpZiBhbiBlbGVtZW50IGlzIGluIGFuIGludmFsaWQgc2Nv
cGUgYnV0IGF0dGFjaGVkIHRvIHRoZSBkb2N1bWVudCwgaXQncwogICAgICAgIG5vdCBHQydkOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458757</attachid>
            <date>2022-05-03 14:40:14 -0700</date>
            <delta_ts>2022-05-04 01:47:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239852-20220503234012.patch</filename>
            <type>text/plain</type>
            <size>52338</size>
            <attacher name="Manuel Rego Casasnovas">rego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNDk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGRhMjFhYjkzZTYyMDczYWRhNmQyNjEz
YjZhMmE3NmY4NDRmYzEzMzguLmVhYjMzNjZhNmE0YzZmYjNjNTU1ZGZhZDg0YTMxM2IzMDEzZGU1
YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjItMDUtMDIgIE1hbnVlbCBSZWdvIENhc2Fzbm92
YXMgIDxyZWdvQGlnYWxpYS5jb20+CisKKyAgICAgICAgQVJJQSByZWZsZWN0aW9uIGZvciBFbGVt
ZW50IGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzOTg1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBuZXcgcnVudGltZSBmbGFnIEFyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVy
ZW5jZXNFbmFibGVkLgorCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJl
bmNlc0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIyLTA0LTI2ICBNYW51ZWwgUmVnbyBDYXNhc25v
dmFzICA8cmVnb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFJlbW92ZSBBcmlhUmVmbGVjdGlvbkVu
YWJsZWQgcnVudGltZSBmbGFnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M0ZjhhZDU3NDljYzliNTAyM2E4ZmVj
ZTAyYzc3MGIxMTA4YTBlYi4uOTY4MThiNDEzODdiM2ExNTI4YjM2YWZmNDczYTk0YWM1M2M2Y2I4
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDIyLTA1LTAyICBNYW51ZWwgUmVnbyBD
YXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIEFSSUEgcmVmbGVjdGlvbiBm
b3IgRWxlbWVudCBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzk4NTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJbXBsZW1lbnQgQVJJQSByZWZsZWN0aW9uIGZvciBhdHRyaWJ1dGVzIHRo
YXQgcmVmZXIgdG8gYSBzaW5nbGUgRWxlbWVudDoKKyAgICAgICAgYXJpYS1hY3RpdmVkZXNjZW5k
YW50ICYgYXJpYS1lcnJvcm1lc3NhZ2UuCisgICAgICAgIEZvciB0aGUgcHJvcGVydGllcyBuYW1l
cyB0aGlzIHBhdGNoIHVzZXMgIkVsZW1lbnQiIHN1ZmZpeDoKKyAgICAgICAgYXJpYUFjdGl2ZURl
c2NlbmRhbnRFbGVtZW50ICYgYXJpYUVycm9yTWVzc2FnZUVsZW1lbnQ7CisgICAgICAgIHRoaXMg
bWF0Y2hlcyBDaHJvbWl1bSBpbXBsZW1lbnRhdGlvbiBhbmQgQU9NIGV4cGxhaW5lciwgYnV0IG5v
dCBBT00gc3BlYzoKKyAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL3czYy9hcmlhL2lzc3Vlcy8x
NzMyCisKKyAgICAgICAgVGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBkb25lIGZvbGxvd2luZyB0aGUg
cHJvcG9zZWQgc3BlYyB0ZXh0IGRlZmluZWQgYXQ6CisgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNv
bS93aGF0d2cvaHRtbC9wdWxsLzM5MTcKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQXJpYUF0
dHJpYnV0ZXMuaWRsOiBBZGQgYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50ICYKKyAgICAgICAg
YXJpYUVycm9yTWVzc2FnZUVsZW1lbnQuCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yLnBtOgorICAgICAgICAoR2V0dGVyRXhwcmVzc2lvbik6IEFkZCBmdW5jdGlvbiBm
b3IgRWxlbWVudCBhdHRyaWJ1dGVzLgorICAgICAgICAoU2V0dGVyRXhwcmVzc2lvbik6IERpdHRv
LgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOiBBZGQg
dGVzdHMgZm9yIGVsZW1lbnQKKyAgICAgICAgYXR0cmlidXRlIHJlZmxlY3Rpb24uCisgICAgICAg
IChXZWJDb3JlOjpKU1Rlc3RPYmpET01Db25zdHJ1Y3Rvcjo6Y29uc3RydWN0KToKKyAgICAgICAg
KFdlYkNvcmU6OmpzVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0ckdldHRlcik6CisgICAgICAg
IChXZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIpOgorICAgICAgICAoV2ViQ29yZTo6
c2V0SlNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRyU2V0dGVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Rlc3RPYmouaWRsOiBBZGQgcmVmbGVjdGVkRWxlbWVudEF0dHIKKyAgICAgICAgYXR0
cmlidXRlLgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omlz
RWxlbWVudFJlZmxlY3Rpb25BdHRyaWJ1dGUpOiBVdGlsaXR5IGZ1bmN0aW9uIHRvIGlkZW50aWZ5
CisgICAgICAgIEVsZW1lbnQgcmVmbGVjdGlvbiBhdHRyaWJ1dGVzLgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6IElmIGFuIGVsZW1lbnQgcmVmbGVjdGlvbgor
ICAgICAgICBhdHRyaWJ1dGUgaGFzIGNoYW5nZWQgd2UgbmVlZCB0byBzeW5jaHJvbml6ZSB0aGUg
bWFwIGVudHJ5IGJ5IHJlbW92aW5nCisgICAgICAgIGl0IGFzIGl0J2xsIGJlIHByb3Blcmx5IHVw
ZGF0ZWQgaW4gc2V0RWxlbWVudEF0dHJpYnV0ZSgpIHdoZW4gbmVlZGVkLgorICAgICAgICAoV2Vi
Q29yZTo6RWxlbWVudDo6ZW5zdXJlRXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCk6IEtpbmQg
b2YgZ2V0dGVyCisgICAgICAgIGZvciB0aGUgRXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCBi
dXQgdGhhdCBjcmVhdGVzIHRoZSBtYXAgaWYgaXQKKyAgICAgICAgZG9lc24ndCBleGlzdCB5ZXQu
CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpleHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFw
IGNvbnN0KTogR2V0dGVyIGZvciB0aGUKKyAgICAgICAgbWFwLgorICAgICAgICAoV2ViQ29yZTo6
RWxlbWVudDo6aXNEZXNjZW5kYW50T2ZTaGFkb3dJbmNsdWRpbmdBbmNlc3RvcnMgY29uc3QpOgor
ICAgICAgICBVdGlsaXR5IG1ldGhvZCB0byBkZXRlY3QgaWYgYW4gZWxlbWVudCBpcyBhIGRlc2Nl
bmRhbnQgb2YgYW55IG9mCisgICAgICAgIGVsZW1lbnQncyBzaGFkb3ctaW5jbHVkaW5nIGFuY2Vz
dG9ycy4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmdldEVsZW1lbnRBdHRyaWJ1dGUgY29u
c3QpOiBJbXBsZW1lbnQgZ2V0dGVyIGZvcgorICAgICAgICBlbGVtZW50IGF0dHJpYnV0ZS4KKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNldEVsZW1lbnRBdHRyaWJ1dGUpOiBJbXBsZW1lbnQg
c2V0dGVyIGZvcgorICAgICAgICBlbGVtZW50IGF0dHJpYnV0ZS4KKyAgICAgICAgKiBkb20vRWxl
bWVudC5oOiBBZGQgbmV3IG1ldGhvZCBoZWFkZXJzIGFuZCBkZWZpbmVzIHRoZQorICAgICAgICBF
eHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwLCB3aGljaCBzbyBmYXIgb25seSBzdG9yZXMgb25l
IEVsZW1lbnQgaW4KKyAgICAgICAgdGhlIFZlY3RvciwgYnV0IHVzZXMgYSBWZWN0b3IgaW4gcHJl
cGFyYXRpb24gZm9yIHN1cHBvcnRpbmcKKyAgICAgICAgRnJvemVuQXJyYXk8RWxlbWVudD4gcmVm
bGVjdGlvbiBpbiB0aGUgZnV0dXJlLgorICAgICAgICAqIGRvbS9FbGVtZW50UmFyZURhdGEuY3Bw
OiBVcGRhdGUgc2l6ZSBvZiBTYW1lU2l6ZUFzRWxlbWVudFJhcmVEYXRhIHRvCisgICAgICAgIGlu
Y2x1ZGUgdGhlIG5ldyBwb2ludGVyLgorICAgICAgICAqIGRvbS9FbGVtZW50UmFyZURhdGEuaDog
QWRkIG1fZXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCBhdHRyaWJ1dGUuCisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6OmV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXApOiBH
ZXR0ZXIuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6OnVzZVR5cGVzIGNvbnN0
KTpJbmNsdWRlCisgICAgICAgIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAuCisgICAgICAg
ICogZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c3RyaW5nRm9yUmFyZURhdGFVc2VU
eXBlKTogQWRkIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAuCisgICAgICAgICogZG9tL05v
ZGVSYXJlRGF0YS5oOiBEaXR0by4KKwogMjAyMi0wNC0yNiAgQW50dGkgS29pdmlzdG8gIDxhbnR0
aUBhcHBsZS5jb20+CiAKICAgICAgICAgOjpmaXJzdC1sZXR0ZXIgZG9lcyBub3Qgd29yayBpZiB1
c2VkIG9ubHkgaW4gc2hhZG93IGNvbnRlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0
cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIGIvU291cmNlL1dU
Ri9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKaW5k
ZXggMDM4ZTYxYWM5MjM1YzljN2I4Y2E1MWQ5ZTc0OWI5MGRmOWEwMTEwZi4uODg0OWYyOWExOTQ0
YmE1M2QxZmNiNWViODY2MGEyMDhkYmFjYTMyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3Jp
cHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKKysrIGIvU291
cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlh
bWwKQEAgLTY2LDYgKzY2LDE4IEBAIEFjY2Vzc2liaWxpdHlPYmplY3RNb2RlbEVuYWJsZWQ6CiAg
ICAgV2ViS2l0OgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorQXJpYVJlZmxlY3Rpb25Gb3JFbGVt
ZW50UmVmZXJlbmNlc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgaHVtYW5SZWFkYWJsZU5hbWU6
ICJBUklBIFJlZmxlY3Rpb24gZm9yIEVsZW1lbnQgUmVmZXJlbmNlcyIKKyAgaHVtYW5SZWFkYWJs
ZURlc2NyaXB0aW9uOiAiRW5hYmxlIEFSSUEgcmVmbGVjdGlvbiBmb3IgYXR0cmlidXRlcyB0aGF0
IHJlZmVyIHRvIGVsZW1lbnRzIgorICBkZWZhdWx0VmFsdWU6CisgICAgV2ViS2l0TGVnYWN5Ogor
ICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBXZWJLaXQ6CisgICAgICBkZWZhdWx0OiBmYWxzZQor
ICAgIFdlYkNvcmU6CisgICAgICBkZWZhdWx0OiBmYWxzZQorCiBBc3BlY3RSYXRpb0VuYWJsZWQ6
CiAgIHR5cGU6IGJvb2wKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJDU1MgQXNwZWN0IFJhdGlvIgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BcmlhQXR0cmlidXRlcy5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FyaWFBdHRyaWJ1dGVzLmlkbAppbmRl
eCA1YmU1ZTQ2ZjhjNTk2YWM0NjgzM2ZkYzEyNGZhMGU3MDMxMzhlMzg1Li40YzY2MGJhMTgwMjE5
YWEzZmNiYjY2Mjg0ZjUzMDgwOWM0ZjdjYmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FyaWFBdHRyaWJ1dGVzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FyaWFBdHRyaWJ1dGVzLmlkbApAQCAtMjUsNiArMjUsNyBAQAogCiAvLyBodHRw
czovL3dpY2cuZ2l0aHViLmlvL2FvbS9zcGVjL2FyaWEtcmVmbGVjdGlvbi5odG1sI0FyaWFBdHRy
aWJ1dGVzCiBpbnRlcmZhY2UgbWl4aW4gQXJpYUF0dHJpYnV0ZXMgeworICAgIFtSZWZsZWN0PWFy
aWFfYWN0aXZlZGVzY2VuZGFudCwgRW5hYmxlZEJ5U2V0dGluZz1BcmlhUmVmbGVjdGlvbkZvckVs
ZW1lbnRSZWZlcmVuY2VzRW5hYmxlZF0gYXR0cmlidXRlIEVsZW1lbnQ/IGFyaWFBY3RpdmVEZXNj
ZW5kYW50RWxlbWVudDsKICAgICBbUmVmbGVjdD1hcmlhX2F0b21pY10gICAgICAgICAgIGF0dHJp
YnV0ZSBbQXRvbVN0cmluZ10gRE9NU3RyaW5nPyBhcmlhQXRvbWljOwogICAgIFtSZWZsZWN0PWFy
aWFfYXV0b2NvbXBsZXRlXSAgICAgYXR0cmlidXRlIFtBdG9tU3RyaW5nXSBET01TdHJpbmc/IGFy
aWFBdXRvQ29tcGxldGU7CiAgICAgW1JlZmxlY3Q9YXJpYV9idXN5XSAgICAgICAgICAgICBhdHRy
aWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUJ1c3k7CkBAIC0zNCw2ICszNSw3IEBA
IGludGVyZmFjZSBtaXhpbiBBcmlhQXR0cmlidXRlcyB7CiAgICAgW1JlZmxlY3Q9YXJpYV9jb2xz
cGFuXSAgICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUNvbFNw
YW47CiAgICAgW1JlZmxlY3Q9YXJpYV9jdXJyZW50XSAgICAgICAgICBhdHRyaWJ1dGUgW0F0b21T
dHJpbmddIERPTVN0cmluZz8gYXJpYUN1cnJlbnQ7CiAgICAgW1JlZmxlY3Q9YXJpYV9kaXNhYmxl
ZF0gICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYURpc2FibGVk
OworICAgIFtSZWZsZWN0PWFyaWFfZXJyb3JtZXNzYWdlLCBFbmFibGVkQnlTZXR0aW5nPUFyaWFS
ZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5jZXNFbmFibGVkXSBhdHRyaWJ1dGUgRWxlbWVudD8g
YXJpYUVycm9yTWVzc2FnZUVsZW1lbnQ7CiAgICAgW1JlZmxlY3Q9YXJpYV9leHBhbmRlZF0gICAg
ICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUV4cGFuZGVkOwogICAg
IFtSZWZsZWN0PWFyaWFfaGFzcG9wdXBdICAgICAgICAgYXR0cmlidXRlIFtBdG9tU3RyaW5nXSBE
T01TdHJpbmc/IGFyaWFIYXNQb3B1cDsKICAgICBbUmVmbGVjdD1hcmlhX2hpZGRlbl0gICAgICAg
ICAgIGF0dHJpYnV0ZSBbQXRvbVN0cmluZ10gRE9NU3RyaW5nPyBhcmlhSGlkZGVuOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCmluZGV4IDcx
YjM2YmNlNTUzY2MxZTRkZjM5OTZkMmJkNGEyOGFlZDA3YTJjOTIuLmI4ZDdhNGYwYmJmZjlkODFl
NDUxZmE1MjU1ZjRkMzA2Yzc2Y2M2ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KQEAgLTExMDgsNiArMTEwOCw4IEBAIHN1YiBHZXR0
ZXJFeHByZXNzaW9uCiAgICAgICAgICRmdW5jdGlvbk5hbWUgPSAiZ2V0SW50ZWdyYWxBdHRyaWJ1
dGUiOwogICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGVUeXBlLT5uYW1lIGVxICJ1bnNpZ25lZCBsb25n
IikgewogICAgICAgICAkZnVuY3Rpb25OYW1lID0gImdldFVuc2lnbmVkSW50ZWdyYWxBdHRyaWJ1
dGUiOworICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGVUeXBlLT5uYW1lIGVxICJFbGVtZW50Iikgewor
ICAgICAgICAkZnVuY3Rpb25OYW1lID0gImdldEVsZW1lbnRBdHRyaWJ1dGUiOwogICAgIH0gZWxz
ZSB7CiAgICAgICAgIGlmICgkY29udGVudEF0dHJpYnV0ZU5hbWUgZXEgIldlYkNvcmU6OkhUTUxO
YW1lczo6aWRBdHRyIikgewogICAgICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICJnZXRJZEF0dHJp
YnV0ZSI7CkBAIC0xMTQ1LDYgKzExNDcsOCBAQCBzdWIgU2V0dGVyRXhwcmVzc2lvbgogICAgICAg
ICAkZnVuY3Rpb25OYW1lID0gInNldEludGVncmFsQXR0cmlidXRlIjsKICAgICB9IGVsc2lmICgk
YXR0cmlidXRlVHlwZS0+bmFtZSBlcSAidW5zaWduZWQgbG9uZyIpIHsKICAgICAgICAgJGZ1bmN0
aW9uTmFtZSA9ICJzZXRVbnNpZ25lZEludGVncmFsQXR0cmlidXRlIjsKKyAgICB9IGVsc2lmICgk
YXR0cmlidXRlVHlwZS0+bmFtZSBlcSAiRWxlbWVudCIpIHsKKyAgICAgICAgJGZ1bmN0aW9uTmFt
ZSA9ICJzZXRFbGVtZW50QXR0cmlidXRlIjsKICAgICB9IGVsc2lmICgkZ2VuZXJhdG9yLT5Jc1NW
R0FuaW1hdGVkVHlwZSgkYXR0cmlidXRlVHlwZSkpIHsKICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9
ICJzZXRBdHRyaWJ1dGUiOwogICAgIH0gZWxzZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCmluZGV4IDU1OGE5MTZlM2U5
NTdjNWQyM2E2OGY3N2I1M2U0MjJhNzI5YmJiNTYuLmNjNjE5NWI0ZDM4Yjc4ZWI3OWE1MGRhMGUx
NjVjNTZhOTY2MWRhMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCkBAIC0xODAzLDYgKzE4MDMsOCBAQCBzdGF0aWMg
SlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVmbGVjdGVkVW5zaWduZWRJbnRl
Z3JhbEF0dHIpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2Jq
X3JlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNU
T01fR0VUVEVSKGpzVGVzdE9ial9yZWZsZWN0ZWRCb29sZWFuQXR0cik7CiBzdGF0aWMgSlNDX0RF
Q0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkQm9vbGVhbkF0dHIpOwor
c3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNUZXN0T2JqX3JlZmxlY3RlZEVsZW1l
bnRBdHRyKTsKK3N0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9y
ZWZsZWN0ZWRFbGVtZW50QXR0cik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihq
c1Rlc3RPYmpfcmVmbGVjdGVkVVJMQXR0cik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX1NF
VFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVVJMQXR0cik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVf
Q1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVmbGVjdGVkVVNWVVJMQXR0cik7CkBAIC0yMTc1LDYg
KzIxNzcsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0T2JqUHJvdG90eXBl
VGFibGVWYWx1ZXNbXSA9CiAgICAgeyAicmVmbGVjdGVkSW50ZWdyYWxBdHRyIiwgc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0
cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpfcmVm
bGVjdGVkSW50ZWdyYWxBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNs
b3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3JlZmxlY3RlZEludGVncmFsQXR0cikgfSB9
LAogICAgIHsgInJlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyIiwgc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlNDOjpQcm9w
ZXJ0eUF0dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0
YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpfcmVmbGVjdGVk
VW5zaWduZWRJbnRlZ3JhbEF0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5
U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVW5zaWduZWRJbnRlZ3Jh
bEF0dHIpIH0gfSwKICAgICB7ICJyZWZsZWN0ZWRCb29sZWFuQXR0ciIsIHN0YXRpY19jYXN0PHVu
c2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClz
dGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqX3JlZmxlY3Rl
ZEJvb2xlYW5BdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1
dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3JlZmxlY3RlZEJvb2xlYW5BdHRyKSB9IH0sCisgICAg
eyAicmVmbGVjdGVkRWxlbWVudEF0dHIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9w
ZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
T01BdHRyaWJ1dGUpLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVy
dHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0ciksIChp
bnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpT
VGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0cikgfSB9LAogICAgIHsgInJlZmxlY3RlZFVSTEF0
dHIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9t
QWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpET01BdHRyaWJ1dGUpLCBOb0ludHJp
bnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+
KGpzVGVzdE9ial9yZWZsZWN0ZWRVUkxBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQ
cm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3JlZmxlY3RlZFVSTEF0dHIp
IH0gfSwKICAgICB7ICJyZWZsZWN0ZWRVU1ZVUkxBdHRyIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19j
YXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpfcmVmbGVjdGVkVVNWVVJM
QXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1
bmM+KHNldEpTVGVzdE9ial9yZWZsZWN0ZWRVU1ZVUkxBdHRyKSB9IH0sCiAgICAgeyAicmVmbGVj
dGVkU3RyaW5nQXR0ciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0
ZSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6Okdl
dFZhbHVlRnVuYz4oanNUZXN0T2JqX3JlZmxlY3RlZFN0cmluZ0F0dHIpLCAoaW50cHRyX3QpIHN0
YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpfcmVm
bGVjdGVkU3RyaW5nQXR0cikgfSB9LApAQCAtMzkxOCw2ICszOTIxLDM3IEBAIEpTQ19ERUZJTkVf
Q1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkQm9vbGVhbkF0dHIsIChKU0dsb2Jh
bE9iamVjdCogbGV4CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0
SlNUZXN0T2JqX3JlZmxlY3RlZEJvb2xlYW5BdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsIGF0dHJpYnV0ZU5hbWUpOwogfQogCitzdGF0aWMg
aW5saW5lIEpTVmFsdWUganNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRyR2V0dGVyKEpTR2xv
YmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RPYmomIHRoaXNPYmplY3QpCit7
CisgICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKKyAgICBh
dXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAgICBhdXRvJiBpbXBs
ID0gdGhpc09iamVjdC53cmFwcGVkKCk7CisgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHRocm93U2Nv
cGUsICh0b0pTPElETEludGVyZmFjZTxFbGVtZW50Pj4obGV4aWNhbEdsb2JhbE9iamVjdCwgKnRo
aXNPYmplY3QuZ2xvYmFsT2JqZWN0KCksIHRocm93U2NvcGUsIGltcGwuZ2V0RWxlbWVudEF0dHJp
YnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RlZGVsZW1lbnRhdHRyQXR0cikpKSk7Cit9
CisKK0pTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0
dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUgYXR0cmlidXRlTmFtZSkpCit7CisgICAgcmV0dXJuIElE
TEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpnZXQ8anNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRy
R2V0dGVyLCBDYXN0ZWRUaGlzRXJyb3JCZWhhdmlvcjo6QXNzZXJ0PigqbGV4aWNhbEdsb2JhbE9i
amVjdCwgdGhpc1ZhbHVlLCBhdHRyaWJ1dGVOYW1lKTsKK30KKworc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0clNldHRlcihKU0dsb2JhbE9iamVjdCYg
bGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0T2JqJiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVl
KQoreworICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Cisg
ICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisgICAgYXV0byYg
aW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOworICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252
ZXJ0PElETEludGVyZmFjZTxFbGVtZW50Pj4obGV4aWNhbEdsb2JhbE9iamVjdCwgdmFsdWUsIFtd
KEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29w
ZSYgc2NvcGUpIHsgdGhyb3dBdHRyaWJ1dGVUeXBlRXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwg
c2NvcGUsICJUZXN0T2JqZWN0IiwgInJlZmxlY3RlZEVsZW1lbnRBdHRyIiwgIkVsZW1lbnQiKTsg
fSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBmYWxzZSk7CisgICAgaW52
b2tlRnVuY3RvclByb3BhZ2F0aW5nRXhjZXB0aW9uSWZOZWNlc3NhcnkobGV4aWNhbEdsb2JhbE9i
amVjdCwgdGhyb3dTY29wZSwgWyZdIHsKKyAgICAgICAgcmV0dXJuIGltcGwuc2V0RWxlbWVudEF0
dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RlZGVsZW1lbnRhdHRyQXR0ciwgKm5h
dGl2ZVZhbHVlKTsKKyAgICB9KTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworSlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0ciwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lIGF0dHJpYnV0ZU5hbWUpKQor
eworICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9y
ZWZsZWN0ZWRFbGVtZW50QXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1
ZSwgZW5jb2RlZFZhbHVlLCBhdHRyaWJ1dGVOYW1lKTsKK30KKwogc3RhdGljIGlubGluZSBKU1Zh
bHVlIGpzVGVzdE9ial9yZWZsZWN0ZWRVUkxBdHRyR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RPYmomIHRoaXNPYmplY3QpCiB7CiAgICAgYXV0byYgdm0g
PSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAppbmRleCAxMGY2NTFhNTc1ZTc3Yjc1
MDAyYjg3MGNkYmI4OThmZmE0NjYzM2M5Li43ZTk4MmQ1MTYyNGI0Y2ZkOGI4NmVkNTE0NzdmNzE3
YjFiYmZlNWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVGVzdE9iai5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Rlc3RPYmouaWRsCkBAIC0xMDQsNiArMTA0LDcgQEAgZW51bSBUZXN0Q29uZmlkZW5jZSB7ICJo
aWdoIiwgImtpbmRhLWxvdyIgfTsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIGxvbmcgcmVmbGVj
dGVkSW50ZWdyYWxBdHRyOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBy
ZWZsZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0cjsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIGJv
b2xlYW4gcmVmbGVjdGVkQm9vbGVhbkF0dHI7CisgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBFbGVt
ZW50IHJlZmxlY3RlZEVsZW1lbnRBdHRyOwogICAgIFtSZWZsZWN0LCBVUkxdIGF0dHJpYnV0ZSBE
T01TdHJpbmcgcmVmbGVjdGVkVVJMQXR0cjsKICAgICBbUmVmbGVjdCwgVVJMXSBhdHRyaWJ1dGUg
VVNWU3RyaW5nIHJlZmxlY3RlZFVTVlVSTEF0dHI7CiAgICAgW1JlZmxlY3Q9Y3VzdG9tQ29udGVu
dFN0cmluZ0F0dHJdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmbGVjdGVkU3RyaW5nQXR0cjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmNwcAppbmRleCAwYmQyNjcyMWNiZTg3MDQ3MzZiMThhNzU2ZTg4ZjA2NWE2
NDA3MjNjLi42YzVlNzlhMmM0Y2U5ZmE5MjJjMWQ0NTQ4YmQwNzlmYmU5YjY3YWYxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuY3BwCkBAIC0xOTAxLDYgKzE5MDEsMTEgQEAgc3RhdGljIGlubGluZSBBdG9t
U3RyaW5nIG1ha2VJZEZvclN0eWxlUmVzb2x1dGlvbihjb25zdCBBdG9tU3RyaW5nJiB2YWx1ZSwg
Ym9vbAogICAgIHJldHVybiB2YWx1ZTsKIH0KIAorc3RhdGljIGJvb2wgaXNFbGVtZW50UmVmbGVj
dGlvbkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lKQoreworICAgIHJldHVybiBu
YW1lID09IEhUTUxOYW1lczo6YXJpYV9hY3RpdmVkZXNjZW5kYW50QXR0ciB8fCBuYW1lID09IEhU
TUxOYW1lczo6YXJpYV9lcnJvcm1lc3NhZ2VBdHRyOworfQorCiB2b2lkIEVsZW1lbnQ6OmF0dHJp
YnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYg
b2xkVmFsdWUsIGNvbnN0IEF0b21TdHJpbmcmIG5ld1ZhbHVlLCBBdHRyaWJ1dGVNb2RpZmljYXRp
b25SZWFzb24pCiB7CiAgICAgYm9vbCB2YWx1ZUlzU2FtZUFzQmVmb3JlID0gb2xkVmFsdWUgPT0g
bmV3VmFsdWU7CkBAIC0xOTM3LDcgKzE5NDIsMTEgQEAgdm9pZCBFbGVtZW50OjphdHRyaWJ1dGVD
aGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21TdHJpbmcmIG9sZFYK
ICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIGlmIChuYW1lID09IEhUTUxOYW1lczo6cGFy
dEF0dHIpCiAgICAgICAgICAgICBwYXJ0QXR0cmlidXRlQ2hhbmdlZChuZXdWYWx1ZSk7Ci0gICAg
ICAgIGVsc2UgaWYgKG5hbWUgPT0gSFRNTE5hbWVzOjpleHBvcnRwYXJ0c0F0dHIpIHsKKyAgICAg
ICAgZWxzZSBpZiAoaXNFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0ZShuYW1lKSkgeworICAgICAg
ICAgICAgQVNTRVJUKGRvY3VtZW50KCkuc2V0dGluZ3MoKS5hcmlhUmVmbGVjdGlvbkZvckVsZW1l
bnRSZWZlcmVuY2VzRW5hYmxlZCgpKTsKKyAgICAgICAgICAgIGlmIChhdXRvKiBtYXAgPSBleHBs
aWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKCkpCisgICAgICAgICAgICAgICAgbWFwLT5yZW1vdmUo
bmFtZSk7CisgICAgICAgIH0gZWxzZSBpZiAobmFtZSA9PSBIVE1MTmFtZXM6OmV4cG9ydHBhcnRz
QXR0cikgewogICAgICAgICAgICAgaWYgKGF1dG8qIHNoYWRvd1Jvb3QgPSB0aGlzLT5zaGFkb3dS
b290KCkpIHsKICAgICAgICAgICAgICAgICBzaGFkb3dSb290LT5pbnZhbGlkYXRlUGFydE1hcHBp
bmdzKCk7CiAgICAgICAgICAgICAgICAgU3R5bGU6OkludmFsaWRhdG9yOjppbnZhbGlkYXRlU2hh
ZG93UGFydHMoKnNoYWRvd1Jvb3QpOwpAQCAtMTk2MSw2ICsxOTcwLDc4IEBAIHZvaWQgRWxlbWVu
dDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9t
U3RyaW5nJiBvbGRWCiAgICAgICAgIGNhY2hlLT5kZWZlckF0dHJpYnV0ZUNoYW5nZUlmTmVlZGVk
KG5hbWUsIHRoaXMpOwogfQogCitFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwJiBFbGVtZW50
OjplbnN1cmVFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKCkKK3sKKyAgICBhdXRvJiByYXJl
RGF0YSA9IGVuc3VyZUVsZW1lbnRSYXJlRGF0YSgpOworICAgIHJldHVybiByYXJlRGF0YS5leHBs
aWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKCk7Cit9CisKK0V4cGxpY2l0bHlTZXRBdHRyRWxlbWVu
dHNNYXAqIEVsZW1lbnQ6OmV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoKSBjb25zdAorewor
ICAgIHJldHVybiBoYXNSYXJlRGF0YSgpID8gJmVsZW1lbnRSYXJlRGF0YSgpLT5leHBsaWNpdGx5
U2V0QXR0ckVsZW1lbnRzTWFwKCkgOiBudWxscHRyOworfQorCitib29sIEVsZW1lbnQ6OmlzRGVz
Y2VuZGFudE9mU2hhZG93SW5jbHVkaW5nQW5jZXN0b3JzKGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQp
IGNvbnN0Cit7CisgICAgaWYgKCFpc0luVHJlZVNjb3BlKCkgfHwgIWVsZW1lbnQuaXNJblRyZWVT
Y29wZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBmb3IgKGF1dG8qIHJvb3QgPSBj
b250YWluaW5nU2hhZG93Um9vdCgpOyByb290OyByb290ID0gcm9vdC0+aG9zdCgpLT5jb250YWlu
aW5nU2hhZG93Um9vdCgpKSB7CisgICAgICAgIGlmIChlbGVtZW50LmlzRGVzY2VuZGFudE9mKHJv
b3QpKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIGVsZW1l
bnQuaXNEZXNjZW5kYW50T2YoZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSk7Cit9CisKK0Vs
ZW1lbnQqIEVsZW1lbnQ6OmdldEVsZW1lbnRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYg
YXR0cmlidXRlTmFtZSkgY29uc3QKK3sKKyAgICBBU1NFUlQoZG9jdW1lbnQoKS5zZXR0aW5ncygp
LmFyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5jZXNFbmFibGVkKCkpOworICAgIEFTU0VS
VChpc0VsZW1lbnRSZWZsZWN0aW9uQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpKTsKKworICAgIGlm
IChhdXRvKiBtYXAgPSBleHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKCkpIHsKKyAgICAgICAg
YXV0byBpdCA9IG1hcC0+ZmluZChhdHRyaWJ1dGVOYW1lKTsKKyAgICAgICAgaWYgKGl0ICE9IG1h
cC0+ZW5kKCkpIHsKKyAgICAgICAgICAgIEFTU0VSVChpdC0+dmFsdWUuc2l6ZSgpID09IDEpOwor
ICAgICAgICAgICAgYXV0byogZWxlbWVudCA9IGl0LT52YWx1ZVswXS5nZXQoKTsKKyAgICAgICAg
ICAgIEFTU0VSVChlbGVtZW50KTsKKyAgICAgICAgICAgIGlmIChpc0Rlc2NlbmRhbnRPZlNoYWRv
d0luY2x1ZGluZ0FuY2VzdG9ycygqZWxlbWVudCkpCisgICAgICAgICAgICAgICAgcmV0dXJuIGVs
ZW1lbnQ7CisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgfQorICAgIH0KKwor
ICAgIGF1dG8gaWQgPSBnZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSk7CisgICAgaWYgKGlkLmlz
TnVsbCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIHJldHVybiB0cmVlU2NvcGUo
KS5nZXRFbGVtZW50QnlJZChpZCk7Cit9CisKK3ZvaWQgRWxlbWVudDo6c2V0RWxlbWVudEF0dHJp
YnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lLCBFbGVtZW50KiBlbGVtZW50
KQoreworICAgIEFTU0VSVChkb2N1bWVudCgpLnNldHRpbmdzKCkuYXJpYVJlZmxlY3Rpb25Gb3JF
bGVtZW50UmVmZXJlbmNlc0VuYWJsZWQoKSk7CisgICAgQVNTRVJUKGlzRWxlbWVudFJlZmxlY3Rp
b25BdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSkpOworCisgICAgYXV0byogbWFwID0gZXhwbGljaXRs
eVNldEF0dHJFbGVtZW50c01hcCgpOworICAgIGlmICghZWxlbWVudCkgeworICAgICAgICBpZiAo
bWFwKQorICAgICAgICAgICAgbWFwLT5yZW1vdmUoYXR0cmlidXRlTmFtZSk7CisgICAgICAgIHJl
bW92ZUF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIGF1dG8gaWQgPSBlbGVtZW50LT5nZXRJZEF0dHJpYnV0ZSgpOworICAgIGlmICghaWQuaXNO
dWxsKCkgJiYgJnRyZWVTY29wZSgpID09ICZlbGVtZW50LT50cmVlU2NvcGUoKSAmJiB0cmVlU2Nv
cGUoKS5nZXRFbGVtZW50QnlJZChpZCkgPT0gZWxlbWVudCkKKyAgICAgICAgc2V0QXR0cmlidXRl
KGF0dHJpYnV0ZU5hbWUsIGlkKTsKKyAgICBlbHNlCisgICAgICAgIHNldEF0dHJpYnV0ZShhdHRy
aWJ1dGVOYW1lLCBlbXB0eUF0b20oKSk7CisKKyAgICBpZiAoIW1hcCkKKyAgICAgICAgbWFwID0g
JmVuc3VyZUV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoKTsKKyAgICBtYXAtPnNldChhdHRy
aWJ1dGVOYW1lLCBWZWN0b3I8V2Vha1B0cjxFbGVtZW50Pj4geyBlbGVtZW50IH0pOworfQorCiB0
ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4KIHN0YXRpYyBpbmxpbmUgYm9vbCBpc05v
bkVtcHR5VG9rZW5MaXN0KGNvbnN0IENoYXJhY3RlclR5cGUqIGNoYXJhY3RlcnMsIHVuc2lnbmVk
IGxlbmd0aCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCmluZGV4IDljYWJlM2FkY2Q3NThjNTJlYmI4NTk2
MTI2MGI1MjFmYjI1ODAzMDcuLmNhZTMzYjc2MDk1NzI3MmM2NTllOTFkNmUzY2ZkOWFhMTYyODVk
NmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuaApAQCAtOTMsNiArOTMsMTAgQEAgc3RydWN0IFNjcm9sbFRv
T3B0aW9uczsKIHN0cnVjdCBTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50SW5pdDsKIHN0cnVj
dCBTaGFkb3dSb290SW5pdDsKIAorLy8gRklYTUU6IFRoaXMgb25seSBzdG9yZXMgb25lIEVsZW1l
bnQgaW4gdGhlIFZlY3RvciByaWdodCBub3csIHRob3VnaCB0aGlzIHdpbGwgY2hhbmdlCisvLyBv
bmNlIHJlZmxlY3Rpb24gZm9yIEZyb3plbkFycmF5PEVsZW1lbnQ+IGlzIGltcGxlbWVudGVkIGlu
IGh0dHBzOi8vd2Via2l0Lm9yZy9iLzIzOTg1My4KK3VzaW5nIEV4cGxpY2l0bHlTZXRBdHRyRWxl
bWVudHNNYXAgPSBIYXNoTWFwPFF1YWxpZmllZE5hbWUsIFZlY3RvcjxXZWFrUHRyPEVsZW1lbnQ+
Pj47CisKIG5hbWVzcGFjZSBTdHlsZSB7CiBjbGFzcyBSZXNvbHZlcjsKIGVudW0gY2xhc3MgQ2hh
bmdlIDogdWludDhfdDsKQEAgLTEyMSw2ICsxMjUsOCBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9F
WFBPUlQgdm9pZCBzZXRJbnRlZ3JhbEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRy
aWJ1dGVOYW1lLCBpbnQgdmFsdWUpOwogICAgIFdFQkNPUkVfRVhQT1JUIHVuc2lnbmVkIGdldFVu
c2lnbmVkSW50ZWdyYWxBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFt
ZSkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRVbnNpZ25lZEludGVncmFsQXR0
cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUsIHVuc2lnbmVkIHZhbHVl
KTsKKyAgICBXRUJDT1JFX0VYUE9SVCBFbGVtZW50KiBnZXRFbGVtZW50QXR0cmlidXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JU
IHZvaWQgc2V0RWxlbWVudEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVO
YW1lLCBFbGVtZW50KiB2YWx1ZSk7CiAKICAgICAvLyBDYWxsIHRoaXMgdG8gZ2V0IHRoZSB2YWx1
ZSBvZiBhbiBhdHRyaWJ1dGUgdGhhdCBpcyBrbm93biBub3QgdG8gYmUgdGhlIHN0eWxlCiAgICAg
Ly8gYXR0cmlidXRlIG9yIG9uZSBvZiB0aGUgU1ZHIGFuaW1hdGFibGUgYXR0cmlidXRlcy4KQEAg
LTY2OCw2ICs2NzQsOSBAQCBwdWJsaWM6CiAgICAgU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5KiBj
b21wdXRlZFN0eWxlTWFwKCk7CiAjZW5kaWYKIAorICAgIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVu
dHNNYXAmIGVuc3VyZUV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoKTsKKyAgICBFeHBsaWNp
dGx5U2V0QXR0ckVsZW1lbnRzTWFwKiBleHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKCkgY29u
c3Q7CisKIHByb3RlY3RlZDoKICAgICBFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1
bWVudCYsIENvbnN0cnVjdGlvblR5cGUpOwogCkBAIC03ODUsNiArNzk0LDggQEAgcHJpdmF0ZToK
ICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGZhc3RBdHRyaWJ1dGVMb29rdXBBbGxvd2VkKGNvbnN0
IFF1YWxpZmllZE5hbWUmKSBjb25zdDsKICNlbmRpZgogCisgICAgYm9vbCBpc0Rlc2NlbmRhbnRP
ZlNoYWRvd0luY2x1ZGluZ0FuY2VzdG9ycyhjb25zdCBFbGVtZW50JikgY29uc3Q7CisKICAgICBR
dWFsaWZpZWROYW1lIG1fdGFnTmFtZTsKICAgICBSZWZQdHI8RWxlbWVudERhdGE+IG1fZWxlbWVu
dERhdGE7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHAKaW5kZXggOTRiOGE1
ODU5Zjc0YmM3Yzk1ZDEyNTM5OWI3NDZlZTI3NmU3ZWVmZi4uMTIzY2Y1ZTkxYTcyMWY3NzYwODI1
YmY3Y2YxNzAzOTYzYWZhODNkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnRSYXJlRGF0YS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5j
cHAKQEAgLTQyLDYgKzQyLDcgQEAgc3RydWN0IFNhbWVTaXplQXNFbGVtZW50UmFyZURhdGEgOiBO
b2RlUmFyZURhdGEgewogICAgIHZvaWQqIHR5cGVkT01EYXRhWzJdOwogI2VuZGlmCiAgICAgdm9p
ZCogcmVzaXplT2JzZXJ2ZXJEYXRhOworICAgIHZvaWQqIGV4cGxpY2l0bHlTZXRBdHRyRWxlbWVu
dHNNYXA7CiB9OwogCiBzdGF0aWNfYXNzZXJ0KHNpemVvZihFbGVtZW50UmFyZURhdGEpID09IHNp
emVvZihTYW1lU2l6ZUFzRWxlbWVudFJhcmVEYXRhKSwgIkVsZW1lbnRSYXJlRGF0YSBzaG91bGQg
c3RheSBzbWFsbCIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJl
RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCmluZGV4IGQ3NmJj
YzQ0NGNlNzUxNDRiYmVkMzk3MWJhOTE0MGE4YzVkYzU4YWYuLjRhZjNhYjZlMGMzZTMzZDI2ZmRk
ZmVmNmU1OGM2MjA1OTdjMTIwNDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVt
ZW50UmFyZURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgK
QEAgLTEwNyw2ICsxMDcsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRDb21wdXRlZFN0eWxlTWFw
KFJlZjxTdHlsZVByb3BlcnR5TWFwUmVhZE9ubHk+JiYgbWFwKSB7IG1fY29tcHV0ZWRTdHlsZU1h
cCA9IFdURk1vdmUobWFwKTsgfQogI2VuZGlmCiAKKyAgICBFeHBsaWNpdGx5U2V0QXR0ckVsZW1l
bnRzTWFwJiBleHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKCkgeyByZXR1cm4gbV9leHBsaWNp
dGx5U2V0QXR0ckVsZW1lbnRzTWFwOyB9CisKICNpZiBEVU1QX05PREVfU1RBVElTVElDUwogICAg
IE9wdGlvblNldDxVc2VUeXBlPiB1c2VUeXBlcygpIGNvbnN0CiAgICAgewpAQCAtMTQ3LDYgKzE0
OSw4IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJlc3VsdC5hZGQoVXNlVHlwZTo6UGFydE5hbWVz
KTsKICAgICAgICAgaWYgKG1fbm9uY2UpCiAgICAgICAgICAgICByZXN1bHQuYWRkKFVzZVR5cGU6
Ok5vbmNlKTsKKyAgICAgICAgaWYgKG1fZXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCkKKyAg
ICAgICAgICAgIHJlc3VsdC5hZGQoVXNlVHlwZTo6RXhwbGljaXRseVNldEF0dHJFbGVtZW50c01h
cCk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogI2VuZGlmCkBAIC0xODAsNiArMTg0
LDggQEAgcHJpdmF0ZToKIAogICAgIEF0b21TdHJpbmcgbV9ub25jZTsKIAorICAgIEV4cGxpY2l0
bHlTZXRBdHRyRWxlbWVudHNNYXAgbV9leHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwOworCiAg
ICAgdm9pZCByZWxlYXNlUHNldWRvRWxlbWVudChQc2V1ZG9FbGVtZW50Kik7CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
Tm9kZS5jcHAKaW5kZXggMzk1ZWZmYmZjZGY4OGQzMGU2ZDg5N2M5N2RiYjg3MzJiYjI3NDYzMC4u
YzcwMTMzNjYxOGFmMzVkODUzMjJkYzAzNGY1MzBjMWJkYmMwOWU0ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNw
cApAQCAtMTQzLDYgKzE0Myw4IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBzdHJpbmdGb3JSYXJlRGF0
YVVzZVR5cGUoTm9kZVJhcmVEYXRhOjpVc2VUeXBlIHVzZVR5cGUpCiAgICAgICAgIHJldHVybiAi
UGFydExpc3QiOwogICAgIGNhc2UgTm9kZVJhcmVEYXRhOjpVc2VUeXBlOjpQYXJ0TmFtZXM6CiAg
ICAgICAgIHJldHVybiAiUGFydE5hbWVzIjsKKyAgICBjYXNlIE5vZGVSYXJlRGF0YTo6VXNlVHlw
ZTo6RXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcDoKKyAgICAgICAgcmV0dXJuICJFeHBsaWNp
dGx5U2V0QXR0ckVsZW1lbnRzTWFwIjsKICAgICB9CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vTm9kZVJhcmVEYXRhLmgKaW5kZXggM2YzOWFlZjQyMDhiNzRiYWIyZDJhYmY2YTc4
NDU1MzM2NWY0M2E2Mi4uYzk1YWY2MDgzMDAzNTlhZWU3MWE1NzZmYWVmODQ0ZjNjMjJhNWVlNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaApAQCAtMjY0LDYgKzI2NCw3IEBAIHB1YmxpYzoK
ICAgICAgICAgUGFydE5hbWVzID0gMSA8PCAxNiwKICAgICAgICAgTm9uY2UgPSAxIDw8IDE3LAog
ICAgICAgICBDb21wdXRlZFN0eWxlTWFwID0gMSA8PCAxOCwKKyAgICAgICAgRXhwbGljaXRseVNl
dEF0dHJFbGVtZW50c01hcCA9IDEgPDwgMTksCiAgICAgfTsKICNlbmRpZgogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMzJj
Y2U0NWMxMDNiMzhkMjZkMGJhZmY0MGQ1NWExNmY1M2U2NmFiMC4uMmNhODU3MDdmZWYyYmI4Nzcz
ZWJiZmE3MTdmNTgzNTkzNWQyMzY2OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIyLTA1LTAy
ICBNYW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIEFS
SUEgcmVmbGVjdGlvbiBmb3IgRWxlbWVudCBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzk4NTIKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgdGVzdCB0byBpbmNsdWRlIHRoZSBu
ZXcgcmVmbGVjdGVkIGF0dHJpYnV0ZXMuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FSSUEt
cmVmbGVjdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BUklBLXJl
ZmxlY3Rpb24uaHRtbDoKKwogMjAyMi0wNC0yNiAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBs
ZS5jb20+CiAKICAgICAgICAgOjpmaXJzdC1sZXR0ZXIgZG9lcyBub3Qgd29yayBpZiB1c2VkIG9u
bHkgaW4gc2hhZG93IGNvbnRlbnQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDJl
NTM4YzYwYzljZmQ0NTU1MTY0OTUzNzQ3ZDFmODM0ZGUwOGMyMmQuLjAxNzRmMzU5YTc2MWI4Mzhi
MDVhMmRmNzIxZTI0MzA3ZDQzY2ZkOGIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE2IEBACisyMDIyLTA1LTAyICBNYW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVn
b0BpZ2FsaWEuY29tPgorCisgICAgICAgIEFSSUEgcmVmbGVjdGlvbiBmb3IgRWxlbWVudCBhdHRy
aWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
Mzk4NTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBT
bWFsbCBmaXggb24gdGhlIHRlc3QgYW5kIHVwZGF0ZSB0ZXN0IHJlc3VsdHMgd2l0aCB0aGUgbmV3
IFBBU1MuCisgICAgICAgIEFkZCBuZXcgdGVzdCBjYXNlIHRvIGNvdmVyIGVsZW1lbnRzIG1vdmVk
IHRvIGEgZGlmZmVyZW50IGRvY3VtZW50LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50YXRpdmUtZXhwZWN0ZWQudHh0
OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJl
ZmxlY3Rpb24udGVudGF0aXZlLmh0bWw6CisKIDIwMjItMDQtMjYgIE9yaW9sIEJydWZhdSAgPG9i
cnVmYXVAaWdhbGlhLmNvbT4KIAogICAgICAgICBbY3NzLWNhc2NhZGVdIEZpeCBjYXNjYWRlIHJv
bGxiYWNrIGZvciBkZWZlcnJlZCBwcm9wZXJ0aWVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L0FSSUEtcmVmbGVjdGlvbi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9h
Y2Nlc3NpYmlsaXR5L0FSSUEtcmVmbGVjdGlvbi1leHBlY3RlZC50eHQKaW5kZXggOTUwNGI2OWJj
YmFjZDI0MWI5NTg1NDMwMmVmNTQ3NGUzNTJhNDk4ZS4uZTNmZWVjMzBjNGM3YTllYWZhZDFhOTRk
ZWRlZWM2M2Y4OGJiODBlNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9B
UklBLXJlZmxlY3Rpb24tZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvQVJJQS1yZWZsZWN0aW9uLWV4cGVjdGVkLnR4dApAQCAtNywzMTcgKzcsMjkyIEBAIE9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFCiBUZXN0IHJvbGUgPCAtID4gcm9sZQogUEFTUyBlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJyb2xlIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50
LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0
QXR0cmlidXRlKCJyb2xlIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVy
dHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJE
YXRhUHJvcGVydHkKKworVGVzdCBhcmlhQWN0aXZlRGVzY2VuZGFudEVsZW1lbnQgPCAtID4gYXJp
YS1hY3RpdmVkZXNjZW5kYW50CitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxs
CitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKK1BB
U1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0
ZQorZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtYWN0aXZlZGVzY2VuZGFudCIsIG90aGVyRGF0
YSk7CitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQog
CiBUZXN0IGFyaWFBdG9taWMgPCAtID4gYXJpYS1hdG9taWMKIFBBU1MgZWxlbWVudFtjdXJyZW50
UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJp
YnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUF0b21pYyJdID0gZGF0YTsKLVBBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNl
dEF0dHJpYnV0ZSgiYXJpYS1hdG9taWMiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJl
bnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFBdXRvQ29tcGxldGUgPCAtID4gYXJpYS1h
dXRvY29tcGxldGUKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1Mg
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsi
YXJpYUF1dG9Db21wbGV0ZSJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1h
dXRvY29tcGxldGUiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0g
aXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQ
cm9wZXJ0eQogCiBUZXN0IGFyaWFCdXN5IDwgLSA+IGFyaWEtYnVzeQogUEFTUyBlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhQnVzeSJdID0gZGF0YTsKLVBBU1MgZWxl
bWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50
LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50
LnNldEF0dHJpYnV0ZSgiYXJpYS1idXN5Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0g
aXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhQ2hlY2tlZCA8IC0gPiBhcmlhLWNoZWNr
ZWQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5n
ZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUNoZWNr
ZWQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUp
IGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMg
ZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtY2hlY2tlZCIsIG90aGVy
RGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJp
YUNvbENvdW50IDwgLSA+IGFyaWEtY29sY291bnQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVy
dHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkg
aXMgbnVsbAotZWxlbWVudFsiYXJpYUNvbENvdW50Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0
cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0
cmlidXRlKCJhcmlhLWNvbGNvdW50Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50
UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMg
b3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhQ29sSW5kZXggPCAtID4gYXJpYS1jb2xpbmRl
eAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhQ29sSW5k
ZXgiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUp
IGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMg
ZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtY29saW5kZXgiLCBvdGhl
ckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNT
IGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFy
aWFDb2xTcGFuIDwgLSA+IGFyaWEtY29sc3BhbgogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0
eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBudWxsCi1lbGVtZW50WyJhcmlhQ29sU3BhbiJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJp
YnV0ZSgiYXJpYS1jb2xzcGFuIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJv
cGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3Ro
ZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhQ3VycmVudCA8IC0gPiBhcmlhLWN1cnJlbnQKIFBB
U1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRy
aWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUN1cnJlbnQiXSA9
IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRh
dGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0
dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtY3VycmVudCIsIG90aGVyRGF0YSk7
Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYURpc2Fi
bGVkIDwgLSA+IGFyaWEtZGlzYWJsZWQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlz
IG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVs
bAotZWxlbWVudFsiYXJpYURpc2FibGVkIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRl
KGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRl
KCJhcmlhLWRpc2FibGVkIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVy
dHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJE
YXRhUHJvcGVydHkKKworVGVzdCBhcmlhRXJyb3JNZXNzYWdlRWxlbWVudCA8IC0gPiBhcmlhLWVy
cm9ybWVzc2FnZQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAorUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCitQQVNTIGVsZW1l
bnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKK2VsZW1l
bnQuc2V0QXR0cmlidXRlKCJhcmlhLWVycm9ybWVzc2FnZSIsIG90aGVyRGF0YSk7CitQQVNTIGVs
ZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFF
eHBhbmRlZCA8IC0gPiBhcmlhLWV4cGFuZGVkCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IG51bGwKLWVsZW1lbnRbImFyaWFFeHBhbmRlZCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJp
YnV0ZSgiYXJpYS1leHBhbmRlZCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90
aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUhhc1BvcHVwIDwgLSA+IGFyaWEtaGFzcG9wdXAK
IFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUhhc1BvcHVw
Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRh
dGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWhhc3BvcHVwIiwgb3RoZXJE
YXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBl
bGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlh
SGlkZGVuIDwgLSA+IGFyaWEtaGlkZGVuCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51
bGwKLWVsZW1lbnRbImFyaWFIaWRkZW4iXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUo
Y3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUo
ImFyaWEtaGlkZGVuIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHld
IGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRh
UHJvcGVydHkKIAogVGVzdCBhcmlhSW52YWxpZCA8IC0gPiBhcmlhLWludmFsaWQKIFBBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUo
Y3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUludmFsaWQiXSA9IGRhdGE7
Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BB
U1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0
ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtaW52YWxpZCIsIG90aGVyRGF0YSk7Ci1QQVNT
IGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUtleVNob3J0Y3V0
cyA8IC0gPiBhcmlhLWtleXNob3J0Y3V0cwogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0g
aXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBu
dWxsCi1lbGVtZW50WyJhcmlhS2V5U2hvcnRjdXRzIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0
cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0
cmlidXRlKCJhcmlhLWtleXNob3J0Y3V0cyIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3Vy
cmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHld
IGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUxhYmVsIDwgLSA+IGFyaWEtbGFiZWwK
IFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUxhYmVsIl0g
PSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBk
YXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFB
dHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWxhYmVsIiwgb3RoZXJEYXRhKTsK
LVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhTGV2ZWwg
PCAtID4gYXJpYS1sZXZlbAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAog
UEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVt
ZW50WyJhcmlhTGV2ZWwiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbGV2
ZWwiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJE
YXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQog
CiBUZXN0IGFyaWFMaXZlIDwgLSA+IGFyaWEtbGl2ZQogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9w
ZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRl
KSBpcyBudWxsCi1lbGVtZW50WyJhcmlhTGl2ZSJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJp
YnV0ZSgiYXJpYS1saXZlIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVy
dHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJE
YXRhUHJvcGVydHkKIAogVGVzdCBhcmlhTW9kYWwgPCAtID4gYXJpYS1tb2RhbAogUEFTUyBlbGVt
ZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShj
dXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhTW9kYWwiXSA9IGRhdGE7Ci1Q
QVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1Mg
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQog
ZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbW9kYWwiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVt
ZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFNdWx0aUxpbmUgPCAtID4g
YXJpYS1tdWx0aWxpbmUKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBB
U1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVu
dFsiYXJpYU11bHRpTGluZSJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1t
dWx0aWxpbmUiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMg
b3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9w
ZXJ0eQogCiBUZXN0IGFyaWFNdWx0aVNlbGVjdGFibGUgPCAtID4gYXJpYS1tdWx0aXNlbGVjdGFi
bGUKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5n
ZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYU11bHRp
U2VsZWN0YWJsZSJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmli
dXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1tdWx0aXNl
bGVjdGFibGUiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMg
b3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9w
ZXJ0eQogCiBUZXN0IGFyaWFPcmllbnRhdGlvbiA8IC0gPiBhcmlhLW9yaWVudGF0aW9uCiBQQVNT
IGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFPcmllbnRhdGlvbiJd
ID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMg
ZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRh
QXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1vcmllbnRhdGlvbiIsIG90aGVy
RGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJp
YVBsYWNlaG9sZGVyIDwgLSA+IGFyaWEtcGxhY2Vob2xkZXIKIFBBU1MgZWxlbWVudFtjdXJyZW50
UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJp
YnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVBsYWNlaG9sZGVyIl0gPSBkYXRhOwotUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1l
bnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1l
bnQuc2V0QXR0cmlidXRlKCJhcmlhLXBsYWNlaG9sZGVyIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQ
cm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhUG9zSW5TZXQgPCAtID4g
YXJpYS1wb3NpbnNldAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFT
UyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50
WyJhcmlhUG9zSW5TZXQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtcG9z
aW5zZXQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3Ro
ZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0
eQogCiBUZXN0IGFyaWFQcmVzc2VkIDwgLSA+IGFyaWEtcHJlc3NlZAogUEFTUyBlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhUHJlc3NlZCJdID0gZGF0YTsKLVBBU1Mg
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVt
ZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVt
ZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1wcmVzc2VkIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9w
ZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhUmVhZE9ubHkgPCAtID4gYXJp
YS1yZWFkb25seQogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJh
cmlhUmVhZE9ubHkiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJp
YnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtcmVhZG9u
bHkiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJE
YXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQog
CiBUZXN0IGFyaWFSZWxldmFudCA8IC0gPiBhcmlhLXJlbGV2YW50CiBQQVNTIGVsZW1lbnRbY3Vy
cmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFSZWxldmFudCJdID0gZGF0YTsKLVBBU1Mg
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVt
ZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVt
ZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1yZWxldmFudCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1l
bnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJv
cGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVJlcXVpcmVkIDwgLSA+IGFy
aWEtcmVxdWlyZWQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1Mg
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsi
YXJpYVJlcXVpcmVkIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRy
aWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXJlcXVp
cmVkIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVy
RGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkK
IAogVGVzdCBhcmlhUm9sZURlc2NyaXB0aW9uIDwgLSA+IGFyaWEtcm9sZWRlc2NyaXB0aW9uCiBQ
QVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0
cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFSb2xlRGVzY3Jp
cHRpb24iXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1
dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkg
aXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtcm9sZWRlc2NyaXB0
aW9uIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVy
RGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkK
IAogVGVzdCBhcmlhUm93Q291bnQgPCAtID4gYXJpYS1yb3djb3VudAogUEFTUyBlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhUm93Q291bnQiXSA9IGRhdGE7Ci1QQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxl
bWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxl
bWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtcm93Y291bnQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVt
ZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFSb3dJbmRleCA8IC0gPiBh
cmlhLXJvd2luZGV4CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRb
ImFyaWFSb3dJbmRleCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVu
dEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0
cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1yb3dp
bmRleCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhl
ckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5
CiAKIFRlc3QgYXJpYVJvd1NwYW4gPCAtID4gYXJpYS1yb3dzcGFuCiBQQVNTIGVsZW1lbnRbY3Vy
cmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFSb3dTcGFuIl0gPSBkYXRhOwotUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1l
bnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1l
bnQuc2V0QXR0cmlidXRlKCJhcmlhLXJvd3NwYW4iLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFTZWxlY3RlZCA8IC0gPiBhcmlh
LXNlbGVjdGVkCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVs
ZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFy
aWFTZWxlY3RlZCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmli
dXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1zZWxlY3Rl
ZCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRh
dGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAK
IFRlc3QgYXJpYVNldFNpemUgPCAtID4gYXJpYS1zZXRzaXplCiBQQVNTIGVsZW1lbnRbY3VycmVu
dFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRy
aWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFTZXRTaXplIl0gPSBkYXRhOwotUEFTUyBlbGVt
ZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQu
c2V0QXR0cmlidXRlKCJhcmlhLXNldHNpemUiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFTb3J0IDwgLSA+IGFyaWEtc29ydAog
UEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhU29ydCJdID0g
ZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0
YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0
cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1zb3J0Iiwgb3RoZXJEYXRhKTsKLVBB
U1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhVmFsdWVNYXgg
PCAtID4gYXJpYS12YWx1ZW1heAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVs
bAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1l
bGVtZW50WyJhcmlhVmFsdWVNYXgiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRl
KGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFy
aWEtdmFsdWVtYXgiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0g
aXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQ
cm9wZXJ0eQogCiBUZXN0IGFyaWFWYWx1ZU1pbiA8IC0gPiBhcmlhLXZhbHVlbWluCiBQQVNTIGVs
ZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRl
KGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFWYWx1ZU1pbiJdID0gZGF0
YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQor
UEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmli
dXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS12YWx1ZW1pbiIsIG90aGVyRGF0YSk7Ci1Q
QVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtj
dXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVZhbHVlTm93
IDwgLSA+IGFyaWEtdmFsdWVub3cKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51
bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAot
ZWxlbWVudFsiYXJpYVZhbHVlTm93Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0
ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1
cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJh
cmlhLXZhbHVlbm93Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHld
IGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRh
UHJvcGVydHkKIAogVGVzdCBhcmlhVmFsdWVUZXh0IDwgLSA+IGFyaWEtdmFsdWV0ZXh0CiBQQVNT
IGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFWYWx1ZVRleHQiXSA9
IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRh
dGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0
dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtdmFsdWV0ZXh0Iiwgb3RoZXJEYXRh
KTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVt
ZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogCi1QQVNTIGNvdW50
IGlzIDM4CitQQVNTIGNvdW50IGlzIDQwCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkv
QVJJQS1yZWZsZWN0aW9uLmh0bWwgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L0FSSUEtcmVm
bGVjdGlvbi5odG1sCmluZGV4IDMyM2IxODljNGUzZTQwMWE0ZmZkNTZkNGNmZWU0NjQ3MjlhZmY5
MTguLjkzYTliN2ExN2Y5YTQ0ZTRjZDExYmVjYTk2OWYwY2U1Nzc2OWNlZWUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvQVJJQS1yZWZsZWN0aW9uLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rpb24uaHRtbApAQCAtNSw3ICs1LDgg
QEAKIDxkaXYgaWQ9ImNvbnRlbnQiPgogCiA8ZGl2IGlkPSJ0ZXN0IiBkYXRhPSJzb21lIGRhdGEi
PgotCisgIDxkaXYgaWQ9ImZpcnN0Q2hpbGQiPjwvZGl2PgorICA8ZGl2IGlkPSJzZWNvbmRDaGls
ZCI+PC9kaXY+CiA8L2Rpdj4KIAogPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+CkBAIC0yMSwyMiAr
MjIsNDAgQEAKICAgICB2YXIgY3VycmVudFByb3BlcnR5OwogICAgIHZhciBjdXJyZW50QXR0cmli
dXRlOwogCisgICAgZnVuY3Rpb24gaXNFbGVtZW50UmVmbGVjdGlvblByb3BlcnR5KHByb3BlcnR5
KSB7CisgICAgICAgIHN3aXRjaCAocHJvcGVydHkpIHsKKyAgICAgICAgICAgIGNhc2UgImFyaWFB
Y3RpdmVEZXNjZW5kYW50RWxlbWVudCI6CisgICAgICAgICAgICBjYXNlICJhcmlhRXJyb3JNZXNz
YWdlRWxlbWVudCI6CisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKworICAgIGZ1bmN0aW9uIGNvbnZlcnRQcm9wZXJ0
eVRvQXR0cmlidXRlKHByb3BlcnR5KSB7CisgICAgICAgIGlmIChpc0VsZW1lbnRSZWZsZWN0aW9u
UHJvcGVydHkocHJvcGVydHkpKQorICAgICAgICAgIHByb3BlcnR5ID0gcHJvcGVydHkucmVwbGFj
ZSgiRWxlbWVudCIsICIiKTsKKyAgICAgICAgcmV0dXJuIHByb3BlcnR5LnJlcGxhY2UoImFyaWEi
LCAiYXJpYS0iKS50b0xvd2VyQ2FzZSgpOworICAgIH0KKwogICAgIGZ1bmN0aW9uIHRlc3RFbGVt
ZW50KCkgewotICAgICAgICBjdXJyZW50QXR0cmlidXRlID0gY3VycmVudFByb3BlcnR5LnJlcGxh
Y2UoImFyaWEiLCAiYXJpYS0iKS50b0xvd2VyQ2FzZSgpOwotICAgICAgICAKKyAgICAgICAgY3Vy
cmVudEF0dHJpYnV0ZSA9IGNvbnZlcnRQcm9wZXJ0eVRvQXR0cmlidXRlKGN1cnJlbnRQcm9wZXJ0
eSk7CisKICAgICAgICAgZGVidWcoIlxuVGVzdCAiICsgY3VycmVudFByb3BlcnR5ICsgIiA8IC0g
PiAiICsgY3VycmVudEF0dHJpYnV0ZSk7CiAgICAgICAgIHNob3VsZEJlTnVsbCgiZWxlbWVudFtj
dXJyZW50UHJvcGVydHldIik7CiAgICAgICAgIHNob3VsZEJlTnVsbCgiZWxlbWVudC5nZXRBdHRy
aWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkiKTsKLSAgICAgICAgCisKICAgICAgICAgLy8gU2V0IHRo
ZSBwcm9wZXJ0eSB2YWx1ZQotICAgICAgICBkZWJ1ZygiZWxlbWVudFtcIiIgKyBjdXJyZW50UHJv
cGVydHkgKyAiXCJdID0gZGF0YTsiKTsKLSAgICAgICAgZWxlbWVudFtjdXJyZW50UHJvcGVydHld
ID0gZGF0YTsKLSAgICAgICAgc2hvdWxkQmUoImVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIiwgImRhdGEiKTsKKyAgICAgICAgZGF0YVByb3BlcnR5ID0gaXNFbGVtZW50UmVm
bGVjdGlvblByb3BlcnR5KGN1cnJlbnRQcm9wZXJ0eSkgPyBmaXJzdENoaWxkIDogZGF0YTsKKyAg
ICAgICAgZGF0YUF0dHJpYnV0ZSA9IGlzRWxlbWVudFJlZmxlY3Rpb25Qcm9wZXJ0eShjdXJyZW50
UHJvcGVydHkpID8gZmlyc3RDaGlsZC5pZCA6IGRhdGE7CisgICAgICAgIGVsZW1lbnRbY3VycmVu
dFByb3BlcnR5XSA9IGRhdGFQcm9wZXJ0eTsKKyAgICAgICAgc2hvdWxkQmUoImVsZW1lbnQuZ2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIiwgImRhdGFBdHRyaWJ1dGUiKTsKIAogICAgICAg
ICAvLyBTZXQgdGhlIGF0dHJpYnV0ZSB2YWx1ZQorICAgICAgICBvdGhlckRhdGFQcm9wZXJ0eSA9
IGlzRWxlbWVudFJlZmxlY3Rpb25Qcm9wZXJ0eShjdXJyZW50UHJvcGVydHkpID8gc2Vjb25kQ2hp
bGQgOiBvdGhlckRhdGE7CisgICAgICAgIG90aGVyRGF0YUF0dHJpYnV0ZSA9IGlzRWxlbWVudFJl
ZmxlY3Rpb25Qcm9wZXJ0eShjdXJyZW50UHJvcGVydHkpID8gc2Vjb25kQ2hpbGQuaWQgOiBvdGhl
ckRhdGE7CiAgICAgICAgIGRlYnVnKCJlbGVtZW50LnNldEF0dHJpYnV0ZShcIiIgKyBjdXJyZW50
QXR0cmlidXRlICsgIlwiLCBvdGhlckRhdGEpOyIpOwotICAgICAgICBlbGVtZW50LnNldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlLCBvdGhlckRhdGEpOwotICAgICAgICBzaG91bGRCZSgiZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIiwgIm90aGVyRGF0YSIpOworICAgICAgICBlbGVtZW50LnNl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlLCBvdGhlckRhdGFBdHRyaWJ1dGUpOworICAgICAg
ICBzaG91bGRCZSgiZWxlbWVudFtjdXJyZW50UHJvcGVydHldIiwgIm90aGVyRGF0YVByb3BlcnR5
Iik7CiAgICAgfQogCiAgICAgZnVuY3Rpb24gdGVzdFJvbGUoKSB7CkBAIC01OSw3ICs3OCw3IEBA
CiAgICAgICAgIH0KIAogICAgICAgICBkZWJ1ZygiXG4iKTsKLSAgICAgICAgc2hvdWxkQmUoImNv
dW50IiwgIjM4Iik7CisgICAgICAgIHNob3VsZEJlKCJjb3VudCIsICI0MCIpOwogCiAgICAgfSBl
bHNlIHsKICAgICAgICAgdGVzdEZhaWxlZCgiQ291bGQgbm90IGxvYWQgYWNjZXNzaWJpbGl0eSBj
b250cm9sbGVyIik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50YXRpdmUt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLWV4cGVjdGVkLnR4
dAppbmRleCBkY2EzMThiMDk4NTNhYmJhOTdkNWRmNzViZjM0M2JjMTUzNTg3YWMwLi4xNjc4MDY0
NzE2N2Y0NmFhNWQwY2MxNDYzYTkzZTIwMGEyY2RkY2MxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQt
cmVmbGVjdGlvbi50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL2FyaWEtZWxlbWVudC1yZWZsZWN0
aW9uLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKQEAgLTksMTAgKzksNyBAQCBGaXJzdCBkZXNjcmlw
dGlvbi4KIFNlY29uZCBkZXNjcmlwdGlvbi4KIEl0ZW0gMQogSXRlbSAyCi1JdGVtIDEKLUl0ZW0g
MgogSGVsbG8gd29ybGQhCi1JIGFtIGFuIGFwcGxlCiBJIGFtIGEgcGVhcgogSSBhbSBhIGJhbmFu
YQogQmlsbGluZwpAQCAtNDcsMTcgKzQ0LDE3IEBAIFdvbmRlcmZ1bAogRmFudGFzdGljCiAKIAot
RkFJTCBhcmlhLWFjdGl2ZWRlc2NlbmRhbnQgZWxlbWVudCByZWZsZWN0aW9uIGFzc2VydF9lcXVh
bHM6IGludmFsaWQgSUQgZm9yIHJlbGF0aW9uc2hpcCByZXR1cm5zIG51bGwgZXhwZWN0ZWQgKG9i
amVjdCkgbnVsbCBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJTCBJZiB0aGUgY29u
dGVudCBhdHRyaWJ1dGUgaXMgc2V0IGRpcmVjdGx5LCB0aGUgSURMIGF0dHJpYnV0ZSBnZXR0ZXIg
YWx3YXlzIHJldHVybnMgdGhlIGZpcnN0IGVsZW1lbnQgd2hvc2UgSUQgbWF0Y2hlcyB0aGUgY29u
dGVudCBhdHRyaWJ1dGUuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChvYmplY3QpIEVsZW1lbnQg
bm9kZSA8ZGl2IHJvbGU9Im9wdGlvbiIgaWQ9Im9wdGlvbjEiPkl0ZW0gMTwvZGl2PiBidXQgZ290
ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJTCBTZXR0aW5nIHRoZSBJREwgYXR0cmlidXRlIHRv
IGFuIGVsZW1lbnQgd2hpY2ggaXMgbm90IHRoZSBmaXJzdCBlbGVtZW50IGluIERPTSBvcmRlciB3
aXRoIGl0cyBJRCBjYXVzZXMgdGhlIGNvbnRlbnQgYXR0cmlidXRlIHRvIGJlIGFuIGVtcHR5IHN0
cmluZyBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKLUZBSUwgU2V0dGluZyBh
biBlbGVtZW50IHJlZmVyZW5jZSB0aGF0IGNyb3NzZXMgaW50byBhIHNoYWRvdyB0cmVlIGlzIGRp
c2FsbG93ZWQsIGJ1dCBzZXR0aW5nIG9uZSB0aGF0IGlzIGluIGEgc2hhZG93IGluY2x1c2l2ZSBh
bmNlc3RvciBpcyBhbGxvd2VkLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAob2JqZWN0KSBudWxs
IGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1GQUlMIGFyaWEtZXJyb3JtZXNzYWdlIGFz
c2VydF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICJlcnJvck1lc3NhZ2UiIGJ1dCBnb3QgKG9i
amVjdCkgbnVsbAorUEFTUyBhcmlhLWFjdGl2ZWRlc2NlbmRhbnQgZWxlbWVudCByZWZsZWN0aW9u
CitQQVNTIElmIHRoZSBjb250ZW50IGF0dHJpYnV0ZSBpcyBzZXQgZGlyZWN0bHksIHRoZSBJREwg
YXR0cmlidXRlIGdldHRlciBhbHdheXMgcmV0dXJucyB0aGUgZmlyc3QgZWxlbWVudCB3aG9zZSBJ
RCBtYXRjaGVzIHRoZSBjb250ZW50IGF0dHJpYnV0ZS4KK1BBU1MgU2V0dGluZyB0aGUgSURMIGF0
dHJpYnV0ZSB0byBhbiBlbGVtZW50IHdoaWNoIGlzIG5vdCB0aGUgZmlyc3QgZWxlbWVudCBpbiBE
T00gb3JkZXIgd2l0aCBpdHMgSUQgY2F1c2VzIHRoZSBjb250ZW50IGF0dHJpYnV0ZSB0byBiZSBh
biBlbXB0eSBzdHJpbmcKK1BBU1MgU2V0dGluZyBhbiBlbGVtZW50IHJlZmVyZW5jZSB0aGF0IGNy
b3NzZXMgaW50byBhIHNoYWRvdyB0cmVlIGlzIGRpc2FsbG93ZWQsIGJ1dCBzZXR0aW5nIG9uZSB0
aGF0IGlzIGluIGEgc2hhZG93IGluY2x1c2l2ZSBhbmNlc3RvciBpcyBhbGxvd2VkLgorUEFTUyBh
cmlhLWVycm9ybWVzc2FnZQogRkFJTCBhcmlhLWRldGFpbHMgYXNzZXJ0X2FycmF5X2VxdWFsczog
dmFsdWUgaXMgdW5kZWZpbmVkLCBleHBlY3RlZCBhcnJheQotRkFJTCBEZWxldGluZyBhIHJlZmxl
Y3RlZCBlbGVtZW50IHNob3VsZCByZXR1cm4gbnVsbCBmb3IgdGhlIElETCBhdHRyaWJ1dGUgYW5k
IGNhdXNlIHRoZSBjb250ZW50IGF0dHJpYnV0ZSB0byBiZWNvbWUgc3RhbGUuIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkIChvYmplY3QpIEVsZW1lbnQgbm9kZSA8ZGl2IHJvbGU9Im9wdGlvbiIgaWQ9
ImNvbnRlbnRBdHRyRWxlbWVudCI+SXRlbSAxPC9kaXY+IGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5k
ZWZpbmVkCi1GQUlMIENoYW5naW5nIHRoZSBJRCBvZiBhbiBlbGVtZW50IGNhdXNlcyB0aGUgY29u
dGVudCBhdHRyaWJ1dGUgdG8gYmVjb21lIG91dCBvZiBzeW5jLiBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAob2JqZWN0KSBFbGVtZW50IG5vZGUgPGRpdiByb2xlPSJvcHRpb24iIGlkPSJjaGFuZ2lu
Z0lkRWxlbWVudCI+SXRlbSAxPC9kaXY+IGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVkCi1G
QUlMIFJlcGFyZW50aW5nIGFuIGVsZW1lbnQgaW50byBhIGRlc2NlbmRhbnQgc2hhZG93IHNjb3Bl
IGhpZGVzIHRoZSBlbGVtZW50IHJlZmVyZW5jZS4gYXNzZXJ0X2VxdWFsczogbnVsbCBiZWZvcmUg
ZXhwZWN0ZWQgKG9iamVjdCkgbnVsbCBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJ
TCBSZXBhcmVudGluZyByZWZlcmVuY2VkIGVsZW1lbnQgY2Fubm90IGNhdXNlIHJldGFyZ2V0aW5n
IG9mIHJlZmVyZW5jZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKHN0cmluZykgImFwcGxlIiBi
dXQgZ290IChvYmplY3QpIG51bGwKLUZBSUwgRWxlbWVudCByZWZlcmVuY2Ugc2V0IGluIGludmFs
aWQgc2NvcGUgcmVtYWlucyBpbnRhY3QgdGhyb3VnaG91dCBtb3ZlIHRvIHZhbGlkIHNjb3BlLiBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCBudWxsIGJ1dCBnb3QgRWxlbWVudCBub2RlIDxkaXYgaWQ9
InRvYXN0Ij48L2Rpdj4KK1BBU1MgRGVsZXRpbmcgYSByZWZsZWN0ZWQgZWxlbWVudCBzaG91bGQg
cmV0dXJuIG51bGwgZm9yIHRoZSBJREwgYXR0cmlidXRlIGFuZCBjYXVzZSB0aGUgY29udGVudCBh
dHRyaWJ1dGUgdG8gYmVjb21lIHN0YWxlLgorUEFTUyBDaGFuZ2luZyB0aGUgSUQgb2YgYW4gZWxl
bWVudCBjYXVzZXMgdGhlIGNvbnRlbnQgYXR0cmlidXRlIHRvIGJlY29tZSBvdXQgb2Ygc3luYy4K
K1BBU1MgUmVwYXJlbnRpbmcgYW4gZWxlbWVudCBpbnRvIGEgZGVzY2VuZGFudCBzaGFkb3cgc2Nv
cGUgaGlkZXMgdGhlIGVsZW1lbnQgcmVmZXJlbmNlLgorUEFTUyBSZXBhcmVudGluZyByZWZlcmVu
Y2VkIGVsZW1lbnQgY2Fubm90IGNhdXNlIHJldGFyZ2V0aW5nIG9mIHJlZmVyZW5jZS4KK1BBU1Mg
RWxlbWVudCByZWZlcmVuY2Ugc2V0IGluIGludmFsaWQgc2NvcGUgcmVtYWlucyBpbnRhY3QgdGhy
b3VnaG91dCBtb3ZlIHRvIHZhbGlkIHNjb3BlLgogRkFJTCBhcmlhLWxhYmVsbGVkYnkuIGFzc2Vy
dF9hcnJheV9lcXVhbHM6IHBhcnNlZCBjb250ZW50IGF0dHJpYnV0ZSBzZXRzIGVsZW1lbnQgcmVm
ZXJlbmNlcy4gdmFsdWUgaXMgdW5kZWZpbmVkLCBleHBlY3RlZCBhcnJheQogRkFJTCBhcmlhLWNv
bnRyb2xzLiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyB1bmRlZmluZWQsIGV4cGVjdGVk
IGFycmF5CiBGQUlMIGFyaWEtZGVzY3JpYmVkYnkuIGFzc2VydF9hcnJheV9lcXVhbHM6IHZhbHVl
IGlzIHVuZGVmaW5lZCwgZXhwZWN0ZWQgYXJyYXkKQEAgLTY3LDYgKzY0LDcgQEAgRkFJTCBzaGFk
b3cgRE9NIGJlaGF2aW91ciBmb3IgRnJvemVuQXJyYXkgZWxlbWVudCByZWZsZWN0aW9uLiBhc3Nl
cnRfYXJyYXlfZXF1YWwKIEZBSUwgTW92aW5nIGV4cGxpY2l0bHkgc2V0IGVsZW1lbnRzIGFjcm9z
cyBzaGFkb3cgRE9NIGJvdW5kYXJpZXMuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcp
ICJidXR0b25EZXNjcmlwdGlvbjEgYnV0dG9uRGVzY3JpcHRpb24yIiBidXQgZ290IChvYmplY3Qp
IG51bGwKIEZBSUwgTW92aW5nIGV4cGxpY2l0bHkgc2V0IGVsZW1lbnRzIGFyb3VuZCB3aXRoaW4g
dGhlIHNhbWUgc2NvcGUsIGFuZCByZW1vdmluZyBmcm9tIHRoZSBET00uIGFzc2VydF9hcnJheV9l
cXVhbHM6IGFyaWEtbGFiZWxlZCBieSBpcyBzdXBwb3J0ZWQgYnkgSURMIGdldHRlci4gdmFsdWUg
aXMgdW5kZWZpbmVkLCBleHBlY3RlZCBhcnJheQogUEFTUyBSZXBhcmVudGluZy4KLUZBSUwgQXR0
YWNoaW5nIGVsZW1lbnQgcmVmZXJlbmNlIGJlZm9yZSBpdCdzIGluc2VydGVkIGludG8gdGhlIERP
TS4gYXNzZXJ0X2VxdWFsczogUmVmZXJlbmNlZCBlbGVtZW50IG5vdCBpbnNlcnRlZCBpbnRvIGRv
Y3VtZW50LCBzbyBpcyBpbiBhbiBpbnZhbGlkIHNjb3BlLiBleHBlY3RlZCBudWxsIGJ1dCBnb3Qg
RWxlbWVudCBub2RlIDxzcGFuIGlkPSJ0b1NwYW4iPjwvc3Bhbj4KLUZBSUwgQ3Jvc3MtZG9jdW1l
bnQgcmVmZXJlbmNlcyBhbmQgbW92ZXMuIGFzc2VydF9lcXVhbHM6IENyb3NzLWRvY3VtZW50IGlz
IGFuIGludmFsaWQgc2NvcGUsIHNvIHJlZmVyZW5jZSB3aWxsIG5vdCBiZSB2aXNpYmxlLiBleHBl
Y3RlZCBudWxsIGJ1dCBnb3QgRWxlbWVudCBub2RlIDxzcGFuPjwvc3Bhbj4KK1BBU1MgQXR0YWNo
aW5nIGVsZW1lbnQgcmVmZXJlbmNlIGJlZm9yZSBpdCdzIGluc2VydGVkIGludG8gdGhlIERPTS4K
K1BBU1MgQ3Jvc3MtZG9jdW1lbnQgcmVmZXJlbmNlcyBhbmQgbW92ZXMuCitQQVNTIEFkb3B0aW5n
IGVsZW1lbnQga2VlcHMgcmVmZXJlbmNlcy4KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxl
Y3Rpb24udGVudGF0aXZlLmh0bWwgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50YXRpdmUuaHRt
bAppbmRleCA3NzZmZmYzMTQzMjJiOTAwNGUxZTY3ODNjNjI2YzAzNTZjYThmMGE3Li5lYmQyNjk1
YjIzYjY5OGVmZWQzZGFkYzBkMzAzNzhmMzQ2ZGVmMTYyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQt
cmVmbGVjdGlvbi50ZW50YXRpdmUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50
YXRpdmUuaHRtbApAQCAtMTY0LDYgKzE2NCw3IEBACiAgIDxzY3JpcHQ+CiAKICAgdGVzdChmdW5j
dGlvbih0KSB7CisgICAgY29uc3QgY29udGVudEF0dHJFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImNvbnRlbnRBdHRyRWxlbWVudCIpOwogICAgIGNvbnN0IGlkbEF0dHJFbGVtZW50
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlkbEF0dHJFbGVtZW50Iik7CiAKICAgICBhc3Nl
cnRfZXF1YWxzKGRlbGV0aW9uUGFyZW50LmdldEF0dHJpYnV0ZSgiYXJpYS1hY3RpdmVkZXNjZW5k
YW50IiksICJjb250ZW50QXR0ckVsZW1lbnQiKTsKQEAgLTcwNyw2ICs3MDgsMjQgQEAKICAgICB9
LCAiQ3Jvc3MtZG9jdW1lbnQgcmVmZXJlbmNlcyBhbmQgbW92ZXMuIik7CiAgIDwvc2NyaXB0Pgog
CisKKyAgPHNjcmlwdD4KKyAgICB0ZXN0KGZ1bmN0aW9uKHQpIHsKKyAgICAgIGNvbnN0IG90aGVy
RG9jID0gZG9jdW1lbnQuaW1wbGVtZW50YXRpb24uY3JlYXRlSFRNTERvY3VtZW50KCdvdGhlckRv
YycpOworICAgICAgY29uc3Qgb3RoZXJEb2NEaXYgPSBvdGhlckRvYy5jcmVhdGVFbGVtZW50KCdk
aXYnKTsKKyAgICAgIGNvbnN0IG90aGVyRG9jU3BhbiA9IG90aGVyRG9jLmNyZWF0ZUVsZW1lbnQo
J3NwYW4nKTsKKyAgICAgIG90aGVyRG9jRGl2LmFwcGVuZENoaWxkKG90aGVyRG9jU3Bhbik7Cisg
ICAgICBvdGhlckRvYy5ib2R5LmFwcGVuZENoaWxkKG90aGVyRG9jRGl2KTsKKworICAgICAgb3Ro
ZXJEb2NEaXYuYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50ID0gb3RoZXJEb2NTcGFuOworICAg
ICAgYXNzZXJ0X2VxdWFscyhvdGhlckRvY0Rpdi5hcmlhQWN0aXZlRGVzY2VuZGFudEVsZW1lbnQs
IG90aGVyRG9jU3BhbiwgIlNldHRpbmcgcmVmZXJlbmNlIG9uIGEgZGlmZmVyZW50IGRvY3VtZW50
LiIpOworCisgICAgICAvLyBBZG9wdCBlbGVtZW50IGZyb20gb3RoZXIgb2R1Y21lbnQuCisgICAg
ICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRvY3VtZW50LmFkb3B0Tm9kZShvdGhlckRvY0Rp
dikpOworICAgICAgYXNzZXJ0X2VxdWFscyhvdGhlckRvY0Rpdi5hcmlhQWN0aXZlRGVzY2VuZGFu
dEVsZW1lbnQsIG90aGVyRG9jU3BhbiwgIlJlZmVyZW5jZSBzaG91bGQgYmUga2VwdCBvbiB0aGUg
bmV3IGRvY3VtZW50ZSB0b28uIik7CisgICAgfSwgIkFkb3B0aW5nIGVsZW1lbnQga2VlcHMgcmVm
ZXJlbmNlcy4iKTsKKyAgPC9zY3JpcHQ+CisKICAgPCEtLSBUT0RPKGNocmlzaGFsbCk6IGFkZCBh
ZGRpdGlvbmFsIEdDIHRlc3QgY292ZXJpbmc6CiAgICAgICAgaWYgYW4gZWxlbWVudCBpcyBpbiBh
biBpbnZhbGlkIHNjb3BlIGJ1dCBhdHRhY2hlZCB0byB0aGUgZG9jdW1lbnQsIGl0J3MKICAgICAg
ICBub3QgR0MnZDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458777</attachid>
            <date>2022-05-04 01:47:23 -0700</date>
            <delta_ts>2022-05-04 07:37:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239852-20220504104722.patch</filename>
            <type>text/plain</type>
            <size>52273</size>
            <attacher name="Manuel Rego Casasnovas">rego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNDk4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGRhMjFhYjkzZTYyMDczYWRhNmQyNjEz
YjZhMmE3NmY4NDRmYzEzMzguLmVhYjMzNjZhNmE0YzZmYjNjNTU1ZGZhZDg0YTMxM2IzMDEzZGU1
YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjItMDUtMDIgIE1hbnVlbCBSZWdvIENhc2Fzbm92
YXMgIDxyZWdvQGlnYWxpYS5jb20+CisKKyAgICAgICAgQVJJQSByZWZsZWN0aW9uIGZvciBFbGVt
ZW50IGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzOTg1MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIEFkZCBuZXcgcnVudGltZSBmbGFnIEFyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVy
ZW5jZXNFbmFibGVkLgorCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJl
bmNlc0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIyLTA0LTI2ICBNYW51ZWwgUmVnbyBDYXNhc25v
dmFzICA8cmVnb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFJlbW92ZSBBcmlhUmVmbGVjdGlvbkVu
YWJsZWQgcnVudGltZSBmbGFnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2M0ZjhhZDU3NDljYzliNTAyM2E4ZmVj
ZTAyYzc3MGIxMTA4YTBlYi4uOTY4MThiNDEzODdiM2ExNTI4YjM2YWZmNDczYTk0YWM1M2M2Y2I4
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY2IEBACisyMDIyLTA1LTAyICBNYW51ZWwgUmVnbyBD
YXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIEFSSUEgcmVmbGVjdGlvbiBm
b3IgRWxlbWVudCBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzk4NTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBJbXBsZW1lbnQgQVJJQSByZWZsZWN0aW9uIGZvciBhdHRyaWJ1dGVzIHRo
YXQgcmVmZXIgdG8gYSBzaW5nbGUgRWxlbWVudDoKKyAgICAgICAgYXJpYS1hY3RpdmVkZXNjZW5k
YW50ICYgYXJpYS1lcnJvcm1lc3NhZ2UuCisgICAgICAgIEZvciB0aGUgcHJvcGVydGllcyBuYW1l
cyB0aGlzIHBhdGNoIHVzZXMgIkVsZW1lbnQiIHN1ZmZpeDoKKyAgICAgICAgYXJpYUFjdGl2ZURl
c2NlbmRhbnRFbGVtZW50ICYgYXJpYUVycm9yTWVzc2FnZUVsZW1lbnQ7CisgICAgICAgIHRoaXMg
bWF0Y2hlcyBDaHJvbWl1bSBpbXBsZW1lbnRhdGlvbiBhbmQgQU9NIGV4cGxhaW5lciwgYnV0IG5v
dCBBT00gc3BlYzoKKyAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL3czYy9hcmlhL2lzc3Vlcy8x
NzMyCisKKyAgICAgICAgVGhpcyBpbXBsZW1lbnRhdGlvbiBpcyBkb25lIGZvbGxvd2luZyB0aGUg
cHJvcG9zZWQgc3BlYyB0ZXh0IGRlZmluZWQgYXQ6CisgICAgICAgIGh0dHBzOi8vZ2l0aHViLmNv
bS93aGF0d2cvaHRtbC9wdWxsLzM5MTcKKworICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQXJpYUF0
dHJpYnV0ZXMuaWRsOiBBZGQgYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50ICYKKyAgICAgICAg
YXJpYUVycm9yTWVzc2FnZUVsZW1lbnQuCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy9Db2Rl
R2VuZXJhdG9yLnBtOgorICAgICAgICAoR2V0dGVyRXhwcmVzc2lvbik6IEFkZCBmdW5jdGlvbiBm
b3IgRWxlbWVudCBhdHRyaWJ1dGVzLgorICAgICAgICAoU2V0dGVyRXhwcmVzc2lvbik6IERpdHRv
LgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwOiBBZGQg
dGVzdHMgZm9yIGVsZW1lbnQKKyAgICAgICAgYXR0cmlidXRlIHJlZmxlY3Rpb24uCisgICAgICAg
IChXZWJDb3JlOjpKU1Rlc3RPYmpET01Db25zdHJ1Y3Rvcjo6Y29uc3RydWN0KToKKyAgICAgICAg
KFdlYkNvcmU6OmpzVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0ckdldHRlcik6CisgICAgICAg
IChXZWJDb3JlOjpKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIpOgorICAgICAgICAoV2ViQ29yZTo6
c2V0SlNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRyU2V0dGVyKToKKyAgICAgICAgKFdlYkNv
cmU6OkpTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUik6CisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0
cy90ZXN0L1Rlc3RPYmouaWRsOiBBZGQgcmVmbGVjdGVkRWxlbWVudEF0dHIKKyAgICAgICAgYXR0
cmlidXRlLgorICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omlz
RWxlbWVudFJlZmxlY3Rpb25BdHRyaWJ1dGUpOiBVdGlsaXR5IGZ1bmN0aW9uIHRvIGlkZW50aWZ5
CisgICAgICAgIEVsZW1lbnQgcmVmbGVjdGlvbiBhdHRyaWJ1dGVzLgorICAgICAgICAoV2ViQ29y
ZTo6RWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZCk6IElmIGFuIGVsZW1lbnQgcmVmbGVjdGlvbgor
ICAgICAgICBhdHRyaWJ1dGUgaGFzIGNoYW5nZWQgd2UgbmVlZCB0byBzeW5jaHJvbml6ZSB0aGUg
bWFwIGVudHJ5IGJ5IHJlbW92aW5nCisgICAgICAgIGl0IGFzIGl0J2xsIGJlIHByb3Blcmx5IHVw
ZGF0ZWQgaW4gc2V0RWxlbWVudEF0dHJpYnV0ZSgpIHdoZW4gbmVlZGVkLgorICAgICAgICAoV2Vi
Q29yZTo6RWxlbWVudDo6ZW5zdXJlRXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCk6IEtpbmQg
b2YgZ2V0dGVyCisgICAgICAgIGZvciB0aGUgRXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCBi
dXQgdGhhdCBjcmVhdGVzIHRoZSBtYXAgaWYgaXQKKyAgICAgICAgZG9lc24ndCBleGlzdCB5ZXQu
CisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50OjpleHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFw
IGNvbnN0KTogR2V0dGVyIGZvciB0aGUKKyAgICAgICAgbWFwLgorICAgICAgICAoV2ViQ29yZTo6
RWxlbWVudDo6aXNEZXNjZW5kYW50T2ZTaGFkb3dJbmNsdWRpbmdBbmNlc3RvcnMgY29uc3QpOgor
ICAgICAgICBVdGlsaXR5IG1ldGhvZCB0byBkZXRlY3QgaWYgYW4gZWxlbWVudCBpcyBhIGRlc2Nl
bmRhbnQgb2YgYW55IG9mCisgICAgICAgIGVsZW1lbnQncyBzaGFkb3ctaW5jbHVkaW5nIGFuY2Vz
dG9ycy4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmdldEVsZW1lbnRBdHRyaWJ1dGUgY29u
c3QpOiBJbXBsZW1lbnQgZ2V0dGVyIGZvcgorICAgICAgICBlbGVtZW50IGF0dHJpYnV0ZS4KKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNldEVsZW1lbnRBdHRyaWJ1dGUpOiBJbXBsZW1lbnQg
c2V0dGVyIGZvcgorICAgICAgICBlbGVtZW50IGF0dHJpYnV0ZS4KKyAgICAgICAgKiBkb20vRWxl
bWVudC5oOiBBZGQgbmV3IG1ldGhvZCBoZWFkZXJzIGFuZCBkZWZpbmVzIHRoZQorICAgICAgICBF
eHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwLCB3aGljaCBzbyBmYXIgb25seSBzdG9yZXMgb25l
IEVsZW1lbnQgaW4KKyAgICAgICAgdGhlIFZlY3RvciwgYnV0IHVzZXMgYSBWZWN0b3IgaW4gcHJl
cGFyYXRpb24gZm9yIHN1cHBvcnRpbmcKKyAgICAgICAgRnJvemVuQXJyYXk8RWxlbWVudD4gcmVm
bGVjdGlvbiBpbiB0aGUgZnV0dXJlLgorICAgICAgICAqIGRvbS9FbGVtZW50UmFyZURhdGEuY3Bw
OiBVcGRhdGUgc2l6ZSBvZiBTYW1lU2l6ZUFzRWxlbWVudFJhcmVEYXRhIHRvCisgICAgICAgIGlu
Y2x1ZGUgdGhlIG5ldyBwb2ludGVyLgorICAgICAgICAqIGRvbS9FbGVtZW50UmFyZURhdGEuaDog
QWRkIG1fZXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCBhdHRyaWJ1dGUuCisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6OmV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXApOiBH
ZXR0ZXIuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6OnVzZVR5cGVzIGNvbnN0
KTpJbmNsdWRlCisgICAgICAgIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAuCisgICAgICAg
ICogZG9tL05vZGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6c3RyaW5nRm9yUmFyZURhdGFVc2VU
eXBlKTogQWRkIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAuCisgICAgICAgICogZG9tL05v
ZGVSYXJlRGF0YS5oOiBEaXR0by4KKwogMjAyMi0wNC0yNiAgQW50dGkgS29pdmlzdG8gIDxhbnR0
aUBhcHBsZS5jb20+CiAKICAgICAgICAgOjpmaXJzdC1sZXR0ZXIgZG9lcyBub3Qgd29yayBpZiB1
c2VkIG9ubHkgaW4gc2hhZG93IGNvbnRlbnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0
cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIGIvU291cmNlL1dU
Ri9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKaW5k
ZXggMDM4ZTYxYWM5MjM1YzljN2I4Y2E1MWQ5ZTc0OWI5MGRmOWEwMTEwZi4uODg0OWYyOWExOTQ0
YmE1M2QxZmNiNWViODY2MGEyMDhkYmFjYTMyZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3Jp
cHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKKysrIGIvU291
cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlh
bWwKQEAgLTY2LDYgKzY2LDE4IEBAIEFjY2Vzc2liaWxpdHlPYmplY3RNb2RlbEVuYWJsZWQ6CiAg
ICAgV2ViS2l0OgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorQXJpYVJlZmxlY3Rpb25Gb3JFbGVt
ZW50UmVmZXJlbmNlc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgaHVtYW5SZWFkYWJsZU5hbWU6
ICJBUklBIFJlZmxlY3Rpb24gZm9yIEVsZW1lbnQgUmVmZXJlbmNlcyIKKyAgaHVtYW5SZWFkYWJs
ZURlc2NyaXB0aW9uOiAiRW5hYmxlIEFSSUEgcmVmbGVjdGlvbiBmb3IgYXR0cmlidXRlcyB0aGF0
IHJlZmVyIHRvIGVsZW1lbnRzIgorICBkZWZhdWx0VmFsdWU6CisgICAgV2ViS2l0TGVnYWN5Ogor
ICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBXZWJLaXQ6CisgICAgICBkZWZhdWx0OiBmYWxzZQor
ICAgIFdlYkNvcmU6CisgICAgICBkZWZhdWx0OiBmYWxzZQorCiBBc3BlY3RSYXRpb0VuYWJsZWQ6
CiAgIHR5cGU6IGJvb2wKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJDU1MgQXNwZWN0IFJhdGlvIgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BcmlhQXR0cmlidXRlcy5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FyaWFBdHRyaWJ1dGVzLmlkbAppbmRl
eCA1YmU1ZTQ2ZjhjNTk2YWM0NjgzM2ZkYzEyNGZhMGU3MDMxMzhlMzg1Li40YzY2MGJhMTgwMjE5
YWEzZmNiYjY2Mjg0ZjUzMDgwOWM0ZjdjYmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L0FyaWFBdHRyaWJ1dGVzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FyaWFBdHRyaWJ1dGVzLmlkbApAQCAtMjUsNiArMjUsNyBAQAogCiAvLyBodHRw
czovL3dpY2cuZ2l0aHViLmlvL2FvbS9zcGVjL2FyaWEtcmVmbGVjdGlvbi5odG1sI0FyaWFBdHRy
aWJ1dGVzCiBpbnRlcmZhY2UgbWl4aW4gQXJpYUF0dHJpYnV0ZXMgeworICAgIFtSZWZsZWN0PWFy
aWFfYWN0aXZlZGVzY2VuZGFudCwgRW5hYmxlZEJ5U2V0dGluZz1BcmlhUmVmbGVjdGlvbkZvckVs
ZW1lbnRSZWZlcmVuY2VzRW5hYmxlZF0gYXR0cmlidXRlIEVsZW1lbnQ/IGFyaWFBY3RpdmVEZXNj
ZW5kYW50RWxlbWVudDsKICAgICBbUmVmbGVjdD1hcmlhX2F0b21pY10gICAgICAgICAgIGF0dHJp
YnV0ZSBbQXRvbVN0cmluZ10gRE9NU3RyaW5nPyBhcmlhQXRvbWljOwogICAgIFtSZWZsZWN0PWFy
aWFfYXV0b2NvbXBsZXRlXSAgICAgYXR0cmlidXRlIFtBdG9tU3RyaW5nXSBET01TdHJpbmc/IGFy
aWFBdXRvQ29tcGxldGU7CiAgICAgW1JlZmxlY3Q9YXJpYV9idXN5XSAgICAgICAgICAgICBhdHRy
aWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUJ1c3k7CkBAIC0zNCw2ICszNSw3IEBA
IGludGVyZmFjZSBtaXhpbiBBcmlhQXR0cmlidXRlcyB7CiAgICAgW1JlZmxlY3Q9YXJpYV9jb2xz
cGFuXSAgICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUNvbFNw
YW47CiAgICAgW1JlZmxlY3Q9YXJpYV9jdXJyZW50XSAgICAgICAgICBhdHRyaWJ1dGUgW0F0b21T
dHJpbmddIERPTVN0cmluZz8gYXJpYUN1cnJlbnQ7CiAgICAgW1JlZmxlY3Q9YXJpYV9kaXNhYmxl
ZF0gICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYURpc2FibGVk
OworICAgIFtSZWZsZWN0PWFyaWFfZXJyb3JtZXNzYWdlLCBFbmFibGVkQnlTZXR0aW5nPUFyaWFS
ZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5jZXNFbmFibGVkXSBhdHRyaWJ1dGUgRWxlbWVudD8g
YXJpYUVycm9yTWVzc2FnZUVsZW1lbnQ7CiAgICAgW1JlZmxlY3Q9YXJpYV9leHBhbmRlZF0gICAg
ICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUV4cGFuZGVkOwogICAg
IFtSZWZsZWN0PWFyaWFfaGFzcG9wdXBdICAgICAgICAgYXR0cmlidXRlIFtBdG9tU3RyaW5nXSBE
T01TdHJpbmc/IGFyaWFIYXNQb3B1cDsKICAgICBbUmVmbGVjdD1hcmlhX2hpZGRlbl0gICAgICAg
ICAgIGF0dHJpYnV0ZSBbQXRvbVN0cmluZ10gRE9NU3RyaW5nPyBhcmlhSGlkZGVuOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCmluZGV4IDcx
YjM2YmNlNTUzY2MxZTRkZjM5OTZkMmJkNGEyOGFlZDA3YTJjOTIuLmI4ZDdhNGYwYmJmZjlkODFl
NDUxZmE1MjU1ZjRkMzA2Yzc2Y2M2ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KQEAgLTExMDgsNiArMTEwOCw4IEBAIHN1YiBHZXR0
ZXJFeHByZXNzaW9uCiAgICAgICAgICRmdW5jdGlvbk5hbWUgPSAiZ2V0SW50ZWdyYWxBdHRyaWJ1
dGUiOwogICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGVUeXBlLT5uYW1lIGVxICJ1bnNpZ25lZCBsb25n
IikgewogICAgICAgICAkZnVuY3Rpb25OYW1lID0gImdldFVuc2lnbmVkSW50ZWdyYWxBdHRyaWJ1
dGUiOworICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGVUeXBlLT5uYW1lIGVxICJFbGVtZW50Iikgewor
ICAgICAgICAkZnVuY3Rpb25OYW1lID0gImdldEVsZW1lbnRBdHRyaWJ1dGUiOwogICAgIH0gZWxz
ZSB7CiAgICAgICAgIGlmICgkY29udGVudEF0dHJpYnV0ZU5hbWUgZXEgIldlYkNvcmU6OkhUTUxO
YW1lczo6aWRBdHRyIikgewogICAgICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICJnZXRJZEF0dHJp
YnV0ZSI7CkBAIC0xMTQ1LDYgKzExNDcsOCBAQCBzdWIgU2V0dGVyRXhwcmVzc2lvbgogICAgICAg
ICAkZnVuY3Rpb25OYW1lID0gInNldEludGVncmFsQXR0cmlidXRlIjsKICAgICB9IGVsc2lmICgk
YXR0cmlidXRlVHlwZS0+bmFtZSBlcSAidW5zaWduZWQgbG9uZyIpIHsKICAgICAgICAgJGZ1bmN0
aW9uTmFtZSA9ICJzZXRVbnNpZ25lZEludGVncmFsQXR0cmlidXRlIjsKKyAgICB9IGVsc2lmICgk
YXR0cmlidXRlVHlwZS0+bmFtZSBlcSAiRWxlbWVudCIpIHsKKyAgICAgICAgJGZ1bmN0aW9uTmFt
ZSA9ICJzZXRFbGVtZW50QXR0cmlidXRlIjsKICAgICB9IGVsc2lmICgkZ2VuZXJhdG9yLT5Jc1NW
R0FuaW1hdGVkVHlwZSgkYXR0cmlidXRlVHlwZSkpIHsKICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9
ICJzZXRBdHRyaWJ1dGUiOwogICAgIH0gZWxzZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCmluZGV4IDU1OGE5MTZlM2U5
NTdjNWQyM2E2OGY3N2I1M2U0MjJhNzI5YmJiNTYuLmNjNjE5NWI0ZDM4Yjc4ZWI3OWE1MGRhMGUx
NjVjNTZhOTY2MWRhMjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCkBAIC0xODAzLDYgKzE4MDMsOCBAQCBzdGF0aWMg
SlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVmbGVjdGVkVW5zaWduZWRJbnRl
Z3JhbEF0dHIpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2Jq
X3JlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNU
T01fR0VUVEVSKGpzVGVzdE9ial9yZWZsZWN0ZWRCb29sZWFuQXR0cik7CiBzdGF0aWMgSlNDX0RF
Q0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkQm9vbGVhbkF0dHIpOwor
c3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNUZXN0T2JqX3JlZmxlY3RlZEVsZW1l
bnRBdHRyKTsKK3N0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9y
ZWZsZWN0ZWRFbGVtZW50QXR0cik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihq
c1Rlc3RPYmpfcmVmbGVjdGVkVVJMQXR0cik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX1NF
VFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVVJMQXR0cik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVf
Q1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVmbGVjdGVkVVNWVVJMQXR0cik7CkBAIC0yMTc1LDYg
KzIxNzcsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0T2JqUHJvdG90eXBl
VGFibGVWYWx1ZXNbXSA9CiAgICAgeyAicmVmbGVjdGVkSW50ZWdyYWxBdHRyIiwgc3RhdGljX2Nh
c3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0
cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpfcmVm
bGVjdGVkSW50ZWdyYWxBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNs
b3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3JlZmxlY3RlZEludGVncmFsQXR0cikgfSB9
LAogICAgIHsgInJlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyIiwgc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlNDOjpQcm9w
ZXJ0eUF0dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0
YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpfcmVmbGVjdGVk
VW5zaWduZWRJbnRlZ3JhbEF0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5
U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVW5zaWduZWRJbnRlZ3Jh
bEF0dHIpIH0gfSwKICAgICB7ICJyZWZsZWN0ZWRCb29sZWFuQXR0ciIsIHN0YXRpY19jYXN0PHVu
c2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClz
dGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqX3JlZmxlY3Rl
ZEJvb2xlYW5BdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1
dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3JlZmxlY3RlZEJvb2xlYW5BdHRyKSB9IH0sCisgICAg
eyAicmVmbGVjdGVkRWxlbWVudEF0dHIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9w
ZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
T01BdHRyaWJ1dGUpLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVy
dHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0ciksIChp
bnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpT
VGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0cikgfSB9LAogICAgIHsgInJlZmxlY3RlZFVSTEF0
dHIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9t
QWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpET01BdHRyaWJ1dGUpLCBOb0ludHJp
bnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+
KGpzVGVzdE9ial9yZWZsZWN0ZWRVUkxBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQ
cm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3JlZmxlY3RlZFVSTEF0dHIp
IH0gfSwKICAgICB7ICJyZWZsZWN0ZWRVU1ZVUkxBdHRyIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+
KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19j
YXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpfcmVmbGVjdGVkVVNWVVJM
QXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1
bmM+KHNldEpTVGVzdE9ial9yZWZsZWN0ZWRVU1ZVUkxBdHRyKSB9IH0sCiAgICAgeyAicmVmbGVj
dGVkU3RyaW5nQXR0ciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0
ZSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6Okdl
dFZhbHVlRnVuYz4oanNUZXN0T2JqX3JlZmxlY3RlZFN0cmluZ0F0dHIpLCAoaW50cHRyX3QpIHN0
YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpfcmVm
bGVjdGVkU3RyaW5nQXR0cikgfSB9LApAQCAtMzkxOCw2ICszOTIxLDM3IEBAIEpTQ19ERUZJTkVf
Q1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkQm9vbGVhbkF0dHIsIChKU0dsb2Jh
bE9iamVjdCogbGV4CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0
SlNUZXN0T2JqX3JlZmxlY3RlZEJvb2xlYW5BdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsIGF0dHJpYnV0ZU5hbWUpOwogfQogCitzdGF0aWMg
aW5saW5lIEpTVmFsdWUganNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRyR2V0dGVyKEpTR2xv
YmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RPYmomIHRoaXNPYmplY3QpCit7
CisgICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKKyAgICBh
dXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAgICBhdXRvJiBpbXBs
ID0gdGhpc09iamVjdC53cmFwcGVkKCk7CisgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHRocm93U2Nv
cGUsICh0b0pTPElETEludGVyZmFjZTxFbGVtZW50Pj4obGV4aWNhbEdsb2JhbE9iamVjdCwgKnRo
aXNPYmplY3QuZ2xvYmFsT2JqZWN0KCksIHRocm93U2NvcGUsIGltcGwuZ2V0RWxlbWVudEF0dHJp
YnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RlZGVsZW1lbnRhdHRyQXR0cikpKSk7Cit9
CisKK0pTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0
dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUg
dGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUgYXR0cmlidXRlTmFtZSkpCit7CisgICAgcmV0dXJuIElE
TEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpnZXQ8anNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRy
R2V0dGVyLCBDYXN0ZWRUaGlzRXJyb3JCZWhhdmlvcjo6QXNzZXJ0PigqbGV4aWNhbEdsb2JhbE9i
amVjdCwgdGhpc1ZhbHVlLCBhdHRyaWJ1dGVOYW1lKTsKK30KKworc3RhdGljIGlubGluZSBib29s
IHNldEpTVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0clNldHRlcihKU0dsb2JhbE9iamVjdCYg
bGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0T2JqJiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVl
KQoreworICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7Cisg
ICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisgICAgYXV0byYg
aW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOworICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252
ZXJ0PElETEludGVyZmFjZTxFbGVtZW50Pj4obGV4aWNhbEdsb2JhbE9iamVjdCwgdmFsdWUsIFtd
KEpTQzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29w
ZSYgc2NvcGUpIHsgdGhyb3dBdHRyaWJ1dGVUeXBlRXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwg
c2NvcGUsICJUZXN0T2JqZWN0IiwgInJlZmxlY3RlZEVsZW1lbnRBdHRyIiwgIkVsZW1lbnQiKTsg
fSk7CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBmYWxzZSk7CisgICAgaW52
b2tlRnVuY3RvclByb3BhZ2F0aW5nRXhjZXB0aW9uSWZOZWNlc3NhcnkobGV4aWNhbEdsb2JhbE9i
amVjdCwgdGhyb3dTY29wZSwgWyZdIHsKKyAgICAgICAgcmV0dXJuIGltcGwuc2V0RWxlbWVudEF0
dHJpYnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RlZGVsZW1lbnRhdHRyQXR0ciwgKm5h
dGl2ZVZhbHVlKTsKKyAgICB9KTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworSlNDX0RFRklORV9D
VVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0ciwgKEpTR2xvYmFs
T2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVu
Y29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lIGF0dHJpYnV0ZU5hbWUpKQor
eworICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9y
ZWZsZWN0ZWRFbGVtZW50QXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1
ZSwgZW5jb2RlZFZhbHVlLCBhdHRyaWJ1dGVOYW1lKTsKK30KKwogc3RhdGljIGlubGluZSBKU1Zh
bHVlIGpzVGVzdE9ial9yZWZsZWN0ZWRVUkxBdHRyR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RPYmomIHRoaXNPYmplY3QpCiB7CiAgICAgYXV0byYgdm0g
PSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAppbmRleCAxMGY2NTFhNTc1ZTc3Yjc1
MDAyYjg3MGNkYmI4OThmZmE0NjYzM2M5Li43ZTk4MmQ1MTYyNGI0Y2ZkOGI4NmVkNTE0NzdmNzE3
YjFiYmZlNWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvVGVzdE9iai5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0
L1Rlc3RPYmouaWRsCkBAIC0xMDQsNiArMTA0LDcgQEAgZW51bSBUZXN0Q29uZmlkZW5jZSB7ICJo
aWdoIiwgImtpbmRhLWxvdyIgfTsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIGxvbmcgcmVmbGVj
dGVkSW50ZWdyYWxBdHRyOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBy
ZWZsZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0cjsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIGJv
b2xlYW4gcmVmbGVjdGVkQm9vbGVhbkF0dHI7CisgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBFbGVt
ZW50IHJlZmxlY3RlZEVsZW1lbnRBdHRyOwogICAgIFtSZWZsZWN0LCBVUkxdIGF0dHJpYnV0ZSBE
T01TdHJpbmcgcmVmbGVjdGVkVVJMQXR0cjsKICAgICBbUmVmbGVjdCwgVVJMXSBhdHRyaWJ1dGUg
VVNWU3RyaW5nIHJlZmxlY3RlZFVTVlVSTEF0dHI7CiAgICAgW1JlZmxlY3Q9Y3VzdG9tQ29udGVu
dFN0cmluZ0F0dHJdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmbGVjdGVkU3RyaW5nQXR0cjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmNwcAppbmRleCAwYmQyNjcyMWNiZTg3MDQ3MzZiMThhNzU2ZTg4ZjA2NWE2
NDA3MjNjLi4yMjAwNWIyOTBjMGVlMWJjYmIxM2M4MTJhZDhkMTg2MWMyN2NjMDE1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuY3BwCkBAIC0xOTAxLDYgKzE5MDEsMTEgQEAgc3RhdGljIGlubGluZSBBdG9t
U3RyaW5nIG1ha2VJZEZvclN0eWxlUmVzb2x1dGlvbihjb25zdCBBdG9tU3RyaW5nJiB2YWx1ZSwg
Ym9vbAogICAgIHJldHVybiB2YWx1ZTsKIH0KIAorc3RhdGljIGJvb2wgaXNFbGVtZW50UmVmbGVj
dGlvbkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lKQoreworICAgIHJldHVybiBu
YW1lID09IEhUTUxOYW1lczo6YXJpYV9hY3RpdmVkZXNjZW5kYW50QXR0ciB8fCBuYW1lID09IEhU
TUxOYW1lczo6YXJpYV9lcnJvcm1lc3NhZ2VBdHRyOworfQorCiB2b2lkIEVsZW1lbnQ6OmF0dHJp
YnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYg
b2xkVmFsdWUsIGNvbnN0IEF0b21TdHJpbmcmIG5ld1ZhbHVlLCBBdHRyaWJ1dGVNb2RpZmljYXRp
b25SZWFzb24pCiB7CiAgICAgYm9vbCB2YWx1ZUlzU2FtZUFzQmVmb3JlID0gb2xkVmFsdWUgPT0g
bmV3VmFsdWU7CkBAIC0xOTM3LDcgKzE5NDIsMTEgQEAgdm9pZCBFbGVtZW50OjphdHRyaWJ1dGVD
aGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21TdHJpbmcmIG9sZFYK
ICAgICAgICAgICAgIH0KICAgICAgICAgfSBlbHNlIGlmIChuYW1lID09IEhUTUxOYW1lczo6cGFy
dEF0dHIpCiAgICAgICAgICAgICBwYXJ0QXR0cmlidXRlQ2hhbmdlZChuZXdWYWx1ZSk7Ci0gICAg
ICAgIGVsc2UgaWYgKG5hbWUgPT0gSFRNTE5hbWVzOjpleHBvcnRwYXJ0c0F0dHIpIHsKKyAgICAg
ICAgZWxzZSBpZiAoaXNFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0ZShuYW1lKSkgeworICAgICAg
ICAgICAgQVNTRVJUKGRvY3VtZW50KCkuc2V0dGluZ3MoKS5hcmlhUmVmbGVjdGlvbkZvckVsZW1l
bnRSZWZlcmVuY2VzRW5hYmxlZCgpKTsKKyAgICAgICAgICAgIGlmIChhdXRvKiBtYXAgPSBleHBs
aWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKCkpCisgICAgICAgICAgICAgICAgbWFwLT5yZW1vdmUo
bmFtZSk7CisgICAgICAgIH0gZWxzZSBpZiAobmFtZSA9PSBIVE1MTmFtZXM6OmV4cG9ydHBhcnRz
QXR0cikgewogICAgICAgICAgICAgaWYgKGF1dG8qIHNoYWRvd1Jvb3QgPSB0aGlzLT5zaGFkb3dS
b290KCkpIHsKICAgICAgICAgICAgICAgICBzaGFkb3dSb290LT5pbnZhbGlkYXRlUGFydE1hcHBp
bmdzKCk7CiAgICAgICAgICAgICAgICAgU3R5bGU6OkludmFsaWRhdG9yOjppbnZhbGlkYXRlU2hh
ZG93UGFydHMoKnNoYWRvd1Jvb3QpOwpAQCAtMTk2MSw2ICsxOTcwLDczIEBAIHZvaWQgRWxlbWVu
dDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9t
U3RyaW5nJiBvbGRWCiAgICAgICAgIGNhY2hlLT5kZWZlckF0dHJpYnV0ZUNoYW5nZUlmTmVlZGVk
KG5hbWUsIHRoaXMpOwogfQogCitFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwJiBFbGVtZW50
OjplbnN1cmVFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKCkKK3sKKyAgICByZXR1cm4gZW5z
dXJlRWxlbWVudFJhcmVEYXRhKCkuZXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCgpOworfQor
CitFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKiBFbGVtZW50OjpleHBsaWNpdGx5U2V0QXR0
ckVsZW1lbnRzTWFwKCkgY29uc3QKK3sKKyAgICByZXR1cm4gaGFzUmFyZURhdGEoKSA/ICZlbGVt
ZW50UmFyZURhdGEoKS0+ZXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCgpIDogbnVsbHB0cjsK
K30KKworYm9vbCBFbGVtZW50Ojppc0Rlc2NlbmRhbnRPZlNoYWRvd0luY2x1ZGluZ0FuY2VzdG9y
cyhjb25zdCBFbGVtZW50JiBlbGVtZW50KSBjb25zdAoreworICAgIGlmICghaXNJblRyZWVTY29w
ZSgpIHx8ICFlbGVtZW50LmlzSW5UcmVlU2NvcGUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOwor
CisgICAgZm9yIChhdXRvKiByb290ID0gY29udGFpbmluZ1NoYWRvd1Jvb3QoKTsgcm9vdDsgcm9v
dCA9IHJvb3QtPmhvc3QoKS0+Y29udGFpbmluZ1NoYWRvd1Jvb3QoKSkgeworICAgICAgICBpZiAo
ZWxlbWVudC5pc0Rlc2NlbmRhbnRPZihyb290KSkKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwor
ICAgIH0KKworICAgIHJldHVybiBlbGVtZW50LmlzRGVzY2VuZGFudE9mKGRvY3VtZW50KCkuZG9j
dW1lbnRFbGVtZW50KCkpOworfQorCitFbGVtZW50KiBFbGVtZW50OjpnZXRFbGVtZW50QXR0cmli
dXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIGNvbnN0Cit7CisgICAgQVNT
RVJUKGRvY3VtZW50KCkuc2V0dGluZ3MoKS5hcmlhUmVmbGVjdGlvbkZvckVsZW1lbnRSZWZlcmVu
Y2VzRW5hYmxlZCgpKTsKKyAgICBBU1NFUlQoaXNFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0ZShh
dHRyaWJ1dGVOYW1lKSk7CisKKyAgICBpZiAoYXV0byogbWFwID0gZXhwbGljaXRseVNldEF0dHJF
bGVtZW50c01hcCgpKSB7CisgICAgICAgIGF1dG8gaXQgPSBtYXAtPmZpbmQoYXR0cmlidXRlTmFt
ZSk7CisgICAgICAgIGlmIChpdCAhPSBtYXAtPmVuZCgpKSB7CisgICAgICAgICAgICBBU1NFUlQo
aXQtPnZhbHVlLnNpemUoKSA9PSAxKTsKKyAgICAgICAgICAgIGF1dG8qIGVsZW1lbnQgPSBpdC0+
dmFsdWVbMF0uZ2V0KCk7CisgICAgICAgICAgICBpZiAoZWxlbWVudCAmJiBpc0Rlc2NlbmRhbnRP
ZlNoYWRvd0luY2x1ZGluZ0FuY2VzdG9ycygqZWxlbWVudCkpCisgICAgICAgICAgICAgICAgcmV0
dXJuIGVsZW1lbnQ7CisgICAgICAgICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICAgICAgfQorICAg
IH0KKworICAgIGF1dG8gaWQgPSBnZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSk7CisgICAgaWYg
KGlkLmlzTnVsbCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIHJldHVybiB0cmVl
U2NvcGUoKS5nZXRFbGVtZW50QnlJZChpZCk7Cit9CisKK3ZvaWQgRWxlbWVudDo6c2V0RWxlbWVu
dEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lLCBFbGVtZW50KiBl
bGVtZW50KQoreworICAgIEFTU0VSVChkb2N1bWVudCgpLnNldHRpbmdzKCkuYXJpYVJlZmxlY3Rp
b25Gb3JFbGVtZW50UmVmZXJlbmNlc0VuYWJsZWQoKSk7CisgICAgQVNTRVJUKGlzRWxlbWVudFJl
ZmxlY3Rpb25BdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSkpOworCisgICAgaWYgKCFlbGVtZW50KSB7
CisgICAgICAgIGlmIChhdXRvKiBtYXAgPSBleHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKCkp
CisgICAgICAgICAgICBtYXAtPnJlbW92ZShhdHRyaWJ1dGVOYW1lKTsKKyAgICAgICAgcmVtb3Zl
QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
YXV0byBpZCA9IGVsZW1lbnQtPmdldElkQXR0cmlidXRlKCk7CisgICAgaWYgKCFpZC5pc051bGwo
KSAmJiAmdHJlZVNjb3BlKCkgPT0gJmVsZW1lbnQtPnRyZWVTY29wZSgpICYmIHRyZWVTY29wZSgp
LmdldEVsZW1lbnRCeUlkKGlkKSA9PSBlbGVtZW50KQorICAgICAgICBzZXRBdHRyaWJ1dGUoYXR0
cmlidXRlTmFtZSwgaWQpOworICAgIGVsc2UKKyAgICAgICAgc2V0QXR0cmlidXRlKGF0dHJpYnV0
ZU5hbWUsIGVtcHR5QXRvbSgpKTsKKworICAgIGVuc3VyZUV4cGxpY2l0bHlTZXRBdHRyRWxlbWVu
dHNNYXAoKS5zZXQoYXR0cmlidXRlTmFtZSwgVmVjdG9yPFdlYWtQdHI8RWxlbWVudD4+IHsgZWxl
bWVudCB9KTsKK30KKwogdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CiBzdGF0aWMg
aW5saW5lIGJvb2wgaXNOb25FbXB0eVRva2VuTGlzdChjb25zdCBDaGFyYWN0ZXJUeXBlKiBjaGFy
YWN0ZXJzLCB1bnNpZ25lZCBsZW5ndGgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCA5Y2FiZTNh
ZGNkNzU4YzUyZWJiODU5NjEyNjBiNTIxZmIyNTgwMzA3Li5jYWUzM2I3NjA5NTcyNzJjNjU5ZTkx
ZDZlM2NmZDlhYTE2Mjg1ZDZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTkzLDYgKzkzLDEwIEBA
IHN0cnVjdCBTY3JvbGxUb09wdGlvbnM7CiBzdHJ1Y3QgU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25F
dmVudEluaXQ7CiBzdHJ1Y3QgU2hhZG93Um9vdEluaXQ7CiAKKy8vIEZJWE1FOiBUaGlzIG9ubHkg
c3RvcmVzIG9uZSBFbGVtZW50IGluIHRoZSBWZWN0b3IgcmlnaHQgbm93LCB0aG91Z2ggdGhpcyB3
aWxsIGNoYW5nZQorLy8gb25jZSByZWZsZWN0aW9uIGZvciBGcm96ZW5BcnJheTxFbGVtZW50PiBp
cyBpbXBsZW1lbnRlZCBpbiBodHRwczovL3dlYmtpdC5vcmcvYi8yMzk4NTMuCit1c2luZyBFeHBs
aWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwID0gSGFzaE1hcDxRdWFsaWZpZWROYW1lLCBWZWN0b3I8
V2Vha1B0cjxFbGVtZW50Pj4+OworCiBuYW1lc3BhY2UgU3R5bGUgewogY2xhc3MgUmVzb2x2ZXI7
CiBlbnVtIGNsYXNzIENoYW5nZSA6IHVpbnQ4X3Q7CkBAIC0xMjEsNiArMTI1LDggQEAgcHVibGlj
OgogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0SW50ZWdyYWxBdHRyaWJ1dGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSwgaW50IHZhbHVlKTsKICAgICBXRUJDT1JFX0VYUE9S
VCB1bnNpZ25lZCBnZXRVbnNpZ25lZEludGVncmFsQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmIGF0dHJpYnV0ZU5hbWUpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0VW5z
aWduZWRJbnRlZ3JhbEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1l
LCB1bnNpZ25lZCB2YWx1ZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgRWxlbWVudCogZ2V0RWxlbWVu
dEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKSBjb25zdDsKKyAg
ICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEVsZW1lbnRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVk
TmFtZSYgYXR0cmlidXRlTmFtZSwgRWxlbWVudCogdmFsdWUpOwogCiAgICAgLy8gQ2FsbCB0aGlz
IHRvIGdldCB0aGUgdmFsdWUgb2YgYW4gYXR0cmlidXRlIHRoYXQgaXMga25vd24gbm90IHRvIGJl
IHRoZSBzdHlsZQogICAgIC8vIGF0dHJpYnV0ZSBvciBvbmUgb2YgdGhlIFNWRyBhbmltYXRhYmxl
IGF0dHJpYnV0ZXMuCkBAIC02NjgsNiArNjc0LDkgQEAgcHVibGljOgogICAgIFN0eWxlUHJvcGVy
dHlNYXBSZWFkT25seSogY29tcHV0ZWRTdHlsZU1hcCgpOwogI2VuZGlmCiAKKyAgICBFeHBsaWNp
dGx5U2V0QXR0ckVsZW1lbnRzTWFwJiBlbnN1cmVFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFw
KCk7CisgICAgRXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCogZXhwbGljaXRseVNldEF0dHJF
bGVtZW50c01hcCgpIGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiwgRG9jdW1lbnQmLCBDb25zdHJ1Y3Rpb25UeXBlKTsKIApAQCAtNzg1LDYgKzc5
NCw4IEBAIHByaXZhdGU6CiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBmYXN0QXR0cmlidXRlTG9v
a3VwQWxsb3dlZChjb25zdCBRdWFsaWZpZWROYW1lJikgY29uc3Q7CiAjZW5kaWYKIAorICAgIGJv
b2wgaXNEZXNjZW5kYW50T2ZTaGFkb3dJbmNsdWRpbmdBbmNlc3RvcnMoY29uc3QgRWxlbWVudCYp
IGNvbnN0OworCiAgICAgUXVhbGlmaWVkTmFtZSBtX3RhZ05hbWU7CiAgICAgUmVmUHRyPEVsZW1l
bnREYXRhPiBtX2VsZW1lbnREYXRhOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudFJhcmVEYXRhLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEu
Y3BwCmluZGV4IDk0YjhhNTg1OWY3NGJjN2M5NWQxMjUzOTliNzQ2ZWUyNzZlN2VlZmYuLjAwY2Y2
NWYzMzczNmM0OGJhZTg0ZTdmYmUxNGNkOTM0MDlhNDUyMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50UmFyZURhdGEuY3BwCkBAIC00Miw2ICs0Miw3IEBAIHN0cnVjdCBTYW1lU2l6ZUFzRWxl
bWVudFJhcmVEYXRhIDogTm9kZVJhcmVEYXRhIHsKICAgICB2b2lkKiB0eXBlZE9NRGF0YVsyXTsK
ICNlbmRpZgogICAgIHZvaWQqIHJlc2l6ZU9ic2VydmVyRGF0YTsKKyAgICBFeHBsaWNpdGx5U2V0
QXR0ckVsZW1lbnRzTWFwIGV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXA7CiB9OwogCiBzdGF0
aWNfYXNzZXJ0KHNpemVvZihFbGVtZW50UmFyZURhdGEpID09IHNpemVvZihTYW1lU2l6ZUFzRWxl
bWVudFJhcmVEYXRhKSwgIkVsZW1lbnRSYXJlRGF0YSBzaG91bGQgc3RheSBzbWFsbCIpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oIGIvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCmluZGV4IGQ3NmJjYzQ0NGNlNzUxNDRiYmVkMzk3
MWJhOTE0MGE4YzVkYzU4YWYuLmExMTc4YWMyYWE3MTUwYjdiZWRhMTE5Zjg5ODRjMjY5ZDBhMjNm
MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKQEAgLTEwNyw2ICsxMDcsOCBA
QCBwdWJsaWM6CiAgICAgdm9pZCBzZXRDb21wdXRlZFN0eWxlTWFwKFJlZjxTdHlsZVByb3BlcnR5
TWFwUmVhZE9ubHk+JiYgbWFwKSB7IG1fY29tcHV0ZWRTdHlsZU1hcCA9IFdURk1vdmUobWFwKTsg
fQogI2VuZGlmCiAKKyAgICBFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwJiBleHBsaWNpdGx5
U2V0QXR0ckVsZW1lbnRzTWFwKCkgeyByZXR1cm4gbV9leHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRz
TWFwOyB9CisKICNpZiBEVU1QX05PREVfU1RBVElTVElDUwogICAgIE9wdGlvblNldDxVc2VUeXBl
PiB1c2VUeXBlcygpIGNvbnN0CiAgICAgewpAQCAtMTQ3LDYgKzE0OSw4IEBAIHB1YmxpYzoKICAg
ICAgICAgICAgIHJlc3VsdC5hZGQoVXNlVHlwZTo6UGFydE5hbWVzKTsKICAgICAgICAgaWYgKG1f
bm9uY2UpCiAgICAgICAgICAgICByZXN1bHQuYWRkKFVzZVR5cGU6Ok5vbmNlKTsKKyAgICAgICAg
aWYgKG1fZXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcC5pc0VtcHR5KCkpCisgICAgICAgICAg
ICByZXN1bHQuYWRkKFVzZVR5cGU6OkV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXApOwogICAg
ICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICNlbmRpZgpAQCAtMTgwLDYgKzE4NCw4IEBAIHBy
aXZhdGU6CiAKICAgICBBdG9tU3RyaW5nIG1fbm9uY2U7CiAKKyAgICBFeHBsaWNpdGx5U2V0QXR0
ckVsZW1lbnRzTWFwIG1fZXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcDsKKwogICAgIHZvaWQg
cmVsZWFzZVBzZXVkb0VsZW1lbnQoUHNldWRvRWxlbWVudCopOwogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3Bw
CmluZGV4IDM5NWVmZmJmY2RmODhkMzBlNmQ4OTdjOTdkYmI4NzMyYmIyNzQ2MzAuLmM3MDEzMzY2
MThhZjM1ZDg1MzIyZGMwMzRmNTMwYzFiZGJjMDllNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTE0
Myw2ICsxNDMsOCBAQCBzdGF0aWMgY29uc3QgY2hhciogc3RyaW5nRm9yUmFyZURhdGFVc2VUeXBl
KE5vZGVSYXJlRGF0YTo6VXNlVHlwZSB1c2VUeXBlKQogICAgICAgICByZXR1cm4gIlBhcnRMaXN0
IjsKICAgICBjYXNlIE5vZGVSYXJlRGF0YTo6VXNlVHlwZTo6UGFydE5hbWVzOgogICAgICAgICBy
ZXR1cm4gIlBhcnROYW1lcyI7CisgICAgY2FzZSBOb2RlUmFyZURhdGE6OlVzZVR5cGU6OkV4cGxp
Y2l0bHlTZXRBdHRyRWxlbWVudHNNYXA6CisgICAgICAgIHJldHVybiAiRXhwbGljaXRseVNldEF0
dHJFbGVtZW50c01hcCI7CiAgICAgfQogICAgIHJldHVybiBudWxscHRyOwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L05vZGVSYXJlRGF0YS5oCmluZGV4IDNmMzlhZWY0MjA4Yjc0YmFiMmQyYWJmNmE3ODQ1NTMzNjVm
NDNhNjIuLmM5NWFmNjA4MzAwMzU5YWVlNzFhNTc2ZmFlZjg0NGYzYzIyYTVlZTUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vTm9kZVJhcmVEYXRhLmgKQEAgLTI2NCw2ICsyNjQsNyBAQCBwdWJsaWM6CiAgICAgICAg
IFBhcnROYW1lcyA9IDEgPDwgMTYsCiAgICAgICAgIE5vbmNlID0gMSA8PCAxNywKICAgICAgICAg
Q29tcHV0ZWRTdHlsZU1hcCA9IDEgPDwgMTgsCisgICAgICAgIEV4cGxpY2l0bHlTZXRBdHRyRWxl
bWVudHNNYXAgPSAxIDw8IDE5LAogICAgIH07CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDMyY2NlNDVjMTAz
YjM4ZDI2ZDBiYWZmNDBkNTVhMTZmNTNlNjZhYjAuLjJjYTg1NzA3ZmVmMmJiODc3M2ViYmZhNzE3
ZjU4MzU5MzVkMjM2NjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMi0wNS0wMiAgTWFudWVs
IFJlZ28gQ2FzYXNub3ZhcyAgPHJlZ29AaWdhbGlhLmNvbT4KKworICAgICAgICBBUklBIHJlZmxl
Y3Rpb24gZm9yIEVsZW1lbnQgYXR0cmlidXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5ODUyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIHRlc3QgdG8gaW5jbHVkZSB0aGUgbmV3IHJlZmxl
Y3RlZCBhdHRyaWJ1dGVzLgorCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rp
b24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvQVJJQS1yZWZsZWN0aW9u
Lmh0bWw6CisKIDIwMjItMDQtMjYgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgog
CiAgICAgICAgIDo6Zmlyc3QtbGV0dGVyIGRvZXMgbm90IHdvcmsgaWYgdXNlZCBvbmx5IGluIHNo
YWRvdyBjb250ZW50CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAyZTUzOGM2MGM5
Y2ZkNDU1NTE2NDk1Mzc0N2QxZjgzNGRlMDhjMjJkLi4wMTc0ZjM1OWE3NjFiODM4YjA1YTJkZjcy
MWUyNDMwN2Q0M2NmZDhiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNiBAQAorMjAyMi0wNS0wMiAgTWFudWVsIFJlZ28gQ2FzYXNub3ZhcyAgPHJlZ29AaWdhbGlh
LmNvbT4KKworICAgICAgICBBUklBIHJlZmxlY3Rpb24gZm9yIEVsZW1lbnQgYXR0cmlidXRlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5ODUyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgU21hbGwgZml4
IG9uIHRoZSB0ZXN0IGFuZCB1cGRhdGUgdGVzdCByZXN1bHRzIHdpdGggdGhlIG5ldyBQQVNTLgor
ICAgICAgICBBZGQgbmV3IHRlc3QgY2FzZSB0byBjb3ZlciBlbGVtZW50cyBtb3ZlZCB0byBhIGRp
ZmZlcmVudCBkb2N1bWVudC4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9k
ZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL2FyaWEtZWxlbWVudC1yZWZsZWN0aW9u
LnRlbnRhdGl2ZS5odG1sOgorCiAyMDIyLTA0LTI2ICBPcmlvbCBCcnVmYXUgIDxvYnJ1ZmF1QGln
YWxpYS5jb20+CiAKICAgICAgICAgW2Nzcy1jYXNjYWRlXSBGaXggY2FzY2FkZSByb2xsYmFjayBm
b3IgZGVmZXJyZWQgcHJvcGVydGllcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9BUklBLXJlZmxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJp
bGl0eS9BUklBLXJlZmxlY3Rpb24tZXhwZWN0ZWQudHh0CmluZGV4IDk1MDRiNjliY2JhY2QyNDFi
OTU4NTQzMDJlZjU0NzRlMzUyYTQ5OGUuLmUzZmVlYzMwYzRjN2E5ZWFmYWQxYTk0ZGVkZWVjNjNm
ODhiYjgwZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvQVJJQS1yZWZs
ZWN0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L0FSSUEt
cmVmbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTcsMzE3ICs3LDI5MiBAQCBPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURQogVGVzdCByb2xlIDwgLSA+IHJvbGUKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJv
cGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgbnVsbAotZWxlbWVudFsicm9sZSJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRy
aWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0
ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0
ZSgicm9sZSIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBv
dGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3Bl
cnR5CisKK1Rlc3QgYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50IDwgLSA+IGFyaWEtYWN0aXZl
ZGVzY2VuZGFudAorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAorUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCitQQVNTIGVsZW1l
bnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKK2VsZW1l
bnQuc2V0QXR0cmlidXRlKCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnQiLCBvdGhlckRhdGEpOworUEFT
UyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBh
cmlhQXRvbWljIDwgLSA+IGFyaWEtYXRvbWljCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IG51bGwKLWVsZW1lbnRbImFyaWFBdG9taWMiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0
cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1
dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1
dGUoImFyaWEtYXRvbWljIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVy
dHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJE
YXRhUHJvcGVydHkKIAogVGVzdCBhcmlhQXV0b0NvbXBsZXRlIDwgLSA+IGFyaWEtYXV0b2NvbXBs
ZXRlCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFBdXRv
Q29tcGxldGUiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRy
aWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtYXV0b2NvbXBs
ZXRlIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVy
RGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkK
IAogVGVzdCBhcmlhQnVzeSA8IC0gPiBhcmlhLWJ1c3kKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJv
cGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUJ1c3kiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRy
aWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRy
aWJ1dGUoImFyaWEtYnVzeSIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVy
RGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUNoZWNrZWQgPCAtID4gYXJpYS1jaGVja2VkCiBQQVNT
IGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFDaGVja2VkIl0gPSBk
YXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRh
CitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRy
aWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWNoZWNrZWQiLCBvdGhlckRhdGEpOwot
UEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRb
Y3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFDb2xDb3Vu
dCA8IC0gPiBhcmlhLWNvbGNvdW50CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBu
dWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwK
LWVsZW1lbnRbImFyaWFDb2xDb3VudCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1
dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShj
dXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgi
YXJpYS1jb2xjb3VudCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0
YVByb3BlcnR5CiAKIFRlc3QgYXJpYUNvbEluZGV4IDwgLSA+IGFyaWEtY29saW5kZXgKIFBBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1
dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUNvbEluZGV4Il0gPSBk
YXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRh
CitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRy
aWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWNvbGluZGV4Iiwgb3RoZXJEYXRhKTsK
LVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhQ29sU3Bh
biA8IC0gPiBhcmlhLWNvbHNwYW4KIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51
bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAot
ZWxlbWVudFsiYXJpYUNvbFNwYW4iXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRl
KGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFy
aWEtY29sc3BhbiIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVBy
b3BlcnR5CiAKIFRlc3QgYXJpYUN1cnJlbnQgPCAtID4gYXJpYS1jdXJyZW50CiBQQVNTIGVsZW1l
bnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1
cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFDdXJyZW50Il0gPSBkYXRhOwot
UEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUK
IGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWN1cnJlbnQiLCBvdGhlckRhdGEpOwotUEFTUyBl
bGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVu
dFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFEaXNhYmxlZCA8IC0g
PiBhcmlhLWRpc2FibGVkCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQ
QVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1l
bnRbImFyaWFEaXNhYmxlZCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1k
aXNhYmxlZCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBv
dGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3Bl
cnR5CisKK1Rlc3QgYXJpYUVycm9yTWVzc2FnZUVsZW1lbnQgPCAtID4gYXJpYS1lcnJvcm1lc3Nh
Z2UKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKK1BBU1MgZWxlbWVudC5n
ZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAorUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCitlbGVtZW50LnNldEF0
dHJpYnV0ZSgiYXJpYS1lcnJvcm1lc3NhZ2UiLCBvdGhlckRhdGEpOworUEFTUyBlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhRXhwYW5kZWQg
PCAtID4gYXJpYS1leHBhbmRlZAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVs
bAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1l
bGVtZW50WyJhcmlhRXhwYW5kZWQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRl
KGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFy
aWEtZXhwYW5kZWQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0g
aXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQ
cm9wZXJ0eQogCiBUZXN0IGFyaWFIYXNQb3B1cCA8IC0gPiBhcmlhLWhhc3BvcHVwCiBQQVNTIGVs
ZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRl
KGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFIYXNQb3B1cCJdID0gZGF0
YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQor
UEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmli
dXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1oYXNwb3B1cCIsIG90aGVyRGF0YSk7Ci1Q
QVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtj
dXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUhpZGRlbiA8
IC0gPiBhcmlhLWhpZGRlbgogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAog
UEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVt
ZW50WyJhcmlhSGlkZGVuIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWhp
ZGRlbiIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhl
ckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5
CiAKIFRlc3QgYXJpYUludmFsaWQgPCAtID4gYXJpYS1pbnZhbGlkCiBQQVNTIGVsZW1lbnRbY3Vy
cmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFJbnZhbGlkIl0gPSBkYXRhOwotUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1l
bnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1l
bnQuc2V0QXR0cmlidXRlKCJhcmlhLWludmFsaWQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFLZXlTaG9ydGN1dHMgPCAtID4g
YXJpYS1rZXlzaG9ydGN1dHMKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwK
IFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxl
bWVudFsiYXJpYUtleVNob3J0Y3V0cyJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1
dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShj
dXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgi
YXJpYS1rZXlzaG9ydGN1dHMiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9w
ZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhl
ckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFMYWJlbCA8IC0gPiBhcmlhLWxhYmVsCiBQQVNTIGVs
ZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRl
KGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFMYWJlbCJdID0gZGF0YTsK
LVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFT
UyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRl
CiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVs
ZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50
UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUxldmVsIDwgLSA+IGFy
aWEtbGV2ZWwKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxl
bWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJp
YUxldmVsIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmli
dXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUp
IGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWxldmVsIiwgb3Ro
ZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFT
UyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBh
cmlhTGl2ZSA8IC0gPiBhcmlhLWxpdmUKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlz
IG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVs
bAotZWxlbWVudFsiYXJpYUxpdmUiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRl
KGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFy
aWEtbGl2ZSIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBv
dGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3Bl
cnR5CiAKIFRlc3QgYXJpYU1vZGFsIDwgLSA+IGFyaWEtbW9kYWwKIFBBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYU1vZGFsIl0gPSBkYXRhOwotUEFTUyBlbGVt
ZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQu
c2V0QXR0cmlidXRlKCJhcmlhLW1vZGFsIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0g
aXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhTXVsdGlMaW5lIDwgLSA+IGFyaWEtbXVs
dGlsaW5lCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1l
bnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFN
dWx0aUxpbmUiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRy
aWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbXVsdGlsaW5l
Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0
YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAog
VGVzdCBhcmlhTXVsdGlTZWxlY3RhYmxlIDwgLSA+IGFyaWEtbXVsdGlzZWxlY3RhYmxlCiBQQVNT
IGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFNdWx0aVNlbGVjdGFi
bGUiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUp
IGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMg
ZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbXVsdGlzZWxlY3RhYmxl
Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0
YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAog
VGVzdCBhcmlhT3JpZW50YXRpb24gPCAtID4gYXJpYS1vcmllbnRhdGlvbgogUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhT3JpZW50YXRpb24iXSA9IGRhdGE7
Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BB
U1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0
ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtb3JpZW50YXRpb24iLCBvdGhlckRhdGEpOwot
UEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRb
Y3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFQbGFjZWhv
bGRlciA8IC0gPiBhcmlhLXBsYWNlaG9sZGVyCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IG51bGwKLWVsZW1lbnRbImFyaWFQbGFjZWhvbGRlciJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5n
ZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0
dHJpYnV0ZSgiYXJpYS1wbGFjZWhvbGRlciIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3Vy
cmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHld
IGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVBvc0luU2V0IDwgLSA+IGFyaWEtcG9z
aW5zZXQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVBv
c0luU2V0Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmli
dXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUp
IGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXBvc2luc2V0Iiwg
b3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQor
UEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVz
dCBhcmlhUHJlc3NlZCA8IC0gPiBhcmlhLXByZXNzZWQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJv
cGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVByZXNzZWQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRB
dHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVu
dFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlz
IG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVJlYWRPbmx5IDwgLSA+IGFyaWEtcmVhZG9u
bHkKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5n
ZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVJlYWRP
bmx5Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRl
KSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXJlYWRvbmx5Iiwgb3Ro
ZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFT
UyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBh
cmlhUmVsZXZhbnQgPCAtID4gYXJpYS1yZWxldmFudAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9w
ZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRl
KSBpcyBudWxsCi1lbGVtZW50WyJhcmlhUmVsZXZhbnQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRB
dHRyaWJ1dGUoImFyaWEtcmVsZXZhbnQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJl
bnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFSZXF1aXJlZCA8IC0gPiBhcmlhLXJlcXVp
cmVkCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFSZXF1
aXJlZCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1yZXF1aXJlZCIsIG90
aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BB
U1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3Qg
YXJpYVJvbGVEZXNjcmlwdGlvbiA8IC0gPiBhcmlhLXJvbGVkZXNjcmlwdGlvbgogUEFTUyBlbGVt
ZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShj
dXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhUm9sZURlc2NyaXB0aW9uIl0g
PSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBk
YXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFB
dHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXJvbGVkZXNjcmlwdGlvbiIsIG90
aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BB
U1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3Qg
YXJpYVJvd0NvdW50IDwgLSA+IGFyaWEtcm93Y291bnQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJv
cGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVJvd0NvdW50Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50
LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0
QXR0cmlidXRlKCJhcmlhLXJvd2NvdW50Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0g
aXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhUm93SW5kZXggPCAtID4gYXJpYS1yb3dp
bmRleAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50
LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhUm93
SW5kZXgiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1
dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkg
aXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtcm93aW5kZXgiLCBv
dGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQ
QVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0
IGFyaWFSb3dTcGFuIDwgLSA+IGFyaWEtcm93c3BhbgogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9w
ZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRl
KSBpcyBudWxsCi1lbGVtZW50WyJhcmlhUm93U3BhbiJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5n
ZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0
dHJpYnV0ZSgiYXJpYS1yb3dzcGFuIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50
UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMg
b3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhU2VsZWN0ZWQgPCAtID4gYXJpYS1zZWxlY3Rl
ZAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhU2VsZWN0
ZWQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUp
IGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMg
ZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtc2VsZWN0ZWQiLCBvdGhl
ckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNT
IGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFy
aWFTZXRTaXplIDwgLSA+IGFyaWEtc2V0c2l6ZQogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0
eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBudWxsCi1lbGVtZW50WyJhcmlhU2V0U2l6ZSJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJp
YnV0ZSgiYXJpYS1zZXRzaXplIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJv
cGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3Ro
ZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhU29ydCA8IC0gPiBhcmlhLXNvcnQKIFBBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUo
Y3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVNvcnQiXSA9IGRhdGE7Ci1Q
QVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1Mg
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQog
ZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtc29ydCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1l
bnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJv
cGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVZhbHVlTWF4IDwgLSA+IGFy
aWEtdmFsdWVtYXgKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1Mg
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsi
YXJpYVZhbHVlTWF4Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRy
aWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXZhbHVl
bWF4Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVy
RGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkK
IAogVGVzdCBhcmlhVmFsdWVNaW4gPCAtID4gYXJpYS12YWx1ZW1pbgogUEFTUyBlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhVmFsdWVNaW4iXSA9IGRhdGE7Ci1QQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxl
bWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxl
bWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtdmFsdWVtaW4iLCBvdGhlckRhdGEpOwotUEFTUyBlbGVt
ZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFWYWx1ZU5vdyA8IC0gPiBh
cmlhLXZhbHVlbm93CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRb
ImFyaWFWYWx1ZU5vdyJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVu
dEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0
cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS12YWx1
ZW5vdyIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhl
ckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5
CiAKIFRlc3QgYXJpYVZhbHVlVGV4dCA8IC0gPiBhcmlhLXZhbHVldGV4dAogUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhVmFsdWVUZXh0Il0gPSBkYXRhOwot
UEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUK
IGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXZhbHVldGV4dCIsIG90aGVyRGF0YSk7Ci1QQVNT
IGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIAotUEFTUyBjb3VudCBpcyAzOAor
UEFTUyBjb3VudCBpcyA0MAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNU
IENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L0FSSUEtcmVm
bGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rpb24u
aHRtbAppbmRleCAzMjNiMTg5YzRlM2U0MDFhNGZmZDU2ZDRjZmVlNDY0NzI5YWZmOTE4Li45M2E5
YjdhMTdmOWE0NGU0Y2QxMWJlY2E5NjlmMGNlNTc3NjljZWVlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9hY2Nlc3NpYmlsaXR5L0FSSUEtcmVmbGVjdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2FjY2Vzc2liaWxpdHkvQVJJQS1yZWZsZWN0aW9uLmh0bWwKQEAgLTUsNyArNSw4IEBACiA8ZGl2
IGlkPSJjb250ZW50Ij4KIAogPGRpdiBpZD0idGVzdCIgZGF0YT0ic29tZSBkYXRhIj4KLQorICA8
ZGl2IGlkPSJmaXJzdENoaWxkIj48L2Rpdj4KKyAgPGRpdiBpZD0ic2Vjb25kQ2hpbGQiPjwvZGl2
PgogPC9kaXY+CiAKIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgpAQCAtMjEsMjIgKzIyLDQwIEBA
CiAgICAgdmFyIGN1cnJlbnRQcm9wZXJ0eTsKICAgICB2YXIgY3VycmVudEF0dHJpYnV0ZTsKIAor
ICAgIGZ1bmN0aW9uIGlzRWxlbWVudFJlZmxlY3Rpb25Qcm9wZXJ0eShwcm9wZXJ0eSkgeworICAg
ICAgICBzd2l0Y2ggKHByb3BlcnR5KSB7CisgICAgICAgICAgICBjYXNlICJhcmlhQWN0aXZlRGVz
Y2VuZGFudEVsZW1lbnQiOgorICAgICAgICAgICAgY2FzZSAiYXJpYUVycm9yTWVzc2FnZUVsZW1l
bnQiOgorICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBjb252ZXJ0UHJvcGVydHlUb0F0dHJp
YnV0ZShwcm9wZXJ0eSkgeworICAgICAgICBpZiAoaXNFbGVtZW50UmVmbGVjdGlvblByb3BlcnR5
KHByb3BlcnR5KSkKKyAgICAgICAgICBwcm9wZXJ0eSA9IHByb3BlcnR5LnJlcGxhY2UoIkVsZW1l
bnQiLCAiIik7CisgICAgICAgIHJldHVybiBwcm9wZXJ0eS5yZXBsYWNlKCJhcmlhIiwgImFyaWEt
IikudG9Mb3dlckNhc2UoKTsKKyAgICB9CisKICAgICBmdW5jdGlvbiB0ZXN0RWxlbWVudCgpIHsK
LSAgICAgICAgY3VycmVudEF0dHJpYnV0ZSA9IGN1cnJlbnRQcm9wZXJ0eS5yZXBsYWNlKCJhcmlh
IiwgImFyaWEtIikudG9Mb3dlckNhc2UoKTsKLSAgICAgICAgCisgICAgICAgIGN1cnJlbnRBdHRy
aWJ1dGUgPSBjb252ZXJ0UHJvcGVydHlUb0F0dHJpYnV0ZShjdXJyZW50UHJvcGVydHkpOworCiAg
ICAgICAgIGRlYnVnKCJcblRlc3QgIiArIGN1cnJlbnRQcm9wZXJ0eSArICIgPCAtID4gIiArIGN1
cnJlbnRBdHRyaWJ1dGUpOwogICAgICAgICBzaG91bGRCZU51bGwoImVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSIpOwogICAgICAgICBzaG91bGRCZU51bGwoImVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1
cnJlbnRBdHRyaWJ1dGUpIik7Ci0gICAgICAgIAorCiAgICAgICAgIC8vIFNldCB0aGUgcHJvcGVy
dHkgdmFsdWUKLSAgICAgICAgZGVidWcoImVsZW1lbnRbXCIiICsgY3VycmVudFByb3BlcnR5ICsg
IlwiXSA9IGRhdGE7Iik7Ci0gICAgICAgIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSA9IGRhdGE7
Ci0gICAgICAgIHNob3VsZEJlKCJlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRl
KSIsICJkYXRhIik7CisgICAgICAgIGRhdGFQcm9wZXJ0eSA9IGlzRWxlbWVudFJlZmxlY3Rpb25Q
cm9wZXJ0eShjdXJyZW50UHJvcGVydHkpID8gZmlyc3RDaGlsZCA6IGRhdGE7CisgICAgICAgIGRh
dGFBdHRyaWJ1dGUgPSBpc0VsZW1lbnRSZWZsZWN0aW9uUHJvcGVydHkoY3VycmVudFByb3BlcnR5
KSA/IGZpcnN0Q2hpbGQuaWQgOiBkYXRhOworICAgICAgICBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0
eV0gPSBkYXRhUHJvcGVydHk7CisgICAgICAgIHNob3VsZEJlKCJlbGVtZW50LmdldEF0dHJpYnV0
ZShjdXJyZW50QXR0cmlidXRlKSIsICJkYXRhQXR0cmlidXRlIik7CiAKICAgICAgICAgLy8gU2V0
IHRoZSBhdHRyaWJ1dGUgdmFsdWUKKyAgICAgICAgb3RoZXJEYXRhUHJvcGVydHkgPSBpc0VsZW1l
bnRSZWZsZWN0aW9uUHJvcGVydHkoY3VycmVudFByb3BlcnR5KSA/IHNlY29uZENoaWxkIDogb3Ro
ZXJEYXRhOworICAgICAgICBvdGhlckRhdGFBdHRyaWJ1dGUgPSBpc0VsZW1lbnRSZWZsZWN0aW9u
UHJvcGVydHkoY3VycmVudFByb3BlcnR5KSA/IHNlY29uZENoaWxkLmlkIDogb3RoZXJEYXRhOwog
ICAgICAgICBkZWJ1ZygiZWxlbWVudC5zZXRBdHRyaWJ1dGUoXCIiICsgY3VycmVudEF0dHJpYnV0
ZSArICJcIiwgb3RoZXJEYXRhKTsiKTsKLSAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSwgb3RoZXJEYXRhKTsKLSAgICAgICAgc2hvdWxkQmUoImVsZW1lbnRbY3Vy
cmVudFByb3BlcnR5XSIsICJvdGhlckRhdGEiKTsKKyAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1
dGUoY3VycmVudEF0dHJpYnV0ZSwgb3RoZXJEYXRhQXR0cmlidXRlKTsKKyAgICAgICAgc2hvdWxk
QmUoImVsZW1lbnRbY3VycmVudFByb3BlcnR5XSIsICJvdGhlckRhdGFQcm9wZXJ0eSIpOwogICAg
IH0KIAogICAgIGZ1bmN0aW9uIHRlc3RSb2xlKCkgewpAQCAtNTksNyArNzgsNyBAQAogICAgICAg
ICB9CiAKICAgICAgICAgZGVidWcoIlxuIik7Ci0gICAgICAgIHNob3VsZEJlKCJjb3VudCIsICIz
OCIpOworICAgICAgICBzaG91bGRCZSgiY291bnQiLCAiNDAiKTsKIAogICAgIH0gZWxzZSB7CiAg
ICAgICAgIHRlc3RGYWlsZWQoIkNvdWxkIG5vdCBsb2FkIGFjY2Vzc2liaWxpdHkgY29udHJvbGxl
ciIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25v
ZGVzL2FyaWEtZWxlbWVudC1yZWZsZWN0aW9uLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKaW5kZXgg
ZGNhMzE4YjA5ODUzYWJiYTk3ZDVkZjc1YmYzNDNiYzE1MzU4N2FjMC4uMTY3ODA2NDcxNjdmNDZh
YTVkMGNjMTQ2M2E5M2UyMDBhMmNkZGNjMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rp
b24udGVudGF0aXZlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50
YXRpdmUtZXhwZWN0ZWQudHh0CkBAIC05LDEwICs5LDcgQEAgRmlyc3QgZGVzY3JpcHRpb24uCiBT
ZWNvbmQgZGVzY3JpcHRpb24uCiBJdGVtIDEKIEl0ZW0gMgotSXRlbSAxCi1JdGVtIDIKIEhlbGxv
IHdvcmxkIQotSSBhbSBhbiBhcHBsZQogSSBhbSBhIHBlYXIKIEkgYW0gYSBiYW5hbmEKIEJpbGxp
bmcKQEAgLTQ3LDE3ICs0NCwxNyBAQCBXb25kZXJmdWwKIEZhbnRhc3RpYwogCiAKLUZBSUwgYXJp
YS1hY3RpdmVkZXNjZW5kYW50IGVsZW1lbnQgcmVmbGVjdGlvbiBhc3NlcnRfZXF1YWxzOiBpbnZh
bGlkIElEIGZvciByZWxhdGlvbnNoaXAgcmV0dXJucyBudWxsIGV4cGVjdGVkIChvYmplY3QpIG51
bGwgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgSWYgdGhlIGNvbnRlbnQgYXR0
cmlidXRlIGlzIHNldCBkaXJlY3RseSwgdGhlIElETCBhdHRyaWJ1dGUgZ2V0dGVyIGFsd2F5cyBy
ZXR1cm5zIHRoZSBmaXJzdCBlbGVtZW50IHdob3NlIElEIG1hdGNoZXMgdGhlIGNvbnRlbnQgYXR0
cmlidXRlLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAob2JqZWN0KSBFbGVtZW50IG5vZGUgPGRp
diByb2xlPSJvcHRpb24iIGlkPSJvcHRpb24xIj5JdGVtIDE8L2Rpdj4gYnV0IGdvdCAodW5kZWZp
bmVkKSB1bmRlZmluZWQKLUZBSUwgU2V0dGluZyB0aGUgSURMIGF0dHJpYnV0ZSB0byBhbiBlbGVt
ZW50IHdoaWNoIGlzIG5vdCB0aGUgZmlyc3QgZWxlbWVudCBpbiBET00gb3JkZXIgd2l0aCBpdHMg
SUQgY2F1c2VzIHRoZSBjb250ZW50IGF0dHJpYnV0ZSB0byBiZSBhbiBlbXB0eSBzdHJpbmcgYXNz
ZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFNldHRpbmcgYW4gZWxlbWVu
dCByZWZlcmVuY2UgdGhhdCBjcm9zc2VzIGludG8gYSBzaGFkb3cgdHJlZSBpcyBkaXNhbGxvd2Vk
LCBidXQgc2V0dGluZyBvbmUgdGhhdCBpcyBpbiBhIHNoYWRvdyBpbmNsdXNpdmUgYW5jZXN0b3Ig
aXMgYWxsb3dlZC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKG9iamVjdCkgbnVsbCBidXQgZ290
ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJTCBhcmlhLWVycm9ybWVzc2FnZSBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAiZXJyb3JNZXNzYWdlIiBidXQgZ290IChvYmplY3QpIG51
bGwKK1BBU1MgYXJpYS1hY3RpdmVkZXNjZW5kYW50IGVsZW1lbnQgcmVmbGVjdGlvbgorUEFTUyBJ
ZiB0aGUgY29udGVudCBhdHRyaWJ1dGUgaXMgc2V0IGRpcmVjdGx5LCB0aGUgSURMIGF0dHJpYnV0
ZSBnZXR0ZXIgYWx3YXlzIHJldHVybnMgdGhlIGZpcnN0IGVsZW1lbnQgd2hvc2UgSUQgbWF0Y2hl
cyB0aGUgY29udGVudCBhdHRyaWJ1dGUuCitQQVNTIFNldHRpbmcgdGhlIElETCBhdHRyaWJ1dGUg
dG8gYW4gZWxlbWVudCB3aGljaCBpcyBub3QgdGhlIGZpcnN0IGVsZW1lbnQgaW4gRE9NIG9yZGVy
IHdpdGggaXRzIElEIGNhdXNlcyB0aGUgY29udGVudCBhdHRyaWJ1dGUgdG8gYmUgYW4gZW1wdHkg
c3RyaW5nCitQQVNTIFNldHRpbmcgYW4gZWxlbWVudCByZWZlcmVuY2UgdGhhdCBjcm9zc2VzIGlu
dG8gYSBzaGFkb3cgdHJlZSBpcyBkaXNhbGxvd2VkLCBidXQgc2V0dGluZyBvbmUgdGhhdCBpcyBp
biBhIHNoYWRvdyBpbmNsdXNpdmUgYW5jZXN0b3IgaXMgYWxsb3dlZC4KK1BBU1MgYXJpYS1lcnJv
cm1lc3NhZ2UKIEZBSUwgYXJpYS1kZXRhaWxzIGFzc2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlz
IHVuZGVmaW5lZCwgZXhwZWN0ZWQgYXJyYXkKLUZBSUwgRGVsZXRpbmcgYSByZWZsZWN0ZWQgZWxl
bWVudCBzaG91bGQgcmV0dXJuIG51bGwgZm9yIHRoZSBJREwgYXR0cmlidXRlIGFuZCBjYXVzZSB0
aGUgY29udGVudCBhdHRyaWJ1dGUgdG8gYmVjb21lIHN0YWxlLiBhc3NlcnRfZXF1YWxzOiBleHBl
Y3RlZCAob2JqZWN0KSBFbGVtZW50IG5vZGUgPGRpdiByb2xlPSJvcHRpb24iIGlkPSJjb250ZW50
QXR0ckVsZW1lbnQiPkl0ZW0gMTwvZGl2PiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAot
RkFJTCBDaGFuZ2luZyB0aGUgSUQgb2YgYW4gZWxlbWVudCBjYXVzZXMgdGhlIGNvbnRlbnQgYXR0
cmlidXRlIHRvIGJlY29tZSBvdXQgb2Ygc3luYy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKG9i
amVjdCkgRWxlbWVudCBub2RlIDxkaXYgcm9sZT0ib3B0aW9uIiBpZD0iY2hhbmdpbmdJZEVsZW1l
bnQiPkl0ZW0gMTwvZGl2PiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJTCBSZXBh
cmVudGluZyBhbiBlbGVtZW50IGludG8gYSBkZXNjZW5kYW50IHNoYWRvdyBzY29wZSBoaWRlcyB0
aGUgZWxlbWVudCByZWZlcmVuY2UuIGFzc2VydF9lcXVhbHM6IG51bGwgYmVmb3JlIGV4cGVjdGVk
IChvYmplY3QpIG51bGwgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgUmVwYXJl
bnRpbmcgcmVmZXJlbmNlZCBlbGVtZW50IGNhbm5vdCBjYXVzZSByZXRhcmdldGluZyBvZiByZWZl
cmVuY2UuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICJhcHBsZSIgYnV0IGdvdCAo
b2JqZWN0KSBudWxsCi1GQUlMIEVsZW1lbnQgcmVmZXJlbmNlIHNldCBpbiBpbnZhbGlkIHNjb3Bl
IHJlbWFpbnMgaW50YWN0IHRocm91Z2hvdXQgbW92ZSB0byB2YWxpZCBzY29wZS4gYXNzZXJ0X2Vx
dWFsczogZXhwZWN0ZWQgbnVsbCBidXQgZ290IEVsZW1lbnQgbm9kZSA8ZGl2IGlkPSJ0b2FzdCI+
PC9kaXY+CitQQVNTIERlbGV0aW5nIGEgcmVmbGVjdGVkIGVsZW1lbnQgc2hvdWxkIHJldHVybiBu
dWxsIGZvciB0aGUgSURMIGF0dHJpYnV0ZSBhbmQgY2F1c2UgdGhlIGNvbnRlbnQgYXR0cmlidXRl
IHRvIGJlY29tZSBzdGFsZS4KK1BBU1MgQ2hhbmdpbmcgdGhlIElEIG9mIGFuIGVsZW1lbnQgY2F1
c2VzIHRoZSBjb250ZW50IGF0dHJpYnV0ZSB0byBiZWNvbWUgb3V0IG9mIHN5bmMuCitQQVNTIFJl
cGFyZW50aW5nIGFuIGVsZW1lbnQgaW50byBhIGRlc2NlbmRhbnQgc2hhZG93IHNjb3BlIGhpZGVz
IHRoZSBlbGVtZW50IHJlZmVyZW5jZS4KK1BBU1MgUmVwYXJlbnRpbmcgcmVmZXJlbmNlZCBlbGVt
ZW50IGNhbm5vdCBjYXVzZSByZXRhcmdldGluZyBvZiByZWZlcmVuY2UuCitQQVNTIEVsZW1lbnQg
cmVmZXJlbmNlIHNldCBpbiBpbnZhbGlkIHNjb3BlIHJlbWFpbnMgaW50YWN0IHRocm91Z2hvdXQg
bW92ZSB0byB2YWxpZCBzY29wZS4KIEZBSUwgYXJpYS1sYWJlbGxlZGJ5LiBhc3NlcnRfYXJyYXlf
ZXF1YWxzOiBwYXJzZWQgY29udGVudCBhdHRyaWJ1dGUgc2V0cyBlbGVtZW50IHJlZmVyZW5jZXMu
IHZhbHVlIGlzIHVuZGVmaW5lZCwgZXhwZWN0ZWQgYXJyYXkKIEZBSUwgYXJpYS1jb250cm9scy4g
YXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgdW5kZWZpbmVkLCBleHBlY3RlZCBhcnJheQog
RkFJTCBhcmlhLWRlc2NyaWJlZGJ5LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyB1bmRl
ZmluZWQsIGV4cGVjdGVkIGFycmF5CkBAIC02Nyw2ICs2NCw3IEBAIEZBSUwgc2hhZG93IERPTSBi
ZWhhdmlvdXIgZm9yIEZyb3plbkFycmF5IGVsZW1lbnQgcmVmbGVjdGlvbi4gYXNzZXJ0X2FycmF5
X2VxdWFsCiBGQUlMIE1vdmluZyBleHBsaWNpdGx5IHNldCBlbGVtZW50cyBhY3Jvc3Mgc2hhZG93
IERPTSBib3VuZGFyaWVzLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAiYnV0dG9u
RGVzY3JpcHRpb24xIGJ1dHRvbkRlc2NyaXB0aW9uMiIgYnV0IGdvdCAob2JqZWN0KSBudWxsCiBG
QUlMIE1vdmluZyBleHBsaWNpdGx5IHNldCBlbGVtZW50cyBhcm91bmQgd2l0aGluIHRoZSBzYW1l
IHNjb3BlLCBhbmQgcmVtb3ZpbmcgZnJvbSB0aGUgRE9NLiBhc3NlcnRfYXJyYXlfZXF1YWxzOiBh
cmlhLWxhYmVsZWQgYnkgaXMgc3VwcG9ydGVkIGJ5IElETCBnZXR0ZXIuIHZhbHVlIGlzIHVuZGVm
aW5lZCwgZXhwZWN0ZWQgYXJyYXkKIFBBU1MgUmVwYXJlbnRpbmcuCi1GQUlMIEF0dGFjaGluZyBl
bGVtZW50IHJlZmVyZW5jZSBiZWZvcmUgaXQncyBpbnNlcnRlZCBpbnRvIHRoZSBET00uIGFzc2Vy
dF9lcXVhbHM6IFJlZmVyZW5jZWQgZWxlbWVudCBub3QgaW5zZXJ0ZWQgaW50byBkb2N1bWVudCwg
c28gaXMgaW4gYW4gaW52YWxpZCBzY29wZS4gZXhwZWN0ZWQgbnVsbCBidXQgZ290IEVsZW1lbnQg
bm9kZSA8c3BhbiBpZD0idG9TcGFuIj48L3NwYW4+Ci1GQUlMIENyb3NzLWRvY3VtZW50IHJlZmVy
ZW5jZXMgYW5kIG1vdmVzLiBhc3NlcnRfZXF1YWxzOiBDcm9zcy1kb2N1bWVudCBpcyBhbiBpbnZh
bGlkIHNjb3BlLCBzbyByZWZlcmVuY2Ugd2lsbCBub3QgYmUgdmlzaWJsZS4gZXhwZWN0ZWQgbnVs
bCBidXQgZ290IEVsZW1lbnQgbm9kZSA8c3Bhbj48L3NwYW4+CitQQVNTIEF0dGFjaGluZyBlbGVt
ZW50IHJlZmVyZW5jZSBiZWZvcmUgaXQncyBpbnNlcnRlZCBpbnRvIHRoZSBET00uCitQQVNTIENy
b3NzLWRvY3VtZW50IHJlZmVyZW5jZXMgYW5kIG1vdmVzLgorUEFTUyBBZG9wdGluZyBlbGVtZW50
IGtlZXBzIHJlZmVyZW5jZXMuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL2FyaWEtZWxlbWVudC1yZWZsZWN0aW9uLnRl
bnRhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLmh0bWwKaW5kZXgg
Nzc2ZmZmMzE0MzIyYjkwMDRlMWU2NzgzYzYyNmMwMzU2Y2E4ZjBhNy4uZWJkMjY5NWIyM2I2OThl
ZmVkM2RhZGMwZDMwMzc4ZjM0NmRlZjE2MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rp
b24udGVudGF0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLmh0
bWwKQEAgLTE2NCw2ICsxNjQsNyBAQAogICA8c2NyaXB0PgogCiAgIHRlc3QoZnVuY3Rpb24odCkg
eworICAgIGNvbnN0IGNvbnRlbnRBdHRyRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250ZW50QXR0ckVsZW1lbnQiKTsKICAgICBjb25zdCBpZGxBdHRyRWxlbWVudCA9IGRvY3Vt
ZW50LmdldEVsZW1lbnRCeUlkKCJpZGxBdHRyRWxlbWVudCIpOwogCiAgICAgYXNzZXJ0X2VxdWFs
cyhkZWxldGlvblBhcmVudC5nZXRBdHRyaWJ1dGUoImFyaWEtYWN0aXZlZGVzY2VuZGFudCIpLCAi
Y29udGVudEF0dHJFbGVtZW50Iik7CkBAIC03MDcsNiArNzA4LDI0IEBACiAgICAgfSwgIkNyb3Nz
LWRvY3VtZW50IHJlZmVyZW5jZXMgYW5kIG1vdmVzLiIpOwogICA8L3NjcmlwdD4KIAorCisgIDxz
Y3JpcHQ+CisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICBjb25zdCBvdGhlckRvYyA9IGRv
Y3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgnb3RoZXJEb2MnKTsKKyAg
ICAgIGNvbnN0IG90aGVyRG9jRGl2ID0gb3RoZXJEb2MuY3JlYXRlRWxlbWVudCgnZGl2Jyk7Cisg
ICAgICBjb25zdCBvdGhlckRvY1NwYW4gPSBvdGhlckRvYy5jcmVhdGVFbGVtZW50KCdzcGFuJyk7
CisgICAgICBvdGhlckRvY0Rpdi5hcHBlbmRDaGlsZChvdGhlckRvY1NwYW4pOworICAgICAgb3Ro
ZXJEb2MuYm9keS5hcHBlbmRDaGlsZChvdGhlckRvY0Rpdik7CisKKyAgICAgIG90aGVyRG9jRGl2
LmFyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCA9IG90aGVyRG9jU3BhbjsKKyAgICAgIGFzc2Vy
dF9lcXVhbHMob3RoZXJEb2NEaXYuYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50LCBvdGhlckRv
Y1NwYW4sICJTZXR0aW5nIHJlZmVyZW5jZSBvbiBhIGRpZmZlcmVudCBkb2N1bWVudC4iKTsKKwor
ICAgICAgLy8gQWRvcHQgZWxlbWVudCBmcm9tIG90aGVyIG9kdWNtZW50LgorICAgICAgZG9jdW1l
bnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5hZG9wdE5vZGUob3RoZXJEb2NEaXYpKTsKKyAg
ICAgIGFzc2VydF9lcXVhbHMob3RoZXJEb2NEaXYuYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50
LCBvdGhlckRvY1NwYW4sICJSZWZlcmVuY2Ugc2hvdWxkIGJlIGtlcHQgb24gdGhlIG5ldyBkb2N1
bWVudGUgdG9vLiIpOworICAgIH0sICJBZG9wdGluZyBlbGVtZW50IGtlZXBzIHJlZmVyZW5jZXMu
Iik7CisgIDwvc2NyaXB0PgorCiAgIDwhLS0gVE9ETyhjaHJpc2hhbGwpOiBhZGQgYWRkaXRpb25h
bCBHQyB0ZXN0IGNvdmVyaW5nOgogICAgICAgIGlmIGFuIGVsZW1lbnQgaXMgaW4gYW4gaW52YWxp
ZCBzY29wZSBidXQgYXR0YWNoZWQgdG8gdGhlIGRvY3VtZW50LCBpdCdzCiAgICAgICAgbm90IEdD
J2Q7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458792</attachid>
            <date>2022-05-04 07:37:45 -0700</date>
            <delta_ts>2022-05-04 08:14:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239852-20220504163743.patch</filename>
            <type>text/plain</type>
            <size>52342</size>
            <attacher name="Manuel Rego Casasnovas">rego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYxNmM1NTQ4M2M4NzRjNjdiODdhMDZl
MmQyMzRlODViZjczNThkMzIuLjc3OWEyZThmMDhmOTM5YmM0OGI5ZWY4Nzk3NTljOTM4MTcwZmU5
OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjItMDUtMDQgIE1hbnVlbCBSZWdvIENhc2Fzbm92
YXMgIDxyZWdvQGlnYWxpYS5jb20+CisKKyAgICAgICAgQVJJQSByZWZsZWN0aW9uIGZvciBFbGVt
ZW50IGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzOTg1MgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAg
ICAgIEFkZCBuZXcgcnVudGltZSBmbGFnIEFyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5j
ZXNFbmFibGVkLgorCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNl
c0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIyLTA1LTA0ICBKb29uZ2h1biBQYXJrICA8amg3MTgu
cGFya0BzYW1zdW5nLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLiBSZW1vdmUgdGhlIGJ1aWxk
IHdhcm5pbmcgYmVsb3cgc2luY2UgcjI5MzcyOS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkYmQwNTNlM2NkNGY3
M2E1ZjZjZDI4M2VmNzc1OGRlZjRhMjhhZmQ4Li5hMDUwODk0ZWZhN2FmZWE1NTE0NTBhMDUyYWZi
YzBhMDQxOGFhYTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjYgQEAKKzIwMjItMDUtMDQgIE1h
bnVlbCBSZWdvIENhc2Fzbm92YXMgIDxyZWdvQGlnYWxpYS5jb20+CisKKyAgICAgICAgQVJJQSBy
ZWZsZWN0aW9uIGZvciBFbGVtZW50IGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTg1MgorCisgICAgICAgIFJldmlld2VkIGJ5IENo
cmlzIER1bWV6LgorCisgICAgICAgIEltcGxlbWVudCBBUklBIHJlZmxlY3Rpb24gZm9yIGF0dHJp
YnV0ZXMgdGhhdCByZWZlciB0byBhIHNpbmdsZSBFbGVtZW50OgorICAgICAgICBhcmlhLWFjdGl2
ZWRlc2NlbmRhbnQgJiBhcmlhLWVycm9ybWVzc2FnZS4KKyAgICAgICAgRm9yIHRoZSBwcm9wZXJ0
aWVzIG5hbWVzIHRoaXMgcGF0Y2ggdXNlcyAiRWxlbWVudCIgc3VmZml4OgorICAgICAgICBhcmlh
QWN0aXZlRGVzY2VuZGFudEVsZW1lbnQgJiBhcmlhRXJyb3JNZXNzYWdlRWxlbWVudDsKKyAgICAg
ICAgdGhpcyBtYXRjaGVzIENocm9taXVtIGltcGxlbWVudGF0aW9uIGFuZCBBT00gZXhwbGFpbmVy
LCBidXQgbm90IEFPTSBzcGVjOgorICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vdzNjL2FyaWEv
aXNzdWVzLzE3MzIKKworICAgICAgICBUaGlzIGltcGxlbWVudGF0aW9uIGlzIGRvbmUgZm9sbG93
aW5nIHRoZSBwcm9wb3NlZCBzcGVjIHRleHQgZGVmaW5lZCBhdDoKKyAgICAgICAgaHR0cHM6Ly9n
aXRodWIuY29tL3doYXR3Zy9odG1sL3B1bGwvMzkxNworCisgICAgICAgICogYWNjZXNzaWJpbGl0
eS9BcmlhQXR0cmlidXRlcy5pZGw6IEFkZCBhcmlhQWN0aXZlRGVzY2VuZGFudEVsZW1lbnQgJgor
ICAgICAgICBhcmlhRXJyb3JNZXNzYWdlRWxlbWVudC4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3IucG06CisgICAgICAgIChHZXR0ZXJFeHByZXNzaW9uKTogQWRkIGZ1
bmN0aW9uIGZvciBFbGVtZW50IGF0dHJpYnV0ZXMuCisgICAgICAgIChTZXR0ZXJFeHByZXNzaW9u
KTogRGl0dG8uCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5j
cHA6IEFkZCB0ZXN0cyBmb3IgZWxlbWVudAorICAgICAgICBhdHRyaWJ1dGUgcmVmbGVjdGlvbi4K
KyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE9iakRPTUNvbnN0cnVjdG9yOjpjb25zdHJ1Y3QpOgor
ICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRyR2V0dGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OkpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUik6CisgICAgICAgIChX
ZWJDb3JlOjpzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0dHJTZXR0ZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKToKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGw6IEFkZCByZWZsZWN0ZWRFbGVtZW50QXR0cgorICAg
ICAgICBhdHRyaWJ1dGUuCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6aXNFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0ZSk6IFV0aWxpdHkgZnVuY3Rpb24gdG8g
aWRlbnRpZnkKKyAgICAgICAgRWxlbWVudCByZWZsZWN0aW9uIGF0dHJpYnV0ZXMuCisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKTogSWYgYW4gZWxlbWVudCByZWZs
ZWN0aW9uCisgICAgICAgIGF0dHJpYnV0ZSBoYXMgY2hhbmdlZCB3ZSBuZWVkIHRvIHN5bmNocm9u
aXplIHRoZSBtYXAgZW50cnkgYnkgcmVtb3ZpbmcKKyAgICAgICAgaXQgYXMgaXQnbGwgYmUgcHJv
cGVybHkgdXBkYXRlZCBpbiBzZXRFbGVtZW50QXR0cmlidXRlKCkgd2hlbiBuZWVkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpFbGVtZW50OjplbnN1cmVFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFw
KTogS2luZCBvZiBnZXR0ZXIKKyAgICAgICAgZm9yIHRoZSBFeHBsaWNpdGx5U2V0QXR0ckVsZW1l
bnRzTWFwIGJ1dCB0aGF0IGNyZWF0ZXMgdGhlIG1hcCBpZiBpdAorICAgICAgICBkb2Vzbid0IGV4
aXN0IHlldC4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmV4cGxpY2l0bHlTZXRBdHRyRWxl
bWVudHNNYXAgY29uc3QpOiBHZXR0ZXIgZm9yIHRoZQorICAgICAgICBtYXAuCisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50Ojppc0Rlc2NlbmRhbnRPZlNoYWRvd0luY2x1ZGluZ0FuY2VzdG9ycyBj
b25zdCk6CisgICAgICAgIFV0aWxpdHkgbWV0aG9kIHRvIGRldGVjdCBpZiBhbiBlbGVtZW50IGlz
IGEgZGVzY2VuZGFudCBvZiBhbnkgb2YKKyAgICAgICAgZWxlbWVudCdzIHNoYWRvdy1pbmNsdWRp
bmcgYW5jZXN0b3JzLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6Z2V0RWxlbWVudEF0dHJp
YnV0ZSBjb25zdCk6IEltcGxlbWVudCBnZXR0ZXIgZm9yCisgICAgICAgIGVsZW1lbnQgYXR0cmli
dXRlLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2V0RWxlbWVudEF0dHJpYnV0ZSk6IElt
cGxlbWVudCBzZXR0ZXIgZm9yCisgICAgICAgIGVsZW1lbnQgYXR0cmlidXRlLgorICAgICAgICAq
IGRvbS9FbGVtZW50Lmg6IEFkZCBuZXcgbWV0aG9kIGhlYWRlcnMgYW5kIGRlZmluZXMgdGhlCisg
ICAgICAgIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAsIHdoaWNoIHNvIGZhciBvbmx5IHN0
b3JlcyBvbmUgRWxlbWVudCBpbgorICAgICAgICB0aGUgVmVjdG9yLCBidXQgdXNlcyBhIFZlY3Rv
ciBpbiBwcmVwYXJhdGlvbiBmb3Igc3VwcG9ydGluZworICAgICAgICBGcm96ZW5BcnJheTxFbGVt
ZW50PiByZWZsZWN0aW9uIGluIHRoZSBmdXR1cmUuCisgICAgICAgICogZG9tL0VsZW1lbnRSYXJl
RGF0YS5jcHA6IFVwZGF0ZSBzaXplIG9mIFNhbWVTaXplQXNFbGVtZW50UmFyZURhdGEgdG8KKyAg
ICAgICAgaW5jbHVkZSB0aGUgbmV3IHBvaW50ZXIuCisgICAgICAgICogZG9tL0VsZW1lbnRSYXJl
RGF0YS5oOiBBZGQgbV9leHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwIGF0dHJpYnV0ZS4KKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSYXJlRGF0YTo6ZXhwbGljaXRseVNldEF0dHJFbGVtZW50
c01hcCk6IEdldHRlci4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSYXJlRGF0YTo6dXNlVHlw
ZXMgY29uc3QpOkluY2x1ZGUKKyAgICAgICAgRXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcC4K
KyAgICAgICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzdHJpbmdGb3JSYXJl
RGF0YVVzZVR5cGUpOiBBZGQgRXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcC4KKyAgICAgICAg
KiBkb20vTm9kZVJhcmVEYXRhLmg6IERpdHRvLgorCiAyMDIyLTA1LTAzICBQaGlsaXBwZSBOb3Jt
YW5kICA8cGhpbG5AaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1N0cmVhbWVyXSBNZWRpYXN0cmVh
bSBtb2NrIGF1ZGlvIGludGVycnVwdGlvbiBmaXhlcyBhZnRlciByMjkwOTg1CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50
YWwueWFtbCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4
cGVyaW1lbnRhbC55YW1sCmluZGV4IGRmOGY4MTIyMTk4NzRhOGNjMTU1OGI0YTFmODhiOTVkMTIy
YTg2MzUuLmZkMzA2ZmIyOTEyZTEzMDU5ODRhZjhjZWUxMjkwNmE2ODdjZTJjYjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1l
bnRhbC55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJl
bmNlc0V4cGVyaW1lbnRhbC55YW1sCkBAIC02Niw2ICs2NiwxOCBAQCBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0TW9kZWxFbmFibGVkOgogICAgIFdlYktpdDoKICAgICAgIGRlZmF1bHQ6IGZhbHNlCiAKK0Fy
aWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5jZXNFbmFibGVkOgorICB0eXBlOiBib29sCisg
IGh1bWFuUmVhZGFibGVOYW1lOiAiQVJJQSBSZWZsZWN0aW9uIGZvciBFbGVtZW50IFJlZmVyZW5j
ZXMiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBBUklBIHJlZmxlY3Rpb24g
Zm9yIGF0dHJpYnV0ZXMgdGhhdCByZWZlciB0byBlbGVtZW50cyIKKyAgZGVmYXVsdFZhbHVlOgor
ICAgIFdlYktpdExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAg
ICAgZGVmYXVsdDogZmFsc2UKKyAgICBXZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwog
QXNwZWN0UmF0aW9FbmFibGVkOgogICB0eXBlOiBib29sCiAgIGh1bWFuUmVhZGFibGVOYW1lOiAi
Q1NTIEFzcGVjdCBSYXRpbyIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQXJpYUF0dHJpYnV0ZXMuaWRsIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9Bcmlh
QXR0cmlidXRlcy5pZGwKaW5kZXggNWJlNWU0NmY4YzU5NmFjNDY4MzNmZGMxMjRmYTBlNzAzMTM4
ZTM4NS4uNGM2NjBiYTE4MDIxOWFhM2ZjYmI2NjI4NGY1MzA4MDljNGY3Y2JhNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BcmlhQXR0cmlidXRlcy5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BcmlhQXR0cmlidXRlcy5pZGwKQEAgLTI1LDYg
KzI1LDcgQEAKIAogLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9hb20vc3BlYy9hcmlhLXJlZmxl
Y3Rpb24uaHRtbCNBcmlhQXR0cmlidXRlcwogaW50ZXJmYWNlIG1peGluIEFyaWFBdHRyaWJ1dGVz
IHsKKyAgICBbUmVmbGVjdD1hcmlhX2FjdGl2ZWRlc2NlbmRhbnQsIEVuYWJsZWRCeVNldHRpbmc9
QXJpYVJlZmxlY3Rpb25Gb3JFbGVtZW50UmVmZXJlbmNlc0VuYWJsZWRdIGF0dHJpYnV0ZSBFbGVt
ZW50PyBhcmlhQWN0aXZlRGVzY2VuZGFudEVsZW1lbnQ7CiAgICAgW1JlZmxlY3Q9YXJpYV9hdG9t
aWNdICAgICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUF0b21p
YzsKICAgICBbUmVmbGVjdD1hcmlhX2F1dG9jb21wbGV0ZV0gICAgIGF0dHJpYnV0ZSBbQXRvbVN0
cmluZ10gRE9NU3RyaW5nPyBhcmlhQXV0b0NvbXBsZXRlOwogICAgIFtSZWZsZWN0PWFyaWFfYnVz
eV0gICAgICAgICAgICAgYXR0cmlidXRlIFtBdG9tU3RyaW5nXSBET01TdHJpbmc/IGFyaWFCdXN5
OwpAQCAtMzQsNiArMzUsNyBAQCBpbnRlcmZhY2UgbWl4aW4gQXJpYUF0dHJpYnV0ZXMgewogICAg
IFtSZWZsZWN0PWFyaWFfY29sc3Bhbl0gICAgICAgICAgYXR0cmlidXRlIFtBdG9tU3RyaW5nXSBE
T01TdHJpbmc/IGFyaWFDb2xTcGFuOwogICAgIFtSZWZsZWN0PWFyaWFfY3VycmVudF0gICAgICAg
ICAgYXR0cmlidXRlIFtBdG9tU3RyaW5nXSBET01TdHJpbmc/IGFyaWFDdXJyZW50OwogICAgIFtS
ZWZsZWN0PWFyaWFfZGlzYWJsZWRdICAgICAgICAgYXR0cmlidXRlIFtBdG9tU3RyaW5nXSBET01T
dHJpbmc/IGFyaWFEaXNhYmxlZDsKKyAgICBbUmVmbGVjdD1hcmlhX2Vycm9ybWVzc2FnZSwgRW5h
YmxlZEJ5U2V0dGluZz1BcmlhUmVmbGVjdGlvbkZvckVsZW1lbnRSZWZlcmVuY2VzRW5hYmxlZF0g
YXR0cmlidXRlIEVsZW1lbnQ/IGFyaWFFcnJvck1lc3NhZ2VFbGVtZW50OwogICAgIFtSZWZsZWN0
PWFyaWFfZXhwYW5kZWRdICAgICAgICAgYXR0cmlidXRlIFtBdG9tU3RyaW5nXSBET01TdHJpbmc/
IGFyaWFFeHBhbmRlZDsKICAgICBbUmVmbGVjdD1hcmlhX2hhc3BvcHVwXSAgICAgICAgIGF0dHJp
YnV0ZSBbQXRvbVN0cmluZ10gRE9NU3RyaW5nPyBhcmlhSGFzUG9wdXA7CiAgICAgW1JlZmxlY3Q9
YXJpYV9oaWRkZW5dICAgICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8g
YXJpYUhpZGRlbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvci5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvci5wbQppbmRleCA3MWIzNmJjZTU1M2NjMWU0ZGYzOTk2ZDJiZDRhMjhhZWQwN2EyYzky
Li5iOGQ3YTRmMGJiZmY5ZDgxZTQ1MWZhNTI1NWY0ZDMwNmM3NmNjNmViIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCkBAIC0xMTA4LDYg
KzExMDgsOCBAQCBzdWIgR2V0dGVyRXhwcmVzc2lvbgogICAgICAgICAkZnVuY3Rpb25OYW1lID0g
ImdldEludGVncmFsQXR0cmlidXRlIjsKICAgICB9IGVsc2lmICgkYXR0cmlidXRlVHlwZS0+bmFt
ZSBlcSAidW5zaWduZWQgbG9uZyIpIHsKICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICJnZXRVbnNp
Z25lZEludGVncmFsQXR0cmlidXRlIjsKKyAgICB9IGVsc2lmICgkYXR0cmlidXRlVHlwZS0+bmFt
ZSBlcSAiRWxlbWVudCIpIHsKKyAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICJnZXRFbGVtZW50QXR0
cmlidXRlIjsKICAgICB9IGVsc2UgewogICAgICAgICBpZiAoJGNvbnRlbnRBdHRyaWJ1dGVOYW1l
IGVxICJXZWJDb3JlOjpIVE1MTmFtZXM6OmlkQXR0ciIpIHsKICAgICAgICAgICAgICRmdW5jdGlv
bk5hbWUgPSAiZ2V0SWRBdHRyaWJ1dGUiOwpAQCAtMTE0NSw2ICsxMTQ3LDggQEAgc3ViIFNldHRl
ckV4cHJlc3Npb24KICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICJzZXRJbnRlZ3JhbEF0dHJpYnV0
ZSI7CiAgICAgfSBlbHNpZiAoJGF0dHJpYnV0ZVR5cGUtPm5hbWUgZXEgInVuc2lnbmVkIGxvbmci
KSB7CiAgICAgICAgICRmdW5jdGlvbk5hbWUgPSAic2V0VW5zaWduZWRJbnRlZ3JhbEF0dHJpYnV0
ZSI7CisgICAgfSBlbHNpZiAoJGF0dHJpYnV0ZVR5cGUtPm5hbWUgZXEgIkVsZW1lbnQiKSB7Cisg
ICAgICAgICRmdW5jdGlvbk5hbWUgPSAic2V0RWxlbWVudEF0dHJpYnV0ZSI7CiAgICAgfSBlbHNp
ZiAoJGdlbmVyYXRvci0+SXNTVkdBbmltYXRlZFR5cGUoJGF0dHJpYnV0ZVR5cGUpKSB7CiAgICAg
ICAgICRmdW5jdGlvbk5hbWUgPSAic2V0QXR0cmlidXRlIjsKICAgICB9IGVsc2UgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNw
cAppbmRleCBmMzQzMjZjNGJjMzU4OGM0NWJmOWU4MGQ3ZDU5NDJjNzU3ODRhOTFmLi41MWNiOGYz
ZDhjMzk4YjZiMDJmZmJkOWMxNDNhY2NjOGQ4YWIxYjFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcApAQCAtMTgwMyw2
ICsxODAzLDggQEAgc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNUZXN0T2JqX3Jl
ZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01f
U0VUVEVSKHNldEpTVGVzdE9ial9yZWZsZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0cik7CiBzdGF0
aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVmbGVjdGVkQm9vbGVhbkF0
dHIpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3JlZmxl
Y3RlZEJvb2xlYW5BdHRyKTsKK3N0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVz
dE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0cik7CitzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX1NF
VFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0dHIpOwogc3RhdGljIEpTQ19ERUNM
QVJFX0NVU1RPTV9HRVRURVIoanNUZXN0T2JqX3JlZmxlY3RlZFVSTEF0dHIpOwogc3RhdGljIEpT
Q19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3JlZmxlY3RlZFVSTEF0dHIpOwog
c3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNUZXN0T2JqX3JlZmxlY3RlZFVTVlVS
TEF0dHIpOwpAQCAtMjE3NSw2ICsyMTc3LDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVl
IEpTVGVzdE9ialByb3RvdHlwZVRhYmxlVmFsdWVzW10gPQogICAgIHsgInJlZmxlY3RlZEludGVn
cmFsQXR0ciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpD
dXN0b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5v
SW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVl
RnVuYz4oanNUZXN0T2JqX3JlZmxlY3RlZEludGVncmFsQXR0ciksIChpbnRwdHJfdCkgc3RhdGlj
X2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9ial9yZWZsZWN0
ZWRJbnRlZ3JhbEF0dHIpIH0gfSwKICAgICB7ICJyZWZsZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0
ciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21B
Y2Nlc3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50cmlu
c2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4o
anNUZXN0T2JqX3JlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyKSwgKGludHB0cl90KSBzdGF0
aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3JlZmxl
Y3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyKSB9IH0sCiAgICAgeyAicmVmbGVjdGVkQm9vbGVhbkF0
dHIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9t
QWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpET01BdHRyaWJ1dGUpLCBOb0ludHJp
bnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+
KGpzVGVzdE9ial9yZWZsZWN0ZWRCb29sZWFuQXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8
UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9ial9yZWZsZWN0ZWRCb29s
ZWFuQXR0cikgfSB9LAorICAgIHsgInJlZmxlY3RlZEVsZW1lbnRBdHRyIiwgc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90
KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpfcmVmbGVj
dGVkRWxlbWVudEF0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6
UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0dHIpIH0gfSwKICAg
ICB7ICJyZWZsZWN0ZWRVUkxBdHRyIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RE9N
QXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5
U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpfcmVmbGVjdGVkVVJMQXR0ciksIChpbnRwdHJf
dCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9i
al9yZWZsZWN0ZWRVUkxBdHRyKSB9IH0sCiAgICAgeyAicmVmbGVjdGVkVVNWVVJMQXR0ciIsIHN0
YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3Nv
ciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50cmluc2ljLCB7
IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0
T2JqX3JlZmxlY3RlZFVTVlVSTEF0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3Bl
cnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVVNWVVJMQXR0cikg
fSB9LAogICAgIHsgInJlZmxlY3RlZFN0cmluZ0F0dHIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpET01BdHRyaWJ1dGUpLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nh
c3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ial9yZWZsZWN0ZWRTdHJpbmdB
dHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVu
Yz4oc2V0SlNUZXN0T2JqX3JlZmxlY3RlZFN0cmluZ0F0dHIpIH0gfSwKQEAgLTM5MTgsNiArMzky
MSwzNyBAQCBKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3JlZmxlY3RlZEJv
b2xlYW5BdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleAogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8
SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9yZWZsZWN0ZWRCb29sZWFuQXR0clNldHRlcj4o
KmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCBhdHRyaWJ1dGVO
YW1lKTsKIH0KIAorc3RhdGljIGlubGluZSBKU1ZhbHVlIGpzVGVzdE9ial9yZWZsZWN0ZWRFbGVt
ZW50QXR0ckdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0
T2JqJiB0aGlzT2JqZWN0KQoreworICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEds
b2JhbE9iamVjdCk7CisgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2
bSk7CisgICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOworICAgIFJFTEVBU0Vf
QU5EX1JFVFVSTih0aHJvd1Njb3BlLCAodG9KUzxJRExJbnRlcmZhY2U8RWxlbWVudD4+KGxleGlj
YWxHbG9iYWxPYmplY3QsICp0aGlzT2JqZWN0Lmdsb2JhbE9iamVjdCgpLCB0aHJvd1Njb3BlLCBp
bXBsLmdldEVsZW1lbnRBdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpyZWZsZWN0ZWRlbGVt
ZW50YXR0ckF0dHIpKSkpOworfQorCitKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0T2Jq
X3JlZmxlY3RlZEVsZW1lbnRBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lIGF0dHJpYnV0ZU5hbWUp
KQoreworICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6Z2V0PGpzVGVzdE9ial9y
ZWZsZWN0ZWRFbGVtZW50QXR0ckdldHRlciwgQ2FzdGVkVGhpc0Vycm9yQmVoYXZpb3I6OkFzc2Vy
dD4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgYXR0cmlidXRlTmFtZSk7Cit9CisK
K3N0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0dHJTZXR0
ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdE9iaiYgdGhpc09i
amVjdCwgSlNWYWx1ZSB2YWx1ZSkKK3sKKyAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0oJmxleGlj
YWxHbG9iYWxPYmplY3QpOworICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NP
UEUodm0pOworICAgIGF1dG8mIGltcGwgPSB0aGlzT2JqZWN0LndyYXBwZWQoKTsKKyAgICBhdXRv
IG5hdGl2ZVZhbHVlID0gY29udmVydDxJRExJbnRlcmZhY2U8RWxlbWVudD4+KGxleGljYWxHbG9i
YWxPYmplY3QsIHZhbHVlLCBbXShKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBKU0M6OlRocm93U2NvcGUmIHNjb3BlKSB7IHRocm93QXR0cmlidXRlVHlwZUVycm9yKGxl
eGljYWxHbG9iYWxPYmplY3QsIHNjb3BlLCAiVGVzdE9iamVjdCIsICJyZWZsZWN0ZWRFbGVtZW50
QXR0ciIsICJFbGVtZW50Iik7IH0pOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29w
ZSwgZmFsc2UpOworICAgIGludm9rZUZ1bmN0b3JQcm9wYWdhdGluZ0V4Y2VwdGlvbklmTmVjZXNz
YXJ5KGxleGljYWxHbG9iYWxPYmplY3QsIHRocm93U2NvcGUsIFsmXSB7CisgICAgICAgIHJldHVy
biBpbXBsLnNldEVsZW1lbnRBdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpyZWZsZWN0ZWRl
bGVtZW50YXR0ckF0dHIsICpuYXRpdmVWYWx1ZSk7CisgICAgfSk7CisgICAgcmV0dXJuIHRydWU7
Cit9CisKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkRWxl
bWVudEF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpT
VmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFt
ZSBhdHRyaWJ1dGVOYW1lKSkKK3sKKyAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46
OnNldDxzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0dHJTZXR0ZXI+KCpsZXhpY2FsR2xv
YmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgYXR0cmlidXRlTmFtZSk7Cit9CisK
IHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rlc3RPYmpfcmVmbGVjdGVkVVJMQXR0ckdldHRlcihK
U0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0T2JqJiB0aGlzT2JqZWN0
KQogewogICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKaW5k
ZXggMTBmNjUxYTU3NWU3N2I3NTAwMmI4NzBjZGJiODk4ZmZhNDY2MzNjOS4uN2U5ODJkNTE2MjRi
NGNmZDhiODZlZDUxNDc3ZjcxN2IxYmJmZTVjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbApAQCAtMTA0LDYgKzEwNCw3IEBAIGVudW0g
VGVzdENvbmZpZGVuY2UgeyAiaGlnaCIsICJraW5kYS1sb3ciIH07CiAgICAgW1JlZmxlY3RdIGF0
dHJpYnV0ZSBsb25nIHJlZmxlY3RlZEludGVncmFsQXR0cjsKICAgICBbUmVmbGVjdF0gYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgcmVmbGVjdGVkVW5zaWduZWRJbnRlZ3JhbEF0dHI7CiAgICAgW1Jl
ZmxlY3RdIGF0dHJpYnV0ZSBib29sZWFuIHJlZmxlY3RlZEJvb2xlYW5BdHRyOworICAgIFtSZWZs
ZWN0XSBhdHRyaWJ1dGUgRWxlbWVudCByZWZsZWN0ZWRFbGVtZW50QXR0cjsKICAgICBbUmVmbGVj
dCwgVVJMXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmxlY3RlZFVSTEF0dHI7CiAgICAgW1JlZmxl
Y3QsIFVSTF0gYXR0cmlidXRlIFVTVlN0cmluZyByZWZsZWN0ZWRVU1ZVUkxBdHRyOwogICAgIFtS
ZWZsZWN0PWN1c3RvbUNvbnRlbnRTdHJpbmdBdHRyXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmxl
Y3RlZFN0cmluZ0F0dHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggMzA2Zjg4MTc3N2VlNjlm
NzljOGMyNjk3NTUzY2NkZjUwNGIyNDIwOS4uN2MzY2U1OTM3NDEzMjg1ODJmY2Y5MGVkM2I0NTg2
YTVkOGNmMjM4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMTkwMSw2ICsxOTAxLDExIEBA
IHN0YXRpYyBpbmxpbmUgQXRvbVN0cmluZyBtYWtlSWRGb3JTdHlsZVJlc29sdXRpb24oY29uc3Qg
QXRvbVN0cmluZyYgdmFsdWUsIGJvb2wKICAgICByZXR1cm4gdmFsdWU7CiB9CiAKK3N0YXRpYyBp
bmxpbmUgYm9vbCBpc0VsZW1lbnRSZWZsZWN0aW9uQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmIG5hbWUpCit7CisgICAgcmV0dXJuIG5hbWUgPT0gSFRNTE5hbWVzOjphcmlhX2FjdGl2ZWRl
c2NlbmRhbnRBdHRyIHx8IG5hbWUgPT0gSFRNTE5hbWVzOjphcmlhX2Vycm9ybWVzc2FnZUF0dHI7
Cit9CisKIHZvaWQgRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1l
JiBuYW1lLCBjb25zdCBBdG9tU3RyaW5nJiBvbGRWYWx1ZSwgY29uc3QgQXRvbVN0cmluZyYgbmV3
VmFsdWUsIEF0dHJpYnV0ZU1vZGlmaWNhdGlvblJlYXNvbikKIHsKICAgICBib29sIHZhbHVlSXNT
YW1lQXNCZWZvcmUgPSBvbGRWYWx1ZSA9PSBuZXdWYWx1ZTsKQEAgLTE5MzcsNyArMTk0MiwxMSBA
QCB2b2lkIEVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFt
ZSwgY29uc3QgQXRvbVN0cmluZyYgb2xkVgogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2Ug
aWYgKG5hbWUgPT0gSFRNTE5hbWVzOjpwYXJ0QXR0cikKICAgICAgICAgICAgIHBhcnRBdHRyaWJ1
dGVDaGFuZ2VkKG5ld1ZhbHVlKTsKLSAgICAgICAgZWxzZSBpZiAobmFtZSA9PSBIVE1MTmFtZXM6
OmV4cG9ydHBhcnRzQXR0cikgeworICAgICAgICBlbHNlIGlmIChpc0VsZW1lbnRSZWZsZWN0aW9u
QXR0cmlidXRlKG5hbWUpKSB7CisgICAgICAgICAgICBBU1NFUlQoZG9jdW1lbnQoKS5zZXR0aW5n
cygpLmFyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5jZXNFbmFibGVkKCkpOworICAgICAg
ICAgICAgaWYgKGF1dG8qIG1hcCA9IGV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoKSkKKyAg
ICAgICAgICAgICAgICBtYXAtPnJlbW92ZShuYW1lKTsKKyAgICAgICAgfSBlbHNlIGlmIChuYW1l
ID09IEhUTUxOYW1lczo6ZXhwb3J0cGFydHNBdHRyKSB7CiAgICAgICAgICAgICBpZiAoYXV0byog
c2hhZG93Um9vdCA9IHRoaXMtPnNoYWRvd1Jvb3QoKSkgewogICAgICAgICAgICAgICAgIHNoYWRv
d1Jvb3QtPmludmFsaWRhdGVQYXJ0TWFwcGluZ3MoKTsKICAgICAgICAgICAgICAgICBTdHlsZTo6
SW52YWxpZGF0b3I6OmludmFsaWRhdGVTaGFkb3dQYXJ0cygqc2hhZG93Um9vdCk7CkBAIC0xOTYx
LDYgKzE5NzAsNzMgQEAgdm9pZCBFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxp
ZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21TdHJpbmcmIG9sZFYKICAgICAgICAgY2FjaGUtPmRl
ZmVyQXR0cmlidXRlQ2hhbmdlSWZOZWVkZWQobmFtZSwgdGhpcyk7CiB9CiAKK0V4cGxpY2l0bHlT
ZXRBdHRyRWxlbWVudHNNYXAmIEVsZW1lbnQ6OmVuc3VyZUV4cGxpY2l0bHlTZXRBdHRyRWxlbWVu
dHNNYXAoKQoreworICAgIHJldHVybiBlbnN1cmVFbGVtZW50UmFyZURhdGEoKS5leHBsaWNpdGx5
U2V0QXR0ckVsZW1lbnRzTWFwKCk7Cit9CisKK0V4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAq
IEVsZW1lbnQ6OmV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoKSBjb25zdAoreworICAgIHJl
dHVybiBoYXNSYXJlRGF0YSgpID8gJmVsZW1lbnRSYXJlRGF0YSgpLT5leHBsaWNpdGx5U2V0QXR0
ckVsZW1lbnRzTWFwKCkgOiBudWxscHRyOworfQorCitib29sIEVsZW1lbnQ6OmlzRGVzY2VuZGFu
dE9mU2hhZG93SW5jbHVkaW5nQW5jZXN0b3JzKGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpIGNvbnN0
Cit7CisgICAgaWYgKCFpc0luVHJlZVNjb3BlKCkgfHwgIWVsZW1lbnQuaXNJblRyZWVTY29wZSgp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBmb3IgKGF1dG8qIHJvb3QgPSBjb250YWlu
aW5nU2hhZG93Um9vdCgpOyByb290OyByb290ID0gcm9vdC0+aG9zdCgpLT5jb250YWluaW5nU2hh
ZG93Um9vdCgpKSB7CisgICAgICAgIGlmIChlbGVtZW50LmlzRGVzY2VuZGFudE9mKHJvb3QpKQor
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIGVsZW1lbnQuaXNE
ZXNjZW5kYW50T2YoZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSk7Cit9CisKK0VsZW1lbnQq
IEVsZW1lbnQ6OmdldEVsZW1lbnRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmli
dXRlTmFtZSkgY29uc3QKK3sKKyAgICBBU1NFUlQoZG9jdW1lbnQoKS5zZXR0aW5ncygpLmFyaWFS
ZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5jZXNFbmFibGVkKCkpOworICAgIEFTU0VSVChpc0Vs
ZW1lbnRSZWZsZWN0aW9uQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpKTsKKworICAgIGlmIChhdXRv
KiBtYXAgPSBleHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKCkpIHsKKyAgICAgICAgYXV0byBp
dCA9IG1hcC0+ZmluZChhdHRyaWJ1dGVOYW1lKTsKKyAgICAgICAgaWYgKGl0ICE9IG1hcC0+ZW5k
KCkpIHsKKyAgICAgICAgICAgIEFTU0VSVChpdC0+dmFsdWUuc2l6ZSgpID09IDEpOworICAgICAg
ICAgICAgYXV0byogZWxlbWVudCA9IGl0LT52YWx1ZVswXS5nZXQoKTsKKyAgICAgICAgICAgIGlm
IChlbGVtZW50ICYmIGlzRGVzY2VuZGFudE9mU2hhZG93SW5jbHVkaW5nQW5jZXN0b3JzKCplbGVt
ZW50KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZWxlbWVudDsKKyAgICAgICAgICAgIHJldHVy
biBudWxscHRyOworICAgICAgICB9CisgICAgfQorCisgICAgYXV0byBpZCA9IGdldEF0dHJpYnV0
ZShhdHRyaWJ1dGVOYW1lKTsKKyAgICBpZiAoaWQuaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBu
dWxscHRyOworCisgICAgcmV0dXJuIHRyZWVTY29wZSgpLmdldEVsZW1lbnRCeUlkKGlkKTsKK30K
Kwordm9pZCBFbGVtZW50OjpzZXRFbGVtZW50QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
IGF0dHJpYnV0ZU5hbWUsIEVsZW1lbnQqIGVsZW1lbnQpCit7CisgICAgQVNTRVJUKGRvY3VtZW50
KCkuc2V0dGluZ3MoKS5hcmlhUmVmbGVjdGlvbkZvckVsZW1lbnRSZWZlcmVuY2VzRW5hYmxlZCgp
KTsKKyAgICBBU1NFUlQoaXNFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1l
KSk7CisKKyAgICBpZiAoIWVsZW1lbnQpIHsKKyAgICAgICAgaWYgKGF1dG8qIG1hcCA9IGV4cGxp
Y2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoKSkKKyAgICAgICAgICAgIG1hcC0+cmVtb3ZlKGF0dHJp
YnV0ZU5hbWUpOworICAgICAgICByZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIGlkID0gZWxlbWVudC0+Z2V0SWRBdHRyaWJ1
dGUoKTsKKyAgICBpZiAoIWlkLmlzTnVsbCgpICYmICZ0cmVlU2NvcGUoKSA9PSAmZWxlbWVudC0+
dHJlZVNjb3BlKCkgJiYgdHJlZVNjb3BlKCkuZ2V0RWxlbWVudEJ5SWQoaWQpID09IGVsZW1lbnQp
CisgICAgICAgIHNldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lLCBpZCk7CisgICAgZWxzZQorICAg
ICAgICBzZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSwgZW1wdHlBdG9tKCkpOworCisgICAgZW5z
dXJlRXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCgpLnNldChhdHRyaWJ1dGVOYW1lLCBWZWN0
b3I8V2Vha1B0cjxFbGVtZW50Pj4geyBlbGVtZW50IH0pOworfQorCiB0ZW1wbGF0ZSA8dHlwZW5h
bWUgQ2hhcmFjdGVyVHlwZT4KIHN0YXRpYyBpbmxpbmUgYm9vbCBpc05vbkVtcHR5VG9rZW5MaXN0
KGNvbnN0IENoYXJhY3RlclR5cGUqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5oCmluZGV4IGZhYmZiMjQxNDFlOWViNjUzZGUwNmIzNjRkYzA4OWE0YjdhNWUw
MTkuLmI1NjkxODljMmVmMWJlZDQyNmVhYzRhNWJiOTY0ZWVjZGYwNDYwMzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuaApAQCAtOTMsNiArOTMsMTAgQEAgc3RydWN0IFNjcm9sbFRvT3B0aW9uczsKIHN0cnVj
dCBTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50SW5pdDsKIHN0cnVjdCBTaGFkb3dSb290SW5p
dDsKIAorLy8gRklYTUU6IFRoaXMgb25seSBzdG9yZXMgb25lIEVsZW1lbnQgaW4gdGhlIFZlY3Rv
ciByaWdodCBub3csIHRob3VnaCB0aGlzIHdpbGwgY2hhbmdlCisvLyBvbmNlIHJlZmxlY3Rpb24g
Zm9yIEZyb3plbkFycmF5PEVsZW1lbnQ+IGlzIGltcGxlbWVudGVkIGluIGh0dHBzOi8vd2Via2l0
Lm9yZy9iLzIzOTg1My4KK3VzaW5nIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAgPSBIYXNo
TWFwPFF1YWxpZmllZE5hbWUsIFZlY3RvcjxXZWFrUHRyPEVsZW1lbnQ+Pj47CisKIG5hbWVzcGFj
ZSBTdHlsZSB7CiBjbGFzcyBSZXNvbHZlcjsKIGVudW0gY2xhc3MgQ2hhbmdlIDogdWludDhfdDsK
QEAgLTEyMSw2ICsxMjUsOCBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRJ
bnRlZ3JhbEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lLCBpbnQg
dmFsdWUpOwogICAgIFdFQkNPUkVfRVhQT1JUIHVuc2lnbmVkIGdldFVuc2lnbmVkSW50ZWdyYWxB
dHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgY29uc3Q7CiAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRVbnNpZ25lZEludGVncmFsQXR0cmlidXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUsIHVuc2lnbmVkIHZhbHVlKTsKKyAgICBXRUJDT1JF
X0VYUE9SVCBFbGVtZW50KiBnZXRFbGVtZW50QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
IGF0dHJpYnV0ZU5hbWUpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0RWxlbWVu
dEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lLCBFbGVtZW50KiB2
YWx1ZSk7CiAKICAgICAvLyBDYWxsIHRoaXMgdG8gZ2V0IHRoZSB2YWx1ZSBvZiBhbiBhdHRyaWJ1
dGUgdGhhdCBpcyBrbm93biBub3QgdG8gYmUgdGhlIHN0eWxlCiAgICAgLy8gYXR0cmlidXRlIG9y
IG9uZSBvZiB0aGUgU1ZHIGFuaW1hdGFibGUgYXR0cmlidXRlcy4KQEAgLTY2OCw2ICs2NzQsOSBA
QCBwdWJsaWM6CiAgICAgU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5KiBjb21wdXRlZFN0eWxlTWFw
KCk7CiAjZW5kaWYKIAorICAgIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAmIGVuc3VyZUV4
cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoKTsKKyAgICBFeHBsaWNpdGx5U2V0QXR0ckVsZW1l
bnRzTWFwKiBleHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKCkgY29uc3Q7CisKIHByb3RlY3Rl
ZDoKICAgICBFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYsIENvbnN0cnVj
dGlvblR5cGUpOwogCkBAIC03ODUsNiArNzk0LDggQEAgcHJpdmF0ZToKICAgICBXRUJDT1JFX0VY
UE9SVCBib29sIGZhc3RBdHRyaWJ1dGVMb29rdXBBbGxvd2VkKGNvbnN0IFF1YWxpZmllZE5hbWUm
KSBjb25zdDsKICNlbmRpZgogCisgICAgYm9vbCBpc0Rlc2NlbmRhbnRPZlNoYWRvd0luY2x1ZGlu
Z0FuY2VzdG9ycyhjb25zdCBFbGVtZW50JikgY29uc3Q7CisKICAgICBRdWFsaWZpZWROYW1lIG1f
dGFnTmFtZTsKICAgICBSZWZQdHI8RWxlbWVudERhdGE+IG1fZWxlbWVudERhdGE7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHAKaW5kZXggOTRiOGE1ODU5Zjc0YmM3Yzk1ZDEy
NTM5OWI3NDZlZTI3NmU3ZWVmZi4uMDBjZjY1ZjMzNzM2YzQ4YmFlODRlN2ZiZTE0Y2Q5MzQwOWE0
NTIyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHAKQEAgLTQyLDYgKzQy
LDcgQEAgc3RydWN0IFNhbWVTaXplQXNFbGVtZW50UmFyZURhdGEgOiBOb2RlUmFyZURhdGEgewog
ICAgIHZvaWQqIHR5cGVkT01EYXRhWzJdOwogI2VuZGlmCiAgICAgdm9pZCogcmVzaXplT2JzZXJ2
ZXJEYXRhOworICAgIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAgZXhwbGljaXRseVNldEF0
dHJFbGVtZW50c01hcDsKIH07CiAKIHN0YXRpY19hc3NlcnQoc2l6ZW9mKEVsZW1lbnRSYXJlRGF0
YSkgPT0gc2l6ZW9mKFNhbWVTaXplQXNFbGVtZW50UmFyZURhdGEpLCAiRWxlbWVudFJhcmVEYXRh
IHNob3VsZCBzdGF5IHNtYWxsIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudFJhcmVEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKaW5k
ZXggZDc2YmNjNDQ0Y2U3NTE0NGJiZWQzOTcxYmE5MTQwYThjNWRjNThhZi4uMGRlNDU3M2M1MTlh
ZWYwNTQ5NTMzYzQ5NTMzNjJhMjYzOTNiNTQ3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnRSYXJlRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFy
ZURhdGEuaApAQCAtMTA3LDYgKzEwNyw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldENvbXB1dGVk
U3R5bGVNYXAoUmVmPFN0eWxlUHJvcGVydHlNYXBSZWFkT25seT4mJiBtYXApIHsgbV9jb21wdXRl
ZFN0eWxlTWFwID0gV1RGTW92ZShtYXApOyB9CiAjZW5kaWYKIAorICAgIEV4cGxpY2l0bHlTZXRB
dHRyRWxlbWVudHNNYXAmIGV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoKSB7IHJldHVybiBt
X2V4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXA7IH0KKwogI2lmIERVTVBfTk9ERV9TVEFUSVNU
SUNTCiAgICAgT3B0aW9uU2V0PFVzZVR5cGU+IHVzZVR5cGVzKCkgY29uc3QKICAgICB7CkBAIC0x
NDcsNiArMTQ5LDggQEAgcHVibGljOgogICAgICAgICAgICAgcmVzdWx0LmFkZChVc2VUeXBlOjpQ
YXJ0TmFtZXMpOwogICAgICAgICBpZiAobV9ub25jZSkKICAgICAgICAgICAgIHJlc3VsdC5hZGQo
VXNlVHlwZTo6Tm9uY2UpOworICAgICAgICBpZiAoIW1fZXhwbGljaXRseVNldEF0dHJFbGVtZW50
c01hcC5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXN1bHQuYWRkKFVzZVR5cGU6OkV4cGxpY2l0
bHlTZXRBdHRyRWxlbWVudHNNYXApOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICNl
bmRpZgpAQCAtMTgwLDYgKzE4NCw4IEBAIHByaXZhdGU6CiAKICAgICBBdG9tU3RyaW5nIG1fbm9u
Y2U7CiAKKyAgICBFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwIG1fZXhwbGljaXRseVNldEF0
dHJFbGVtZW50c01hcDsKKwogICAgIHZvaWQgcmVsZWFzZVBzZXVkb0VsZW1lbnQoUHNldWRvRWxl
bWVudCopOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IDY4NzAzNzAwOGEyM2EwYTQxOWZmN2Ew
ZTViZDFhOTVlOTcxNTgyZDguLmI0NjVlM2QwYTEwNDdlMDI3ZmQ3NWU0ZmJlNmQ2ODFmYjVhMjU3
NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTE0NCw2ICsxNDQsOCBAQCBzdGF0aWMgY29uc3QgY2hh
ciogc3RyaW5nRm9yUmFyZURhdGFVc2VUeXBlKE5vZGVSYXJlRGF0YTo6VXNlVHlwZSB1c2VUeXBl
KQogICAgICAgICByZXR1cm4gIlBhcnRMaXN0IjsKICAgICBjYXNlIE5vZGVSYXJlRGF0YTo6VXNl
VHlwZTo6UGFydE5hbWVzOgogICAgICAgICByZXR1cm4gIlBhcnROYW1lcyI7CisgICAgY2FzZSBO
b2RlUmFyZURhdGE6OlVzZVR5cGU6OkV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXA6CisgICAg
ICAgIHJldHVybiAiRXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCI7CiAgICAgfQogICAgIHJl
dHVybiBudWxscHRyOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJl
RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCmluZGV4IDI0NWZhOGNj
MTA4MjNmMTY4ZDg3NDRhNTU5ZWUwZDk4NzllMDhjZTkuLmY0N2Q1MjlkYTQ4YjE3OGY4ODM0ZjMz
ZTI1YWZiM2JlZDRhNzUwY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFy
ZURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgKQEAgLTI2NSw2
ICsyNjUsNyBAQCBwdWJsaWM6CiAgICAgICAgIFBhcnROYW1lcyA9IDEgPDwgMTYsCiAgICAgICAg
IE5vbmNlID0gMSA8PCAxNywKICAgICAgICAgQ29tcHV0ZWRTdHlsZU1hcCA9IDEgPDwgMTgsCisg
ICAgICAgIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAgPSAxIDw8IDE5LAogICAgIH07CiAj
ZW5kaWYKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDI2ZjZlODU0ZGEyOTQ3NzIwNjgyYThhMDRkYTBhMDNhOGFlMDhhZjku
LmJhMTQzNGE5ZTA5MzAzNGQwODBjYTcyMjBmN2JkZTQ3MDY2OWNiMDQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNSBAQAorMjAyMi0wNS0wNCAgTWFudWVsIFJlZ28gQ2FzYXNub3ZhcyAgPHJlZ29AaWdhbGlh
LmNvbT4KKworICAgICAgICBBUklBIHJlZmxlY3Rpb24gZm9yIEVsZW1lbnQgYXR0cmlidXRlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5ODUyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgVXBkYXRlIHRlc3Qg
dG8gaW5jbHVkZSB0aGUgbmV3IHJlZmxlY3RlZCBhdHRyaWJ1dGVzLgorCisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvQVJJQS1yZWZsZWN0aW9uLmh0bWw6CisKIDIwMjItMDQtMzAgIFBoaWxpcHBlIE5v
cm1hbmQgIDxwaGlsbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHU3RyZWFtZXJdIE1lZGlhc3Ry
ZWFtIG1vY2sgYXVkaW8gaW50ZXJydXB0aW9uIGZpeGVzIGFmdGVyIHIyOTA5ODUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDJkNmIwYjFjNWJhYjI2NmQ4YzkxYTBlYjQxZDU5MTVj
ZDUxY2FmNDguLjA2YTc2MWIzOTMzY2Q1NzE0ZTQzNjVkZTgwOGEyOGVmNmQ0NmRlYmUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIyLTA1LTA0ICBN
YW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIEFSSUEg
cmVmbGVjdGlvbiBmb3IgRWxlbWVudCBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzk4NTIKKworICAgICAgICBSZXZpZXdlZCBieSBD
aHJpcyBEdW1lei4KKworICAgICAgICBTbWFsbCBmaXggb24gdGhlIHRlc3QgYW5kIHVwZGF0ZSB0
ZXN0IHJlc3VsdHMgd2l0aCB0aGUgbmV3IFBBU1MuCisgICAgICAgIEFkZCBuZXcgdGVzdCBjYXNl
IHRvIGNvdmVyIGVsZW1lbnRzIG1vdmVkIHRvIGEgZGlmZmVyZW50IGRvY3VtZW50LgorCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlv
bi50ZW50YXRpdmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLmh0bWw6CisKIDIwMjIt
MDUtMDMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24gdXBkYXRlIHNob3VsZCBmYWlsIGlmIGNhbGxlZCBmcm9tIGFu
IGluc3RhbGxpbmcgc2VydmljZSB3b3JrZXIgY29udGV4dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rpb24tZXhwZWN0ZWQudHh0CmluZGV4IDk1MDRi
NjliY2JhY2QyNDFiOTU4NTQzMDJlZjU0NzRlMzUyYTQ5OGUuLmUzZmVlYzMwYzRjN2E5ZWFmYWQx
YTk0ZGVkZWVjNjNmODhiYjgwZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvQVJJQS1yZWZsZWN0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L0FSSUEtcmVmbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTcsMzE3ICs3LDI5MiBAQCBP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURQogVGVzdCByb2xlIDwgLSA+IHJvbGUKIFBBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsicm9sZSJdID0gZGF0YTsKLVBBU1MgZWxl
bWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50
LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50
LnNldEF0dHJpYnV0ZSgicm9sZSIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90
aGVyRGF0YVByb3BlcnR5CisKK1Rlc3QgYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50IDwgLSA+
IGFyaWEtYWN0aXZlZGVzY2VuZGFudAorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMg
bnVsbAorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxs
CitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRy
aWJ1dGUKK2VsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnQiLCBvdGhl
ckRhdGEpOworUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVy
dHkKIAogVGVzdCBhcmlhQXRvbWljIDwgLSA+IGFyaWEtYXRvbWljCiBQQVNTIGVsZW1lbnRbY3Vy
cmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFBdG9taWMiXSA9IGRhdGE7Ci1QQVNTIGVs
ZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVu
dC5zZXRBdHRyaWJ1dGUoImFyaWEtYXRvbWljIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtj
dXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0
eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhQXV0b0NvbXBsZXRlIDwgLSA+IGFy
aWEtYXV0b2NvbXBsZXRlCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQ
QVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1l
bnRbImFyaWFBdXRvQ29tcGxldGUiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRl
KGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFy
aWEtYXV0b2NvbXBsZXRlIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVy
dHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJE
YXRhUHJvcGVydHkKIAogVGVzdCBhcmlhQnVzeSA8IC0gPiBhcmlhLWJ1c3kKIFBBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUJ1c3kiXSA9IGRhdGE7Ci1QQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxl
bWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxl
bWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtYnVzeSIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRb
Y3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVy
dHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUNoZWNrZWQgPCAtID4gYXJpYS1j
aGVja2VkCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1l
bnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFD
aGVja2VkIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmli
dXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUp
IGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWNoZWNrZWQiLCBv
dGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQ
QVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0
IGFyaWFDb2xDb3VudCA8IC0gPiBhcmlhLWNvbGNvdW50CiBQQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1
dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFDb2xDb3VudCJdID0gZGF0YTsKLVBBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNl
dEF0dHJpYnV0ZSgiYXJpYS1jb2xjb3VudCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3Vy
cmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHld
IGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUNvbEluZGV4IDwgLSA+IGFyaWEtY29s
aW5kZXgKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUNv
bEluZGV4Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmli
dXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUp
IGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWNvbGluZGV4Iiwg
b3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQor
UEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVz
dCBhcmlhQ29sU3BhbiA8IC0gPiBhcmlhLWNvbHNwYW4KIFBBU1MgZWxlbWVudFtjdXJyZW50UHJv
cGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUNvbFNwYW4iXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRB
dHRyaWJ1dGUoImFyaWEtY29sc3BhbiIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVu
dFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlz
IG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUN1cnJlbnQgPCAtID4gYXJpYS1jdXJyZW50
CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFDdXJyZW50
Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRh
dGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWN1cnJlbnQiLCBvdGhlckRh
dGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVs
ZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFE
aXNhYmxlZCA8IC0gPiBhcmlhLWRpc2FibGVkCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IG51bGwKLWVsZW1lbnRbImFyaWFEaXNhYmxlZCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJp
YnV0ZSgiYXJpYS1kaXNhYmxlZCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90
aGVyRGF0YVByb3BlcnR5CisKK1Rlc3QgYXJpYUVycm9yTWVzc2FnZUVsZW1lbnQgPCAtID4gYXJp
YS1lcnJvcm1lc3NhZ2UKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKK1BB
U1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAorUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCitl
bGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1lcnJvcm1lc3NhZ2UiLCBvdGhlckRhdGEpOworUEFT
UyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBh
cmlhRXhwYW5kZWQgPCAtID4gYXJpYS1leHBhbmRlZAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9w
ZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRl
KSBpcyBudWxsCi1lbGVtZW50WyJhcmlhRXhwYW5kZWQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRB
dHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJl
bnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFIYXNQb3B1cCA8IC0gPiBhcmlhLWhhc3Bv
cHVwCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFIYXNQ
b3B1cCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1oYXNwb3B1cCIsIG90
aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BB
U1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3Qg
YXJpYUhpZGRlbiA8IC0gPiBhcmlhLWhpZGRlbgogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0
eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBudWxsCi1lbGVtZW50WyJhcmlhSGlkZGVuIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmli
dXRlKCJhcmlhLWhpZGRlbiIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVy
RGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUludmFsaWQgPCAtID4gYXJpYS1pbnZhbGlkCiBQQVNT
IGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFJbnZhbGlkIl0gPSBk
YXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRh
CitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRy
aWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWludmFsaWQiLCBvdGhlckRhdGEpOwot
UEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRb
Y3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFLZXlTaG9y
dGN1dHMgPCAtID4gYXJpYS1rZXlzaG9ydGN1dHMKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVy
dHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkg
aXMgbnVsbAotZWxlbWVudFsiYXJpYUtleVNob3J0Y3V0cyJdID0gZGF0YTsKLVBBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNl
dEF0dHJpYnV0ZSgiYXJpYS1rZXlzaG9ydGN1dHMiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFMYWJlbCA8IC0gPiBhcmlhLWxh
YmVsCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFMYWJl
bCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkg
aXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBk
YXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsIG90aGVyRGF0
YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUxl
dmVsIDwgLSA+IGFyaWEtbGV2ZWwKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51
bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAot
ZWxlbWVudFsiYXJpYUxldmVsIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShj
dXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlh
LWxldmVsIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90
aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVy
dHkKIAogVGVzdCBhcmlhTGl2ZSA8IC0gPiBhcmlhLWxpdmUKIFBBU1MgZWxlbWVudFtjdXJyZW50
UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJp
YnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUxpdmUiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRB
dHRyaWJ1dGUoImFyaWEtbGl2ZSIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90
aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYU1vZGFsIDwgLSA+IGFyaWEtbW9kYWwKIFBBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1
dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYU1vZGFsIl0gPSBkYXRh
OwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQ
QVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1
dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLW1vZGFsIiwgb3RoZXJEYXRhKTsKLVBBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJl
bnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhTXVsdGlMaW5lIDwg
LSA+IGFyaWEtbXVsdGlsaW5lCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxs
CiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVs
ZW1lbnRbImFyaWFNdWx0aUxpbmUiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRl
KGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFy
aWEtbXVsdGlsaW5lIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHld
IGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRh
UHJvcGVydHkKIAogVGVzdCBhcmlhTXVsdGlTZWxlY3RhYmxlIDwgLSA+IGFyaWEtbXVsdGlzZWxl
Y3RhYmxlCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1l
bnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFN
dWx0aVNlbGVjdGFibGUiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbXVs
dGlzZWxlY3RhYmxlIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHld
IGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRh
UHJvcGVydHkKIAogVGVzdCBhcmlhT3JpZW50YXRpb24gPCAtID4gYXJpYS1vcmllbnRhdGlvbgog
UEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhT3JpZW50YXRp
b24iXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUp
IGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMg
ZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtb3JpZW50YXRpb24iLCBv
dGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQ
QVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0
IGFyaWFQbGFjZWhvbGRlciA8IC0gPiBhcmlhLXBsYWNlaG9sZGVyCiBQQVNTIGVsZW1lbnRbY3Vy
cmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFQbGFjZWhvbGRlciJdID0gZGF0YTsKLVBB
U1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBl
bGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1wbGFjZWhvbGRlciIsIG90aGVyRGF0YSk7Ci1QQVNT
IGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVBvc0luU2V0IDwg
LSA+IGFyaWEtcG9zaW5zZXQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwK
IFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxl
bWVudFsiYXJpYVBvc0luU2V0Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShj
dXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlh
LXBvc2luc2V0Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlz
IG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJv
cGVydHkKIAogVGVzdCBhcmlhUHJlc3NlZCA8IC0gPiBhcmlhLXByZXNzZWQKIFBBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVByZXNzZWQiXSA9IGRhdGE7Ci1Q
QVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1Mg
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQog
ZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVs
ZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50
UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVJlYWRPbmx5IDwgLSA+
IGFyaWEtcmVhZG9ubHkKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBB
U1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVu
dFsiYXJpYVJlYWRPbmx5Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXJl
YWRvbmx5Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90
aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVy
dHkKIAogVGVzdCBhcmlhUmVsZXZhbnQgPCAtID4gYXJpYS1yZWxldmFudAogUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhUmVsZXZhbnQiXSA9IGRhdGE7Ci1Q
QVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1Mg
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQog
ZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtcmVsZXZhbnQiLCBvdGhlckRhdGEpOwotUEFTUyBl
bGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVu
dFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFSZXF1aXJlZCA8IC0g
PiBhcmlhLXJlcXVpcmVkCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQ
QVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1l
bnRbImFyaWFSZXF1aXJlZCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1y
ZXF1aXJlZCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBv
dGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3Bl
cnR5CiAKIFRlc3QgYXJpYVJvbGVEZXNjcmlwdGlvbiA8IC0gPiBhcmlhLXJvbGVkZXNjcmlwdGlv
bgogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhUm9sZURl
c2NyaXB0aW9uIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0
cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1
dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXJvbGVkZXNj
cmlwdGlvbiIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBv
dGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3Bl
cnR5CiAKIFRlc3QgYXJpYVJvd0NvdW50IDwgLSA+IGFyaWEtcm93Y291bnQKIFBBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVJvd0NvdW50Il0gPSBkYXRhOwot
UEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUK
IGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXJvd2NvdW50Iiwgb3RoZXJEYXRhKTsKLVBBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJl
bnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhUm93SW5kZXggPCAt
ID4gYXJpYS1yb3dpbmRleAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAog
UEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVt
ZW50WyJhcmlhUm93SW5kZXgiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1
cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVu
dEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEt
cm93aW5kZXgiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMg
b3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9w
ZXJ0eQogCiBUZXN0IGFyaWFSb3dTcGFuIDwgLSA+IGFyaWEtcm93c3BhbgogUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhUm93U3BhbiJdID0gZGF0YTsKLVBB
U1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBl
bGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1yb3dzcGFuIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQ
cm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhU2VsZWN0ZWQgPCAtID4g
YXJpYS1zZWxlY3RlZAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFT
UyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50
WyJhcmlhU2VsZWN0ZWQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtc2Vs
ZWN0ZWQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3Ro
ZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0
eQogCiBUZXN0IGFyaWFTZXRTaXplIDwgLSA+IGFyaWEtc2V0c2l6ZQogUEFTUyBlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhU2V0U2l6ZSJdID0gZGF0YTsKLVBBU1Mg
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVt
ZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVt
ZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1zZXRzaXplIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9w
ZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhU29ydCA8IC0gPiBhcmlhLXNv
cnQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5n
ZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVNvcnQi
XSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0
YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtc29ydCIsIG90aGVyRGF0YSk7
Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVZhbHVl
TWF4IDwgLSA+IGFyaWEtdmFsdWVtYXgKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlz
IG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVs
bAotZWxlbWVudFsiYXJpYVZhbHVlTWF4Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRl
KGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRl
KCJhcmlhLXZhbHVlbWF4Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVy
dHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJE
YXRhUHJvcGVydHkKIAogVGVzdCBhcmlhVmFsdWVNaW4gPCAtID4gYXJpYS12YWx1ZW1pbgogUEFT
UyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhVmFsdWVNaW4iXSA9
IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRh
dGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0
dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtdmFsdWVtaW4iLCBvdGhlckRhdGEp
OwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1l
bnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFWYWx1
ZU5vdyA8IC0gPiBhcmlhLXZhbHVlbm93CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51
bGwKLWVsZW1lbnRbImFyaWFWYWx1ZU5vdyJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRy
aWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0
ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0
ZSgiYXJpYS12YWx1ZW5vdyIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVy
RGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVZhbHVlVGV4dCA8IC0gPiBhcmlhLXZhbHVldGV4dAog
UEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhVmFsdWVUZXh0
Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRh
dGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXZhbHVldGV4dCIsIG90aGVy
RGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIAotUEFTUyBj
b3VudCBpcyAzOAorUEFTUyBjb3VudCBpcyA0MAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L0FSSUEtcmVmbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9BUklB
LXJlZmxlY3Rpb24uaHRtbAppbmRleCAzMjNiMTg5YzRlM2U0MDFhNGZmZDU2ZDRjZmVlNDY0NzI5
YWZmOTE4Li45M2E5YjdhMTdmOWE0NGU0Y2QxMWJlY2E5NjlmMGNlNTc3NjljZWVlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L0FSSUEtcmVmbGVjdGlvbi5odG1sCisrKyBi
L0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvQVJJQS1yZWZsZWN0aW9uLmh0bWwKQEAgLTUsNyAr
NSw4IEBACiA8ZGl2IGlkPSJjb250ZW50Ij4KIAogPGRpdiBpZD0idGVzdCIgZGF0YT0ic29tZSBk
YXRhIj4KLQorICA8ZGl2IGlkPSJmaXJzdENoaWxkIj48L2Rpdj4KKyAgPGRpdiBpZD0ic2Vjb25k
Q2hpbGQiPjwvZGl2PgogPC9kaXY+CiAKIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgpAQCAtMjEs
MjIgKzIyLDQwIEBACiAgICAgdmFyIGN1cnJlbnRQcm9wZXJ0eTsKICAgICB2YXIgY3VycmVudEF0
dHJpYnV0ZTsKIAorICAgIGZ1bmN0aW9uIGlzRWxlbWVudFJlZmxlY3Rpb25Qcm9wZXJ0eShwcm9w
ZXJ0eSkgeworICAgICAgICBzd2l0Y2ggKHByb3BlcnR5KSB7CisgICAgICAgICAgICBjYXNlICJh
cmlhQWN0aXZlRGVzY2VuZGFudEVsZW1lbnQiOgorICAgICAgICAgICAgY2FzZSAiYXJpYUVycm9y
TWVzc2FnZUVsZW1lbnQiOgorICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBjb252ZXJ0UHJv
cGVydHlUb0F0dHJpYnV0ZShwcm9wZXJ0eSkgeworICAgICAgICBpZiAoaXNFbGVtZW50UmVmbGVj
dGlvblByb3BlcnR5KHByb3BlcnR5KSkKKyAgICAgICAgICBwcm9wZXJ0eSA9IHByb3BlcnR5LnJl
cGxhY2UoIkVsZW1lbnQiLCAiIik7CisgICAgICAgIHJldHVybiBwcm9wZXJ0eS5yZXBsYWNlKCJh
cmlhIiwgImFyaWEtIikudG9Mb3dlckNhc2UoKTsKKyAgICB9CisKICAgICBmdW5jdGlvbiB0ZXN0
RWxlbWVudCgpIHsKLSAgICAgICAgY3VycmVudEF0dHJpYnV0ZSA9IGN1cnJlbnRQcm9wZXJ0eS5y
ZXBsYWNlKCJhcmlhIiwgImFyaWEtIikudG9Mb3dlckNhc2UoKTsKLSAgICAgICAgCisgICAgICAg
IGN1cnJlbnRBdHRyaWJ1dGUgPSBjb252ZXJ0UHJvcGVydHlUb0F0dHJpYnV0ZShjdXJyZW50UHJv
cGVydHkpOworCiAgICAgICAgIGRlYnVnKCJcblRlc3QgIiArIGN1cnJlbnRQcm9wZXJ0eSArICIg
PCAtID4gIiArIGN1cnJlbnRBdHRyaWJ1dGUpOwogICAgICAgICBzaG91bGRCZU51bGwoImVsZW1l
bnRbY3VycmVudFByb3BlcnR5XSIpOwogICAgICAgICBzaG91bGRCZU51bGwoImVsZW1lbnQuZ2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIik7Ci0gICAgICAgIAorCiAgICAgICAgIC8vIFNl
dCB0aGUgcHJvcGVydHkgdmFsdWUKLSAgICAgICAgZGVidWcoImVsZW1lbnRbXCIiICsgY3VycmVu
dFByb3BlcnR5ICsgIlwiXSA9IGRhdGE7Iik7Ci0gICAgICAgIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSA9IGRhdGE7Ci0gICAgICAgIHNob3VsZEJlKCJlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSIsICJkYXRhIik7CisgICAgICAgIGRhdGFQcm9wZXJ0eSA9IGlzRWxlbWVu
dFJlZmxlY3Rpb25Qcm9wZXJ0eShjdXJyZW50UHJvcGVydHkpID8gZmlyc3RDaGlsZCA6IGRhdGE7
CisgICAgICAgIGRhdGFBdHRyaWJ1dGUgPSBpc0VsZW1lbnRSZWZsZWN0aW9uUHJvcGVydHkoY3Vy
cmVudFByb3BlcnR5KSA/IGZpcnN0Q2hpbGQuaWQgOiBkYXRhOworICAgICAgICBlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0gPSBkYXRhUHJvcGVydHk7CisgICAgICAgIHNob3VsZEJlKCJlbGVtZW50
LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSIsICJkYXRhQXR0cmlidXRlIik7CiAKICAg
ICAgICAgLy8gU2V0IHRoZSBhdHRyaWJ1dGUgdmFsdWUKKyAgICAgICAgb3RoZXJEYXRhUHJvcGVy
dHkgPSBpc0VsZW1lbnRSZWZsZWN0aW9uUHJvcGVydHkoY3VycmVudFByb3BlcnR5KSA/IHNlY29u
ZENoaWxkIDogb3RoZXJEYXRhOworICAgICAgICBvdGhlckRhdGFBdHRyaWJ1dGUgPSBpc0VsZW1l
bnRSZWZsZWN0aW9uUHJvcGVydHkoY3VycmVudFByb3BlcnR5KSA/IHNlY29uZENoaWxkLmlkIDog
b3RoZXJEYXRhOwogICAgICAgICBkZWJ1ZygiZWxlbWVudC5zZXRBdHRyaWJ1dGUoXCIiICsgY3Vy
cmVudEF0dHJpYnV0ZSArICJcIiwgb3RoZXJEYXRhKTsiKTsKLSAgICAgICAgZWxlbWVudC5zZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSwgb3RoZXJEYXRhKTsKLSAgICAgICAgc2hvdWxkQmUo
ImVsZW1lbnRbY3VycmVudFByb3BlcnR5XSIsICJvdGhlckRhdGEiKTsKKyAgICAgICAgZWxlbWVu
dC5zZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSwgb3RoZXJEYXRhQXR0cmlidXRlKTsKKyAg
ICAgICAgc2hvdWxkQmUoImVsZW1lbnRbY3VycmVudFByb3BlcnR5XSIsICJvdGhlckRhdGFQcm9w
ZXJ0eSIpOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIHRlc3RSb2xlKCkgewpAQCAtNTksNyArNzgs
NyBAQAogICAgICAgICB9CiAKICAgICAgICAgZGVidWcoIlxuIik7Ci0gICAgICAgIHNob3VsZEJl
KCJjb3VudCIsICIzOCIpOworICAgICAgICBzaG91bGRCZSgiY291bnQiLCAiNDAiKTsKIAogICAg
IH0gZWxzZSB7CiAgICAgICAgIHRlc3RGYWlsZWQoIkNvdWxkIG5vdCBsb2FkIGFjY2Vzc2liaWxp
dHkgY29udHJvbGxlciIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0
aXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL25vZGVzL2FyaWEtZWxlbWVudC1yZWZsZWN0aW9uLnRlbnRhdGl2ZS1leHBlY3Rl
ZC50eHQKaW5kZXggZGNhMzE4YjA5ODUzYWJiYTk3ZDVkZjc1YmYzNDNiYzE1MzU4N2FjMC4uMTY3
ODA2NDcxNjdmNDZhYTVkMGNjMTQ2M2E5M2UyMDBhMmNkZGNjMSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVt
ZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVm
bGVjdGlvbi50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CkBAIC05LDEwICs5LDcgQEAgRmlyc3QgZGVz
Y3JpcHRpb24uCiBTZWNvbmQgZGVzY3JpcHRpb24uCiBJdGVtIDEKIEl0ZW0gMgotSXRlbSAxCi1J
dGVtIDIKIEhlbGxvIHdvcmxkIQotSSBhbSBhbiBhcHBsZQogSSBhbSBhIHBlYXIKIEkgYW0gYSBi
YW5hbmEKIEJpbGxpbmcKQEAgLTQ3LDE3ICs0NCwxNyBAQCBXb25kZXJmdWwKIEZhbnRhc3RpYwog
CiAKLUZBSUwgYXJpYS1hY3RpdmVkZXNjZW5kYW50IGVsZW1lbnQgcmVmbGVjdGlvbiBhc3NlcnRf
ZXF1YWxzOiBpbnZhbGlkIElEIGZvciByZWxhdGlvbnNoaXAgcmV0dXJucyBudWxsIGV4cGVjdGVk
IChvYmplY3QpIG51bGwgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgSWYgdGhl
IGNvbnRlbnQgYXR0cmlidXRlIGlzIHNldCBkaXJlY3RseSwgdGhlIElETCBhdHRyaWJ1dGUgZ2V0
dGVyIGFsd2F5cyByZXR1cm5zIHRoZSBmaXJzdCBlbGVtZW50IHdob3NlIElEIG1hdGNoZXMgdGhl
IGNvbnRlbnQgYXR0cmlidXRlLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAob2JqZWN0KSBFbGVt
ZW50IG5vZGUgPGRpdiByb2xlPSJvcHRpb24iIGlkPSJvcHRpb24xIj5JdGVtIDE8L2Rpdj4gYnV0
IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgU2V0dGluZyB0aGUgSURMIGF0dHJpYnV0
ZSB0byBhbiBlbGVtZW50IHdoaWNoIGlzIG5vdCB0aGUgZmlyc3QgZWxlbWVudCBpbiBET00gb3Jk
ZXIgd2l0aCBpdHMgSUQgY2F1c2VzIHRoZSBjb250ZW50IGF0dHJpYnV0ZSB0byBiZSBhbiBlbXB0
eSBzdHJpbmcgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFNldHRp
bmcgYW4gZWxlbWVudCByZWZlcmVuY2UgdGhhdCBjcm9zc2VzIGludG8gYSBzaGFkb3cgdHJlZSBp
cyBkaXNhbGxvd2VkLCBidXQgc2V0dGluZyBvbmUgdGhhdCBpcyBpbiBhIHNoYWRvdyBpbmNsdXNp
dmUgYW5jZXN0b3IgaXMgYWxsb3dlZC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKG9iamVjdCkg
bnVsbCBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJTCBhcmlhLWVycm9ybWVzc2Fn
ZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAiZXJyb3JNZXNzYWdlIiBidXQgZ290
IChvYmplY3QpIG51bGwKK1BBU1MgYXJpYS1hY3RpdmVkZXNjZW5kYW50IGVsZW1lbnQgcmVmbGVj
dGlvbgorUEFTUyBJZiB0aGUgY29udGVudCBhdHRyaWJ1dGUgaXMgc2V0IGRpcmVjdGx5LCB0aGUg
SURMIGF0dHJpYnV0ZSBnZXR0ZXIgYWx3YXlzIHJldHVybnMgdGhlIGZpcnN0IGVsZW1lbnQgd2hv
c2UgSUQgbWF0Y2hlcyB0aGUgY29udGVudCBhdHRyaWJ1dGUuCitQQVNTIFNldHRpbmcgdGhlIElE
TCBhdHRyaWJ1dGUgdG8gYW4gZWxlbWVudCB3aGljaCBpcyBub3QgdGhlIGZpcnN0IGVsZW1lbnQg
aW4gRE9NIG9yZGVyIHdpdGggaXRzIElEIGNhdXNlcyB0aGUgY29udGVudCBhdHRyaWJ1dGUgdG8g
YmUgYW4gZW1wdHkgc3RyaW5nCitQQVNTIFNldHRpbmcgYW4gZWxlbWVudCByZWZlcmVuY2UgdGhh
dCBjcm9zc2VzIGludG8gYSBzaGFkb3cgdHJlZSBpcyBkaXNhbGxvd2VkLCBidXQgc2V0dGluZyBv
bmUgdGhhdCBpcyBpbiBhIHNoYWRvdyBpbmNsdXNpdmUgYW5jZXN0b3IgaXMgYWxsb3dlZC4KK1BB
U1MgYXJpYS1lcnJvcm1lc3NhZ2UKIEZBSUwgYXJpYS1kZXRhaWxzIGFzc2VydF9hcnJheV9lcXVh
bHM6IHZhbHVlIGlzIHVuZGVmaW5lZCwgZXhwZWN0ZWQgYXJyYXkKLUZBSUwgRGVsZXRpbmcgYSBy
ZWZsZWN0ZWQgZWxlbWVudCBzaG91bGQgcmV0dXJuIG51bGwgZm9yIHRoZSBJREwgYXR0cmlidXRl
IGFuZCBjYXVzZSB0aGUgY29udGVudCBhdHRyaWJ1dGUgdG8gYmVjb21lIHN0YWxlLiBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAob2JqZWN0KSBFbGVtZW50IG5vZGUgPGRpdiByb2xlPSJvcHRpb24i
IGlkPSJjb250ZW50QXR0ckVsZW1lbnQiPkl0ZW0gMTwvZGl2PiBidXQgZ290ICh1bmRlZmluZWQp
IHVuZGVmaW5lZAotRkFJTCBDaGFuZ2luZyB0aGUgSUQgb2YgYW4gZWxlbWVudCBjYXVzZXMgdGhl
IGNvbnRlbnQgYXR0cmlidXRlIHRvIGJlY29tZSBvdXQgb2Ygc3luYy4gYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgKG9iamVjdCkgRWxlbWVudCBub2RlIDxkaXYgcm9sZT0ib3B0aW9uIiBpZD0iY2hh
bmdpbmdJZEVsZW1lbnQiPkl0ZW0gMTwvZGl2PiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5l
ZAotRkFJTCBSZXBhcmVudGluZyBhbiBlbGVtZW50IGludG8gYSBkZXNjZW5kYW50IHNoYWRvdyBz
Y29wZSBoaWRlcyB0aGUgZWxlbWVudCByZWZlcmVuY2UuIGFzc2VydF9lcXVhbHM6IG51bGwgYmVm
b3JlIGV4cGVjdGVkIChvYmplY3QpIG51bGwgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQK
LUZBSUwgUmVwYXJlbnRpbmcgcmVmZXJlbmNlZCBlbGVtZW50IGNhbm5vdCBjYXVzZSByZXRhcmdl
dGluZyBvZiByZWZlcmVuY2UuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICJhcHBs
ZSIgYnV0IGdvdCAob2JqZWN0KSBudWxsCi1GQUlMIEVsZW1lbnQgcmVmZXJlbmNlIHNldCBpbiBp
bnZhbGlkIHNjb3BlIHJlbWFpbnMgaW50YWN0IHRocm91Z2hvdXQgbW92ZSB0byB2YWxpZCBzY29w
ZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgbnVsbCBidXQgZ290IEVsZW1lbnQgbm9kZSA8ZGl2
IGlkPSJ0b2FzdCI+PC9kaXY+CitQQVNTIERlbGV0aW5nIGEgcmVmbGVjdGVkIGVsZW1lbnQgc2hv
dWxkIHJldHVybiBudWxsIGZvciB0aGUgSURMIGF0dHJpYnV0ZSBhbmQgY2F1c2UgdGhlIGNvbnRl
bnQgYXR0cmlidXRlIHRvIGJlY29tZSBzdGFsZS4KK1BBU1MgQ2hhbmdpbmcgdGhlIElEIG9mIGFu
IGVsZW1lbnQgY2F1c2VzIHRoZSBjb250ZW50IGF0dHJpYnV0ZSB0byBiZWNvbWUgb3V0IG9mIHN5
bmMuCitQQVNTIFJlcGFyZW50aW5nIGFuIGVsZW1lbnQgaW50byBhIGRlc2NlbmRhbnQgc2hhZG93
IHNjb3BlIGhpZGVzIHRoZSBlbGVtZW50IHJlZmVyZW5jZS4KK1BBU1MgUmVwYXJlbnRpbmcgcmVm
ZXJlbmNlZCBlbGVtZW50IGNhbm5vdCBjYXVzZSByZXRhcmdldGluZyBvZiByZWZlcmVuY2UuCitQ
QVNTIEVsZW1lbnQgcmVmZXJlbmNlIHNldCBpbiBpbnZhbGlkIHNjb3BlIHJlbWFpbnMgaW50YWN0
IHRocm91Z2hvdXQgbW92ZSB0byB2YWxpZCBzY29wZS4KIEZBSUwgYXJpYS1sYWJlbGxlZGJ5LiBh
c3NlcnRfYXJyYXlfZXF1YWxzOiBwYXJzZWQgY29udGVudCBhdHRyaWJ1dGUgc2V0cyBlbGVtZW50
IHJlZmVyZW5jZXMuIHZhbHVlIGlzIHVuZGVmaW5lZCwgZXhwZWN0ZWQgYXJyYXkKIEZBSUwgYXJp
YS1jb250cm9scy4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgdW5kZWZpbmVkLCBleHBl
Y3RlZCBhcnJheQogRkFJTCBhcmlhLWRlc2NyaWJlZGJ5LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2
YWx1ZSBpcyB1bmRlZmluZWQsIGV4cGVjdGVkIGFycmF5CkBAIC02Nyw2ICs2NCw3IEBAIEZBSUwg
c2hhZG93IERPTSBiZWhhdmlvdXIgZm9yIEZyb3plbkFycmF5IGVsZW1lbnQgcmVmbGVjdGlvbi4g
YXNzZXJ0X2FycmF5X2VxdWFsCiBGQUlMIE1vdmluZyBleHBsaWNpdGx5IHNldCBlbGVtZW50cyBh
Y3Jvc3Mgc2hhZG93IERPTSBib3VuZGFyaWVzLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3Ry
aW5nKSAiYnV0dG9uRGVzY3JpcHRpb24xIGJ1dHRvbkRlc2NyaXB0aW9uMiIgYnV0IGdvdCAob2Jq
ZWN0KSBudWxsCiBGQUlMIE1vdmluZyBleHBsaWNpdGx5IHNldCBlbGVtZW50cyBhcm91bmQgd2l0
aGluIHRoZSBzYW1lIHNjb3BlLCBhbmQgcmVtb3ZpbmcgZnJvbSB0aGUgRE9NLiBhc3NlcnRfYXJy
YXlfZXF1YWxzOiBhcmlhLWxhYmVsZWQgYnkgaXMgc3VwcG9ydGVkIGJ5IElETCBnZXR0ZXIuIHZh
bHVlIGlzIHVuZGVmaW5lZCwgZXhwZWN0ZWQgYXJyYXkKIFBBU1MgUmVwYXJlbnRpbmcuCi1GQUlM
IEF0dGFjaGluZyBlbGVtZW50IHJlZmVyZW5jZSBiZWZvcmUgaXQncyBpbnNlcnRlZCBpbnRvIHRo
ZSBET00uIGFzc2VydF9lcXVhbHM6IFJlZmVyZW5jZWQgZWxlbWVudCBub3QgaW5zZXJ0ZWQgaW50
byBkb2N1bWVudCwgc28gaXMgaW4gYW4gaW52YWxpZCBzY29wZS4gZXhwZWN0ZWQgbnVsbCBidXQg
Z290IEVsZW1lbnQgbm9kZSA8c3BhbiBpZD0idG9TcGFuIj48L3NwYW4+Ci1GQUlMIENyb3NzLWRv
Y3VtZW50IHJlZmVyZW5jZXMgYW5kIG1vdmVzLiBhc3NlcnRfZXF1YWxzOiBDcm9zcy1kb2N1bWVu
dCBpcyBhbiBpbnZhbGlkIHNjb3BlLCBzbyByZWZlcmVuY2Ugd2lsbCBub3QgYmUgdmlzaWJsZS4g
ZXhwZWN0ZWQgbnVsbCBidXQgZ290IEVsZW1lbnQgbm9kZSA8c3Bhbj48L3NwYW4+CitQQVNTIEF0
dGFjaGluZyBlbGVtZW50IHJlZmVyZW5jZSBiZWZvcmUgaXQncyBpbnNlcnRlZCBpbnRvIHRoZSBE
T00uCitQQVNTIENyb3NzLWRvY3VtZW50IHJlZmVyZW5jZXMgYW5kIG1vdmVzLgorUEFTUyBBZG9w
dGluZyBlbGVtZW50IGtlZXBzIHJlZmVyZW5jZXMuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL2FyaWEtZWxlbWVudC1y
ZWZsZWN0aW9uLnRlbnRhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZl
Lmh0bWwKaW5kZXggNzc2ZmZmMzE0MzIyYjkwMDRlMWU2NzgzYzYyNmMwMzU2Y2E4ZjBhNy4uZWJk
MjY5NWIyM2I2OThlZmVkM2RhZGMwZDMwMzc4ZjM0NmRlZjE2MiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVt
ZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24u
dGVudGF0aXZlLmh0bWwKQEAgLTE2NCw2ICsxNjQsNyBAQAogICA8c2NyaXB0PgogCiAgIHRlc3Qo
ZnVuY3Rpb24odCkgeworICAgIGNvbnN0IGNvbnRlbnRBdHRyRWxlbWVudCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250ZW50QXR0ckVsZW1lbnQiKTsKICAgICBjb25zdCBpZGxBdHRyRWxl
bWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZGxBdHRyRWxlbWVudCIpOwogCiAgICAg
YXNzZXJ0X2VxdWFscyhkZWxldGlvblBhcmVudC5nZXRBdHRyaWJ1dGUoImFyaWEtYWN0aXZlZGVz
Y2VuZGFudCIpLCAiY29udGVudEF0dHJFbGVtZW50Iik7CkBAIC03MDcsNiArNzA4LDI0IEBACiAg
ICAgfSwgIkNyb3NzLWRvY3VtZW50IHJlZmVyZW5jZXMgYW5kIG1vdmVzLiIpOwogICA8L3Njcmlw
dD4KIAorCisgIDxzY3JpcHQ+CisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICBjb25zdCBv
dGhlckRvYyA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgnb3Ro
ZXJEb2MnKTsKKyAgICAgIGNvbnN0IG90aGVyRG9jRGl2ID0gb3RoZXJEb2MuY3JlYXRlRWxlbWVu
dCgnZGl2Jyk7CisgICAgICBjb25zdCBvdGhlckRvY1NwYW4gPSBvdGhlckRvYy5jcmVhdGVFbGVt
ZW50KCdzcGFuJyk7CisgICAgICBvdGhlckRvY0Rpdi5hcHBlbmRDaGlsZChvdGhlckRvY1NwYW4p
OworICAgICAgb3RoZXJEb2MuYm9keS5hcHBlbmRDaGlsZChvdGhlckRvY0Rpdik7CisKKyAgICAg
IG90aGVyRG9jRGl2LmFyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCA9IG90aGVyRG9jU3BhbjsK
KyAgICAgIGFzc2VydF9lcXVhbHMob3RoZXJEb2NEaXYuYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVt
ZW50LCBvdGhlckRvY1NwYW4sICJTZXR0aW5nIHJlZmVyZW5jZSBvbiBhIGRpZmZlcmVudCBkb2N1
bWVudC4iKTsKKworICAgICAgLy8gQWRvcHQgZWxlbWVudCBmcm9tIG90aGVyIG9kdWNtZW50Lgor
ICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5hZG9wdE5vZGUob3RoZXJE
b2NEaXYpKTsKKyAgICAgIGFzc2VydF9lcXVhbHMob3RoZXJEb2NEaXYuYXJpYUFjdGl2ZURlc2Nl
bmRhbnRFbGVtZW50LCBvdGhlckRvY1NwYW4sICJSZWZlcmVuY2Ugc2hvdWxkIGJlIGtlcHQgb24g
dGhlIG5ldyBkb2N1bWVudGUgdG9vLiIpOworICAgIH0sICJBZG9wdGluZyBlbGVtZW50IGtlZXBz
IHJlZmVyZW5jZXMuIik7CisgIDwvc2NyaXB0PgorCiAgIDwhLS0gVE9ETyhjaHJpc2hhbGwpOiBh
ZGQgYWRkaXRpb25hbCBHQyB0ZXN0IGNvdmVyaW5nOgogICAgICAgIGlmIGFuIGVsZW1lbnQgaXMg
aW4gYW4gaW52YWxpZCBzY29wZSBidXQgYXR0YWNoZWQgdG8gdGhlIGRvY3VtZW50LCBpdCdzCiAg
ICAgICAgbm90IEdDJ2Q7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458795</attachid>
            <date>2022-05-04 08:14:53 -0700</date>
            <delta_ts>2022-05-05 07:33:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239852-20220504171451.patch</filename>
            <type>text/plain</type>
            <size>52341</size>
            <attacher name="Manuel Rego Casasnovas">rego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNzcyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGYxNmM1NTQ4M2M4NzRjNjdiODdhMDZl
MmQyMzRlODViZjczNThkMzIuLjc3OWEyZThmMDhmOTM5YmM0OGI5ZWY4Nzk3NTljOTM4MTcwZmU5
OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjItMDUtMDQgIE1hbnVlbCBSZWdvIENhc2Fzbm92
YXMgIDxyZWdvQGlnYWxpYS5jb20+CisKKyAgICAgICAgQVJJQSByZWZsZWN0aW9uIGZvciBFbGVt
ZW50IGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzOTg1MgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAg
ICAgIEFkZCBuZXcgcnVudGltZSBmbGFnIEFyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5j
ZXNFbmFibGVkLgorCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNl
c0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIyLTA1LTA0ICBKb29uZ2h1biBQYXJrICA8amg3MTgu
cGFya0BzYW1zdW5nLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLiBSZW1vdmUgdGhlIGJ1aWxk
IHdhcm5pbmcgYmVsb3cgc2luY2UgcjI5MzcyOS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkYmQwNTNlM2NkNGY3
M2E1ZjZjZDI4M2VmNzc1OGRlZjRhMjhhZmQ4Li5hMDUwODk0ZWZhN2FmZWE1NTE0NTBhMDUyYWZi
YzBhMDQxOGFhYTNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjYgQEAKKzIwMjItMDUtMDQgIE1h
bnVlbCBSZWdvIENhc2Fzbm92YXMgIDxyZWdvQGlnYWxpYS5jb20+CisKKyAgICAgICAgQVJJQSBy
ZWZsZWN0aW9uIGZvciBFbGVtZW50IGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTg1MgorCisgICAgICAgIFJldmlld2VkIGJ5IENo
cmlzIER1bWV6LgorCisgICAgICAgIEltcGxlbWVudCBBUklBIHJlZmxlY3Rpb24gZm9yIGF0dHJp
YnV0ZXMgdGhhdCByZWZlciB0byBhIHNpbmdsZSBFbGVtZW50OgorICAgICAgICBhcmlhLWFjdGl2
ZWRlc2NlbmRhbnQgJiBhcmlhLWVycm9ybWVzc2FnZS4KKyAgICAgICAgRm9yIHRoZSBwcm9wZXJ0
aWVzIG5hbWVzIHRoaXMgcGF0Y2ggdXNlcyAiRWxlbWVudCIgc3VmZml4OgorICAgICAgICBhcmlh
QWN0aXZlRGVzY2VuZGFudEVsZW1lbnQgJiBhcmlhRXJyb3JNZXNzYWdlRWxlbWVudDsKKyAgICAg
ICAgdGhpcyBtYXRjaGVzIENocm9taXVtIGltcGxlbWVudGF0aW9uIGFuZCBBT00gZXhwbGFpbmVy
LCBidXQgbm90IEFPTSBzcGVjOgorICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vdzNjL2FyaWEv
aXNzdWVzLzE3MzIKKworICAgICAgICBUaGlzIGltcGxlbWVudGF0aW9uIGlzIGRvbmUgZm9sbG93
aW5nIHRoZSBwcm9wb3NlZCBzcGVjIHRleHQgZGVmaW5lZCBhdDoKKyAgICAgICAgaHR0cHM6Ly9n
aXRodWIuY29tL3doYXR3Zy9odG1sL3B1bGwvMzkxNworCisgICAgICAgICogYWNjZXNzaWJpbGl0
eS9BcmlhQXR0cmlidXRlcy5pZGw6IEFkZCBhcmlhQWN0aXZlRGVzY2VuZGFudEVsZW1lbnQgJgor
ICAgICAgICBhcmlhRXJyb3JNZXNzYWdlRWxlbWVudC4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3IucG06CisgICAgICAgIChHZXR0ZXJFeHByZXNzaW9uKTogQWRkIGZ1
bmN0aW9uIGZvciBFbGVtZW50IGF0dHJpYnV0ZXMuCisgICAgICAgIChTZXR0ZXJFeHByZXNzaW9u
KTogRGl0dG8uCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5j
cHA6IEFkZCB0ZXN0cyBmb3IgZWxlbWVudAorICAgICAgICBhdHRyaWJ1dGUgcmVmbGVjdGlvbi4K
KyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE9iakRPTUNvbnN0cnVjdG9yOjpjb25zdHJ1Y3QpOgor
ICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRyR2V0dGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OkpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUik6CisgICAgICAgIChX
ZWJDb3JlOjpzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0dHJTZXR0ZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKToKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGw6IEFkZCByZWZsZWN0ZWRFbGVtZW50QXR0cgorICAg
ICAgICBhdHRyaWJ1dGUuCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6aXNFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0ZSk6IFV0aWxpdHkgZnVuY3Rpb24gdG8g
aWRlbnRpZnkKKyAgICAgICAgRWxlbWVudCByZWZsZWN0aW9uIGF0dHJpYnV0ZXMuCisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKTogSWYgYW4gZWxlbWVudCByZWZs
ZWN0aW9uCisgICAgICAgIGF0dHJpYnV0ZSBoYXMgY2hhbmdlZCB3ZSBuZWVkIHRvIHN5bmNocm9u
aXplIHRoZSBtYXAgZW50cnkgYnkgcmVtb3ZpbmcKKyAgICAgICAgaXQgYXMgaXQnbGwgYmUgcHJv
cGVybHkgdXBkYXRlZCBpbiBzZXRFbGVtZW50QXR0cmlidXRlKCkgd2hlbiBuZWVkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpFbGVtZW50OjplbnN1cmVFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFw
KTogS2luZCBvZiBnZXR0ZXIKKyAgICAgICAgZm9yIHRoZSBFeHBsaWNpdGx5U2V0QXR0ckVsZW1l
bnRzTWFwIGJ1dCB0aGF0IGNyZWF0ZXMgdGhlIG1hcCBpZiBpdAorICAgICAgICBkb2Vzbid0IGV4
aXN0IHlldC4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmV4cGxpY2l0bHlTZXRBdHRyRWxl
bWVudHNNYXAgY29uc3QpOiBHZXR0ZXIgZm9yIHRoZQorICAgICAgICBtYXAuCisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50Ojppc0Rlc2NlbmRhbnRPZlNoYWRvd0luY2x1ZGluZ0FuY2VzdG9ycyBj
b25zdCk6CisgICAgICAgIFV0aWxpdHkgbWV0aG9kIHRvIGRldGVjdCBpZiBhbiBlbGVtZW50IGlz
IGEgZGVzY2VuZGFudCBvZiBhbnkgb2YKKyAgICAgICAgZWxlbWVudCdzIHNoYWRvdy1pbmNsdWRp
bmcgYW5jZXN0b3JzLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6Z2V0RWxlbWVudEF0dHJp
YnV0ZSBjb25zdCk6IEltcGxlbWVudCBnZXR0ZXIgZm9yCisgICAgICAgIGVsZW1lbnQgYXR0cmli
dXRlLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6c2V0RWxlbWVudEF0dHJpYnV0ZSk6IElt
cGxlbWVudCBzZXR0ZXIgZm9yCisgICAgICAgIGVsZW1lbnQgYXR0cmlidXRlLgorICAgICAgICAq
IGRvbS9FbGVtZW50Lmg6IEFkZCBuZXcgbWV0aG9kIGhlYWRlcnMgYW5kIGRlZmluZXMgdGhlCisg
ICAgICAgIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAsIHdoaWNoIHNvIGZhciBvbmx5IHN0
b3JlcyBvbmUgRWxlbWVudCBpbgorICAgICAgICB0aGUgVmVjdG9yLCBidXQgdXNlcyBhIFZlY3Rv
ciBpbiBwcmVwYXJhdGlvbiBmb3Igc3VwcG9ydGluZworICAgICAgICBGcm96ZW5BcnJheTxFbGVt
ZW50PiByZWZsZWN0aW9uIGluIHRoZSBmdXR1cmUuCisgICAgICAgICogZG9tL0VsZW1lbnRSYXJl
RGF0YS5jcHA6IFVwZGF0ZSBzaXplIG9mIFNhbWVTaXplQXNFbGVtZW50UmFyZURhdGEgdG8KKyAg
ICAgICAgaW5jbHVkZSB0aGUgbmV3IHBvaW50ZXIuCisgICAgICAgICogZG9tL0VsZW1lbnRSYXJl
RGF0YS5oOiBBZGQgbV9leHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwIGF0dHJpYnV0ZS4KKyAg
ICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSYXJlRGF0YTo6ZXhwbGljaXRseVNldEF0dHJFbGVtZW50
c01hcCk6IEdldHRlci4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnRSYXJlRGF0YTo6dXNlVHlw
ZXMgY29uc3QpOkluY2x1ZGUKKyAgICAgICAgRXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcC4K
KyAgICAgICAgKiBkb20vTm9kZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpzdHJpbmdGb3JSYXJl
RGF0YVVzZVR5cGUpOiBBZGQgRXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcC4KKyAgICAgICAg
KiBkb20vTm9kZVJhcmVEYXRhLmg6IERpdHRvLgorCiAyMDIyLTA1LTAzICBQaGlsaXBwZSBOb3Jt
YW5kICA8cGhpbG5AaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1N0cmVhbWVyXSBNZWRpYXN0cmVh
bSBtb2NrIGF1ZGlvIGludGVycnVwdGlvbiBmaXhlcyBhZnRlciByMjkwOTg1CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50
YWwueWFtbCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4
cGVyaW1lbnRhbC55YW1sCmluZGV4IGRmOGY4MTIyMTk4NzRhOGNjMTU1OGI0YTFmODhiOTVkMTIy
YTg2MzUuLmZkMzA2ZmIyOTEyZTEzMDU5ODRhZjhjZWUxMjkwNmE2ODdjZTJjYjYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1l
bnRhbC55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJl
bmNlc0V4cGVyaW1lbnRhbC55YW1sCkBAIC02Niw2ICs2NiwxOCBAQCBBY2Nlc3NpYmlsaXR5T2Jq
ZWN0TW9kZWxFbmFibGVkOgogICAgIFdlYktpdDoKICAgICAgIGRlZmF1bHQ6IGZhbHNlCiAKK0Fy
aWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5jZXNFbmFibGVkOgorICB0eXBlOiBib29sCisg
IGh1bWFuUmVhZGFibGVOYW1lOiAiQVJJQSBSZWZsZWN0aW9uIGZvciBFbGVtZW50IFJlZmVyZW5j
ZXMiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkVuYWJsZSBBUklBIHJlZmxlY3Rpb24g
Zm9yIGF0dHJpYnV0ZXMgdGhhdCByZWZlciB0byBlbGVtZW50cyIKKyAgZGVmYXVsdFZhbHVlOgor
ICAgIFdlYktpdExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAg
ICAgZGVmYXVsdDogZmFsc2UKKyAgICBXZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwog
QXNwZWN0UmF0aW9FbmFibGVkOgogICB0eXBlOiBib29sCiAgIGh1bWFuUmVhZGFibGVOYW1lOiAi
Q1NTIEFzcGVjdCBSYXRpbyIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvQXJpYUF0dHJpYnV0ZXMuaWRsIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9Bcmlh
QXR0cmlidXRlcy5pZGwKaW5kZXggNWJlNWU0NmY4YzU5NmFjNDY4MzNmZGMxMjRmYTBlNzAzMTM4
ZTM4NS4uNGM2NjBiYTE4MDIxOWFhM2ZjYmI2NjI4NGY1MzA4MDljNGY3Y2JhNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BcmlhQXR0cmlidXRlcy5pZGwKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BcmlhQXR0cmlidXRlcy5pZGwKQEAgLTI1LDYg
KzI1LDcgQEAKIAogLy8gaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9hb20vc3BlYy9hcmlhLXJlZmxl
Y3Rpb24uaHRtbCNBcmlhQXR0cmlidXRlcwogaW50ZXJmYWNlIG1peGluIEFyaWFBdHRyaWJ1dGVz
IHsKKyAgICBbUmVmbGVjdD1hcmlhX2FjdGl2ZWRlc2NlbmRhbnQsIEVuYWJsZWRCeVNldHRpbmc9
QXJpYVJlZmxlY3Rpb25Gb3JFbGVtZW50UmVmZXJlbmNlc0VuYWJsZWRdIGF0dHJpYnV0ZSBFbGVt
ZW50PyBhcmlhQWN0aXZlRGVzY2VuZGFudEVsZW1lbnQ7CiAgICAgW1JlZmxlY3Q9YXJpYV9hdG9t
aWNdICAgICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUF0b21p
YzsKICAgICBbUmVmbGVjdD1hcmlhX2F1dG9jb21wbGV0ZV0gICAgIGF0dHJpYnV0ZSBbQXRvbVN0
cmluZ10gRE9NU3RyaW5nPyBhcmlhQXV0b0NvbXBsZXRlOwogICAgIFtSZWZsZWN0PWFyaWFfYnVz
eV0gICAgICAgICAgICAgYXR0cmlidXRlIFtBdG9tU3RyaW5nXSBET01TdHJpbmc/IGFyaWFCdXN5
OwpAQCAtMzQsNiArMzUsNyBAQCBpbnRlcmZhY2UgbWl4aW4gQXJpYUF0dHJpYnV0ZXMgewogICAg
IFtSZWZsZWN0PWFyaWFfY29sc3Bhbl0gICAgICAgICAgYXR0cmlidXRlIFtBdG9tU3RyaW5nXSBE
T01TdHJpbmc/IGFyaWFDb2xTcGFuOwogICAgIFtSZWZsZWN0PWFyaWFfY3VycmVudF0gICAgICAg
ICAgYXR0cmlidXRlIFtBdG9tU3RyaW5nXSBET01TdHJpbmc/IGFyaWFDdXJyZW50OwogICAgIFtS
ZWZsZWN0PWFyaWFfZGlzYWJsZWRdICAgICAgICAgYXR0cmlidXRlIFtBdG9tU3RyaW5nXSBET01T
dHJpbmc/IGFyaWFEaXNhYmxlZDsKKyAgICBbUmVmbGVjdD1hcmlhX2Vycm9ybWVzc2FnZSwgRW5h
YmxlZEJ5U2V0dGluZz1BcmlhUmVmbGVjdGlvbkZvckVsZW1lbnRSZWZlcmVuY2VzRW5hYmxlZF0g
YXR0cmlidXRlIEVsZW1lbnQ/IGFyaWFFcnJvck1lc3NhZ2VFbGVtZW50OwogICAgIFtSZWZsZWN0
PWFyaWFfZXhwYW5kZWRdICAgICAgICAgYXR0cmlidXRlIFtBdG9tU3RyaW5nXSBET01TdHJpbmc/
IGFyaWFFeHBhbmRlZDsKICAgICBbUmVmbGVjdD1hcmlhX2hhc3BvcHVwXSAgICAgICAgIGF0dHJp
YnV0ZSBbQXRvbVN0cmluZ10gRE9NU3RyaW5nPyBhcmlhSGFzUG9wdXA7CiAgICAgW1JlZmxlY3Q9
YXJpYV9oaWRkZW5dICAgICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8g
YXJpYUhpZGRlbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Q29kZUdlbmVyYXRvci5wbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdl
bmVyYXRvci5wbQppbmRleCA3MWIzNmJjZTU1M2NjMWU0ZGYzOTk2ZDJiZDRhMjhhZWQwN2EyYzky
Li5iOGQ3YTRmMGJiZmY5ZDgxZTQ1MWZhNTI1NWY0ZDMwNmM3NmNjNmViIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCkBAIC0xMTA4LDYg
KzExMDgsOCBAQCBzdWIgR2V0dGVyRXhwcmVzc2lvbgogICAgICAgICAkZnVuY3Rpb25OYW1lID0g
ImdldEludGVncmFsQXR0cmlidXRlIjsKICAgICB9IGVsc2lmICgkYXR0cmlidXRlVHlwZS0+bmFt
ZSBlcSAidW5zaWduZWQgbG9uZyIpIHsKICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICJnZXRVbnNp
Z25lZEludGVncmFsQXR0cmlidXRlIjsKKyAgICB9IGVsc2lmICgkYXR0cmlidXRlVHlwZS0+bmFt
ZSBlcSAiRWxlbWVudCIpIHsKKyAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICJnZXRFbGVtZW50QXR0
cmlidXRlIjsKICAgICB9IGVsc2UgewogICAgICAgICBpZiAoJGNvbnRlbnRBdHRyaWJ1dGVOYW1l
IGVxICJXZWJDb3JlOjpIVE1MTmFtZXM6OmlkQXR0ciIpIHsKICAgICAgICAgICAgICRmdW5jdGlv
bk5hbWUgPSAiZ2V0SWRBdHRyaWJ1dGUiOwpAQCAtMTE0NSw2ICsxMTQ3LDggQEAgc3ViIFNldHRl
ckV4cHJlc3Npb24KICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICJzZXRJbnRlZ3JhbEF0dHJpYnV0
ZSI7CiAgICAgfSBlbHNpZiAoJGF0dHJpYnV0ZVR5cGUtPm5hbWUgZXEgInVuc2lnbmVkIGxvbmci
KSB7CiAgICAgICAgICRmdW5jdGlvbk5hbWUgPSAic2V0VW5zaWduZWRJbnRlZ3JhbEF0dHJpYnV0
ZSI7CisgICAgfSBlbHNpZiAoJGF0dHJpYnV0ZVR5cGUtPm5hbWUgZXEgIkVsZW1lbnQiKSB7Cisg
ICAgICAgICRmdW5jdGlvbk5hbWUgPSAic2V0RWxlbWVudEF0dHJpYnV0ZSI7CiAgICAgfSBlbHNp
ZiAoJGdlbmVyYXRvci0+SXNTVkdBbmltYXRlZFR5cGUoJGF0dHJpYnV0ZVR5cGUpKSB7CiAgICAg
ICAgICRmdW5jdGlvbk5hbWUgPSAic2V0QXR0cmlidXRlIjsKICAgICB9IGVsc2UgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNw
cAppbmRleCBmMzQzMjZjNGJjMzU4OGM0NWJmOWU4MGQ3ZDU5NDJjNzU3ODRhOTFmLi41MWNiOGYz
ZDhjMzk4YjZiMDJmZmJkOWMxNDNhY2NjOGQ4YWIxYjFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcApAQCAtMTgwMyw2
ICsxODAzLDggQEAgc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNUZXN0T2JqX3Jl
ZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01f
U0VUVEVSKHNldEpTVGVzdE9ial9yZWZsZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0cik7CiBzdGF0
aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVmbGVjdGVkQm9vbGVhbkF0
dHIpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3JlZmxl
Y3RlZEJvb2xlYW5BdHRyKTsKK3N0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVz
dE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0cik7CitzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX1NF
VFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0dHIpOwogc3RhdGljIEpTQ19ERUNM
QVJFX0NVU1RPTV9HRVRURVIoanNUZXN0T2JqX3JlZmxlY3RlZFVSTEF0dHIpOwogc3RhdGljIEpT
Q19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3JlZmxlY3RlZFVSTEF0dHIpOwog
c3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNUZXN0T2JqX3JlZmxlY3RlZFVTVlVS
TEF0dHIpOwpAQCAtMjE3NSw2ICsyMTc3LDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVl
IEpTVGVzdE9ialByb3RvdHlwZVRhYmxlVmFsdWVzW10gPQogICAgIHsgInJlZmxlY3RlZEludGVn
cmFsQXR0ciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpD
dXN0b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5v
SW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVl
RnVuYz4oanNUZXN0T2JqX3JlZmxlY3RlZEludGVncmFsQXR0ciksIChpbnRwdHJfdCkgc3RhdGlj
X2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9ial9yZWZsZWN0
ZWRJbnRlZ3JhbEF0dHIpIH0gfSwKICAgICB7ICJyZWZsZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0
ciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21B
Y2Nlc3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50cmlu
c2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4o
anNUZXN0T2JqX3JlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyKSwgKGludHB0cl90KSBzdGF0
aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3JlZmxl
Y3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyKSB9IH0sCiAgICAgeyAicmVmbGVjdGVkQm9vbGVhbkF0
dHIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9t
QWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpET01BdHRyaWJ1dGUpLCBOb0ludHJp
bnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+
KGpzVGVzdE9ial9yZWZsZWN0ZWRCb29sZWFuQXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8
UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9ial9yZWZsZWN0ZWRCb29s
ZWFuQXR0cikgfSB9LAorICAgIHsgInJlZmxlY3RlZEVsZW1lbnRBdHRyIiwgc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90
KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpfcmVmbGVj
dGVkRWxlbWVudEF0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6
UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0dHIpIH0gfSwKICAg
ICB7ICJyZWZsZWN0ZWRVUkxBdHRyIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RE9N
QXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5
U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpfcmVmbGVjdGVkVVJMQXR0ciksIChpbnRwdHJf
dCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9i
al9yZWZsZWN0ZWRVUkxBdHRyKSB9IH0sCiAgICAgeyAicmVmbGVjdGVkVVNWVVJMQXR0ciIsIHN0
YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3Nv
ciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50cmluc2ljLCB7
IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0
T2JqX3JlZmxlY3RlZFVTVlVSTEF0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3Bl
cnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVVNWVVJMQXR0cikg
fSB9LAogICAgIHsgInJlZmxlY3RlZFN0cmluZ0F0dHIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0
cmlidXRlOjpET01BdHRyaWJ1dGUpLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nh
c3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ial9yZWZsZWN0ZWRTdHJpbmdB
dHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVu
Yz4oc2V0SlNUZXN0T2JqX3JlZmxlY3RlZFN0cmluZ0F0dHIpIH0gfSwKQEAgLTM5MTgsNiArMzky
MSwzNyBAQCBKU0NfREVGSU5FX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3JlZmxlY3RlZEJv
b2xlYW5BdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleAogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8
SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9yZWZsZWN0ZWRCb29sZWFuQXR0clNldHRlcj4o
KmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCBhdHRyaWJ1dGVO
YW1lKTsKIH0KIAorc3RhdGljIGlubGluZSBKU1ZhbHVlIGpzVGVzdE9ial9yZWZsZWN0ZWRFbGVt
ZW50QXR0ckdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0
T2JqJiB0aGlzT2JqZWN0KQoreworICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEds
b2JhbE9iamVjdCk7CisgICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2
bSk7CisgICAgYXV0byYgaW1wbCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOworICAgIFJFTEVBU0Vf
QU5EX1JFVFVSTih0aHJvd1Njb3BlLCAodG9KUzxJRExJbnRlcmZhY2U8RWxlbWVudD4+KGxleGlj
YWxHbG9iYWxPYmplY3QsICp0aGlzT2JqZWN0Lmdsb2JhbE9iamVjdCgpLCB0aHJvd1Njb3BlLCBp
bXBsLmdldEVsZW1lbnRBdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpyZWZsZWN0ZWRlbGVt
ZW50YXR0ckF0dHIpKSkpOworfQorCitKU0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0T2Jq
X3JlZmxlY3RlZEVsZW1lbnRBdHRyLCAoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lIGF0dHJpYnV0ZU5hbWUp
KQoreworICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6Z2V0PGpzVGVzdE9ial9y
ZWZsZWN0ZWRFbGVtZW50QXR0ckdldHRlciwgQ2FzdGVkVGhpc0Vycm9yQmVoYXZpb3I6OkFzc2Vy
dD4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgYXR0cmlidXRlTmFtZSk7Cit9CisK
K3N0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0dHJTZXR0
ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdE9iaiYgdGhpc09i
amVjdCwgSlNWYWx1ZSB2YWx1ZSkKK3sKKyAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0oJmxleGlj
YWxHbG9iYWxPYmplY3QpOworICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NP
UEUodm0pOworICAgIGF1dG8mIGltcGwgPSB0aGlzT2JqZWN0LndyYXBwZWQoKTsKKyAgICBhdXRv
IG5hdGl2ZVZhbHVlID0gY29udmVydDxJRExJbnRlcmZhY2U8RWxlbWVudD4+KGxleGljYWxHbG9i
YWxPYmplY3QsIHZhbHVlLCBbXShKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBKU0M6OlRocm93U2NvcGUmIHNjb3BlKSB7IHRocm93QXR0cmlidXRlVHlwZUVycm9yKGxl
eGljYWxHbG9iYWxPYmplY3QsIHNjb3BlLCAiVGVzdE9iamVjdCIsICJyZWZsZWN0ZWRFbGVtZW50
QXR0ciIsICJFbGVtZW50Iik7IH0pOworICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29w
ZSwgZmFsc2UpOworICAgIGludm9rZUZ1bmN0b3JQcm9wYWdhdGluZ0V4Y2VwdGlvbklmTmVjZXNz
YXJ5KGxleGljYWxHbG9iYWxPYmplY3QsIHRocm93U2NvcGUsIFsmXSB7CisgICAgICAgIHJldHVy
biBpbXBsLnNldEVsZW1lbnRBdHRyaWJ1dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpyZWZsZWN0ZWRl
bGVtZW50YXR0ckF0dHIsICpuYXRpdmVWYWx1ZSk7CisgICAgfSk7CisgICAgcmV0dXJuIHRydWU7
Cit9CisKK0pTQ19ERUZJTkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkRWxl
bWVudEF0dHIsIChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpT
VmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFt
ZSBhdHRyaWJ1dGVOYW1lKSkKK3sKKyAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46
OnNldDxzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0dHJTZXR0ZXI+KCpsZXhpY2FsR2xv
YmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRWYWx1ZSwgYXR0cmlidXRlTmFtZSk7Cit9CisK
IHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rlc3RPYmpfcmVmbGVjdGVkVVJMQXR0ckdldHRlcihK
U0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0T2JqJiB0aGlzT2JqZWN0
KQogewogICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKaW5k
ZXggMTBmNjUxYTU3NWU3N2I3NTAwMmI4NzBjZGJiODk4ZmZhNDY2MzNjOS4uN2U5ODJkNTE2MjRi
NGNmZDhiODZlZDUxNDc3ZjcxN2IxYmJmZTVjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RPYmouaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbApAQCAtMTA0LDYgKzEwNCw3IEBAIGVudW0g
VGVzdENvbmZpZGVuY2UgeyAiaGlnaCIsICJraW5kYS1sb3ciIH07CiAgICAgW1JlZmxlY3RdIGF0
dHJpYnV0ZSBsb25nIHJlZmxlY3RlZEludGVncmFsQXR0cjsKICAgICBbUmVmbGVjdF0gYXR0cmli
dXRlIHVuc2lnbmVkIGxvbmcgcmVmbGVjdGVkVW5zaWduZWRJbnRlZ3JhbEF0dHI7CiAgICAgW1Jl
ZmxlY3RdIGF0dHJpYnV0ZSBib29sZWFuIHJlZmxlY3RlZEJvb2xlYW5BdHRyOworICAgIFtSZWZs
ZWN0XSBhdHRyaWJ1dGUgRWxlbWVudCByZWZsZWN0ZWRFbGVtZW50QXR0cjsKICAgICBbUmVmbGVj
dCwgVVJMXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmxlY3RlZFVSTEF0dHI7CiAgICAgW1JlZmxl
Y3QsIFVSTF0gYXR0cmlidXRlIFVTVlN0cmluZyByZWZsZWN0ZWRVU1ZVUkxBdHRyOwogICAgIFtS
ZWZsZWN0PWN1c3RvbUNvbnRlbnRTdHJpbmdBdHRyXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmxl
Y3RlZFN0cmluZ0F0dHI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggMzA2Zjg4MTc3N2VlNjlm
NzljOGMyNjk3NTUzY2NkZjUwNGIyNDIwOS4uN2MzY2U1OTM3NDEzMjg1ODJmY2Y5MGVkM2I0NTg2
YTVkOGNmMjM4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtMTkwMSw2ICsxOTAxLDExIEBA
IHN0YXRpYyBpbmxpbmUgQXRvbVN0cmluZyBtYWtlSWRGb3JTdHlsZVJlc29sdXRpb24oY29uc3Qg
QXRvbVN0cmluZyYgdmFsdWUsIGJvb2wKICAgICByZXR1cm4gdmFsdWU7CiB9CiAKK3N0YXRpYyBp
bmxpbmUgYm9vbCBpc0VsZW1lbnRSZWZsZWN0aW9uQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5h
bWUmIG5hbWUpCit7CisgICAgcmV0dXJuIG5hbWUgPT0gSFRNTE5hbWVzOjphcmlhX2FjdGl2ZWRl
c2NlbmRhbnRBdHRyIHx8IG5hbWUgPT0gSFRNTE5hbWVzOjphcmlhX2Vycm9ybWVzc2FnZUF0dHI7
Cit9CisKIHZvaWQgRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1l
JiBuYW1lLCBjb25zdCBBdG9tU3RyaW5nJiBvbGRWYWx1ZSwgY29uc3QgQXRvbVN0cmluZyYgbmV3
VmFsdWUsIEF0dHJpYnV0ZU1vZGlmaWNhdGlvblJlYXNvbikKIHsKICAgICBib29sIHZhbHVlSXNT
YW1lQXNCZWZvcmUgPSBvbGRWYWx1ZSA9PSBuZXdWYWx1ZTsKQEAgLTE5MzcsNyArMTk0MiwxMSBA
QCB2b2lkIEVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFt
ZSwgY29uc3QgQXRvbVN0cmluZyYgb2xkVgogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2Ug
aWYgKG5hbWUgPT0gSFRNTE5hbWVzOjpwYXJ0QXR0cikKICAgICAgICAgICAgIHBhcnRBdHRyaWJ1
dGVDaGFuZ2VkKG5ld1ZhbHVlKTsKLSAgICAgICAgZWxzZSBpZiAobmFtZSA9PSBIVE1MTmFtZXM6
OmV4cG9ydHBhcnRzQXR0cikgeworICAgICAgICBlbHNlIGlmIChpc0VsZW1lbnRSZWZsZWN0aW9u
QXR0cmlidXRlKG5hbWUpKSB7CisgICAgICAgICAgICBBU1NFUlQoZG9jdW1lbnQoKS5zZXR0aW5n
cygpLmFyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5jZXNFbmFibGVkKCkpOworICAgICAg
ICAgICAgaWYgKGF1dG8qIG1hcCA9IGV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoKSkKKyAg
ICAgICAgICAgICAgICBtYXAtPnJlbW92ZShuYW1lKTsKKyAgICAgICAgfSBlbHNlIGlmIChuYW1l
ID09IEhUTUxOYW1lczo6ZXhwb3J0cGFydHNBdHRyKSB7CiAgICAgICAgICAgICBpZiAoYXV0byog
c2hhZG93Um9vdCA9IHRoaXMtPnNoYWRvd1Jvb3QoKSkgewogICAgICAgICAgICAgICAgIHNoYWRv
d1Jvb3QtPmludmFsaWRhdGVQYXJ0TWFwcGluZ3MoKTsKICAgICAgICAgICAgICAgICBTdHlsZTo6
SW52YWxpZGF0b3I6OmludmFsaWRhdGVTaGFkb3dQYXJ0cygqc2hhZG93Um9vdCk7CkBAIC0xOTYx
LDYgKzE5NzAsNzMgQEAgdm9pZCBFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxp
ZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21TdHJpbmcmIG9sZFYKICAgICAgICAgY2FjaGUtPmRl
ZmVyQXR0cmlidXRlQ2hhbmdlSWZOZWVkZWQobmFtZSwgdGhpcyk7CiB9CiAKK0V4cGxpY2l0bHlT
ZXRBdHRyRWxlbWVudHNNYXAmIEVsZW1lbnQ6OmVuc3VyZUV4cGxpY2l0bHlTZXRBdHRyRWxlbWVu
dHNNYXAoKQoreworICAgIHJldHVybiBlbnN1cmVFbGVtZW50UmFyZURhdGEoKS5leHBsaWNpdGx5
U2V0QXR0ckVsZW1lbnRzTWFwKCk7Cit9CisKK0V4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAq
IEVsZW1lbnQ6OmV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoKSBjb25zdAoreworICAgIHJl
dHVybiBoYXNSYXJlRGF0YSgpID8gJmVsZW1lbnRSYXJlRGF0YSgpLT5leHBsaWNpdGx5U2V0QXR0
ckVsZW1lbnRzTWFwKCkgOiBudWxscHRyOworfQorCitib29sIEVsZW1lbnQ6OmlzRGVzY2VuZGFu
dE9mU2hhZG93SW5jbHVkaW5nQW5jZXN0b3JzKGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpIGNvbnN0
Cit7CisgICAgaWYgKCFpc0luVHJlZVNjb3BlKCkgfHwgIWVsZW1lbnQuaXNJblRyZWVTY29wZSgp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBmb3IgKGF1dG8qIHJvb3QgPSBjb250YWlu
aW5nU2hhZG93Um9vdCgpOyByb290OyByb290ID0gcm9vdC0+aG9zdCgpLT5jb250YWluaW5nU2hh
ZG93Um9vdCgpKSB7CisgICAgICAgIGlmIChlbGVtZW50LmlzRGVzY2VuZGFudE9mKHJvb3QpKQor
ICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIGVsZW1lbnQuaXNE
ZXNjZW5kYW50T2YoZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKSk7Cit9CisKK0VsZW1lbnQq
IEVsZW1lbnQ6OmdldEVsZW1lbnRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmli
dXRlTmFtZSkgY29uc3QKK3sKKyAgICBBU1NFUlQoZG9jdW1lbnQoKS5zZXR0aW5ncygpLmFyaWFS
ZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5jZXNFbmFibGVkKCkpOworICAgIEFTU0VSVChpc0Vs
ZW1lbnRSZWZsZWN0aW9uQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpKTsKKworICAgIGlmIChhdXRv
KiBtYXAgPSBleHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKCkpIHsKKyAgICAgICAgYXV0byBp
dCA9IG1hcC0+ZmluZChhdHRyaWJ1dGVOYW1lKTsKKyAgICAgICAgaWYgKGl0ICE9IG1hcC0+ZW5k
KCkpIHsKKyAgICAgICAgICAgIEFTU0VSVChpdC0+dmFsdWUuc2l6ZSgpID09IDEpOworICAgICAg
ICAgICAgYXV0byogZWxlbWVudCA9IGl0LT52YWx1ZVswXS5nZXQoKTsKKyAgICAgICAgICAgIGlm
IChlbGVtZW50ICYmIGlzRGVzY2VuZGFudE9mU2hhZG93SW5jbHVkaW5nQW5jZXN0b3JzKCplbGVt
ZW50KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZWxlbWVudDsKKyAgICAgICAgICAgIHJldHVy
biBudWxscHRyOworICAgICAgICB9CisgICAgfQorCisgICAgYXV0byBpZCA9IGdldEF0dHJpYnV0
ZShhdHRyaWJ1dGVOYW1lKTsKKyAgICBpZiAoaWQuaXNOdWxsKCkpCisgICAgICAgIHJldHVybiBu
dWxscHRyOworCisgICAgcmV0dXJuIHRyZWVTY29wZSgpLmdldEVsZW1lbnRCeUlkKGlkKTsKK30K
Kwordm9pZCBFbGVtZW50OjpzZXRFbGVtZW50QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
IGF0dHJpYnV0ZU5hbWUsIEVsZW1lbnQqIGVsZW1lbnQpCit7CisgICAgQVNTRVJUKGRvY3VtZW50
KCkuc2V0dGluZ3MoKS5hcmlhUmVmbGVjdGlvbkZvckVsZW1lbnRSZWZlcmVuY2VzRW5hYmxlZCgp
KTsKKyAgICBBU1NFUlQoaXNFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1l
KSk7CisKKyAgICBpZiAoIWVsZW1lbnQpIHsKKyAgICAgICAgaWYgKGF1dG8qIG1hcCA9IGV4cGxp
Y2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoKSkKKyAgICAgICAgICAgIG1hcC0+cmVtb3ZlKGF0dHJp
YnV0ZU5hbWUpOworICAgICAgICByZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIGlkID0gZWxlbWVudC0+Z2V0SWRBdHRyaWJ1
dGUoKTsKKyAgICBpZiAoIWlkLmlzTnVsbCgpICYmICZ0cmVlU2NvcGUoKSA9PSAmZWxlbWVudC0+
dHJlZVNjb3BlKCkgJiYgdHJlZVNjb3BlKCkuZ2V0RWxlbWVudEJ5SWQoaWQpID09IGVsZW1lbnQp
CisgICAgICAgIHNldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lLCBpZCk7CisgICAgZWxzZQorICAg
ICAgICBzZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSwgZW1wdHlBdG9tKCkpOworCisgICAgZW5z
dXJlRXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCgpLnNldChhdHRyaWJ1dGVOYW1lLCBWZWN0
b3I8V2Vha1B0cjxFbGVtZW50Pj4geyBlbGVtZW50IH0pOworfQorCiB0ZW1wbGF0ZSA8dHlwZW5h
bWUgQ2hhcmFjdGVyVHlwZT4KIHN0YXRpYyBpbmxpbmUgYm9vbCBpc05vbkVtcHR5VG9rZW5MaXN0
KGNvbnN0IENoYXJhY3RlclR5cGUqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGxlbmd0aCkKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5oCmluZGV4IGZhYmZiMjQxNDFlOWViNjUzZGUwNmIzNjRkYzA4OWE0YjdhNWUw
MTkuLmI1NjkxODljMmVmMWJlZDQyNmVhYzRhNWJiOTY0ZWVjZGYwNDYwMzYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuaApAQCAtOTMsNiArOTMsMTAgQEAgc3RydWN0IFNjcm9sbFRvT3B0aW9uczsKIHN0cnVj
dCBTZWN1cml0eVBvbGljeVZpb2xhdGlvbkV2ZW50SW5pdDsKIHN0cnVjdCBTaGFkb3dSb290SW5p
dDsKIAorLy8gRklYTUU6IFRoaXMgb25seSBzdG9yZXMgb25lIEVsZW1lbnQgaW4gdGhlIFZlY3Rv
ciByaWdodCBub3csIHRob3VnaCB0aGlzIHdpbGwgY2hhbmdlCisvLyBvbmNlIHJlZmxlY3Rpb24g
Zm9yIEZyb3plbkFycmF5PEVsZW1lbnQ+IGlzIGltcGxlbWVudGVkIGluIGh0dHBzOi8vd2Via2l0
Lm9yZy9iLzIzOTg1My4KK3VzaW5nIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAgPSBIYXNo
TWFwPFF1YWxpZmllZE5hbWUsIFZlY3RvcjxXZWFrUHRyPEVsZW1lbnQ+Pj47CisKIG5hbWVzcGFj
ZSBTdHlsZSB7CiBjbGFzcyBSZXNvbHZlcjsKIGVudW0gY2xhc3MgQ2hhbmdlIDogdWludDhfdDsK
QEAgLTEyMSw2ICsxMjUsOCBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRJ
bnRlZ3JhbEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lLCBpbnQg
dmFsdWUpOwogICAgIFdFQkNPUkVfRVhQT1JUIHVuc2lnbmVkIGdldFVuc2lnbmVkSW50ZWdyYWxB
dHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkgY29uc3Q7CiAgICAg
V0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRVbnNpZ25lZEludGVncmFsQXR0cmlidXRlKGNvbnN0IFF1
YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUsIHVuc2lnbmVkIHZhbHVlKTsKKyAgICBXRUJDT1JF
X0VYUE9SVCBFbGVtZW50KiBnZXRFbGVtZW50QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUm
IGF0dHJpYnV0ZU5hbWUpIGNvbnN0OworICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0RWxlbWVu
dEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lLCBFbGVtZW50KiB2
YWx1ZSk7CiAKICAgICAvLyBDYWxsIHRoaXMgdG8gZ2V0IHRoZSB2YWx1ZSBvZiBhbiBhdHRyaWJ1
dGUgdGhhdCBpcyBrbm93biBub3QgdG8gYmUgdGhlIHN0eWxlCiAgICAgLy8gYXR0cmlidXRlIG9y
IG9uZSBvZiB0aGUgU1ZHIGFuaW1hdGFibGUgYXR0cmlidXRlcy4KQEAgLTY2OCw2ICs2NzQsOSBA
QCBwdWJsaWM6CiAgICAgU3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5KiBjb21wdXRlZFN0eWxlTWFw
KCk7CiAjZW5kaWYKIAorICAgIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAmIGVuc3VyZUV4
cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoKTsKKyAgICBFeHBsaWNpdGx5U2V0QXR0ckVsZW1l
bnRzTWFwKiBleHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKCkgY29uc3Q7CisKIHByb3RlY3Rl
ZDoKICAgICBFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYsIENvbnN0cnVj
dGlvblR5cGUpOwogCkBAIC03ODUsNiArNzk0LDggQEAgcHJpdmF0ZToKICAgICBXRUJDT1JFX0VY
UE9SVCBib29sIGZhc3RBdHRyaWJ1dGVMb29rdXBBbGxvd2VkKGNvbnN0IFF1YWxpZmllZE5hbWUm
KSBjb25zdDsKICNlbmRpZgogCisgICAgYm9vbCBpc0Rlc2NlbmRhbnRPZlNoYWRvd0luY2x1ZGlu
Z0FuY2VzdG9ycyhjb25zdCBFbGVtZW50JikgY29uc3Q7CisKICAgICBRdWFsaWZpZWROYW1lIG1f
dGFnTmFtZTsKICAgICBSZWZQdHI8RWxlbWVudERhdGE+IG1fZWxlbWVudERhdGE7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuY3BwIGIvU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHAKaW5kZXggOTRiOGE1ODU5Zjc0YmM3Yzk1ZDEy
NTM5OWI3NDZlZTI3NmU3ZWVmZi4uMDBjZjY1ZjMzNzM2YzQ4YmFlODRlN2ZiZTE0Y2Q5MzQwOWE0
NTIyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHAKQEAgLTQyLDYgKzQy
LDcgQEAgc3RydWN0IFNhbWVTaXplQXNFbGVtZW50UmFyZURhdGEgOiBOb2RlUmFyZURhdGEgewog
ICAgIHZvaWQqIHR5cGVkT01EYXRhWzJdOwogI2VuZGlmCiAgICAgdm9pZCogcmVzaXplT2JzZXJ2
ZXJEYXRhOworICAgIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAgZXhwbGljaXRseVNldEF0
dHJFbGVtZW50c01hcDsKIH07CiAKIHN0YXRpY19hc3NlcnQoc2l6ZW9mKEVsZW1lbnRSYXJlRGF0
YSkgPT0gc2l6ZW9mKFNhbWVTaXplQXNFbGVtZW50UmFyZURhdGEpLCAiRWxlbWVudFJhcmVEYXRh
IHNob3VsZCBzdGF5IHNtYWxsIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudFJhcmVEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKaW5k
ZXggZDc2YmNjNDQ0Y2U3NTE0NGJiZWQzOTcxYmE5MTQwYThjNWRjNThhZi4uMGRlNDU3M2M1MTlh
ZWYwNTQ5NTMzYzQ5NTMzNjJhMjYzOTNiNTQ3YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnRSYXJlRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFy
ZURhdGEuaApAQCAtMTA3LDYgKzEwNyw4IEBAIHB1YmxpYzoKICAgICB2b2lkIHNldENvbXB1dGVk
U3R5bGVNYXAoUmVmPFN0eWxlUHJvcGVydHlNYXBSZWFkT25seT4mJiBtYXApIHsgbV9jb21wdXRl
ZFN0eWxlTWFwID0gV1RGTW92ZShtYXApOyB9CiAjZW5kaWYKIAorICAgIEV4cGxpY2l0bHlTZXRB
dHRyRWxlbWVudHNNYXAmIGV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoKSB7IHJldHVybiBt
X2V4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXA7IH0KKwogI2lmIERVTVBfTk9ERV9TVEFUSVNU
SUNTCiAgICAgT3B0aW9uU2V0PFVzZVR5cGU+IHVzZVR5cGVzKCkgY29uc3QKICAgICB7CkBAIC0x
NDcsNiArMTQ5LDggQEAgcHVibGljOgogICAgICAgICAgICAgcmVzdWx0LmFkZChVc2VUeXBlOjpQ
YXJ0TmFtZXMpOwogICAgICAgICBpZiAobV9ub25jZSkKICAgICAgICAgICAgIHJlc3VsdC5hZGQo
VXNlVHlwZTo6Tm9uY2UpOworICAgICAgICBpZiAoIW1fZXhwbGljaXRseVNldEF0dHJFbGVtZW50
c01hcC5pc0VtcHR5KCkpCisgICAgICAgICAgICByZXN1bHQuYWRkKFVzZVR5cGU6OkV4cGxpY2l0
bHlTZXRBdHRyRWxlbWVudHNNYXApOwogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICNl
bmRpZgpAQCAtMTgwLDYgKzE4NCw4IEBAIHByaXZhdGU6CiAKICAgICBBdG9tU3RyaW5nIG1fbm9u
Y2U7CiAKKyAgICBFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwIG1fZXhwbGljaXRseVNldEF0
dHJFbGVtZW50c01hcDsKKwogICAgIHZvaWQgcmVsZWFzZVBzZXVkb0VsZW1lbnQoUHNldWRvRWxl
bWVudCopOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCmluZGV4IDY4NzAzNzAwOGEyM2EwYTQxOWZmN2Ew
ZTViZDFhOTVlOTcxNTgyZDguLmI0NjVlM2QwYTEwNDdlMDI3ZmQ3NWU0ZmJlNmQ2ODFmYjVhMjU3
NjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vTm9kZS5jcHAKQEAgLTE0NCw2ICsxNDQsOCBAQCBzdGF0aWMgY29uc3QgY2hh
ciogc3RyaW5nRm9yUmFyZURhdGFVc2VUeXBlKE5vZGVSYXJlRGF0YTo6VXNlVHlwZSB1c2VUeXBl
KQogICAgICAgICByZXR1cm4gIlBhcnRMaXN0IjsKICAgICBjYXNlIE5vZGVSYXJlRGF0YTo6VXNl
VHlwZTo6UGFydE5hbWVzOgogICAgICAgICByZXR1cm4gIlBhcnROYW1lcyI7CisgICAgY2FzZSBO
b2RlUmFyZURhdGE6OlVzZVR5cGU6OkV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXA6CisgICAg
ICAgIHJldHVybiAiRXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCI7CiAgICAgfQogICAgIHJl
dHVybiBudWxscHRyOwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJl
RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCmluZGV4IDI0NWZhOGNj
MTA4MjNmMTY4ZDg3NDRhNTU5ZWUwZDk4NzllMDhjZTkuLmY0N2Q1MjlkYTQ4YjE3OGY4ODM0ZjMz
ZTI1YWZiM2JlZDRhNzUwY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFy
ZURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgKQEAgLTI2NSw2
ICsyNjUsNyBAQCBwdWJsaWM6CiAgICAgICAgIFBhcnROYW1lcyA9IDEgPDwgMTYsCiAgICAgICAg
IE5vbmNlID0gMSA8PCAxNywKICAgICAgICAgQ29tcHV0ZWRTdHlsZU1hcCA9IDEgPDwgMTgsCisg
ICAgICAgIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAgPSAxIDw8IDE5LAogICAgIH07CiAj
ZW5kaWYKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDI2ZjZlODU0ZGEyOTQ3NzIwNjgyYThhMDRkYTBhMDNhOGFlMDhhZjku
LmJhMTQzNGE5ZTA5MzAzNGQwODBjYTcyMjBmN2JkZTQ3MDY2OWNiMDQgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNSBAQAorMjAyMi0wNS0wNCAgTWFudWVsIFJlZ28gQ2FzYXNub3ZhcyAgPHJlZ29AaWdhbGlh
LmNvbT4KKworICAgICAgICBBUklBIHJlZmxlY3Rpb24gZm9yIEVsZW1lbnQgYXR0cmlidXRlcwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM5ODUyCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgQ2hyaXMgRHVtZXouCisKKyAgICAgICAgVXBkYXRlIHRlc3Qg
dG8gaW5jbHVkZSB0aGUgbmV3IHJlZmxlY3RlZCBhdHRyaWJ1dGVzLgorCisgICAgICAgICogYWNj
ZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rpb24tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvQVJJQS1yZWZsZWN0aW9uLmh0bWw6CisKIDIwMjItMDQtMzAgIFBoaWxpcHBlIE5v
cm1hbmQgIDxwaGlsbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHU3RyZWFtZXJdIE1lZGlhc3Ry
ZWFtIG1vY2sgYXVkaW8gaW50ZXJydXB0aW9uIGZpeGVzIGFmdGVyIHIyOTA5ODUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDJkNmIwYjFjNWJhYjI2NmQ4YzkxYTBlYjQxZDU5MTVj
ZDUxY2FmNDguLjA2YTc2MWIzOTMzY2Q1NzE0ZTQzNjVkZTgwOGEyOGVmNmQ0NmRlYmUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIyLTA1LTA0ICBN
YW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIEFSSUEg
cmVmbGVjdGlvbiBmb3IgRWxlbWVudCBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzk4NTIKKworICAgICAgICBSZXZpZXdlZCBieSBD
aHJpcyBEdW1lei4KKworICAgICAgICBTbWFsbCBmaXggb24gdGhlIHRlc3QgYW5kIHVwZGF0ZSB0
ZXN0IHJlc3VsdHMgd2l0aCB0aGUgbmV3IFBBU1MuCisgICAgICAgIEFkZCBuZXcgdGVzdCBjYXNl
IHRvIGNvdmVyIGVsZW1lbnRzIG1vdmVkIHRvIGEgZGlmZmVyZW50IGRvY3VtZW50LgorCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlv
bi50ZW50YXRpdmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9k
b20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLmh0bWw6CisKIDIwMjIt
MDUtMDMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIFNlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24gdXBkYXRlIHNob3VsZCBmYWlsIGlmIGNhbGxlZCBmcm9tIGFu
IGluc3RhbGxpbmcgc2VydmljZSB3b3JrZXIgY29udGV4dApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvYWNjZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rpb24tZXhwZWN0ZWQudHh0CmluZGV4IDk1MDRi
NjliY2JhY2QyNDFiOTU4NTQzMDJlZjU0NzRlMzUyYTQ5OGUuLmUzZmVlYzMwYzRjN2E5ZWFmYWQx
YTk0ZGVkZWVjNjNmODhiYjgwZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxp
dHkvQVJJQS1yZWZsZWN0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3Np
YmlsaXR5L0FSSUEtcmVmbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTcsMzE3ICs3LDI5MiBAQCBP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURQogVGVzdCByb2xlIDwgLSA+IHJvbGUKIFBBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsicm9sZSJdID0gZGF0YTsKLVBBU1MgZWxl
bWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50
LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50
LnNldEF0dHJpYnV0ZSgicm9sZSIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90
aGVyRGF0YVByb3BlcnR5CisKK1Rlc3QgYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50IDwgLSA+
IGFyaWEtYWN0aXZlZGVzY2VuZGFudAorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMg
bnVsbAorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxs
CitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRy
aWJ1dGUKK2VsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnQiLCBvdGhl
ckRhdGEpOworUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVy
dHkKIAogVGVzdCBhcmlhQXRvbWljIDwgLSA+IGFyaWEtYXRvbWljCiBQQVNTIGVsZW1lbnRbY3Vy
cmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFBdG9taWMiXSA9IGRhdGE7Ci1QQVNTIGVs
ZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVu
dC5zZXRBdHRyaWJ1dGUoImFyaWEtYXRvbWljIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtj
dXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0
eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhQXV0b0NvbXBsZXRlIDwgLSA+IGFy
aWEtYXV0b2NvbXBsZXRlCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQ
QVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1l
bnRbImFyaWFBdXRvQ29tcGxldGUiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRl
KGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFy
aWEtYXV0b2NvbXBsZXRlIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVy
dHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJE
YXRhUHJvcGVydHkKIAogVGVzdCBhcmlhQnVzeSA8IC0gPiBhcmlhLWJ1c3kKIFBBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUJ1c3kiXSA9IGRhdGE7Ci1QQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxl
bWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxl
bWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtYnVzeSIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRb
Y3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVy
dHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUNoZWNrZWQgPCAtID4gYXJpYS1j
aGVja2VkCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1l
bnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFD
aGVja2VkIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmli
dXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUp
IGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWNoZWNrZWQiLCBv
dGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQ
QVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0
IGFyaWFDb2xDb3VudCA8IC0gPiBhcmlhLWNvbGNvdW50CiBQQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1
dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFDb2xDb3VudCJdID0gZGF0YTsKLVBBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNl
dEF0dHJpYnV0ZSgiYXJpYS1jb2xjb3VudCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3Vy
cmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHld
IGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUNvbEluZGV4IDwgLSA+IGFyaWEtY29s
aW5kZXgKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUNv
bEluZGV4Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmli
dXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUp
IGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWNvbGluZGV4Iiwg
b3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQor
UEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVz
dCBhcmlhQ29sU3BhbiA8IC0gPiBhcmlhLWNvbHNwYW4KIFBBU1MgZWxlbWVudFtjdXJyZW50UHJv
cGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUNvbFNwYW4iXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRB
dHRyaWJ1dGUoImFyaWEtY29sc3BhbiIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVu
dFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlz
IG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUN1cnJlbnQgPCAtID4gYXJpYS1jdXJyZW50
CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFDdXJyZW50
Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRh
dGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWN1cnJlbnQiLCBvdGhlckRh
dGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVs
ZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFE
aXNhYmxlZCA8IC0gPiBhcmlhLWRpc2FibGVkCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IG51bGwKLWVsZW1lbnRbImFyaWFEaXNhYmxlZCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJp
YnV0ZSgiYXJpYS1kaXNhYmxlZCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90
aGVyRGF0YVByb3BlcnR5CisKK1Rlc3QgYXJpYUVycm9yTWVzc2FnZUVsZW1lbnQgPCAtID4gYXJp
YS1lcnJvcm1lc3NhZ2UKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKK1BB
U1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAorUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCitl
bGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1lcnJvcm1lc3NhZ2UiLCBvdGhlckRhdGEpOworUEFT
UyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBh
cmlhRXhwYW5kZWQgPCAtID4gYXJpYS1leHBhbmRlZAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9w
ZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRl
KSBpcyBudWxsCi1lbGVtZW50WyJhcmlhRXhwYW5kZWQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRB
dHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJl
bnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFIYXNQb3B1cCA8IC0gPiBhcmlhLWhhc3Bv
cHVwCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFIYXNQ
b3B1cCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1oYXNwb3B1cCIsIG90
aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BB
U1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3Qg
YXJpYUhpZGRlbiA8IC0gPiBhcmlhLWhpZGRlbgogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0
eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBudWxsCi1lbGVtZW50WyJhcmlhSGlkZGVuIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmli
dXRlKCJhcmlhLWhpZGRlbiIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVy
RGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUludmFsaWQgPCAtID4gYXJpYS1pbnZhbGlkCiBQQVNT
IGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFJbnZhbGlkIl0gPSBk
YXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRh
CitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRy
aWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWludmFsaWQiLCBvdGhlckRhdGEpOwot
UEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRb
Y3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFLZXlTaG9y
dGN1dHMgPCAtID4gYXJpYS1rZXlzaG9ydGN1dHMKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVy
dHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkg
aXMgbnVsbAotZWxlbWVudFsiYXJpYUtleVNob3J0Y3V0cyJdID0gZGF0YTsKLVBBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNl
dEF0dHJpYnV0ZSgiYXJpYS1rZXlzaG9ydGN1dHMiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFMYWJlbCA8IC0gPiBhcmlhLWxh
YmVsCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFMYWJl
bCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkg
aXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBk
YXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsIG90aGVyRGF0
YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUxl
dmVsIDwgLSA+IGFyaWEtbGV2ZWwKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51
bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAot
ZWxlbWVudFsiYXJpYUxldmVsIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShj
dXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlh
LWxldmVsIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90
aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVy
dHkKIAogVGVzdCBhcmlhTGl2ZSA8IC0gPiBhcmlhLWxpdmUKIFBBU1MgZWxlbWVudFtjdXJyZW50
UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJp
YnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUxpdmUiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRB
dHRyaWJ1dGUoImFyaWEtbGl2ZSIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90
aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYU1vZGFsIDwgLSA+IGFyaWEtbW9kYWwKIFBBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1
dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYU1vZGFsIl0gPSBkYXRh
OwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQ
QVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1
dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLW1vZGFsIiwgb3RoZXJEYXRhKTsKLVBBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJl
bnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhTXVsdGlMaW5lIDwg
LSA+IGFyaWEtbXVsdGlsaW5lCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxs
CiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVs
ZW1lbnRbImFyaWFNdWx0aUxpbmUiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRl
KGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFy
aWEtbXVsdGlsaW5lIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHld
IGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRh
UHJvcGVydHkKIAogVGVzdCBhcmlhTXVsdGlTZWxlY3RhYmxlIDwgLSA+IGFyaWEtbXVsdGlzZWxl
Y3RhYmxlCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1l
bnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFN
dWx0aVNlbGVjdGFibGUiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbXVs
dGlzZWxlY3RhYmxlIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHld
IGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRh
UHJvcGVydHkKIAogVGVzdCBhcmlhT3JpZW50YXRpb24gPCAtID4gYXJpYS1vcmllbnRhdGlvbgog
UEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhT3JpZW50YXRp
b24iXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUp
IGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMg
ZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtb3JpZW50YXRpb24iLCBv
dGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQ
QVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0
IGFyaWFQbGFjZWhvbGRlciA8IC0gPiBhcmlhLXBsYWNlaG9sZGVyCiBQQVNTIGVsZW1lbnRbY3Vy
cmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFQbGFjZWhvbGRlciJdID0gZGF0YTsKLVBB
U1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBl
bGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1wbGFjZWhvbGRlciIsIG90aGVyRGF0YSk7Ci1QQVNT
IGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVBvc0luU2V0IDwg
LSA+IGFyaWEtcG9zaW5zZXQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwK
IFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxl
bWVudFsiYXJpYVBvc0luU2V0Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShj
dXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlh
LXBvc2luc2V0Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlz
IG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJv
cGVydHkKIAogVGVzdCBhcmlhUHJlc3NlZCA8IC0gPiBhcmlhLXByZXNzZWQKIFBBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVByZXNzZWQiXSA9IGRhdGE7Ci1Q
QVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1Mg
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQog
ZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVs
ZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50
UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVJlYWRPbmx5IDwgLSA+
IGFyaWEtcmVhZG9ubHkKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBB
U1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVu
dFsiYXJpYVJlYWRPbmx5Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXJl
YWRvbmx5Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90
aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVy
dHkKIAogVGVzdCBhcmlhUmVsZXZhbnQgPCAtID4gYXJpYS1yZWxldmFudAogUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhUmVsZXZhbnQiXSA9IGRhdGE7Ci1Q
QVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1Mg
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQog
ZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtcmVsZXZhbnQiLCBvdGhlckRhdGEpOwotUEFTUyBl
bGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVu
dFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFSZXF1aXJlZCA8IC0g
PiBhcmlhLXJlcXVpcmVkCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQ
QVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1l
bnRbImFyaWFSZXF1aXJlZCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1y
ZXF1aXJlZCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBv
dGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3Bl
cnR5CiAKIFRlc3QgYXJpYVJvbGVEZXNjcmlwdGlvbiA8IC0gPiBhcmlhLXJvbGVkZXNjcmlwdGlv
bgogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhUm9sZURl
c2NyaXB0aW9uIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0
cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1
dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXJvbGVkZXNj
cmlwdGlvbiIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBv
dGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3Bl
cnR5CiAKIFRlc3QgYXJpYVJvd0NvdW50IDwgLSA+IGFyaWEtcm93Y291bnQKIFBBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVJvd0NvdW50Il0gPSBkYXRhOwot
UEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUK
IGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXJvd2NvdW50Iiwgb3RoZXJEYXRhKTsKLVBBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJl
bnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhUm93SW5kZXggPCAt
ID4gYXJpYS1yb3dpbmRleAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAog
UEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVt
ZW50WyJhcmlhUm93SW5kZXgiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1
cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVu
dEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEt
cm93aW5kZXgiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMg
b3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9w
ZXJ0eQogCiBUZXN0IGFyaWFSb3dTcGFuIDwgLSA+IGFyaWEtcm93c3BhbgogUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhUm93U3BhbiJdID0gZGF0YTsKLVBB
U1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBl
bGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1yb3dzcGFuIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQ
cm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhU2VsZWN0ZWQgPCAtID4g
YXJpYS1zZWxlY3RlZAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFT
UyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50
WyJhcmlhU2VsZWN0ZWQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtc2Vs
ZWN0ZWQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3Ro
ZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0
eQogCiBUZXN0IGFyaWFTZXRTaXplIDwgLSA+IGFyaWEtc2V0c2l6ZQogUEFTUyBlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhU2V0U2l6ZSJdID0gZGF0YTsKLVBBU1Mg
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVt
ZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVt
ZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1zZXRzaXplIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9w
ZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhU29ydCA8IC0gPiBhcmlhLXNv
cnQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5n
ZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVNvcnQi
XSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0
YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtc29ydCIsIG90aGVyRGF0YSk7
Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVZhbHVl
TWF4IDwgLSA+IGFyaWEtdmFsdWVtYXgKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlz
IG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVs
bAotZWxlbWVudFsiYXJpYVZhbHVlTWF4Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRl
KGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRl
KCJhcmlhLXZhbHVlbWF4Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVy
dHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJE
YXRhUHJvcGVydHkKIAogVGVzdCBhcmlhVmFsdWVNaW4gPCAtID4gYXJpYS12YWx1ZW1pbgogUEFT
UyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhVmFsdWVNaW4iXSA9
IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRh
dGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0
dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtdmFsdWVtaW4iLCBvdGhlckRhdGEp
OwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1l
bnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFWYWx1
ZU5vdyA8IC0gPiBhcmlhLXZhbHVlbm93CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51
bGwKLWVsZW1lbnRbImFyaWFWYWx1ZU5vdyJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRy
aWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0
ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0
ZSgiYXJpYS12YWx1ZW5vdyIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVy
RGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVZhbHVlVGV4dCA8IC0gPiBhcmlhLXZhbHVldGV4dAog
UEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhVmFsdWVUZXh0
Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRh
dGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXZhbHVldGV4dCIsIG90aGVy
RGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIAotUEFTUyBj
b3VudCBpcyAzOAorUEFTUyBjb3VudCBpcyA0MAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmls
aXR5L0FSSUEtcmVmbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9BUklB
LXJlZmxlY3Rpb24uaHRtbAppbmRleCAzMjNiMTg5YzRlM2U0MDFhNGZmZDU2ZDRjZmVlNDY0NzI5
YWZmOTE4Li45M2E5YjdhMTdmOWE0NGU0Y2QxMWJlY2E5NjlmMGNlNTc3NjljZWVlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L0FSSUEtcmVmbGVjdGlvbi5odG1sCisrKyBi
L0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvQVJJQS1yZWZsZWN0aW9uLmh0bWwKQEAgLTUsNyAr
NSw4IEBACiA8ZGl2IGlkPSJjb250ZW50Ij4KIAogPGRpdiBpZD0idGVzdCIgZGF0YT0ic29tZSBk
YXRhIj4KLQorICA8ZGl2IGlkPSJmaXJzdENoaWxkIj48L2Rpdj4KKyAgPGRpdiBpZD0ic2Vjb25k
Q2hpbGQiPjwvZGl2PgogPC9kaXY+CiAKIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgpAQCAtMjEs
MjIgKzIyLDQwIEBACiAgICAgdmFyIGN1cnJlbnRQcm9wZXJ0eTsKICAgICB2YXIgY3VycmVudEF0
dHJpYnV0ZTsKIAorICAgIGZ1bmN0aW9uIGlzRWxlbWVudFJlZmxlY3Rpb25Qcm9wZXJ0eShwcm9w
ZXJ0eSkgeworICAgICAgICBzd2l0Y2ggKHByb3BlcnR5KSB7CisgICAgICAgICAgICBjYXNlICJh
cmlhQWN0aXZlRGVzY2VuZGFudEVsZW1lbnQiOgorICAgICAgICAgICAgY2FzZSAiYXJpYUVycm9y
TWVzc2FnZUVsZW1lbnQiOgorICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBjb252ZXJ0UHJv
cGVydHlUb0F0dHJpYnV0ZShwcm9wZXJ0eSkgeworICAgICAgICBpZiAoaXNFbGVtZW50UmVmbGVj
dGlvblByb3BlcnR5KHByb3BlcnR5KSkKKyAgICAgICAgICBwcm9wZXJ0eSA9IHByb3BlcnR5LnJl
cGxhY2UoIkVsZW1lbnQiLCAiIik7CisgICAgICAgIHJldHVybiBwcm9wZXJ0eS5yZXBsYWNlKCJh
cmlhIiwgImFyaWEtIikudG9Mb3dlckNhc2UoKTsKKyAgICB9CisKICAgICBmdW5jdGlvbiB0ZXN0
RWxlbWVudCgpIHsKLSAgICAgICAgY3VycmVudEF0dHJpYnV0ZSA9IGN1cnJlbnRQcm9wZXJ0eS5y
ZXBsYWNlKCJhcmlhIiwgImFyaWEtIikudG9Mb3dlckNhc2UoKTsKLSAgICAgICAgCisgICAgICAg
IGN1cnJlbnRBdHRyaWJ1dGUgPSBjb252ZXJ0UHJvcGVydHlUb0F0dHJpYnV0ZShjdXJyZW50UHJv
cGVydHkpOworCiAgICAgICAgIGRlYnVnKCJcblRlc3QgIiArIGN1cnJlbnRQcm9wZXJ0eSArICIg
PCAtID4gIiArIGN1cnJlbnRBdHRyaWJ1dGUpOwogICAgICAgICBzaG91bGRCZU51bGwoImVsZW1l
bnRbY3VycmVudFByb3BlcnR5XSIpOwogICAgICAgICBzaG91bGRCZU51bGwoImVsZW1lbnQuZ2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIik7Ci0gICAgICAgIAorCiAgICAgICAgIC8vIFNl
dCB0aGUgcHJvcGVydHkgdmFsdWUKLSAgICAgICAgZGVidWcoImVsZW1lbnRbXCIiICsgY3VycmVu
dFByb3BlcnR5ICsgIlwiXSA9IGRhdGE7Iik7Ci0gICAgICAgIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSA9IGRhdGE7Ci0gICAgICAgIHNob3VsZEJlKCJlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSIsICJkYXRhIik7CisgICAgICAgIGRhdGFQcm9wZXJ0eSA9IGlzRWxlbWVu
dFJlZmxlY3Rpb25Qcm9wZXJ0eShjdXJyZW50UHJvcGVydHkpID8gZmlyc3RDaGlsZCA6IGRhdGE7
CisgICAgICAgIGRhdGFBdHRyaWJ1dGUgPSBpc0VsZW1lbnRSZWZsZWN0aW9uUHJvcGVydHkoY3Vy
cmVudFByb3BlcnR5KSA/IGZpcnN0Q2hpbGQuaWQgOiBkYXRhOworICAgICAgICBlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0gPSBkYXRhUHJvcGVydHk7CisgICAgICAgIHNob3VsZEJlKCJlbGVtZW50
LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSIsICJkYXRhQXR0cmlidXRlIik7CiAKICAg
ICAgICAgLy8gU2V0IHRoZSBhdHRyaWJ1dGUgdmFsdWUKKyAgICAgICAgb3RoZXJEYXRhUHJvcGVy
dHkgPSBpc0VsZW1lbnRSZWZsZWN0aW9uUHJvcGVydHkoY3VycmVudFByb3BlcnR5KSA/IHNlY29u
ZENoaWxkIDogb3RoZXJEYXRhOworICAgICAgICBvdGhlckRhdGFBdHRyaWJ1dGUgPSBpc0VsZW1l
bnRSZWZsZWN0aW9uUHJvcGVydHkoY3VycmVudFByb3BlcnR5KSA/IHNlY29uZENoaWxkLmlkIDog
b3RoZXJEYXRhOwogICAgICAgICBkZWJ1ZygiZWxlbWVudC5zZXRBdHRyaWJ1dGUoXCIiICsgY3Vy
cmVudEF0dHJpYnV0ZSArICJcIiwgb3RoZXJEYXRhKTsiKTsKLSAgICAgICAgZWxlbWVudC5zZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSwgb3RoZXJEYXRhKTsKLSAgICAgICAgc2hvdWxkQmUo
ImVsZW1lbnRbY3VycmVudFByb3BlcnR5XSIsICJvdGhlckRhdGEiKTsKKyAgICAgICAgZWxlbWVu
dC5zZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSwgb3RoZXJEYXRhQXR0cmlidXRlKTsKKyAg
ICAgICAgc2hvdWxkQmUoImVsZW1lbnRbY3VycmVudFByb3BlcnR5XSIsICJvdGhlckRhdGFQcm9w
ZXJ0eSIpOwogICAgIH0KIAogICAgIGZ1bmN0aW9uIHRlc3RSb2xlKCkgewpAQCAtNTksNyArNzgs
NyBAQAogICAgICAgICB9CiAKICAgICAgICAgZGVidWcoIlxuIik7Ci0gICAgICAgIHNob3VsZEJl
KCJjb3VudCIsICIzOCIpOworICAgICAgICBzaG91bGRCZSgiY291bnQiLCAiNDAiKTsKIAogICAg
IH0gZWxzZSB7CiAgICAgICAgIHRlc3RGYWlsZWQoIkNvdWxkIG5vdCBsb2FkIGFjY2Vzc2liaWxp
dHkgY29udHJvbGxlciIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0
aXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvZG9tL25vZGVzL2FyaWEtZWxlbWVudC1yZWZsZWN0aW9uLnRlbnRhdGl2ZS1leHBlY3Rl
ZC50eHQKaW5kZXggZGNhMzE4YjA5ODUzYWJiYTk3ZDVkZjc1YmYzNDNiYzE1MzU4N2FjMC4uMTY3
ODA2NDcxNjdmNDZhYTVkMGNjMTQ2M2E5M2UyMDBhMmNkZGNjMSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVt
ZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVm
bGVjdGlvbi50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CkBAIC05LDEwICs5LDcgQEAgRmlyc3QgZGVz
Y3JpcHRpb24uCiBTZWNvbmQgZGVzY3JpcHRpb24uCiBJdGVtIDEKIEl0ZW0gMgotSXRlbSAxCi1J
dGVtIDIKIEhlbGxvIHdvcmxkIQotSSBhbSBhbiBhcHBsZQogSSBhbSBhIHBlYXIKIEkgYW0gYSBi
YW5hbmEKIEJpbGxpbmcKQEAgLTQ3LDE3ICs0NCwxNyBAQCBXb25kZXJmdWwKIEZhbnRhc3RpYwog
CiAKLUZBSUwgYXJpYS1hY3RpdmVkZXNjZW5kYW50IGVsZW1lbnQgcmVmbGVjdGlvbiBhc3NlcnRf
ZXF1YWxzOiBpbnZhbGlkIElEIGZvciByZWxhdGlvbnNoaXAgcmV0dXJucyBudWxsIGV4cGVjdGVk
IChvYmplY3QpIG51bGwgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgSWYgdGhl
IGNvbnRlbnQgYXR0cmlidXRlIGlzIHNldCBkaXJlY3RseSwgdGhlIElETCBhdHRyaWJ1dGUgZ2V0
dGVyIGFsd2F5cyByZXR1cm5zIHRoZSBmaXJzdCBlbGVtZW50IHdob3NlIElEIG1hdGNoZXMgdGhl
IGNvbnRlbnQgYXR0cmlidXRlLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAob2JqZWN0KSBFbGVt
ZW50IG5vZGUgPGRpdiByb2xlPSJvcHRpb24iIGlkPSJvcHRpb24xIj5JdGVtIDE8L2Rpdj4gYnV0
IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgU2V0dGluZyB0aGUgSURMIGF0dHJpYnV0
ZSB0byBhbiBlbGVtZW50IHdoaWNoIGlzIG5vdCB0aGUgZmlyc3QgZWxlbWVudCBpbiBET00gb3Jk
ZXIgd2l0aCBpdHMgSUQgY2F1c2VzIHRoZSBjb250ZW50IGF0dHJpYnV0ZSB0byBiZSBhbiBlbXB0
eSBzdHJpbmcgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFNldHRp
bmcgYW4gZWxlbWVudCByZWZlcmVuY2UgdGhhdCBjcm9zc2VzIGludG8gYSBzaGFkb3cgdHJlZSBp
cyBkaXNhbGxvd2VkLCBidXQgc2V0dGluZyBvbmUgdGhhdCBpcyBpbiBhIHNoYWRvdyBpbmNsdXNp
dmUgYW5jZXN0b3IgaXMgYWxsb3dlZC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKG9iamVjdCkg
bnVsbCBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJTCBhcmlhLWVycm9ybWVzc2Fn
ZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAiZXJyb3JNZXNzYWdlIiBidXQgZ290
IChvYmplY3QpIG51bGwKK1BBU1MgYXJpYS1hY3RpdmVkZXNjZW5kYW50IGVsZW1lbnQgcmVmbGVj
dGlvbgorUEFTUyBJZiB0aGUgY29udGVudCBhdHRyaWJ1dGUgaXMgc2V0IGRpcmVjdGx5LCB0aGUg
SURMIGF0dHJpYnV0ZSBnZXR0ZXIgYWx3YXlzIHJldHVybnMgdGhlIGZpcnN0IGVsZW1lbnQgd2hv
c2UgSUQgbWF0Y2hlcyB0aGUgY29udGVudCBhdHRyaWJ1dGUuCitQQVNTIFNldHRpbmcgdGhlIElE
TCBhdHRyaWJ1dGUgdG8gYW4gZWxlbWVudCB3aGljaCBpcyBub3QgdGhlIGZpcnN0IGVsZW1lbnQg
aW4gRE9NIG9yZGVyIHdpdGggaXRzIElEIGNhdXNlcyB0aGUgY29udGVudCBhdHRyaWJ1dGUgdG8g
YmUgYW4gZW1wdHkgc3RyaW5nCitQQVNTIFNldHRpbmcgYW4gZWxlbWVudCByZWZlcmVuY2UgdGhh
dCBjcm9zc2VzIGludG8gYSBzaGFkb3cgdHJlZSBpcyBkaXNhbGxvd2VkLCBidXQgc2V0dGluZyBv
bmUgdGhhdCBpcyBpbiBhIHNoYWRvdyBpbmNsdXNpdmUgYW5jZXN0b3IgaXMgYWxsb3dlZC4KK1BB
U1MgYXJpYS1lcnJvcm1lc3NhZ2UKIEZBSUwgYXJpYS1kZXRhaWxzIGFzc2VydF9hcnJheV9lcXVh
bHM6IHZhbHVlIGlzIHVuZGVmaW5lZCwgZXhwZWN0ZWQgYXJyYXkKLUZBSUwgRGVsZXRpbmcgYSBy
ZWZsZWN0ZWQgZWxlbWVudCBzaG91bGQgcmV0dXJuIG51bGwgZm9yIHRoZSBJREwgYXR0cmlidXRl
IGFuZCBjYXVzZSB0aGUgY29udGVudCBhdHRyaWJ1dGUgdG8gYmVjb21lIHN0YWxlLiBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAob2JqZWN0KSBFbGVtZW50IG5vZGUgPGRpdiByb2xlPSJvcHRpb24i
IGlkPSJjb250ZW50QXR0ckVsZW1lbnQiPkl0ZW0gMTwvZGl2PiBidXQgZ290ICh1bmRlZmluZWQp
IHVuZGVmaW5lZAotRkFJTCBDaGFuZ2luZyB0aGUgSUQgb2YgYW4gZWxlbWVudCBjYXVzZXMgdGhl
IGNvbnRlbnQgYXR0cmlidXRlIHRvIGJlY29tZSBvdXQgb2Ygc3luYy4gYXNzZXJ0X2VxdWFsczog
ZXhwZWN0ZWQgKG9iamVjdCkgRWxlbWVudCBub2RlIDxkaXYgcm9sZT0ib3B0aW9uIiBpZD0iY2hh
bmdpbmdJZEVsZW1lbnQiPkl0ZW0gMTwvZGl2PiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5l
ZAotRkFJTCBSZXBhcmVudGluZyBhbiBlbGVtZW50IGludG8gYSBkZXNjZW5kYW50IHNoYWRvdyBz
Y29wZSBoaWRlcyB0aGUgZWxlbWVudCByZWZlcmVuY2UuIGFzc2VydF9lcXVhbHM6IG51bGwgYmVm
b3JlIGV4cGVjdGVkIChvYmplY3QpIG51bGwgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQK
LUZBSUwgUmVwYXJlbnRpbmcgcmVmZXJlbmNlZCBlbGVtZW50IGNhbm5vdCBjYXVzZSByZXRhcmdl
dGluZyBvZiByZWZlcmVuY2UuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICJhcHBs
ZSIgYnV0IGdvdCAob2JqZWN0KSBudWxsCi1GQUlMIEVsZW1lbnQgcmVmZXJlbmNlIHNldCBpbiBp
bnZhbGlkIHNjb3BlIHJlbWFpbnMgaW50YWN0IHRocm91Z2hvdXQgbW92ZSB0byB2YWxpZCBzY29w
ZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgbnVsbCBidXQgZ290IEVsZW1lbnQgbm9kZSA8ZGl2
IGlkPSJ0b2FzdCI+PC9kaXY+CitQQVNTIERlbGV0aW5nIGEgcmVmbGVjdGVkIGVsZW1lbnQgc2hv
dWxkIHJldHVybiBudWxsIGZvciB0aGUgSURMIGF0dHJpYnV0ZSBhbmQgY2F1c2UgdGhlIGNvbnRl
bnQgYXR0cmlidXRlIHRvIGJlY29tZSBzdGFsZS4KK1BBU1MgQ2hhbmdpbmcgdGhlIElEIG9mIGFu
IGVsZW1lbnQgY2F1c2VzIHRoZSBjb250ZW50IGF0dHJpYnV0ZSB0byBiZWNvbWUgb3V0IG9mIHN5
bmMuCitQQVNTIFJlcGFyZW50aW5nIGFuIGVsZW1lbnQgaW50byBhIGRlc2NlbmRhbnQgc2hhZG93
IHNjb3BlIGhpZGVzIHRoZSBlbGVtZW50IHJlZmVyZW5jZS4KK1BBU1MgUmVwYXJlbnRpbmcgcmVm
ZXJlbmNlZCBlbGVtZW50IGNhbm5vdCBjYXVzZSByZXRhcmdldGluZyBvZiByZWZlcmVuY2UuCitQ
QVNTIEVsZW1lbnQgcmVmZXJlbmNlIHNldCBpbiBpbnZhbGlkIHNjb3BlIHJlbWFpbnMgaW50YWN0
IHRocm91Z2hvdXQgbW92ZSB0byB2YWxpZCBzY29wZS4KIEZBSUwgYXJpYS1sYWJlbGxlZGJ5LiBh
c3NlcnRfYXJyYXlfZXF1YWxzOiBwYXJzZWQgY29udGVudCBhdHRyaWJ1dGUgc2V0cyBlbGVtZW50
IHJlZmVyZW5jZXMuIHZhbHVlIGlzIHVuZGVmaW5lZCwgZXhwZWN0ZWQgYXJyYXkKIEZBSUwgYXJp
YS1jb250cm9scy4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgdW5kZWZpbmVkLCBleHBl
Y3RlZCBhcnJheQogRkFJTCBhcmlhLWRlc2NyaWJlZGJ5LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2
YWx1ZSBpcyB1bmRlZmluZWQsIGV4cGVjdGVkIGFycmF5CkBAIC02Nyw2ICs2NCw3IEBAIEZBSUwg
c2hhZG93IERPTSBiZWhhdmlvdXIgZm9yIEZyb3plbkFycmF5IGVsZW1lbnQgcmVmbGVjdGlvbi4g
YXNzZXJ0X2FycmF5X2VxdWFsCiBGQUlMIE1vdmluZyBleHBsaWNpdGx5IHNldCBlbGVtZW50cyBh
Y3Jvc3Mgc2hhZG93IERPTSBib3VuZGFyaWVzLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3Ry
aW5nKSAiYnV0dG9uRGVzY3JpcHRpb24xIGJ1dHRvbkRlc2NyaXB0aW9uMiIgYnV0IGdvdCAob2Jq
ZWN0KSBudWxsCiBGQUlMIE1vdmluZyBleHBsaWNpdGx5IHNldCBlbGVtZW50cyBhcm91bmQgd2l0
aGluIHRoZSBzYW1lIHNjb3BlLCBhbmQgcmVtb3ZpbmcgZnJvbSB0aGUgRE9NLiBhc3NlcnRfYXJy
YXlfZXF1YWxzOiBhcmlhLWxhYmVsZWQgYnkgaXMgc3VwcG9ydGVkIGJ5IElETCBnZXR0ZXIuIHZh
bHVlIGlzIHVuZGVmaW5lZCwgZXhwZWN0ZWQgYXJyYXkKIFBBU1MgUmVwYXJlbnRpbmcuCi1GQUlM
IEF0dGFjaGluZyBlbGVtZW50IHJlZmVyZW5jZSBiZWZvcmUgaXQncyBpbnNlcnRlZCBpbnRvIHRo
ZSBET00uIGFzc2VydF9lcXVhbHM6IFJlZmVyZW5jZWQgZWxlbWVudCBub3QgaW5zZXJ0ZWQgaW50
byBkb2N1bWVudCwgc28gaXMgaW4gYW4gaW52YWxpZCBzY29wZS4gZXhwZWN0ZWQgbnVsbCBidXQg
Z290IEVsZW1lbnQgbm9kZSA8c3BhbiBpZD0idG9TcGFuIj48L3NwYW4+Ci1GQUlMIENyb3NzLWRv
Y3VtZW50IHJlZmVyZW5jZXMgYW5kIG1vdmVzLiBhc3NlcnRfZXF1YWxzOiBDcm9zcy1kb2N1bWVu
dCBpcyBhbiBpbnZhbGlkIHNjb3BlLCBzbyByZWZlcmVuY2Ugd2lsbCBub3QgYmUgdmlzaWJsZS4g
ZXhwZWN0ZWQgbnVsbCBidXQgZ290IEVsZW1lbnQgbm9kZSA8c3Bhbj48L3NwYW4+CitQQVNTIEF0
dGFjaGluZyBlbGVtZW50IHJlZmVyZW5jZSBiZWZvcmUgaXQncyBpbnNlcnRlZCBpbnRvIHRoZSBE
T00uCitQQVNTIENyb3NzLWRvY3VtZW50IHJlZmVyZW5jZXMgYW5kIG1vdmVzLgorUEFTUyBBZG9w
dGluZyBlbGVtZW50IGtlZXBzIHJlZmVyZW5jZXMuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL2FyaWEtZWxlbWVudC1y
ZWZsZWN0aW9uLnRlbnRhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZl
Lmh0bWwKaW5kZXggNzc2ZmZmMzE0MzIyYjkwMDRlMWU2NzgzYzYyNmMwMzU2Y2E4ZjBhNy4uZjc0
OGRlMWVjMWY5NTlmZjhlMzQ1ZDNhOWI1M2EwMGQzNzM3MDE4NSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVt
ZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24u
dGVudGF0aXZlLmh0bWwKQEAgLTE2NCw2ICsxNjQsNyBAQAogICA8c2NyaXB0PgogCiAgIHRlc3Qo
ZnVuY3Rpb24odCkgeworICAgIGNvbnN0IGNvbnRlbnRBdHRyRWxlbWVudCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250ZW50QXR0ckVsZW1lbnQiKTsKICAgICBjb25zdCBpZGxBdHRyRWxl
bWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZGxBdHRyRWxlbWVudCIpOwogCiAgICAg
YXNzZXJ0X2VxdWFscyhkZWxldGlvblBhcmVudC5nZXRBdHRyaWJ1dGUoImFyaWEtYWN0aXZlZGVz
Y2VuZGFudCIpLCAiY29udGVudEF0dHJFbGVtZW50Iik7CkBAIC03MDcsNiArNzA4LDI0IEBACiAg
ICAgfSwgIkNyb3NzLWRvY3VtZW50IHJlZmVyZW5jZXMgYW5kIG1vdmVzLiIpOwogICA8L3Njcmlw
dD4KIAorCisgIDxzY3JpcHQ+CisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICBjb25zdCBv
dGhlckRvYyA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgnb3Ro
ZXJEb2MnKTsKKyAgICAgIGNvbnN0IG90aGVyRG9jRGl2ID0gb3RoZXJEb2MuY3JlYXRlRWxlbWVu
dCgnZGl2Jyk7CisgICAgICBjb25zdCBvdGhlckRvY1NwYW4gPSBvdGhlckRvYy5jcmVhdGVFbGVt
ZW50KCdzcGFuJyk7CisgICAgICBvdGhlckRvY0Rpdi5hcHBlbmRDaGlsZChvdGhlckRvY1NwYW4p
OworICAgICAgb3RoZXJEb2MuYm9keS5hcHBlbmRDaGlsZChvdGhlckRvY0Rpdik7CisKKyAgICAg
IG90aGVyRG9jRGl2LmFyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCA9IG90aGVyRG9jU3BhbjsK
KyAgICAgIGFzc2VydF9lcXVhbHMob3RoZXJEb2NEaXYuYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVt
ZW50LCBvdGhlckRvY1NwYW4sICJTZXR0aW5nIHJlZmVyZW5jZSBvbiBhIGRpZmZlcmVudCBkb2N1
bWVudC4iKTsKKworICAgICAgLy8gQWRvcHQgZWxlbWVudCBmcm9tIG90aGVyIG9kdWNtZW50Lgor
ICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5hZG9wdE5vZGUob3RoZXJE
b2NEaXYpKTsKKyAgICAgIGFzc2VydF9lcXVhbHMob3RoZXJEb2NEaXYuYXJpYUFjdGl2ZURlc2Nl
bmRhbnRFbGVtZW50LCBvdGhlckRvY1NwYW4sICJSZWZlcmVuY2Ugc2hvdWxkIGJlIGtlcHQgb24g
dGhlIG5ldyBkb2N1bWVudCB0b28uIik7CisgICAgfSwgIkFkb3B0aW5nIGVsZW1lbnQga2VlcHMg
cmVmZXJlbmNlcy4iKTsKKyAgPC9zY3JpcHQ+CisKICAgPCEtLSBUT0RPKGNocmlzaGFsbCk6IGFk
ZCBhZGRpdGlvbmFsIEdDIHRlc3QgY292ZXJpbmc6CiAgICAgICAgaWYgYW4gZWxlbWVudCBpcyBp
biBhbiBpbnZhbGlkIHNjb3BlIGJ1dCBhdHRhY2hlZCB0byB0aGUgZG9jdW1lbnQsIGl0J3MKICAg
ICAgICBub3QgR0MnZDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458872</attachid>
            <date>2022-05-05 07:34:06 -0700</date>
            <delta_ts>2022-05-05 12:38:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239852-20220505163404.patch</filename>
            <type>text/plain</type>
            <size>51456</size>
            <attacher name="Manuel Rego Casasnovas">rego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNzk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDdkMTI5YzM1OTE5ODAzYmM1NDgxNDZi
ODc1MjY0MWE3NzQ0MWJjZDUuLjBkYmIyZmE0MWU5MTNjNzQ3YzQ4ZThjY2E4OTM2NTU2OTE5Mjk4
NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjItMDUtMDQgIE1hbnVlbCBSZWdvIENhc2Fzbm92
YXMgIDxyZWdvQGlnYWxpYS5jb20+CisKKyAgICAgICAgQVJJQSByZWZsZWN0aW9uIGZvciBFbGVt
ZW50IGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzOTg1MgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAg
ICAgIEFkZCBuZXcgcnVudGltZSBmbGFnIEFyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5j
ZXNFbmFibGVkLgorCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNl
c0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIyLTA1LTA0ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdo
YW1AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBkZXByZWNhdGVkICdKYXZhRW5hYmxlZCcg
ZmVhdHVyZSBmbGFnIGFuZCByZWxhdGVkIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2NTk1NTAyZDhjZmNm
NWI4ZTI1MzgzOGE4NjQ1MDAzYzliYzU5MWE3Li5kMzNjZTYxZjEwOGYwNmUxZThjMzMzNDRjMjY2
YTA3NzFmY2NhNTE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjMgQEAKKzIwMjItMDUtMDQgIE1h
bnVlbCBSZWdvIENhc2Fzbm92YXMgIDxyZWdvQGlnYWxpYS5jb20+CisKKyAgICAgICAgQVJJQSBy
ZWZsZWN0aW9uIGZvciBFbGVtZW50IGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTg1MgorCisgICAgICAgIFJldmlld2VkIGJ5IENo
cmlzIER1bWV6LgorCisgICAgICAgIEltcGxlbWVudCBBUklBIHJlZmxlY3Rpb24gZm9yIGF0dHJp
YnV0ZXMgdGhhdCByZWZlciB0byBhIHNpbmdsZSBFbGVtZW50OgorICAgICAgICBhcmlhLWFjdGl2
ZWRlc2NlbmRhbnQgJiBhcmlhLWVycm9ybWVzc2FnZS4KKyAgICAgICAgRm9yIHRoZSBwcm9wZXJ0
aWVzIG5hbWVzIHRoaXMgcGF0Y2ggdXNlcyAiRWxlbWVudCIgc3VmZml4OgorICAgICAgICBhcmlh
QWN0aXZlRGVzY2VuZGFudEVsZW1lbnQgJiBhcmlhRXJyb3JNZXNzYWdlRWxlbWVudDsKKyAgICAg
ICAgdGhpcyBtYXRjaGVzIENocm9taXVtIGltcGxlbWVudGF0aW9uIGFuZCBBT00gZXhwbGFpbmVy
LCBidXQgbm90IEFPTSBzcGVjOgorICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vdzNjL2FyaWEv
aXNzdWVzLzE3MzIKKworICAgICAgICBUaGlzIGltcGxlbWVudGF0aW9uIGlzIGRvbmUgZm9sbG93
aW5nIHRoZSBwcm9wb3NlZCBzcGVjIHRleHQgZGVmaW5lZCBhdDoKKyAgICAgICAgaHR0cHM6Ly9n
aXRodWIuY29tL3doYXR3Zy9odG1sL3B1bGwvMzkxNworCisgICAgICAgICogYWNjZXNzaWJpbGl0
eS9BcmlhQXR0cmlidXRlcy5pZGw6IEFkZCBhcmlhQWN0aXZlRGVzY2VuZGFudEVsZW1lbnQgJgor
ICAgICAgICBhcmlhRXJyb3JNZXNzYWdlRWxlbWVudC4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3IucG06CisgICAgICAgIChHZXR0ZXJFeHByZXNzaW9uKTogQWRkIGZ1
bmN0aW9uIGZvciBFbGVtZW50IGF0dHJpYnV0ZXMuCisgICAgICAgIChTZXR0ZXJFeHByZXNzaW9u
KTogRGl0dG8uCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5j
cHA6IEFkZCB0ZXN0cyBmb3IgZWxlbWVudAorICAgICAgICBhdHRyaWJ1dGUgcmVmbGVjdGlvbi4K
KyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE9iakRPTUNvbnN0cnVjdG9yOjpjb25zdHJ1Y3QpOgor
ICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRyR2V0dGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OkpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUik6CisgICAgICAgIChX
ZWJDb3JlOjpzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0dHJTZXR0ZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKToKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGw6IEFkZCByZWZsZWN0ZWRFbGVtZW50QXR0cgorICAg
ICAgICBhdHRyaWJ1dGUuCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6aXNFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0ZSk6IFV0aWxpdHkgZnVuY3Rpb24gdG8g
aWRlbnRpZnkKKyAgICAgICAgRWxlbWVudCByZWZsZWN0aW9uIGF0dHJpYnV0ZXMuCisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKTogSWYgYW4gZWxlbWVudCByZWZs
ZWN0aW9uCisgICAgICAgIGF0dHJpYnV0ZSBoYXMgY2hhbmdlZCB3ZSBuZWVkIHRvIHN5bmNocm9u
aXplIHRoZSBtYXAgZW50cnkgYnkgcmVtb3ZpbmcKKyAgICAgICAgaXQgYXMgaXQnbGwgYmUgcHJv
cGVybHkgdXBkYXRlZCBpbiBzZXRFbGVtZW50QXR0cmlidXRlKCkgd2hlbiBuZWVkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpFbGVtZW50OjplbnN1cmVFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFw
KTogS2luZCBvZiBnZXR0ZXIKKyAgICAgICAgZm9yIHRoZSBFeHBsaWNpdGx5U2V0QXR0ckVsZW1l
bnRzTWFwIGJ1dCB0aGF0IGNyZWF0ZXMgdGhlIG1hcCBpZiBpdAorICAgICAgICBkb2Vzbid0IGV4
aXN0IHlldC4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmV4cGxpY2l0bHlTZXRBdHRyRWxl
bWVudHNNYXAgY29uc3QpOiBHZXR0ZXIgZm9yIHRoZQorICAgICAgICBtYXAuCisgICAgICAgIChX
ZWJDb3JlOjpFbGVtZW50OjpnZXRFbGVtZW50QXR0cmlidXRlIGNvbnN0KTogSW1wbGVtZW50IGdl
dHRlciBmb3IKKyAgICAgICAgZWxlbWVudCBhdHRyaWJ1dGUuCisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50OjpzZXRFbGVtZW50QXR0cmlidXRlKTogSW1wbGVtZW50IHNldHRlciBmb3IKKyAgICAg
ICAgZWxlbWVudCBhdHRyaWJ1dGUuCisgICAgICAgICogZG9tL0VsZW1lbnQuaDogQWRkIG5ldyBt
ZXRob2QgaGVhZGVycyBhbmQgZGVmaW5lcyB0aGUKKyAgICAgICAgRXhwbGljaXRseVNldEF0dHJF
bGVtZW50c01hcCwgd2hpY2ggc28gZmFyIG9ubHkgc3RvcmVzIG9uZSBFbGVtZW50IGluCisgICAg
ICAgIHRoZSBWZWN0b3IsIGJ1dCB1c2VzIGEgVmVjdG9yIGluIHByZXBhcmF0aW9uIGZvciBzdXBw
b3J0aW5nCisgICAgICAgIEZyb3plbkFycmF5PEVsZW1lbnQ+IHJlZmxlY3Rpb24gaW4gdGhlIGZ1
dHVyZS4KKyAgICAgICAgKiBkb20vRWxlbWVudFJhcmVEYXRhLmNwcDogVXBkYXRlIHNpemUgb2Yg
U2FtZVNpemVBc0VsZW1lbnRSYXJlRGF0YSB0bworICAgICAgICBpbmNsdWRlIHRoZSBuZXcgcG9p
bnRlci4KKyAgICAgICAgKiBkb20vRWxlbWVudFJhcmVEYXRhLmg6IEFkZCBtX2V4cGxpY2l0bHlT
ZXRBdHRyRWxlbWVudHNNYXAgYXR0cmlidXRlLgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudFJh
cmVEYXRhOjpleHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKTogR2V0dGVyLgorICAgICAgICAo
V2ViQ29yZTo6RWxlbWVudFJhcmVEYXRhOjp1c2VUeXBlcyBjb25zdCk6SW5jbHVkZQorICAgICAg
ICBFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwLgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnN0cmluZ0ZvclJhcmVEYXRhVXNlVHlwZSk6IEFkZCBFeHBsaWNp
dGx5U2V0QXR0ckVsZW1lbnRzTWFwLgorICAgICAgICAqIGRvbS9Ob2RlUmFyZURhdGEuaDogRGl0
dG8uCisKIDIwMjItMDUtMDQgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CiAK
ICAgICAgICAgW01hY10gV2ViQ29yZSBzaG91bGQgc2VhcmNoIHN5c3RlbSBjb250ZW50IHBhdGgg
Zm9yIG5lc3RlZCBGcmFtZXdvcmtzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJl
ZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbCBiL1NvdXJjZS9XVEYvU2Ny
aXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sCmluZGV4IGRm
OGY4MTIyMTk4NzRhOGNjMTU1OGI0YTFmODhiOTVkMTIyYTg2MzUuLmZkMzA2ZmIyOTEyZTEzMDU5
ODRhZjhjZWUxMjkwNmE2ODdjZTJjYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sCisrKyBiL1NvdXJjZS9X
VEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sCkBA
IC02Niw2ICs2NiwxOCBAQCBBY2Nlc3NpYmlsaXR5T2JqZWN0TW9kZWxFbmFibGVkOgogICAgIFdl
YktpdDoKICAgICAgIGRlZmF1bHQ6IGZhbHNlCiAKK0FyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJl
ZmVyZW5jZXNFbmFibGVkOgorICB0eXBlOiBib29sCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiQVJJ
QSBSZWZsZWN0aW9uIGZvciBFbGVtZW50IFJlZmVyZW5jZXMiCisgIGh1bWFuUmVhZGFibGVEZXNj
cmlwdGlvbjogIkVuYWJsZSBBUklBIHJlZmxlY3Rpb24gZm9yIGF0dHJpYnV0ZXMgdGhhdCByZWZl
ciB0byBlbGVtZW50cyIKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdlYktpdExlZ2FjeToKKyAgICAg
IGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogZmFsc2UKKyAgICBX
ZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogQXNwZWN0UmF0aW9FbmFibGVkOgogICB0
eXBlOiBib29sCiAgIGh1bWFuUmVhZGFibGVOYW1lOiAiQ1NTIEFzcGVjdCBSYXRpbyIKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQXJpYUF0dHJpYnV0ZXMuaWRsIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BcmlhQXR0cmlidXRlcy5pZGwKaW5kZXggNWJl
NWU0NmY4YzU5NmFjNDY4MzNmZGMxMjRmYTBlNzAzMTM4ZTM4NS4uNGM2NjBiYTE4MDIxOWFhM2Zj
YmI2NjI4NGY1MzA4MDljNGY3Y2JhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9BcmlhQXR0cmlidXRlcy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9BcmlhQXR0cmlidXRlcy5pZGwKQEAgLTI1LDYgKzI1LDcgQEAKIAogLy8gaHR0cHM6Ly93
aWNnLmdpdGh1Yi5pby9hb20vc3BlYy9hcmlhLXJlZmxlY3Rpb24uaHRtbCNBcmlhQXR0cmlidXRl
cwogaW50ZXJmYWNlIG1peGluIEFyaWFBdHRyaWJ1dGVzIHsKKyAgICBbUmVmbGVjdD1hcmlhX2Fj
dGl2ZWRlc2NlbmRhbnQsIEVuYWJsZWRCeVNldHRpbmc9QXJpYVJlZmxlY3Rpb25Gb3JFbGVtZW50
UmVmZXJlbmNlc0VuYWJsZWRdIGF0dHJpYnV0ZSBFbGVtZW50PyBhcmlhQWN0aXZlRGVzY2VuZGFu
dEVsZW1lbnQ7CiAgICAgW1JlZmxlY3Q9YXJpYV9hdG9taWNdICAgICAgICAgICBhdHRyaWJ1dGUg
W0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUF0b21pYzsKICAgICBbUmVmbGVjdD1hcmlhX2F1
dG9jb21wbGV0ZV0gICAgIGF0dHJpYnV0ZSBbQXRvbVN0cmluZ10gRE9NU3RyaW5nPyBhcmlhQXV0
b0NvbXBsZXRlOwogICAgIFtSZWZsZWN0PWFyaWFfYnVzeV0gICAgICAgICAgICAgYXR0cmlidXRl
IFtBdG9tU3RyaW5nXSBET01TdHJpbmc/IGFyaWFCdXN5OwpAQCAtMzQsNiArMzUsNyBAQCBpbnRl
cmZhY2UgbWl4aW4gQXJpYUF0dHJpYnV0ZXMgewogICAgIFtSZWZsZWN0PWFyaWFfY29sc3Bhbl0g
ICAgICAgICAgYXR0cmlidXRlIFtBdG9tU3RyaW5nXSBET01TdHJpbmc/IGFyaWFDb2xTcGFuOwog
ICAgIFtSZWZsZWN0PWFyaWFfY3VycmVudF0gICAgICAgICAgYXR0cmlidXRlIFtBdG9tU3RyaW5n
XSBET01TdHJpbmc/IGFyaWFDdXJyZW50OwogICAgIFtSZWZsZWN0PWFyaWFfZGlzYWJsZWRdICAg
ICAgICAgYXR0cmlidXRlIFtBdG9tU3RyaW5nXSBET01TdHJpbmc/IGFyaWFEaXNhYmxlZDsKKyAg
ICBbUmVmbGVjdD1hcmlhX2Vycm9ybWVzc2FnZSwgRW5hYmxlZEJ5U2V0dGluZz1BcmlhUmVmbGVj
dGlvbkZvckVsZW1lbnRSZWZlcmVuY2VzRW5hYmxlZF0gYXR0cmlidXRlIEVsZW1lbnQ/IGFyaWFF
cnJvck1lc3NhZ2VFbGVtZW50OwogICAgIFtSZWZsZWN0PWFyaWFfZXhwYW5kZWRdICAgICAgICAg
YXR0cmlidXRlIFtBdG9tU3RyaW5nXSBET01TdHJpbmc/IGFyaWFFeHBhbmRlZDsKICAgICBbUmVm
bGVjdD1hcmlhX2hhc3BvcHVwXSAgICAgICAgIGF0dHJpYnV0ZSBbQXRvbVN0cmluZ10gRE9NU3Ry
aW5nPyBhcmlhSGFzUG9wdXA7CiAgICAgW1JlZmxlY3Q9YXJpYV9oaWRkZW5dICAgICAgICAgICBh
dHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUhpZGRlbjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbSBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQppbmRleCA3MWIzNmJj
ZTU1M2NjMWU0ZGYzOTk2ZDJiZDRhMjhhZWQwN2EyYzkyLi5iOGQ3YTRmMGJiZmY5ZDgxZTQ1MWZh
NTI1NWY0ZDMwNmM3NmNjNmViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9yLnBtCkBAIC0xMTA4LDYgKzExMDgsOCBAQCBzdWIgR2V0dGVyRXhw
cmVzc2lvbgogICAgICAgICAkZnVuY3Rpb25OYW1lID0gImdldEludGVncmFsQXR0cmlidXRlIjsK
ICAgICB9IGVsc2lmICgkYXR0cmlidXRlVHlwZS0+bmFtZSBlcSAidW5zaWduZWQgbG9uZyIpIHsK
ICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICJnZXRVbnNpZ25lZEludGVncmFsQXR0cmlidXRlIjsK
KyAgICB9IGVsc2lmICgkYXR0cmlidXRlVHlwZS0+bmFtZSBlcSAiRWxlbWVudCIpIHsKKyAgICAg
ICAgJGZ1bmN0aW9uTmFtZSA9ICJnZXRFbGVtZW50QXR0cmlidXRlIjsKICAgICB9IGVsc2Ugewog
ICAgICAgICBpZiAoJGNvbnRlbnRBdHRyaWJ1dGVOYW1lIGVxICJXZWJDb3JlOjpIVE1MTmFtZXM6
OmlkQXR0ciIpIHsKICAgICAgICAgICAgICRmdW5jdGlvbk5hbWUgPSAiZ2V0SWRBdHRyaWJ1dGUi
OwpAQCAtMTE0NSw2ICsxMTQ3LDggQEAgc3ViIFNldHRlckV4cHJlc3Npb24KICAgICAgICAgJGZ1
bmN0aW9uTmFtZSA9ICJzZXRJbnRlZ3JhbEF0dHJpYnV0ZSI7CiAgICAgfSBlbHNpZiAoJGF0dHJp
YnV0ZVR5cGUtPm5hbWUgZXEgInVuc2lnbmVkIGxvbmciKSB7CiAgICAgICAgICRmdW5jdGlvbk5h
bWUgPSAic2V0VW5zaWduZWRJbnRlZ3JhbEF0dHJpYnV0ZSI7CisgICAgfSBlbHNpZiAoJGF0dHJp
YnV0ZVR5cGUtPm5hbWUgZXEgIkVsZW1lbnQiKSB7CisgICAgICAgICRmdW5jdGlvbk5hbWUgPSAi
c2V0RWxlbWVudEF0dHJpYnV0ZSI7CiAgICAgfSBlbHNpZiAoJGdlbmVyYXRvci0+SXNTVkdBbmlt
YXRlZFR5cGUoJGF0dHJpYnV0ZVR5cGUpKSB7CiAgICAgICAgICRmdW5jdGlvbk5hbWUgPSAic2V0
QXR0cmlidXRlIjsKICAgICB9IGVsc2UgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcAppbmRleCBmMzQzMjZjNGJjMzU4OGM0
NWJmOWU4MGQ3ZDU5NDJjNzU3ODRhOTFmLi41MWNiOGYzZDhjMzk4YjZiMDJmZmJkOWMxNDNhY2Nj
OGQ4YWIxYjFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0T2JqLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0T2JqLmNwcApAQCAtMTgwMyw2ICsxODAzLDggQEAgc3RhdGljIEpTQ19E
RUNMQVJFX0NVU1RPTV9HRVRURVIoanNUZXN0T2JqX3JlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxB
dHRyKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9yZWZs
ZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0cik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dF
VFRFUihqc1Rlc3RPYmpfcmVmbGVjdGVkQm9vbGVhbkF0dHIpOwogc3RhdGljIEpTQ19ERUNMQVJF
X0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3JlZmxlY3RlZEJvb2xlYW5BdHRyKTsKK3N0YXRp
YyBKU0NfREVDTEFSRV9DVVNUT01fR0VUVEVSKGpzVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0
cik7CitzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVj
dGVkRWxlbWVudEF0dHIpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNUZXN0
T2JqX3JlZmxlY3RlZFVSTEF0dHIpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIo
c2V0SlNUZXN0T2JqX3JlZmxlY3RlZFVSTEF0dHIpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RP
TV9HRVRURVIoanNUZXN0T2JqX3JlZmxlY3RlZFVTVlVSTEF0dHIpOwpAQCAtMjE3NSw2ICsyMTc3
LDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdE9ialByb3RvdHlwZVRhYmxl
VmFsdWVzW10gPQogICAgIHsgInJlZmxlY3RlZEludGVncmFsQXR0ciIsIHN0YXRpY19jYXN0PHVu
c2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClz
dGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqX3JlZmxlY3Rl
ZEludGVncmFsQXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQ
dXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9ial9yZWZsZWN0ZWRJbnRlZ3JhbEF0dHIpIH0gfSwKICAg
ICB7ICJyZWZsZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0ciIsIHN0YXRpY19jYXN0PHVuc2lnbmVk
PihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNf
Y2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqX3JlZmxlY3RlZFVuc2ln
bmVkSW50ZWdyYWxBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6
OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3JlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRy
KSB9IH0sCiAgICAgeyAicmVmbGVjdGVkQm9vbGVhbkF0dHIiLCBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpET01BdHRyaWJ1dGUpLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGlj
X2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ial9yZWZsZWN0ZWRCb29s
ZWFuQXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1
ZUZ1bmM+KHNldEpTVGVzdE9ial9yZWZsZWN0ZWRCb29sZWFuQXR0cikgfSB9LAorICAgIHsgInJl
ZmxlY3RlZEVsZW1lbnRBdHRyIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RE9NQXR0
cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xv
dDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0dHIpLCAoaW50cHRy
X3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RP
YmpfcmVmbGVjdGVkRWxlbWVudEF0dHIpIH0gfSwKICAgICB7ICJyZWZsZWN0ZWRVUkxBdHRyIiwg
c3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vz
c29yIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMs
IHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rl
c3RPYmpfcmVmbGVjdGVkVVJMQXR0ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVy
dHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE9ial9yZWZsZWN0ZWRVUkxBdHRyKSB9IH0s
CiAgICAgeyAicmVmbGVjdGVkVVNWVVJMQXR0ciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQ
cm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqX3JlZmxlY3RlZFVTVlVSTEF0dHIp
LCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihz
ZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVVNWVVJMQXR0cikgfSB9LAogICAgIHsgInJlZmxlY3RlZFN0
cmluZ0F0dHIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6
Q3VzdG9tQWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpET01BdHRyaWJ1dGUpLCBO
b0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1
ZUZ1bmM+KGpzVGVzdE9ial9yZWZsZWN0ZWRTdHJpbmdBdHRyKSwgKGludHB0cl90KSBzdGF0aWNf
Y2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3JlZmxlY3Rl
ZFN0cmluZ0F0dHIpIH0gfSwKQEAgLTM5MTgsNiArMzkyMSwzNyBAQCBKU0NfREVGSU5FX0NVU1RP
TV9TRVRURVIoc2V0SlNUZXN0T2JqX3JlZmxlY3RlZEJvb2xlYW5BdHRyLCAoSlNHbG9iYWxPYmpl
Y3QqIGxleAogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVz
dE9ial9yZWZsZWN0ZWRCb29sZWFuQXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRo
aXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCBhdHRyaWJ1dGVOYW1lKTsKIH0KIAorc3RhdGljIGlubGlu
ZSBKU1ZhbHVlIGpzVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0ckdldHRlcihKU0dsb2JhbE9i
amVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0T2JqJiB0aGlzT2JqZWN0KQoreworICAg
IGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7CisgICAgYXV0byB0
aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisgICAgYXV0byYgaW1wbCA9IHRo
aXNPYmplY3Qud3JhcHBlZCgpOworICAgIFJFTEVBU0VfQU5EX1JFVFVSTih0aHJvd1Njb3BlLCAo
dG9KUzxJRExJbnRlcmZhY2U8RWxlbWVudD4+KGxleGljYWxHbG9iYWxPYmplY3QsICp0aGlzT2Jq
ZWN0Lmdsb2JhbE9iamVjdCgpLCB0aHJvd1Njb3BlLCBpbXBsLmdldEVsZW1lbnRBdHRyaWJ1dGUo
V2ViQ29yZTo6SFRNTE5hbWVzOjpyZWZsZWN0ZWRlbGVtZW50YXR0ckF0dHIpKSkpOworfQorCitK
U0NfREVGSU5FX0NVU1RPTV9HRVRURVIoanNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRyLCAo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNW
YWx1ZSwgUHJvcGVydHlOYW1lIGF0dHJpYnV0ZU5hbWUpKQoreworICAgIHJldHVybiBJRExBdHRy
aWJ1dGU8SlNUZXN0T2JqPjo6Z2V0PGpzVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0ckdldHRl
ciwgQ2FzdGVkVGhpc0Vycm9yQmVoYXZpb3I6OkFzc2VydD4oKmxleGljYWxHbG9iYWxPYmplY3Qs
IHRoaXNWYWx1ZSwgYXR0cmlidXRlTmFtZSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgYm9vbCBzZXRK
U1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0dHJTZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGlj
YWxHbG9iYWxPYmplY3QsIEpTVGVzdE9iaiYgdGhpc09iamVjdCwgSlNWYWx1ZSB2YWx1ZSkKK3sK
KyAgICBhdXRvJiB2bSA9IEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpOworICAgIGF1
dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOworICAgIGF1dG8mIGltcGwg
PSB0aGlzT2JqZWN0LndyYXBwZWQoKTsKKyAgICBhdXRvIG5hdGl2ZVZhbHVlID0gY29udmVydDxJ
RExJbnRlcmZhY2U8RWxlbWVudD4+KGxleGljYWxHbG9iYWxPYmplY3QsIHZhbHVlLCBbXShKU0M6
OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6OlRocm93U2NvcGUmIHNj
b3BlKSB7IHRocm93QXR0cmlidXRlVHlwZUVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIHNjb3Bl
LCAiVGVzdE9iamVjdCIsICJyZWZsZWN0ZWRFbGVtZW50QXR0ciIsICJFbGVtZW50Iik7IH0pOwor
ICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFsc2UpOworICAgIGludm9rZUZ1
bmN0b3JQcm9wYWdhdGluZ0V4Y2VwdGlvbklmTmVjZXNzYXJ5KGxleGljYWxHbG9iYWxPYmplY3Qs
IHRocm93U2NvcGUsIFsmXSB7CisgICAgICAgIHJldHVybiBpbXBsLnNldEVsZW1lbnRBdHRyaWJ1
dGUoV2ViQ29yZTo6SFRNTE5hbWVzOjpyZWZsZWN0ZWRlbGVtZW50YXR0ckF0dHIsICpuYXRpdmVW
YWx1ZSk7CisgICAgfSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK0pTQ19ERUZJTkVfQ1VTVE9N
X1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0dHIsIChKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVk
SlNWYWx1ZSBlbmNvZGVkVmFsdWUsIFByb3BlcnR5TmFtZSBhdHRyaWJ1dGVOYW1lKSkKK3sKKyAg
ICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdE9iaj46OnNldDxzZXRKU1Rlc3RPYmpfcmVmbGVj
dGVkRWxlbWVudEF0dHJTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVu
Y29kZWRWYWx1ZSwgYXR0cmlidXRlTmFtZSk7Cit9CisKIHN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBq
c1Rlc3RPYmpfcmVmbGVjdGVkVVJMQXR0ckdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEds
b2JhbE9iamVjdCwgSlNUZXN0T2JqJiB0aGlzT2JqZWN0KQogewogICAgIGF1dG8mIHZtID0gSlND
OjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGwKaW5kZXggMTBmNjUxYTU3NWU3N2I3NTAwMmI4
NzBjZGJiODk4ZmZhNDY2MzNjOS4uN2U5ODJkNTE2MjRiNGNmZDhiODZlZDUxNDc3ZjcxN2IxYmJm
ZTVjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rl
c3RPYmouaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0
T2JqLmlkbApAQCAtMTA0LDYgKzEwNCw3IEBAIGVudW0gVGVzdENvbmZpZGVuY2UgeyAiaGlnaCIs
ICJraW5kYS1sb3ciIH07CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBsb25nIHJlZmxlY3RlZElu
dGVncmFsQXR0cjsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIHVuc2lnbmVkIGxvbmcgcmVmbGVj
dGVkVW5zaWduZWRJbnRlZ3JhbEF0dHI7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBib29sZWFu
IHJlZmxlY3RlZEJvb2xlYW5BdHRyOworICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRWxlbWVudCBy
ZWZsZWN0ZWRFbGVtZW50QXR0cjsKICAgICBbUmVmbGVjdCwgVVJMXSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIHJlZmxlY3RlZFVSTEF0dHI7CiAgICAgW1JlZmxlY3QsIFVSTF0gYXR0cmlidXRlIFVTVlN0
cmluZyByZWZsZWN0ZWRVU1ZVUkxBdHRyOwogICAgIFtSZWZsZWN0PWN1c3RvbUNvbnRlbnRTdHJp
bmdBdHRyXSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHJlZmxlY3RlZFN0cmluZ0F0dHI7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RWxlbWVudC5jcHAKaW5kZXggMzA2Zjg4MTc3N2VlNjlmNzljOGMyNjk3NTUzY2NkZjUwNGIyNDIw
OS4uOTAxNmI2NmQwNzljYzIwNDljM2QyMDJhNTliNTlhOWVjNTgxYzU2OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
bGVtZW50LmNwcApAQCAtMTkwMSw2ICsxOTAxLDExIEBAIHN0YXRpYyBpbmxpbmUgQXRvbVN0cmlu
ZyBtYWtlSWRGb3JTdHlsZVJlc29sdXRpb24oY29uc3QgQXRvbVN0cmluZyYgdmFsdWUsIGJvb2wK
ICAgICByZXR1cm4gdmFsdWU7CiB9CiAKK3N0YXRpYyBpbmxpbmUgYm9vbCBpc0VsZW1lbnRSZWZs
ZWN0aW9uQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUpCit7CisgICAgcmV0dXJu
IG5hbWUgPT0gSFRNTE5hbWVzOjphcmlhX2FjdGl2ZWRlc2NlbmRhbnRBdHRyIHx8IG5hbWUgPT0g
SFRNTE5hbWVzOjphcmlhX2Vycm9ybWVzc2FnZUF0dHI7Cit9CisKIHZvaWQgRWxlbWVudDo6YXR0
cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9tU3RyaW5n
JiBvbGRWYWx1ZSwgY29uc3QgQXRvbVN0cmluZyYgbmV3VmFsdWUsIEF0dHJpYnV0ZU1vZGlmaWNh
dGlvblJlYXNvbikKIHsKICAgICBib29sIHZhbHVlSXNTYW1lQXNCZWZvcmUgPSBvbGRWYWx1ZSA9
PSBuZXdWYWx1ZTsKQEAgLTE5MzcsNyArMTk0MiwxMSBAQCB2b2lkIEVsZW1lbnQ6OmF0dHJpYnV0
ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmluZyYgb2xk
VgogICAgICAgICAgICAgfQogICAgICAgICB9IGVsc2UgaWYgKG5hbWUgPT0gSFRNTE5hbWVzOjpw
YXJ0QXR0cikKICAgICAgICAgICAgIHBhcnRBdHRyaWJ1dGVDaGFuZ2VkKG5ld1ZhbHVlKTsKLSAg
ICAgICAgZWxzZSBpZiAobmFtZSA9PSBIVE1MTmFtZXM6OmV4cG9ydHBhcnRzQXR0cikgeworICAg
ICAgICBlbHNlIGlmIChpc0VsZW1lbnRSZWZsZWN0aW9uQXR0cmlidXRlKG5hbWUpKSB7CisgICAg
ICAgICAgICBBU1NFUlQoZG9jdW1lbnQoKS5zZXR0aW5ncygpLmFyaWFSZWZsZWN0aW9uRm9yRWxl
bWVudFJlZmVyZW5jZXNFbmFibGVkKCkpOworICAgICAgICAgICAgaWYgKGF1dG8qIG1hcCA9IGV4
cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoKSkKKyAgICAgICAgICAgICAgICBtYXAtPnJlbW92
ZShuYW1lKTsKKyAgICAgICAgfSBlbHNlIGlmIChuYW1lID09IEhUTUxOYW1lczo6ZXhwb3J0cGFy
dHNBdHRyKSB7CiAgICAgICAgICAgICBpZiAoYXV0byogc2hhZG93Um9vdCA9IHRoaXMtPnNoYWRv
d1Jvb3QoKSkgewogICAgICAgICAgICAgICAgIHNoYWRvd1Jvb3QtPmludmFsaWRhdGVQYXJ0TWFw
cGluZ3MoKTsKICAgICAgICAgICAgICAgICBTdHlsZTo6SW52YWxpZGF0b3I6OmludmFsaWRhdGVT
aGFkb3dQYXJ0cygqc2hhZG93Um9vdCk7CkBAIC0xOTYxLDYgKzE5NzAsNjAgQEAgdm9pZCBFbGVt
ZW50OjphdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0
b21TdHJpbmcmIG9sZFYKICAgICAgICAgY2FjaGUtPmRlZmVyQXR0cmlidXRlQ2hhbmdlSWZOZWVk
ZWQobmFtZSwgdGhpcyk7CiB9CiAKK0V4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAmIEVsZW1l
bnQ6OmVuc3VyZUV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoKQoreworICAgIHJldHVybiBl
bnN1cmVFbGVtZW50UmFyZURhdGEoKS5leHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKCk7Cit9
CisKK0V4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAqIEVsZW1lbnQ6OmV4cGxpY2l0bHlTZXRB
dHRyRWxlbWVudHNNYXAoKSBjb25zdAoreworICAgIHJldHVybiBoYXNSYXJlRGF0YSgpID8gJmVs
ZW1lbnRSYXJlRGF0YSgpLT5leHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKCkgOiBudWxscHRy
OworfQorCitFbGVtZW50KiBFbGVtZW50OjpnZXRFbGVtZW50QXR0cmlidXRlKGNvbnN0IFF1YWxp
ZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIGNvbnN0Cit7CisgICAgQVNTRVJUKGRvY3VtZW50KCku
c2V0dGluZ3MoKS5hcmlhUmVmbGVjdGlvbkZvckVsZW1lbnRSZWZlcmVuY2VzRW5hYmxlZCgpKTsK
KyAgICBBU1NFUlQoaXNFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7
CisKKyAgICBpZiAoYXV0byogbWFwID0gZXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCgpKSB7
CisgICAgICAgIGF1dG8gaXQgPSBtYXAtPmZpbmQoYXR0cmlidXRlTmFtZSk7CisgICAgICAgIGlm
IChpdCAhPSBtYXAtPmVuZCgpKSB7CisgICAgICAgICAgICBBU1NFUlQoaXQtPnZhbHVlLnNpemUo
KSA9PSAxKTsKKyAgICAgICAgICAgIGF1dG8qIGVsZW1lbnQgPSBpdC0+dmFsdWVbMF0uZ2V0KCk7
CisgICAgICAgICAgICBpZiAoZWxlbWVudCAmJiBpc0Rlc2NlbmRhbnRPclNoYWRvd0Rlc2NlbmRh
bnRPZihlbGVtZW50LT5yb290Tm9kZSgpKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZWxlbWVu
dDsKKyAgICAgICAgICAgIHJldHVybiBudWxscHRyOworICAgICAgICB9CisgICAgfQorCisgICAg
YXV0byBpZCA9IGdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKTsKKyAgICBpZiAoaWQuaXNOdWxs
KCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgcmV0dXJuIHRyZWVTY29wZSgpLmdl
dEVsZW1lbnRCeUlkKGlkKTsKK30KKwordm9pZCBFbGVtZW50OjpzZXRFbGVtZW50QXR0cmlidXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUsIEVsZW1lbnQqIGVsZW1lbnQpCit7
CisgICAgQVNTRVJUKGRvY3VtZW50KCkuc2V0dGluZ3MoKS5hcmlhUmVmbGVjdGlvbkZvckVsZW1l
bnRSZWZlcmVuY2VzRW5hYmxlZCgpKTsKKyAgICBBU1NFUlQoaXNFbGVtZW50UmVmbGVjdGlvbkF0
dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKSk7CisKKyAgICBpZiAoIWVsZW1lbnQpIHsKKyAgICAgICAg
aWYgKGF1dG8qIG1hcCA9IGV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoKSkKKyAgICAgICAg
ICAgIG1hcC0+cmVtb3ZlKGF0dHJpYnV0ZU5hbWUpOworICAgICAgICByZW1vdmVBdHRyaWJ1dGUo
YXR0cmlidXRlTmFtZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvIGlkID0g
ZWxlbWVudC0+Z2V0SWRBdHRyaWJ1dGUoKTsKKyAgICBpZiAoIWlkLmlzTnVsbCgpICYmICZyb290
Tm9kZSgpID09ICZlbGVtZW50LT5yb290Tm9kZSgpICYmIHRyZWVTY29wZSgpLmdldEVsZW1lbnRC
eUlkKGlkKSA9PSBlbGVtZW50KQorICAgICAgICBzZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSwg
aWQpOworICAgIGVsc2UKKyAgICAgICAgc2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUsIGVtcHR5
QXRvbSgpKTsKKworICAgIGVuc3VyZUV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAoKS5zZXQo
YXR0cmlidXRlTmFtZSwgVmVjdG9yPFdlYWtQdHI8RWxlbWVudD4+IHsgZWxlbWVudCB9KTsKK30K
KwogdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CiBzdGF0aWMgaW5saW5lIGJvb2wg
aXNOb25FbXB0eVRva2VuTGlzdChjb25zdCBDaGFyYWN0ZXJUeXBlKiBjaGFyYWN0ZXJzLCB1bnNp
Z25lZCBsZW5ndGgpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuaAppbmRleCBmYWJmYjI0MTQxZTllYjY1M2Rl
MDZiMzY0ZGMwODlhNGI3YTVlMDE5Li5iNzMzYmYyYWM5YjlmNjM1MDBjZTI4ZGZkNDA1YjZjOGI0
ZGM3YWUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKQEAgLTkzLDYgKzkzLDEwIEBAIHN0cnVjdCBTY3Jv
bGxUb09wdGlvbnM7CiBzdHJ1Y3QgU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25FdmVudEluaXQ7CiBz
dHJ1Y3QgU2hhZG93Um9vdEluaXQ7CiAKKy8vIEZJWE1FOiBUaGlzIG9ubHkgc3RvcmVzIG9uZSBF
bGVtZW50IGluIHRoZSBWZWN0b3IgcmlnaHQgbm93LCB0aG91Z2ggdGhpcyB3aWxsIGNoYW5nZQor
Ly8gb25jZSByZWZsZWN0aW9uIGZvciBGcm96ZW5BcnJheTxFbGVtZW50PiBpcyBpbXBsZW1lbnRl
ZCBpbiBodHRwczovL3dlYmtpdC5vcmcvYi8yMzk4NTMuCit1c2luZyBFeHBsaWNpdGx5U2V0QXR0
ckVsZW1lbnRzTWFwID0gSGFzaE1hcDxRdWFsaWZpZWROYW1lLCBWZWN0b3I8V2Vha1B0cjxFbGVt
ZW50Pj4+OworCiBuYW1lc3BhY2UgU3R5bGUgewogY2xhc3MgUmVzb2x2ZXI7CiBlbnVtIGNsYXNz
IENoYW5nZSA6IHVpbnQ4X3Q7CkBAIC0xMjEsNiArMTI1LDggQEAgcHVibGljOgogICAgIFdFQkNP
UkVfRVhQT1JUIHZvaWQgc2V0SW50ZWdyYWxBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYg
YXR0cmlidXRlTmFtZSwgaW50IHZhbHVlKTsKICAgICBXRUJDT1JFX0VYUE9SVCB1bnNpZ25lZCBn
ZXRVbnNpZ25lZEludGVncmFsQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0
ZU5hbWUpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0VW5zaWduZWRJbnRlZ3Jh
bEF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lLCB1bnNpZ25lZCB2
YWx1ZSk7CisgICAgV0VCQ09SRV9FWFBPUlQgRWxlbWVudCogZ2V0RWxlbWVudEF0dHJpYnV0ZShj
b25zdCBRdWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKSBjb25zdDsKKyAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHNldEVsZW1lbnRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmli
dXRlTmFtZSwgRWxlbWVudCogdmFsdWUpOwogCiAgICAgLy8gQ2FsbCB0aGlzIHRvIGdldCB0aGUg
dmFsdWUgb2YgYW4gYXR0cmlidXRlIHRoYXQgaXMga25vd24gbm90IHRvIGJlIHRoZSBzdHlsZQog
ICAgIC8vIGF0dHJpYnV0ZSBvciBvbmUgb2YgdGhlIFNWRyBhbmltYXRhYmxlIGF0dHJpYnV0ZXMu
CkBAIC02NjgsNiArNjc0LDkgQEAgcHVibGljOgogICAgIFN0eWxlUHJvcGVydHlNYXBSZWFkT25s
eSogY29tcHV0ZWRTdHlsZU1hcCgpOwogI2VuZGlmCiAKKyAgICBFeHBsaWNpdGx5U2V0QXR0ckVs
ZW1lbnRzTWFwJiBlbnN1cmVFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKCk7CisgICAgRXhw
bGljaXRseVNldEF0dHJFbGVtZW50c01hcCogZXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCgp
IGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwg
RG9jdW1lbnQmLCBDb25zdHJ1Y3Rpb25UeXBlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJh
cmVEYXRhLmNwcAppbmRleCA5NGI4YTU4NTlmNzRiYzdjOTVkMTI1Mzk5Yjc0NmVlMjc2ZTdlZWZm
Li4wMGNmNjVmMzM3MzZjNDhiYWU4NGU3ZmJlMTRjZDkzNDA5YTQ1MjI3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRWxlbWVudFJhcmVEYXRhLmNwcApAQCAtNDIsNiArNDIsNyBAQCBzdHJ1Y3QgU2FtZVNp
emVBc0VsZW1lbnRSYXJlRGF0YSA6IE5vZGVSYXJlRGF0YSB7CiAgICAgdm9pZCogdHlwZWRPTURh
dGFbMl07CiAjZW5kaWYKICAgICB2b2lkKiByZXNpemVPYnNlcnZlckRhdGE7CisgICAgRXhwbGlj
aXRseVNldEF0dHJFbGVtZW50c01hcCBleHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwOwogfTsK
IAogc3RhdGljX2Fzc2VydChzaXplb2YoRWxlbWVudFJhcmVEYXRhKSA9PSBzaXplb2YoU2FtZVNp
emVBc0VsZW1lbnRSYXJlRGF0YSksICJFbGVtZW50UmFyZURhdGEgc2hvdWxkIHN0YXkgc21hbGwi
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaCBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEuaAppbmRleCBkNzZiY2M0NDRjZTc1MTQ0
YmJlZDM5NzFiYTkxNDBhOGM1ZGM1OGFmLi4wZGU0NTczYzUxOWFlZjA1NDk1MzNjNDk1MzM2MmEy
NjM5M2I1NDdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRh
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5oCkBAIC0xMDcsNiAr
MTA3LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0Q29tcHV0ZWRTdHlsZU1hcChSZWY8U3R5bGVQ
cm9wZXJ0eU1hcFJlYWRPbmx5PiYmIG1hcCkgeyBtX2NvbXB1dGVkU3R5bGVNYXAgPSBXVEZNb3Zl
KG1hcCk7IH0KICNlbmRpZgogCisgICAgRXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCYgZXhw
bGljaXRseVNldEF0dHJFbGVtZW50c01hcCgpIHsgcmV0dXJuIG1fZXhwbGljaXRseVNldEF0dHJF
bGVtZW50c01hcDsgfQorCiAjaWYgRFVNUF9OT0RFX1NUQVRJU1RJQ1MKICAgICBPcHRpb25TZXQ8
VXNlVHlwZT4gdXNlVHlwZXMoKSBjb25zdAogICAgIHsKQEAgLTE0Nyw2ICsxNDksOCBAQCBwdWJs
aWM6CiAgICAgICAgICAgICByZXN1bHQuYWRkKFVzZVR5cGU6OlBhcnROYW1lcyk7CiAgICAgICAg
IGlmIChtX25vbmNlKQogICAgICAgICAgICAgcmVzdWx0LmFkZChVc2VUeXBlOjpOb25jZSk7Cisg
ICAgICAgIGlmICghbV9leHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwLmlzRW1wdHkoKSkKKyAg
ICAgICAgICAgIHJlc3VsdC5hZGQoVXNlVHlwZTo6RXhwbGljaXRseVNldEF0dHJFbGVtZW50c01h
cCk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogI2VuZGlmCkBAIC0xODAsNiArMTg0
LDggQEAgcHJpdmF0ZToKIAogICAgIEF0b21TdHJpbmcgbV9ub25jZTsKIAorICAgIEV4cGxpY2l0
bHlTZXRBdHRyRWxlbWVudHNNYXAgbV9leHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwOworCiAg
ICAgdm9pZCByZWxlYXNlUHNldWRvRWxlbWVudChQc2V1ZG9FbGVtZW50Kik7CiB9OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
Tm9kZS5jcHAKaW5kZXggNjg3MDM3MDA4YTIzYTBhNDE5ZmY3YTBlNWJkMWE5NWU5NzE1ODJkOC4u
YjQ2NWUzZDBhMTA0N2UwMjdmZDc1ZTRmYmU2ZDY4MWZiNWEyNTc2MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNw
cApAQCAtMTQ0LDYgKzE0NCw4IEBAIHN0YXRpYyBjb25zdCBjaGFyKiBzdHJpbmdGb3JSYXJlRGF0
YVVzZVR5cGUoTm9kZVJhcmVEYXRhOjpVc2VUeXBlIHVzZVR5cGUpCiAgICAgICAgIHJldHVybiAi
UGFydExpc3QiOwogICAgIGNhc2UgTm9kZVJhcmVEYXRhOjpVc2VUeXBlOjpQYXJ0TmFtZXM6CiAg
ICAgICAgIHJldHVybiAiUGFydE5hbWVzIjsKKyAgICBjYXNlIE5vZGVSYXJlRGF0YTo6VXNlVHlw
ZTo6RXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcDoKKyAgICAgICAgcmV0dXJuICJFeHBsaWNp
dGx5U2V0QXR0ckVsZW1lbnRzTWFwIjsKICAgICB9CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmggYi9Tb3VyY2UvV2Vi
Q29yZS9kb20vTm9kZVJhcmVEYXRhLmgKaW5kZXggMjQ1ZmE4Y2MxMDgyM2YxNjhkODc0NGE1NTll
ZTBkOTg3OWUwOGNlOS4uZjQ3ZDUyOWRhNDhiMTc4Zjg4MzRmMzNlMjVhZmIzYmVkNGE3NTBjZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGVSYXJlRGF0YS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaApAQCAtMjY1LDYgKzI2NSw3IEBAIHB1YmxpYzoK
ICAgICAgICAgUGFydE5hbWVzID0gMSA8PCAxNiwKICAgICAgICAgTm9uY2UgPSAxIDw8IDE3LAog
ICAgICAgICBDb21wdXRlZFN0eWxlTWFwID0gMSA8PCAxOCwKKyAgICAgICAgRXhwbGljaXRseVNl
dEF0dHJFbGVtZW50c01hcCA9IDEgPDwgMTksCiAgICAgfTsKICNlbmRpZgogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjdm
NTk5ODg5NmE4YzY3NDQwNWE1YTUxNmZkYjk5MDRlZTJjYTczOS4uMzE3ZjY5MGI0OTdjMDA0OTQ3
YTUxNDM0ODBiMzhjOTdhN2Y1OWEwOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDIyLTA1LTA0
ICBNYW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIEFS
SUEgcmVmbGVjdGlvbiBmb3IgRWxlbWVudCBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzk4NTIKKworICAgICAgICBSZXZpZXdlZCBi
eSBDaHJpcyBEdW1lei4KKworICAgICAgICBVcGRhdGUgdGVzdCB0byBpbmNsdWRlIHRoZSBuZXcg
cmVmbGVjdGVkIGF0dHJpYnV0ZXMuCisKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FSSUEtcmVm
bGVjdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BUklBLXJlZmxl
Y3Rpb24uaHRtbDoKKwogMjAyMi0wNS0wNCAgS2FybCBSYWNrbGVyICA8cmFja2xlckBhcHBsZS5j
b20+CiAKICAgICAgICAgWyBpT1MgXVsgbWFjT1MgRGVidWcgd2sxIF0gd2ViYXVkaW8vQXVkaW9C
dWZmZXIvaHVnZS1idWZmZXIuaHRtbCBpcyBhIGZsYWt5IHRpbWVvdXQKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCmluZGV4IGQxYTE1MDA1NjUzYzkwODQzNDE5NDU4YjliZmRjNTI5YTc3MmM4
MjguLjNiMDc3MGU1YTUwOWI2ZDEwMmRmMTliZTYwNTRmMTY1YjU4ZWIzZTkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIyLTA1LTA0ICBNYW51ZWwg
UmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgorCisgICAgICAgIEFSSUEgcmVmbGVj
dGlvbiBmb3IgRWxlbWVudCBhdHRyaWJ1dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzk4NTIKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBE
dW1lei4KKworICAgICAgICBTbWFsbCBmaXggb24gdGhlIHRlc3QgYW5kIHVwZGF0ZSB0ZXN0IHJl
c3VsdHMgd2l0aCB0aGUgbmV3IFBBU1MuCisgICAgICAgIEFkZCBuZXcgdGVzdCBjYXNlIHRvIGNv
dmVyIGVsZW1lbnRzIG1vdmVkIHRvIGEgZGlmZmVyZW50IGRvY3VtZW50LgorCisgICAgICAgICog
d2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50
YXRpdmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9k
ZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLmh0bWw6CisKIDIwMjItMDUtMDQg
IFppcmFuIFN1biAgPHpzdW5AaWdhbGlhLmNvbT4KIAogICAgICAgICBbSW5wdXRFbGVtZW50XSBT
ZWxlY3Rpb24gYWZ0ZXIgdHlwZSBjaGFuZ2UgbmVlZHMgdG8gZm9sbG93IEhUTUwgc3BlY2lmaWNh
dGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rp
b24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rp
b24tZXhwZWN0ZWQudHh0CmluZGV4IDk1MDRiNjliY2JhY2QyNDFiOTU4NTQzMDJlZjU0NzRlMzUy
YTQ5OGUuLmUzZmVlYzMwYzRjN2E5ZWFmYWQxYTk0ZGVkZWVjNjNmODhiYjgwZTcgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvQVJJQS1yZWZsZWN0aW9uLWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L0FSSUEtcmVmbGVjdGlvbi1leHBlY3Rl
ZC50eHQKQEAgLTcsMzE3ICs3LDI5MiBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURQogVGVzdCBy
b2xlIDwgLSA+IHJvbGUKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBB
U1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVu
dFsicm9sZSJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJp
YnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRl
KSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgicm9sZSIsIG90aGVyRGF0
YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CisKK1Rlc3QgYXJpYUFj
dGl2ZURlc2NlbmRhbnRFbGVtZW50IDwgLSA+IGFyaWEtYWN0aXZlZGVzY2VuZGFudAorUEFTUyBl
bGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0
ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1
cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKK2VsZW1lbnQuc2V0QXR0cmlidXRlKCJh
cmlhLWFjdGl2ZWRlc2NlbmRhbnQiLCBvdGhlckRhdGEpOworUEFTUyBlbGVtZW50W2N1cnJlbnRQ
cm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhQXRvbWljIDwgLSA+IGFy
aWEtYXRvbWljCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVs
ZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFy
aWFBdG9taWMiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRy
aWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtYXRvbWljIiwg
b3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQor
UEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVz
dCBhcmlhQXV0b0NvbXBsZXRlIDwgLSA+IGFyaWEtYXV0b2NvbXBsZXRlCiBQQVNTIGVsZW1lbnRb
Y3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFBdXRvQ29tcGxldGUiXSA9IGRhdGE7
Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BB
U1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0
ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtYXV0b2NvbXBsZXRlIiwgb3RoZXJEYXRhKTsK
LVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhQnVzeSA8
IC0gPiBhcmlhLWJ1c3kKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBB
U1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVu
dFsiYXJpYUJ1c3kiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJp
YnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtYnVzeSIs
IG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEK
K1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRl
c3QgYXJpYUNoZWNrZWQgPCAtID4gYXJpYS1jaGVja2VkCiBQQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1
dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFDaGVja2VkIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50
LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0
QXR0cmlidXRlKCJhcmlhLWNoZWNrZWQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJl
bnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFDb2xDb3VudCA8IC0gPiBhcmlhLWNvbGNv
dW50CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFDb2xD
b3VudCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1jb2xjb3VudCIsIG90
aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BB
U1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3Qg
YXJpYUNvbEluZGV4IDwgLSA+IGFyaWEtY29saW5kZXgKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJv
cGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUNvbEluZGV4Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50
LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0
QXR0cmlidXRlKCJhcmlhLWNvbGluZGV4Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0g
aXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhQ29sU3BhbiA8IC0gPiBhcmlhLWNvbHNw
YW4KIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5n
ZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUNvbFNw
YW4iXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUp
IGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMg
ZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtY29sc3BhbiIsIG90aGVy
RGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJp
YUN1cnJlbnQgPCAtID4gYXJpYS1jdXJyZW50CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IG51bGwKLWVsZW1lbnRbImFyaWFDdXJyZW50Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmli
dXRlKCJhcmlhLWN1cnJlbnQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9w
ZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhl
ckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFEaXNhYmxlZCA8IC0gPiBhcmlhLWRpc2FibGVkCiBQ
QVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0
cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFEaXNhYmxlZCJd
ID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMg
ZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRh
QXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1kaXNhYmxlZCIsIG90aGVyRGF0
YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CisKK1Rlc3QgYXJpYUVy
cm9yTWVzc2FnZUVsZW1lbnQgPCAtID4gYXJpYS1lcnJvcm1lc3NhZ2UKK1BBU1MgZWxlbWVudFtj
dXJyZW50UHJvcGVydHldIGlzIG51bGwKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVu
dEF0dHJpYnV0ZSkgaXMgbnVsbAorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0
cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCitlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1lcnJv
cm1lc3NhZ2UiLCBvdGhlckRhdGEpOworUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMg
b3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhRXhwYW5kZWQgPCAtID4gYXJpYS1leHBhbmRl
ZAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhRXhwYW5k
ZWQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUp
IGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMg
ZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtZXhwYW5kZWQiLCBvdGhl
ckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNT
IGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFy
aWFIYXNQb3B1cCA8IC0gPiBhcmlhLWhhc3BvcHVwCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUp
IGlzIG51bGwKLWVsZW1lbnRbImFyaWFIYXNQb3B1cCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5n
ZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0
dHJpYnV0ZSgiYXJpYS1oYXNwb3B1cCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVu
dFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlz
IG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUhpZGRlbiA8IC0gPiBhcmlhLWhpZGRlbgog
UEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhSGlkZGVuIl0g
PSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBk
YXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFB
dHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsIG90aGVyRGF0YSk7
Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUludmFs
aWQgPCAtID4gYXJpYS1pbnZhbGlkCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBu
dWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwK
LWVsZW1lbnRbImFyaWFJbnZhbGlkIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0
ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1
cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJh
cmlhLWludmFsaWQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0g
aXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQ
cm9wZXJ0eQogCiBUZXN0IGFyaWFLZXlTaG9ydGN1dHMgPCAtID4gYXJpYS1rZXlzaG9ydGN1dHMK
IFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUtleVNob3J0
Y3V0cyJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1rZXlzaG9ydGN1dHMi
LCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRh
CitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBU
ZXN0IGFyaWFMYWJlbCA8IC0gPiBhcmlhLWxhYmVsCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUp
IGlzIG51bGwKLWVsZW1lbnRbImFyaWFMYWJlbCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJp
YnV0ZSgiYXJpYS1sYWJlbCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVy
RGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUxldmVsIDwgLSA+IGFyaWEtbGV2ZWwKIFBBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUo
Y3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUxldmVsIl0gPSBkYXRhOwot
UEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUK
IGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWxldmVsIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQ
cm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhTGl2ZSA8IC0gPiBhcmlh
LWxpdmUKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUxp
dmUiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUp
IGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMg
ZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbGl2ZSIsIG90aGVyRGF0
YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYU1v
ZGFsIDwgLSA+IGFyaWEtbW9kYWwKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51
bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAot
ZWxlbWVudFsiYXJpYU1vZGFsIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShj
dXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlh
LW1vZGFsIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90
aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVy
dHkKIAogVGVzdCBhcmlhTXVsdGlMaW5lIDwgLSA+IGFyaWEtbXVsdGlsaW5lCiBQQVNTIGVsZW1l
bnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1
cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFNdWx0aUxpbmUiXSA9IGRhdGE7
Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BB
U1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0
ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbXVsdGlsaW5lIiwgb3RoZXJEYXRhKTsKLVBB
U1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhTXVsdGlTZWxl
Y3RhYmxlIDwgLSA+IGFyaWEtbXVsdGlzZWxlY3RhYmxlCiBQQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1
dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFNdWx0aVNlbGVjdGFibGUiXSA9IGRhdGE7Ci1QQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxl
bWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxl
bWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbXVsdGlzZWxlY3RhYmxlIiwgb3RoZXJEYXRhKTsKLVBB
U1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhT3JpZW50YXRp
b24gPCAtID4gYXJpYS1vcmllbnRhdGlvbgogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0g
aXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBu
dWxsCi1lbGVtZW50WyJhcmlhT3JpZW50YXRpb24iXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRy
aWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRy
aWJ1dGUoImFyaWEtb3JpZW50YXRpb24iLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJl
bnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFQbGFjZWhvbGRlciA8IC0gPiBhcmlhLXBs
YWNlaG9sZGVyCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVs
ZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFy
aWFQbGFjZWhvbGRlciJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVu
dEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0
cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1wbGFj
ZWhvbGRlciIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBv
dGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3Bl
cnR5CiAKIFRlc3QgYXJpYVBvc0luU2V0IDwgLSA+IGFyaWEtcG9zaW5zZXQKIFBBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVBvc0luU2V0Il0gPSBkYXRhOwot
UEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUK
IGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXBvc2luc2V0Iiwgb3RoZXJEYXRhKTsKLVBBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJl
bnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhUHJlc3NlZCA8IC0g
PiBhcmlhLXByZXNzZWQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBB
U1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVu
dFsiYXJpYVByZXNzZWQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtcHJl
c3NlZCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhl
ckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5
CiAKIFRlc3QgYXJpYVJlYWRPbmx5IDwgLSA+IGFyaWEtcmVhZG9ubHkKIFBBU1MgZWxlbWVudFtj
dXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVu
dEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVJlYWRPbmx5Il0gPSBkYXRhOwotUEFT
UyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVs
ZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVs
ZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXJlYWRvbmx5Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQ
cm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhUmVsZXZhbnQgPCAtID4g
YXJpYS1yZWxldmFudAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFT
UyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50
WyJhcmlhUmVsZXZhbnQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtcmVs
ZXZhbnQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3Ro
ZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0
eQogCiBUZXN0IGFyaWFSZXF1aXJlZCA8IC0gPiBhcmlhLXJlcXVpcmVkCiBQQVNTIGVsZW1lbnRb
Y3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFSZXF1aXJlZCJdID0gZGF0YTsKLVBB
U1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBl
bGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1yZXF1aXJlZCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVs
ZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50
UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVJvbGVEZXNjcmlwdGlv
biA8IC0gPiBhcmlhLXJvbGVkZXNjcmlwdGlvbgogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0
eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBudWxsCi1lbGVtZW50WyJhcmlhUm9sZURlc2NyaXB0aW9uIl0gPSBkYXRhOwotUEFTUyBlbGVt
ZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQu
c2V0QXR0cmlidXRlKCJhcmlhLXJvbGVkZXNjcmlwdGlvbiIsIG90aGVyRGF0YSk7Ci1QQVNTIGVs
ZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50
UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVJvd0NvdW50IDwgLSA+
IGFyaWEtcm93Y291bnQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBB
U1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVu
dFsiYXJpYVJvd0NvdW50Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXJv
d2NvdW50Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90
aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVy
dHkKIAogVGVzdCBhcmlhUm93SW5kZXggPCAtID4gYXJpYS1yb3dpbmRleAogUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhUm93SW5kZXgiXSA9IGRhdGE7Ci1Q
QVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1Mg
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQog
ZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtcm93aW5kZXgiLCBvdGhlckRhdGEpOwotUEFTUyBl
bGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVu
dFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFSb3dTcGFuIDwgLSA+
IGFyaWEtcm93c3BhbgogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFT
UyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50
WyJhcmlhUm93U3BhbiJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVu
dEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0
cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1yb3dz
cGFuIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVy
RGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkK
IAogVGVzdCBhcmlhU2VsZWN0ZWQgPCAtID4gYXJpYS1zZWxlY3RlZAogUEFTUyBlbGVtZW50W2N1
cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhU2VsZWN0ZWQiXSA9IGRhdGE7Ci1QQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxl
bWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxl
bWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtc2VsZWN0ZWQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVt
ZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFTZXRTaXplIDwgLSA+IGFy
aWEtc2V0c2l6ZQogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJh
cmlhU2V0U2l6ZSJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmli
dXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1zZXRzaXpl
Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0
YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAog
VGVzdCBhcmlhU29ydCA8IC0gPiBhcmlhLXNvcnQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVy
dHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkg
aXMgbnVsbAotZWxlbWVudFsiYXJpYVNvcnQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0
cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1
dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1
dGUoImFyaWEtc29ydCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0
YVByb3BlcnR5CiAKIFRlc3QgYXJpYVZhbHVlTWF4IDwgLSA+IGFyaWEtdmFsdWVtYXgKIFBBU1Mg
ZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1
dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVZhbHVlTWF4Il0gPSBk
YXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRh
CitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRy
aWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXZhbHVlbWF4Iiwgb3RoZXJEYXRhKTsK
LVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhVmFsdWVN
aW4gPCAtID4gYXJpYS12YWx1ZW1pbgogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMg
bnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxs
Ci1lbGVtZW50WyJhcmlhVmFsdWVNaW4iXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUo
Y3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUo
ImFyaWEtdmFsdWVtaW4iLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0
eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRh
dGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFWYWx1ZU5vdyA8IC0gPiBhcmlhLXZhbHVlbm93CiBQQVNT
IGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFWYWx1ZU5vdyJdID0g
ZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0
YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0
cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS12YWx1ZW5vdyIsIG90aGVyRGF0YSk7
Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVZhbHVl
VGV4dCA8IC0gPiBhcmlhLXZhbHVldGV4dAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0g
aXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBu
dWxsCi1lbGVtZW50WyJhcmlhVmFsdWVUZXh0Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmli
dXRlKCJhcmlhLXZhbHVldGV4dCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90
aGVyRGF0YVByb3BlcnR5CiAKIAotUEFTUyBjb3VudCBpcyAzOAorUEFTUyBjb3VudCBpcyA0MAog
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L0FSSUEtcmVmbGVjdGlvbi5odG1sIGIvTGF5
b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rpb24uaHRtbAppbmRleCAzMjNiMTg5
YzRlM2U0MDFhNGZmZDU2ZDRjZmVlNDY0NzI5YWZmOTE4Li45M2E5YjdhMTdmOWE0NGU0Y2QxMWJl
Y2E5NjlmMGNlNTc3NjljZWVlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L0FSSUEtcmVmbGVjdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvQVJJ
QS1yZWZsZWN0aW9uLmh0bWwKQEAgLTUsNyArNSw4IEBACiA8ZGl2IGlkPSJjb250ZW50Ij4KIAog
PGRpdiBpZD0idGVzdCIgZGF0YT0ic29tZSBkYXRhIj4KLQorICA8ZGl2IGlkPSJmaXJzdENoaWxk
Ij48L2Rpdj4KKyAgPGRpdiBpZD0ic2Vjb25kQ2hpbGQiPjwvZGl2PgogPC9kaXY+CiAKIDxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgpAQCAtMjEsMjIgKzIyLDQwIEBACiAgICAgdmFyIGN1cnJlbnRQ
cm9wZXJ0eTsKICAgICB2YXIgY3VycmVudEF0dHJpYnV0ZTsKIAorICAgIGZ1bmN0aW9uIGlzRWxl
bWVudFJlZmxlY3Rpb25Qcm9wZXJ0eShwcm9wZXJ0eSkgeworICAgICAgICBzd2l0Y2ggKHByb3Bl
cnR5KSB7CisgICAgICAgICAgICBjYXNlICJhcmlhQWN0aXZlRGVzY2VuZGFudEVsZW1lbnQiOgor
ICAgICAgICAgICAgY2FzZSAiYXJpYUVycm9yTWVzc2FnZUVsZW1lbnQiOgorICAgICAgICAgICAg
ICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9
CisKKyAgICBmdW5jdGlvbiBjb252ZXJ0UHJvcGVydHlUb0F0dHJpYnV0ZShwcm9wZXJ0eSkgewor
ICAgICAgICBpZiAoaXNFbGVtZW50UmVmbGVjdGlvblByb3BlcnR5KHByb3BlcnR5KSkKKyAgICAg
ICAgICBwcm9wZXJ0eSA9IHByb3BlcnR5LnJlcGxhY2UoIkVsZW1lbnQiLCAiIik7CisgICAgICAg
IHJldHVybiBwcm9wZXJ0eS5yZXBsYWNlKCJhcmlhIiwgImFyaWEtIikudG9Mb3dlckNhc2UoKTsK
KyAgICB9CisKICAgICBmdW5jdGlvbiB0ZXN0RWxlbWVudCgpIHsKLSAgICAgICAgY3VycmVudEF0
dHJpYnV0ZSA9IGN1cnJlbnRQcm9wZXJ0eS5yZXBsYWNlKCJhcmlhIiwgImFyaWEtIikudG9Mb3dl
ckNhc2UoKTsKLSAgICAgICAgCisgICAgICAgIGN1cnJlbnRBdHRyaWJ1dGUgPSBjb252ZXJ0UHJv
cGVydHlUb0F0dHJpYnV0ZShjdXJyZW50UHJvcGVydHkpOworCiAgICAgICAgIGRlYnVnKCJcblRl
c3QgIiArIGN1cnJlbnRQcm9wZXJ0eSArICIgPCAtID4gIiArIGN1cnJlbnRBdHRyaWJ1dGUpOwog
ICAgICAgICBzaG91bGRCZU51bGwoImVsZW1lbnRbY3VycmVudFByb3BlcnR5XSIpOwogICAgICAg
ICBzaG91bGRCZU51bGwoImVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIik7
Ci0gICAgICAgIAorCiAgICAgICAgIC8vIFNldCB0aGUgcHJvcGVydHkgdmFsdWUKLSAgICAgICAg
ZGVidWcoImVsZW1lbnRbXCIiICsgY3VycmVudFByb3BlcnR5ICsgIlwiXSA9IGRhdGE7Iik7Ci0g
ICAgICAgIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSA9IGRhdGE7Ci0gICAgICAgIHNob3VsZEJl
KCJlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSIsICJkYXRhIik7CisgICAg
ICAgIGRhdGFQcm9wZXJ0eSA9IGlzRWxlbWVudFJlZmxlY3Rpb25Qcm9wZXJ0eShjdXJyZW50UHJv
cGVydHkpID8gZmlyc3RDaGlsZCA6IGRhdGE7CisgICAgICAgIGRhdGFBdHRyaWJ1dGUgPSBpc0Vs
ZW1lbnRSZWZsZWN0aW9uUHJvcGVydHkoY3VycmVudFByb3BlcnR5KSA/IGZpcnN0Q2hpbGQuaWQg
OiBkYXRhOworICAgICAgICBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gPSBkYXRhUHJvcGVydHk7
CisgICAgICAgIHNob3VsZEJlKCJlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRl
KSIsICJkYXRhQXR0cmlidXRlIik7CiAKICAgICAgICAgLy8gU2V0IHRoZSBhdHRyaWJ1dGUgdmFs
dWUKKyAgICAgICAgb3RoZXJEYXRhUHJvcGVydHkgPSBpc0VsZW1lbnRSZWZsZWN0aW9uUHJvcGVy
dHkoY3VycmVudFByb3BlcnR5KSA/IHNlY29uZENoaWxkIDogb3RoZXJEYXRhOworICAgICAgICBv
dGhlckRhdGFBdHRyaWJ1dGUgPSBpc0VsZW1lbnRSZWZsZWN0aW9uUHJvcGVydHkoY3VycmVudFBy
b3BlcnR5KSA/IHNlY29uZENoaWxkLmlkIDogb3RoZXJEYXRhOwogICAgICAgICBkZWJ1ZygiZWxl
bWVudC5zZXRBdHRyaWJ1dGUoXCIiICsgY3VycmVudEF0dHJpYnV0ZSArICJcIiwgb3RoZXJEYXRh
KTsiKTsKLSAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSwgb3Ro
ZXJEYXRhKTsKLSAgICAgICAgc2hvdWxkQmUoImVsZW1lbnRbY3VycmVudFByb3BlcnR5XSIsICJv
dGhlckRhdGEiKTsKKyAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSwgb3RoZXJEYXRhQXR0cmlidXRlKTsKKyAgICAgICAgc2hvdWxkQmUoImVsZW1lbnRbY3VycmVu
dFByb3BlcnR5XSIsICJvdGhlckRhdGFQcm9wZXJ0eSIpOwogICAgIH0KIAogICAgIGZ1bmN0aW9u
IHRlc3RSb2xlKCkgewpAQCAtNTksNyArNzgsNyBAQAogICAgICAgICB9CiAKICAgICAgICAgZGVi
dWcoIlxuIik7Ci0gICAgICAgIHNob3VsZEJlKCJjb3VudCIsICIzOCIpOworICAgICAgICBzaG91
bGRCZSgiY291bnQiLCAiNDAiKTsKIAogICAgIH0gZWxzZSB7CiAgICAgICAgIHRlc3RGYWlsZWQo
IkNvdWxkIG5vdCBsb2FkIGFjY2Vzc2liaWxpdHkgY29udHJvbGxlciIpOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJp
YS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL2FyaWEtZWxlbWVudC1y
ZWZsZWN0aW9uLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQKaW5kZXggZGNhMzE4YjA5ODUzYWJiYTk3
ZDVkZjc1YmYzNDNiYzE1MzU4N2FjMC4uMTY3ODA2NDcxNjdmNDZhYTVkMGNjMTQ2M2E5M2UyMDBh
MmNkZGNjMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLWV4cGVj
dGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50YXRpdmUtZXhwZWN0ZWQudHh0
CkBAIC05LDEwICs5LDcgQEAgRmlyc3QgZGVzY3JpcHRpb24uCiBTZWNvbmQgZGVzY3JpcHRpb24u
CiBJdGVtIDEKIEl0ZW0gMgotSXRlbSAxCi1JdGVtIDIKIEhlbGxvIHdvcmxkIQotSSBhbSBhbiBh
cHBsZQogSSBhbSBhIHBlYXIKIEkgYW0gYSBiYW5hbmEKIEJpbGxpbmcKQEAgLTQ3LDE3ICs0NCwx
NyBAQCBXb25kZXJmdWwKIEZhbnRhc3RpYwogCiAKLUZBSUwgYXJpYS1hY3RpdmVkZXNjZW5kYW50
IGVsZW1lbnQgcmVmbGVjdGlvbiBhc3NlcnRfZXF1YWxzOiBpbnZhbGlkIElEIGZvciByZWxhdGlv
bnNoaXAgcmV0dXJucyBudWxsIGV4cGVjdGVkIChvYmplY3QpIG51bGwgYnV0IGdvdCAodW5kZWZp
bmVkKSB1bmRlZmluZWQKLUZBSUwgSWYgdGhlIGNvbnRlbnQgYXR0cmlidXRlIGlzIHNldCBkaXJl
Y3RseSwgdGhlIElETCBhdHRyaWJ1dGUgZ2V0dGVyIGFsd2F5cyByZXR1cm5zIHRoZSBmaXJzdCBl
bGVtZW50IHdob3NlIElEIG1hdGNoZXMgdGhlIGNvbnRlbnQgYXR0cmlidXRlLiBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAob2JqZWN0KSBFbGVtZW50IG5vZGUgPGRpdiByb2xlPSJvcHRpb24iIGlk
PSJvcHRpb24xIj5JdGVtIDE8L2Rpdj4gYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZB
SUwgU2V0dGluZyB0aGUgSURMIGF0dHJpYnV0ZSB0byBhbiBlbGVtZW50IHdoaWNoIGlzIG5vdCB0
aGUgZmlyc3QgZWxlbWVudCBpbiBET00gb3JkZXIgd2l0aCBpdHMgSUQgY2F1c2VzIHRoZSBjb250
ZW50IGF0dHJpYnV0ZSB0byBiZSBhbiBlbXB0eSBzdHJpbmcgYXNzZXJ0X3RydWU6IGV4cGVjdGVk
IHRydWUgZ290IGZhbHNlCi1GQUlMIFNldHRpbmcgYW4gZWxlbWVudCByZWZlcmVuY2UgdGhhdCBj
cm9zc2VzIGludG8gYSBzaGFkb3cgdHJlZSBpcyBkaXNhbGxvd2VkLCBidXQgc2V0dGluZyBvbmUg
dGhhdCBpcyBpbiBhIHNoYWRvdyBpbmNsdXNpdmUgYW5jZXN0b3IgaXMgYWxsb3dlZC4gYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgKG9iamVjdCkgbnVsbCBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVm
aW5lZAotRkFJTCBhcmlhLWVycm9ybWVzc2FnZSBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3Ry
aW5nKSAiZXJyb3JNZXNzYWdlIiBidXQgZ290IChvYmplY3QpIG51bGwKK1BBU1MgYXJpYS1hY3Rp
dmVkZXNjZW5kYW50IGVsZW1lbnQgcmVmbGVjdGlvbgorUEFTUyBJZiB0aGUgY29udGVudCBhdHRy
aWJ1dGUgaXMgc2V0IGRpcmVjdGx5LCB0aGUgSURMIGF0dHJpYnV0ZSBnZXR0ZXIgYWx3YXlzIHJl
dHVybnMgdGhlIGZpcnN0IGVsZW1lbnQgd2hvc2UgSUQgbWF0Y2hlcyB0aGUgY29udGVudCBhdHRy
aWJ1dGUuCitQQVNTIFNldHRpbmcgdGhlIElETCBhdHRyaWJ1dGUgdG8gYW4gZWxlbWVudCB3aGlj
aCBpcyBub3QgdGhlIGZpcnN0IGVsZW1lbnQgaW4gRE9NIG9yZGVyIHdpdGggaXRzIElEIGNhdXNl
cyB0aGUgY29udGVudCBhdHRyaWJ1dGUgdG8gYmUgYW4gZW1wdHkgc3RyaW5nCitQQVNTIFNldHRp
bmcgYW4gZWxlbWVudCByZWZlcmVuY2UgdGhhdCBjcm9zc2VzIGludG8gYSBzaGFkb3cgdHJlZSBp
cyBkaXNhbGxvd2VkLCBidXQgc2V0dGluZyBvbmUgdGhhdCBpcyBpbiBhIHNoYWRvdyBpbmNsdXNp
dmUgYW5jZXN0b3IgaXMgYWxsb3dlZC4KK1BBU1MgYXJpYS1lcnJvcm1lc3NhZ2UKIEZBSUwgYXJp
YS1kZXRhaWxzIGFzc2VydF9hcnJheV9lcXVhbHM6IHZhbHVlIGlzIHVuZGVmaW5lZCwgZXhwZWN0
ZWQgYXJyYXkKLUZBSUwgRGVsZXRpbmcgYSByZWZsZWN0ZWQgZWxlbWVudCBzaG91bGQgcmV0dXJu
IG51bGwgZm9yIHRoZSBJREwgYXR0cmlidXRlIGFuZCBjYXVzZSB0aGUgY29udGVudCBhdHRyaWJ1
dGUgdG8gYmVjb21lIHN0YWxlLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAob2JqZWN0KSBFbGVt
ZW50IG5vZGUgPGRpdiByb2xlPSJvcHRpb24iIGlkPSJjb250ZW50QXR0ckVsZW1lbnQiPkl0ZW0g
MTwvZGl2PiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJTCBDaGFuZ2luZyB0aGUg
SUQgb2YgYW4gZWxlbWVudCBjYXVzZXMgdGhlIGNvbnRlbnQgYXR0cmlidXRlIHRvIGJlY29tZSBv
dXQgb2Ygc3luYy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKG9iamVjdCkgRWxlbWVudCBub2Rl
IDxkaXYgcm9sZT0ib3B0aW9uIiBpZD0iY2hhbmdpbmdJZEVsZW1lbnQiPkl0ZW0gMTwvZGl2PiBi
dXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJTCBSZXBhcmVudGluZyBhbiBlbGVtZW50
IGludG8gYSBkZXNjZW5kYW50IHNoYWRvdyBzY29wZSBoaWRlcyB0aGUgZWxlbWVudCByZWZlcmVu
Y2UuIGFzc2VydF9lcXVhbHM6IG51bGwgYmVmb3JlIGV4cGVjdGVkIChvYmplY3QpIG51bGwgYnV0
IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgUmVwYXJlbnRpbmcgcmVmZXJlbmNlZCBl
bGVtZW50IGNhbm5vdCBjYXVzZSByZXRhcmdldGluZyBvZiByZWZlcmVuY2UuIGFzc2VydF9lcXVh
bHM6IGV4cGVjdGVkIChzdHJpbmcpICJhcHBsZSIgYnV0IGdvdCAob2JqZWN0KSBudWxsCi1GQUlM
IEVsZW1lbnQgcmVmZXJlbmNlIHNldCBpbiBpbnZhbGlkIHNjb3BlIHJlbWFpbnMgaW50YWN0IHRo
cm91Z2hvdXQgbW92ZSB0byB2YWxpZCBzY29wZS4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgbnVs
bCBidXQgZ290IEVsZW1lbnQgbm9kZSA8ZGl2IGlkPSJ0b2FzdCI+PC9kaXY+CitQQVNTIERlbGV0
aW5nIGEgcmVmbGVjdGVkIGVsZW1lbnQgc2hvdWxkIHJldHVybiBudWxsIGZvciB0aGUgSURMIGF0
dHJpYnV0ZSBhbmQgY2F1c2UgdGhlIGNvbnRlbnQgYXR0cmlidXRlIHRvIGJlY29tZSBzdGFsZS4K
K1BBU1MgQ2hhbmdpbmcgdGhlIElEIG9mIGFuIGVsZW1lbnQgY2F1c2VzIHRoZSBjb250ZW50IGF0
dHJpYnV0ZSB0byBiZWNvbWUgb3V0IG9mIHN5bmMuCitQQVNTIFJlcGFyZW50aW5nIGFuIGVsZW1l
bnQgaW50byBhIGRlc2NlbmRhbnQgc2hhZG93IHNjb3BlIGhpZGVzIHRoZSBlbGVtZW50IHJlZmVy
ZW5jZS4KK1BBU1MgUmVwYXJlbnRpbmcgcmVmZXJlbmNlZCBlbGVtZW50IGNhbm5vdCBjYXVzZSBy
ZXRhcmdldGluZyBvZiByZWZlcmVuY2UuCitQQVNTIEVsZW1lbnQgcmVmZXJlbmNlIHNldCBpbiBp
bnZhbGlkIHNjb3BlIHJlbWFpbnMgaW50YWN0IHRocm91Z2hvdXQgbW92ZSB0byB2YWxpZCBzY29w
ZS4KIEZBSUwgYXJpYS1sYWJlbGxlZGJ5LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiBwYXJzZWQgY29u
dGVudCBhdHRyaWJ1dGUgc2V0cyBlbGVtZW50IHJlZmVyZW5jZXMuIHZhbHVlIGlzIHVuZGVmaW5l
ZCwgZXhwZWN0ZWQgYXJyYXkKIEZBSUwgYXJpYS1jb250cm9scy4gYXNzZXJ0X2FycmF5X2VxdWFs
czogdmFsdWUgaXMgdW5kZWZpbmVkLCBleHBlY3RlZCBhcnJheQogRkFJTCBhcmlhLWRlc2NyaWJl
ZGJ5LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBpcyB1bmRlZmluZWQsIGV4cGVjdGVkIGFy
cmF5CkBAIC02Nyw2ICs2NCw3IEBAIEZBSUwgc2hhZG93IERPTSBiZWhhdmlvdXIgZm9yIEZyb3pl
bkFycmF5IGVsZW1lbnQgcmVmbGVjdGlvbi4gYXNzZXJ0X2FycmF5X2VxdWFsCiBGQUlMIE1vdmlu
ZyBleHBsaWNpdGx5IHNldCBlbGVtZW50cyBhY3Jvc3Mgc2hhZG93IERPTSBib3VuZGFyaWVzLiBh
c3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAiYnV0dG9uRGVzY3JpcHRpb24xIGJ1dHRv
bkRlc2NyaXB0aW9uMiIgYnV0IGdvdCAob2JqZWN0KSBudWxsCiBGQUlMIE1vdmluZyBleHBsaWNp
dGx5IHNldCBlbGVtZW50cyBhcm91bmQgd2l0aGluIHRoZSBzYW1lIHNjb3BlLCBhbmQgcmVtb3Zp
bmcgZnJvbSB0aGUgRE9NLiBhc3NlcnRfYXJyYXlfZXF1YWxzOiBhcmlhLWxhYmVsZWQgYnkgaXMg
c3VwcG9ydGVkIGJ5IElETCBnZXR0ZXIuIHZhbHVlIGlzIHVuZGVmaW5lZCwgZXhwZWN0ZWQgYXJy
YXkKIFBBU1MgUmVwYXJlbnRpbmcuCi1GQUlMIEF0dGFjaGluZyBlbGVtZW50IHJlZmVyZW5jZSBi
ZWZvcmUgaXQncyBpbnNlcnRlZCBpbnRvIHRoZSBET00uIGFzc2VydF9lcXVhbHM6IFJlZmVyZW5j
ZWQgZWxlbWVudCBub3QgaW5zZXJ0ZWQgaW50byBkb2N1bWVudCwgc28gaXMgaW4gYW4gaW52YWxp
ZCBzY29wZS4gZXhwZWN0ZWQgbnVsbCBidXQgZ290IEVsZW1lbnQgbm9kZSA8c3BhbiBpZD0idG9T
cGFuIj48L3NwYW4+Ci1GQUlMIENyb3NzLWRvY3VtZW50IHJlZmVyZW5jZXMgYW5kIG1vdmVzLiBh
c3NlcnRfZXF1YWxzOiBDcm9zcy1kb2N1bWVudCBpcyBhbiBpbnZhbGlkIHNjb3BlLCBzbyByZWZl
cmVuY2Ugd2lsbCBub3QgYmUgdmlzaWJsZS4gZXhwZWN0ZWQgbnVsbCBidXQgZ290IEVsZW1lbnQg
bm9kZSA8c3Bhbj48L3NwYW4+CitQQVNTIEF0dGFjaGluZyBlbGVtZW50IHJlZmVyZW5jZSBiZWZv
cmUgaXQncyBpbnNlcnRlZCBpbnRvIHRoZSBET00uCitQQVNTIENyb3NzLWRvY3VtZW50IHJlZmVy
ZW5jZXMgYW5kIG1vdmVzLgorUEFTUyBBZG9wdGluZyBlbGVtZW50IGtlZXBzIHJlZmVyZW5jZXMu
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZG9tL25vZGVzL2FyaWEtZWxlbWVudC1yZWZsZWN0aW9uLnRlbnRhdGl2ZS5odG1sIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1l
bGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLmh0bWwKaW5kZXggNzc2ZmZmMzE0MzIyYjkwMDRl
MWU2NzgzYzYyNmMwMzU2Y2E4ZjBhNy4uZjc0OGRlMWVjMWY5NTlmZjhlMzQ1ZDNhOWI1M2EwMGQz
NzM3MDE4NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9k
ZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLmh0bWwKQEAgLTE2NCw2ICsxNjQs
NyBAQAogICA8c2NyaXB0PgogCiAgIHRlc3QoZnVuY3Rpb24odCkgeworICAgIGNvbnN0IGNvbnRl
bnRBdHRyRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250ZW50QXR0ckVsZW1l
bnQiKTsKICAgICBjb25zdCBpZGxBdHRyRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJpZGxBdHRyRWxlbWVudCIpOwogCiAgICAgYXNzZXJ0X2VxdWFscyhkZWxldGlvblBhcmVudC5n
ZXRBdHRyaWJ1dGUoImFyaWEtYWN0aXZlZGVzY2VuZGFudCIpLCAiY29udGVudEF0dHJFbGVtZW50
Iik7CkBAIC03MDcsNiArNzA4LDI0IEBACiAgICAgfSwgIkNyb3NzLWRvY3VtZW50IHJlZmVyZW5j
ZXMgYW5kIG1vdmVzLiIpOwogICA8L3NjcmlwdD4KIAorCisgIDxzY3JpcHQ+CisgICAgdGVzdChm
dW5jdGlvbih0KSB7CisgICAgICBjb25zdCBvdGhlckRvYyA9IGRvY3VtZW50LmltcGxlbWVudGF0
aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgnb3RoZXJEb2MnKTsKKyAgICAgIGNvbnN0IG90aGVyRG9j
RGl2ID0gb3RoZXJEb2MuY3JlYXRlRWxlbWVudCgnZGl2Jyk7CisgICAgICBjb25zdCBvdGhlckRv
Y1NwYW4gPSBvdGhlckRvYy5jcmVhdGVFbGVtZW50KCdzcGFuJyk7CisgICAgICBvdGhlckRvY0Rp
di5hcHBlbmRDaGlsZChvdGhlckRvY1NwYW4pOworICAgICAgb3RoZXJEb2MuYm9keS5hcHBlbmRD
aGlsZChvdGhlckRvY0Rpdik7CisKKyAgICAgIG90aGVyRG9jRGl2LmFyaWFBY3RpdmVEZXNjZW5k
YW50RWxlbWVudCA9IG90aGVyRG9jU3BhbjsKKyAgICAgIGFzc2VydF9lcXVhbHMob3RoZXJEb2NE
aXYuYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50LCBvdGhlckRvY1NwYW4sICJTZXR0aW5nIHJl
ZmVyZW5jZSBvbiBhIGRpZmZlcmVudCBkb2N1bWVudC4iKTsKKworICAgICAgLy8gQWRvcHQgZWxl
bWVudCBmcm9tIG90aGVyIG9kdWNtZW50LgorICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChkb2N1bWVudC5hZG9wdE5vZGUob3RoZXJEb2NEaXYpKTsKKyAgICAgIGFzc2VydF9lcXVhbHMo
b3RoZXJEb2NEaXYuYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50LCBvdGhlckRvY1NwYW4sICJS
ZWZlcmVuY2Ugc2hvdWxkIGJlIGtlcHQgb24gdGhlIG5ldyBkb2N1bWVudCB0b28uIik7CisgICAg
fSwgIkFkb3B0aW5nIGVsZW1lbnQga2VlcHMgcmVmZXJlbmNlcy4iKTsKKyAgPC9zY3JpcHQ+CisK
ICAgPCEtLSBUT0RPKGNocmlzaGFsbCk6IGFkZCBhZGRpdGlvbmFsIEdDIHRlc3QgY292ZXJpbmc6
CiAgICAgICAgaWYgYW4gZWxlbWVudCBpcyBpbiBhbiBpbnZhbGlkIHNjb3BlIGJ1dCBhdHRhY2hl
ZCB0byB0aGUgZG9jdW1lbnQsIGl0J3MKICAgICAgICBub3QgR0MnZDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458904</attachid>
            <date>2022-05-05 12:38:16 -0700</date>
            <delta_ts>2022-05-05 15:11:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239852-20220505213814.patch</filename>
            <type>text/plain</type>
            <size>51480</size>
            <attacher name="Manuel Rego Casasnovas">rego</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzNzk2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDdkMTI5YzM1OTE5ODAzYmM1NDgxNDZi
ODc1MjY0MWE3NzQ0MWJjZDUuLjBkYmIyZmE0MWU5MTNjNzQ3YzQ4ZThjY2E4OTM2NTU2OTE5Mjk4
NGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjItMDUtMDQgIE1hbnVlbCBSZWdvIENhc2Fzbm92
YXMgIDxyZWdvQGlnYWxpYS5jb20+CisKKyAgICAgICAgQVJJQSByZWZsZWN0aW9uIGZvciBFbGVt
ZW50IGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTIzOTg1MgorCisgICAgICAgIFJldmlld2VkIGJ5IENocmlzIER1bWV6LgorCisgICAg
ICAgIEFkZCBuZXcgcnVudGltZSBmbGFnIEFyaWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5j
ZXNFbmFibGVkLgorCisgICAgICAgICogU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNl
c0V4cGVyaW1lbnRhbC55YW1sOgorCiAyMDIyLTA1LTA0ICBCcmVudCBGdWxnaGFtICA8YmZ1bGdo
YW1AYXBwbGUuY29tPgogCiAgICAgICAgIFJlbW92ZSBkZXByZWNhdGVkICdKYXZhRW5hYmxlZCcg
ZmVhdHVyZSBmbGFnIGFuZCByZWxhdGVkIGNvZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2NTk1NTAyZDhjZmNm
NWI4ZTI1MzgzOGE4NjQ1MDAzYzliYzU5MWE3Li4zOGYwZTgyYmMwMzliZDk0NThjMzcxNTNhNjQy
ZWE0YjEyN2Y0ZTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjMgQEAKKzIwMjItMDUtMDQgIE1h
bnVlbCBSZWdvIENhc2Fzbm92YXMgIDxyZWdvQGlnYWxpYS5jb20+CisKKyAgICAgICAgQVJJQSBy
ZWZsZWN0aW9uIGZvciBFbGVtZW50IGF0dHJpYnV0ZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzOTg1MgorCisgICAgICAgIFJldmlld2VkIGJ5IENo
cmlzIER1bWV6LgorCisgICAgICAgIEltcGxlbWVudCBBUklBIHJlZmxlY3Rpb24gZm9yIGF0dHJp
YnV0ZXMgdGhhdCByZWZlciB0byBhIHNpbmdsZSBFbGVtZW50OgorICAgICAgICBhcmlhLWFjdGl2
ZWRlc2NlbmRhbnQgJiBhcmlhLWVycm9ybWVzc2FnZS4KKyAgICAgICAgRm9yIHRoZSBwcm9wZXJ0
aWVzIG5hbWVzIHRoaXMgcGF0Y2ggdXNlcyAiRWxlbWVudCIgc3VmZml4OgorICAgICAgICBhcmlh
QWN0aXZlRGVzY2VuZGFudEVsZW1lbnQgJiBhcmlhRXJyb3JNZXNzYWdlRWxlbWVudDsKKyAgICAg
ICAgdGhpcyBtYXRjaGVzIENocm9taXVtIGltcGxlbWVudGF0aW9uIGFuZCBBT00gZXhwbGFpbmVy
LCBidXQgbm90IEFPTSBzcGVjOgorICAgICAgICBodHRwczovL2dpdGh1Yi5jb20vdzNjL2FyaWEv
aXNzdWVzLzE3MzIKKworICAgICAgICBUaGlzIGltcGxlbWVudGF0aW9uIGlzIGRvbmUgZm9sbG93
aW5nIHRoZSBwcm9wb3NlZCBzcGVjIHRleHQgZGVmaW5lZCBhdDoKKyAgICAgICAgaHR0cHM6Ly9n
aXRodWIuY29tL3doYXR3Zy9odG1sL3B1bGwvMzkxNworCisgICAgICAgICogYWNjZXNzaWJpbGl0
eS9BcmlhQXR0cmlidXRlcy5pZGw6IEFkZCBhcmlhQWN0aXZlRGVzY2VuZGFudEVsZW1lbnQgJgor
ICAgICAgICBhcmlhRXJyb3JNZXNzYWdlRWxlbWVudC4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3Jp
cHRzL0NvZGVHZW5lcmF0b3IucG06CisgICAgICAgIChHZXR0ZXJFeHByZXNzaW9uKTogQWRkIGZ1
bmN0aW9uIGZvciBFbGVtZW50IGF0dHJpYnV0ZXMuCisgICAgICAgIChTZXR0ZXJFeHByZXNzaW9u
KTogRGl0dG8uCisgICAgICAgICogYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE9iai5j
cHA6IEFkZCB0ZXN0cyBmb3IgZWxlbWVudAorICAgICAgICBhdHRyaWJ1dGUgcmVmbGVjdGlvbi4K
KyAgICAgICAgKFdlYkNvcmU6OkpTVGVzdE9iakRPTUNvbnN0cnVjdG9yOjpjb25zdHJ1Y3QpOgor
ICAgICAgICAoV2ViQ29yZTo6anNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRyR2V0dGVyKToK
KyAgICAgICAgKFdlYkNvcmU6OkpTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUik6CisgICAgICAgIChX
ZWJDb3JlOjpzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0dHJTZXR0ZXIpOgorICAgICAg
ICAoV2ViQ29yZTo6SlNDX0RFRklORV9DVVNUT01fU0VUVEVSKToKKyAgICAgICAgKiBiaW5kaW5n
cy9zY3JpcHRzL3Rlc3QvVGVzdE9iai5pZGw6IEFkZCByZWZsZWN0ZWRFbGVtZW50QXR0cgorICAg
ICAgICBhdHRyaWJ1dGUuCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6aXNFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0ZSk6IFV0aWxpdHkgZnVuY3Rpb24gdG8g
aWRlbnRpZnkKKyAgICAgICAgRWxlbWVudCByZWZsZWN0aW9uIGF0dHJpYnV0ZXMuCisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKTogSWYgYW4gZWxlbWVudCByZWZs
ZWN0aW9uCisgICAgICAgIGF0dHJpYnV0ZSBoYXMgY2hhbmdlZCB3ZSBuZWVkIHRvIHN5bmNocm9u
aXplIHRoZSBtYXAgZW50cnkgYnkgcmVtb3ZpbmcKKyAgICAgICAgaXQgYXMgaXQnbGwgYmUgcHJv
cGVybHkgdXBkYXRlZCBpbiBzZXRFbGVtZW50QXR0cmlidXRlKCkgd2hlbiBuZWVkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpFbGVtZW50OjpleHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKTogS2lu
ZCBvZiBnZXR0ZXIKKyAgICAgICAgZm9yIHRoZSBFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFw
IGJ1dCB0aGF0IGNyZWF0ZXMgdGhlIG1hcCBpZiBpdAorICAgICAgICBkb2Vzbid0IGV4aXN0IHll
dC4KKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNN
YXBJZkV4aXN0cyBjb25zdCk6CisgICAgICAgIEdldHRlciBmb3IgdGhlIG1hcC4KKyAgICAgICAg
KFdlYkNvcmU6OkVsZW1lbnQ6OmdldEVsZW1lbnRBdHRyaWJ1dGUgY29uc3QpOiBJbXBsZW1lbnQg
Z2V0dGVyIGZvcgorICAgICAgICBlbGVtZW50IGF0dHJpYnV0ZS4KKyAgICAgICAgKFdlYkNvcmU6
OkVsZW1lbnQ6OnNldEVsZW1lbnRBdHRyaWJ1dGUpOiBJbXBsZW1lbnQgc2V0dGVyIGZvcgorICAg
ICAgICBlbGVtZW50IGF0dHJpYnV0ZS4KKyAgICAgICAgKiBkb20vRWxlbWVudC5oOiBBZGQgbmV3
IG1ldGhvZCBoZWFkZXJzIGFuZCBkZWZpbmVzIHRoZQorICAgICAgICBFeHBsaWNpdGx5U2V0QXR0
ckVsZW1lbnRzTWFwLCB3aGljaCBzbyBmYXIgb25seSBzdG9yZXMgb25lIEVsZW1lbnQgaW4KKyAg
ICAgICAgdGhlIFZlY3RvciwgYnV0IHVzZXMgYSBWZWN0b3IgaW4gcHJlcGFyYXRpb24gZm9yIHN1
cHBvcnRpbmcKKyAgICAgICAgRnJvemVuQXJyYXk8RWxlbWVudD4gcmVmbGVjdGlvbiBpbiB0aGUg
ZnV0dXJlLgorICAgICAgICAqIGRvbS9FbGVtZW50UmFyZURhdGEuY3BwOiBVcGRhdGUgc2l6ZSBv
ZiBTYW1lU2l6ZUFzRWxlbWVudFJhcmVEYXRhIHRvCisgICAgICAgIGluY2x1ZGUgdGhlIG5ldyBw
b2ludGVyLgorICAgICAgICAqIGRvbS9FbGVtZW50UmFyZURhdGEuaDogQWRkIG1fZXhwbGljaXRs
eVNldEF0dHJFbGVtZW50c01hcCBhdHRyaWJ1dGUuCisgICAgICAgIChXZWJDb3JlOjpFbGVtZW50
UmFyZURhdGE6OmV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXApOiBHZXR0ZXIuCisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50UmFyZURhdGE6OnVzZVR5cGVzIGNvbnN0KTpJbmNsdWRlCisgICAg
ICAgIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAuCisgICAgICAgICogZG9tL05vZGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6c3RyaW5nRm9yUmFyZURhdGFVc2VUeXBlKTogQWRkIEV4cGxp
Y2l0bHlTZXRBdHRyRWxlbWVudHNNYXAuCisgICAgICAgICogZG9tL05vZGVSYXJlRGF0YS5oOiBE
aXR0by4KKwogMjAyMi0wNS0wNCAgTWljaGFlbCBTYWJvZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4K
IAogICAgICAgICBbTWFjXSBXZWJDb3JlIHNob3VsZCBzZWFyY2ggc3lzdGVtIGNvbnRlbnQgcGF0
aCBmb3IgbmVzdGVkIEZyYW1ld29ya3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIGIvU291cmNlL1dURi9T
Y3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKaW5kZXgg
ZGY4ZjgxMjIxOTg3NGE4Y2MxNTU4YjRhMWY4OGI5NWQxMjJhODYzNS4uZmQzMDZmYjI5MTJlMTMw
NTk4NGFmOGNlZTEyOTA2YTY4N2NlMmNiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKKysrIGIvU291cmNl
L1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwK
QEAgLTY2LDYgKzY2LDE4IEBAIEFjY2Vzc2liaWxpdHlPYmplY3RNb2RlbEVuYWJsZWQ6CiAgICAg
V2ViS2l0OgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorQXJpYVJlZmxlY3Rpb25Gb3JFbGVtZW50
UmVmZXJlbmNlc0VuYWJsZWQ6CisgIHR5cGU6IGJvb2wKKyAgaHVtYW5SZWFkYWJsZU5hbWU6ICJB
UklBIFJlZmxlY3Rpb24gZm9yIEVsZW1lbnQgUmVmZXJlbmNlcyIKKyAgaHVtYW5SZWFkYWJsZURl
c2NyaXB0aW9uOiAiRW5hYmxlIEFSSUEgcmVmbGVjdGlvbiBmb3IgYXR0cmlidXRlcyB0aGF0IHJl
ZmVyIHRvIGVsZW1lbnRzIgorICBkZWZhdWx0VmFsdWU6CisgICAgV2ViS2l0TGVnYWN5OgorICAg
ICAgZGVmYXVsdDogZmFsc2UKKyAgICBXZWJLaXQ6CisgICAgICBkZWZhdWx0OiBmYWxzZQorICAg
IFdlYkNvcmU6CisgICAgICBkZWZhdWx0OiBmYWxzZQorCiBBc3BlY3RSYXRpb0VuYWJsZWQ6CiAg
IHR5cGU6IGJvb2wKICAgaHVtYW5SZWFkYWJsZU5hbWU6ICJDU1MgQXNwZWN0IFJhdGlvIgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BcmlhQXR0cmlidXRlcy5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FyaWFBdHRyaWJ1dGVzLmlkbAppbmRleCA1
YmU1ZTQ2ZjhjNTk2YWM0NjgzM2ZkYzEyNGZhMGU3MDMxMzhlMzg1Li40YzY2MGJhMTgwMjE5YWEz
ZmNiYjY2Mjg0ZjUzMDgwOWM0ZjdjYmE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L0FyaWFBdHRyaWJ1dGVzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L0FyaWFBdHRyaWJ1dGVzLmlkbApAQCAtMjUsNiArMjUsNyBAQAogCiAvLyBodHRwczov
L3dpY2cuZ2l0aHViLmlvL2FvbS9zcGVjL2FyaWEtcmVmbGVjdGlvbi5odG1sI0FyaWFBdHRyaWJ1
dGVzCiBpbnRlcmZhY2UgbWl4aW4gQXJpYUF0dHJpYnV0ZXMgeworICAgIFtSZWZsZWN0PWFyaWFf
YWN0aXZlZGVzY2VuZGFudCwgRW5hYmxlZEJ5U2V0dGluZz1BcmlhUmVmbGVjdGlvbkZvckVsZW1l
bnRSZWZlcmVuY2VzRW5hYmxlZF0gYXR0cmlidXRlIEVsZW1lbnQ/IGFyaWFBY3RpdmVEZXNjZW5k
YW50RWxlbWVudDsKICAgICBbUmVmbGVjdD1hcmlhX2F0b21pY10gICAgICAgICAgIGF0dHJpYnV0
ZSBbQXRvbVN0cmluZ10gRE9NU3RyaW5nPyBhcmlhQXRvbWljOwogICAgIFtSZWZsZWN0PWFyaWFf
YXV0b2NvbXBsZXRlXSAgICAgYXR0cmlidXRlIFtBdG9tU3RyaW5nXSBET01TdHJpbmc/IGFyaWFB
dXRvQ29tcGxldGU7CiAgICAgW1JlZmxlY3Q9YXJpYV9idXN5XSAgICAgICAgICAgICBhdHRyaWJ1
dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUJ1c3k7CkBAIC0zNCw2ICszNSw3IEBAIGlu
dGVyZmFjZSBtaXhpbiBBcmlhQXR0cmlidXRlcyB7CiAgICAgW1JlZmxlY3Q9YXJpYV9jb2xzcGFu
XSAgICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUNvbFNwYW47
CiAgICAgW1JlZmxlY3Q9YXJpYV9jdXJyZW50XSAgICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJp
bmddIERPTVN0cmluZz8gYXJpYUN1cnJlbnQ7CiAgICAgW1JlZmxlY3Q9YXJpYV9kaXNhYmxlZF0g
ICAgICAgICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYURpc2FibGVkOwor
ICAgIFtSZWZsZWN0PWFyaWFfZXJyb3JtZXNzYWdlLCBFbmFibGVkQnlTZXR0aW5nPUFyaWFSZWZs
ZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5jZXNFbmFibGVkXSBhdHRyaWJ1dGUgRWxlbWVudD8gYXJp
YUVycm9yTWVzc2FnZUVsZW1lbnQ7CiAgICAgW1JlZmxlY3Q9YXJpYV9leHBhbmRlZF0gICAgICAg
ICBhdHRyaWJ1dGUgW0F0b21TdHJpbmddIERPTVN0cmluZz8gYXJpYUV4cGFuZGVkOwogICAgIFtS
ZWZsZWN0PWFyaWFfaGFzcG9wdXBdICAgICAgICAgYXR0cmlidXRlIFtBdG9tU3RyaW5nXSBET01T
dHJpbmc/IGFyaWFIYXNQb3B1cDsKICAgICBbUmVmbGVjdD1hcmlhX2hpZGRlbl0gICAgICAgICAg
IGF0dHJpYnV0ZSBbQXRvbVN0cmluZ10gRE9NU3RyaW5nPyBhcmlhSGlkZGVuOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9yLnBtCmluZGV4IDcxYjM2
YmNlNTUzY2MxZTRkZjM5OTZkMmJkNGEyOGFlZDA3YTJjOTIuLmI4ZDdhNGYwYmJmZjlkODFlNDUx
ZmE1MjU1ZjRkMzA2Yzc2Y2M2ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvQ29kZUdlbmVyYXRvci5wbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3IucG0KQEAgLTExMDgsNiArMTEwOCw4IEBAIHN1YiBHZXR0ZXJF
eHByZXNzaW9uCiAgICAgICAgICRmdW5jdGlvbk5hbWUgPSAiZ2V0SW50ZWdyYWxBdHRyaWJ1dGUi
OwogICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGVUeXBlLT5uYW1lIGVxICJ1bnNpZ25lZCBsb25nIikg
ewogICAgICAgICAkZnVuY3Rpb25OYW1lID0gImdldFVuc2lnbmVkSW50ZWdyYWxBdHRyaWJ1dGUi
OworICAgIH0gZWxzaWYgKCRhdHRyaWJ1dGVUeXBlLT5uYW1lIGVxICJFbGVtZW50IikgeworICAg
ICAgICAkZnVuY3Rpb25OYW1lID0gImdldEVsZW1lbnRBdHRyaWJ1dGUiOwogICAgIH0gZWxzZSB7
CiAgICAgICAgIGlmICgkY29udGVudEF0dHJpYnV0ZU5hbWUgZXEgIldlYkNvcmU6OkhUTUxOYW1l
czo6aWRBdHRyIikgewogICAgICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICJnZXRJZEF0dHJpYnV0
ZSI7CkBAIC0xMTQ1LDYgKzExNDcsOCBAQCBzdWIgU2V0dGVyRXhwcmVzc2lvbgogICAgICAgICAk
ZnVuY3Rpb25OYW1lID0gInNldEludGVncmFsQXR0cmlidXRlIjsKICAgICB9IGVsc2lmICgkYXR0
cmlidXRlVHlwZS0+bmFtZSBlcSAidW5zaWduZWQgbG9uZyIpIHsKICAgICAgICAgJGZ1bmN0aW9u
TmFtZSA9ICJzZXRVbnNpZ25lZEludGVncmFsQXR0cmlidXRlIjsKKyAgICB9IGVsc2lmICgkYXR0
cmlidXRlVHlwZS0+bmFtZSBlcSAiRWxlbWVudCIpIHsKKyAgICAgICAgJGZ1bmN0aW9uTmFtZSA9
ICJzZXRFbGVtZW50QXR0cmlidXRlIjsKICAgICB9IGVsc2lmICgkZ2VuZXJhdG9yLT5Jc1NWR0Fu
aW1hdGVkVHlwZSgkYXR0cmlidXRlVHlwZSkpIHsKICAgICAgICAgJGZ1bmN0aW9uTmFtZSA9ICJz
ZXRBdHRyaWJ1dGUiOwogICAgIH0gZWxzZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0T2JqLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCmluZGV4IGYzNDMyNmM0YmMzNTg4
YzQ1YmY5ZTgwZDdkNTk0MmM3NTc4NGE5MWYuLjUxY2I4ZjNkOGMzOThiNmIwMmZmYmQ5YzE0M2Fj
Y2M4ZDhhYjFiMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RPYmouY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RPYmouY3BwCkBAIC0xODAzLDYgKzE4MDMsOCBAQCBzdGF0aWMgSlND
X0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVmbGVjdGVkVW5zaWduZWRJbnRlZ3Jh
bEF0dHIpOwogc3RhdGljIEpTQ19ERUNMQVJFX0NVU1RPTV9TRVRURVIoc2V0SlNUZXN0T2JqX3Jl
ZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyKTsKIHN0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01f
R0VUVEVSKGpzVGVzdE9ial9yZWZsZWN0ZWRCb29sZWFuQXR0cik7CiBzdGF0aWMgSlNDX0RFQ0xB
UkVfQ1VTVE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkQm9vbGVhbkF0dHIpOworc3Rh
dGljIEpTQ19ERUNMQVJFX0NVU1RPTV9HRVRURVIoanNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRB
dHRyKTsKK3N0YXRpYyBKU0NfREVDTEFSRV9DVVNUT01fU0VUVEVSKHNldEpTVGVzdE9ial9yZWZs
ZWN0ZWRFbGVtZW50QXR0cik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX0dFVFRFUihqc1Rl
c3RPYmpfcmVmbGVjdGVkVVJMQXR0cik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VTVE9NX1NFVFRF
UihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVVJMQXR0cik7CiBzdGF0aWMgSlNDX0RFQ0xBUkVfQ1VT
VE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVmbGVjdGVkVVNWVVJMQXR0cik7CkBAIC0yMTc1LDYgKzIx
NzcsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0T2JqUHJvdG90eXBlVGFi
bGVWYWx1ZXNbXSA9CiAgICAgeyAicmVmbGVjdGVkSW50ZWdyYWxBdHRyIiwgc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90
KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpfcmVmbGVj
dGVkSW50ZWdyYWxBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6
OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3JlZmxlY3RlZEludGVncmFsQXR0cikgfSB9LAog
ICAgIHsgInJlZmxlY3RlZFVuc2lnbmVkSW50ZWdyYWxBdHRyIiwgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRp
Y19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpfcmVmbGVjdGVkVW5z
aWduZWRJbnRlZ3JhbEF0dHIpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xv
dDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkVW5zaWduZWRJbnRlZ3JhbEF0
dHIpIH0gfSwKICAgICB7ICJyZWZsZWN0ZWRCb29sZWFuQXR0ciIsIHN0YXRpY19jYXN0PHVuc2ln
bmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0
aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0T2JqX3JlZmxlY3RlZEJv
b2xlYW5BdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZh
bHVlRnVuYz4oc2V0SlNUZXN0T2JqX3JlZmxlY3RlZEJvb2xlYW5BdHRyKSB9IH0sCisgICAgeyAi
cmVmbGVjdGVkRWxlbWVudEF0dHIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6Q3VzdG9tQWNjZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpET01B
dHRyaWJ1dGUpLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlT
bG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0ciksIChpbnRw
dHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVz
dE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0cikgfSB9LAogICAgIHsgInJlZmxlY3RlZFVSTEF0dHIi
LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6Q3VzdG9tQWNj
ZXNzb3IgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpET01BdHRyaWJ1dGUpLCBOb0ludHJpbnNp
YywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpz
VGVzdE9ial9yZWZsZWN0ZWRVUkxBdHRyKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9w
ZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0T2JqX3JlZmxlY3RlZFVSTEF0dHIpIH0g
fSwKICAgICB7ICJyZWZsZWN0ZWRVU1ZVUkxBdHRyIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OkN1c3RvbUFjY2Vzc29yIHwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6RE9NQXR0cmlidXRlKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0
PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RPYmpfcmVmbGVjdGVkVVNWVVJMQXR0
ciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+
KHNldEpTVGVzdE9ial9yZWZsZWN0ZWRVU1ZVUkxBdHRyKSB9IH0sCiAgICAgeyAicmVmbGVjdGVk
U3RyaW5nQXR0ciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRl
OjpDdXN0b21BY2Nlc3NvciB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRPTUF0dHJpYnV0ZSks
IE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZh
bHVlRnVuYz4oanNUZXN0T2JqX3JlZmxlY3RlZFN0cmluZ0F0dHIpLCAoaW50cHRyX3QpIHN0YXRp
Y19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RPYmpfcmVmbGVj
dGVkU3RyaW5nQXR0cikgfSB9LApAQCAtMzkxOCw2ICszOTIxLDM3IEBAIEpTQ19ERUZJTkVfQ1VT
VE9NX1NFVFRFUihzZXRKU1Rlc3RPYmpfcmVmbGVjdGVkQm9vbGVhbkF0dHIsIChKU0dsb2JhbE9i
amVjdCogbGV4CiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RPYmo+OjpzZXQ8c2V0SlNU
ZXN0T2JqX3JlZmxlY3RlZEJvb2xlYW5BdHRyU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwg
dGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsIGF0dHJpYnV0ZU5hbWUpOwogfQogCitzdGF0aWMgaW5s
aW5lIEpTVmFsdWUganNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRyR2V0dGVyKEpTR2xvYmFs
T2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RPYmomIHRoaXNPYmplY3QpCit7Cisg
ICAgYXV0byYgdm0gPSBKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKKyAgICBhdXRv
IHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAgICBhdXRvJiBpbXBsID0g
dGhpc09iamVjdC53cmFwcGVkKCk7CisgICAgUkVMRUFTRV9BTkRfUkVUVVJOKHRocm93U2NvcGUs
ICh0b0pTPElETEludGVyZmFjZTxFbGVtZW50Pj4obGV4aWNhbEdsb2JhbE9iamVjdCwgKnRoaXNP
YmplY3QuZ2xvYmFsT2JqZWN0KCksIHRocm93U2NvcGUsIGltcGwuZ2V0RWxlbWVudEF0dHJpYnV0
ZShXZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RlZGVsZW1lbnRhdHRyQXR0cikpKSk7Cit9CisK
K0pTQ19ERUZJTkVfQ1VTVE9NX0dFVFRFUihqc1Rlc3RPYmpfcmVmbGVjdGVkRWxlbWVudEF0dHIs
IChKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhp
c1ZhbHVlLCBQcm9wZXJ0eU5hbWUgYXR0cmlidXRlTmFtZSkpCit7CisgICAgcmV0dXJuIElETEF0
dHJpYnV0ZTxKU1Rlc3RPYmo+OjpnZXQ8anNUZXN0T2JqX3JlZmxlY3RlZEVsZW1lbnRBdHRyR2V0
dGVyLCBDYXN0ZWRUaGlzRXJyb3JCZWhhdmlvcjo6QXNzZXJ0PigqbGV4aWNhbEdsb2JhbE9iamVj
dCwgdGhpc1ZhbHVlLCBhdHRyaWJ1dGVOYW1lKTsKK30KKworc3RhdGljIGlubGluZSBib29sIHNl
dEpTVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0clNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4
aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0T2JqJiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlKQor
eworICAgIGF1dG8mIHZtID0gSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCk7CisgICAg
YXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7CisgICAgYXV0byYgaW1w
bCA9IHRoaXNPYmplY3Qud3JhcHBlZCgpOworICAgIGF1dG8gbmF0aXZlVmFsdWUgPSBjb252ZXJ0
PElETEludGVyZmFjZTxFbGVtZW50Pj4obGV4aWNhbEdsb2JhbE9iamVjdCwgdmFsdWUsIFtdKEpT
Qzo6SlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6VGhyb3dTY29wZSYg
c2NvcGUpIHsgdGhyb3dBdHRyaWJ1dGVUeXBlRXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgc2Nv
cGUsICJUZXN0T2JqZWN0IiwgInJlZmxlY3RlZEVsZW1lbnRBdHRyIiwgIkVsZW1lbnQiKTsgfSk7
CisgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBmYWxzZSk7CisgICAgaW52b2tl
RnVuY3RvclByb3BhZ2F0aW5nRXhjZXB0aW9uSWZOZWNlc3NhcnkobGV4aWNhbEdsb2JhbE9iamVj
dCwgdGhyb3dTY29wZSwgWyZdIHsKKyAgICAgICAgcmV0dXJuIGltcGwuc2V0RWxlbWVudEF0dHJp
YnV0ZShXZWJDb3JlOjpIVE1MTmFtZXM6OnJlZmxlY3RlZGVsZW1lbnRhdHRyQXR0ciwgKm5hdGl2
ZVZhbHVlKTsKKyAgICB9KTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworSlNDX0RFRklORV9DVVNU
T01fU0VUVEVSKHNldEpTVGVzdE9ial9yZWZsZWN0ZWRFbGVtZW50QXR0ciwgKEpTR2xvYmFsT2Jq
ZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSwgUHJvcGVydHlOYW1lIGF0dHJpYnV0ZU5hbWUpKQorewor
ICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0T2JqPjo6c2V0PHNldEpTVGVzdE9ial9yZWZs
ZWN0ZWRFbGVtZW50QXR0clNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwg
ZW5jb2RlZFZhbHVlLCBhdHRyaWJ1dGVOYW1lKTsKK30KKwogc3RhdGljIGlubGluZSBKU1ZhbHVl
IGpzVGVzdE9ial9yZWZsZWN0ZWRVUkxBdHRyR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBKU1Rlc3RPYmomIHRoaXNPYmplY3QpCiB7CiAgICAgYXV0byYgdm0gPSBK
U0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0T2JqLmlkbAppbmRleCAxMGY2NTFhNTc1ZTc3Yjc1MDAy
Yjg3MGNkYmI4OThmZmE0NjYzM2M5Li43ZTk4MmQ1MTYyNGI0Y2ZkOGI4NmVkNTE0NzdmNzE3YjFi
YmZlNWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VGVzdE9iai5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rl
c3RPYmouaWRsCkBAIC0xMDQsNiArMTA0LDcgQEAgZW51bSBUZXN0Q29uZmlkZW5jZSB7ICJoaWdo
IiwgImtpbmRhLWxvdyIgfTsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIGxvbmcgcmVmbGVjdGVk
SW50ZWdyYWxBdHRyOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyByZWZs
ZWN0ZWRVbnNpZ25lZEludGVncmFsQXR0cjsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIGJvb2xl
YW4gcmVmbGVjdGVkQm9vbGVhbkF0dHI7CisgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBFbGVtZW50
IHJlZmxlY3RlZEVsZW1lbnRBdHRyOwogICAgIFtSZWZsZWN0LCBVUkxdIGF0dHJpYnV0ZSBET01T
dHJpbmcgcmVmbGVjdGVkVVJMQXR0cjsKICAgICBbUmVmbGVjdCwgVVJMXSBhdHRyaWJ1dGUgVVNW
U3RyaW5nIHJlZmxlY3RlZFVTVlVSTEF0dHI7CiAgICAgW1JlZmxlY3Q9Y3VzdG9tQ29udGVudFN0
cmluZ0F0dHJdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVmbGVjdGVkU3RyaW5nQXR0cjsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50LmNwcAppbmRleCAzMDZmODgxNzc3ZWU2OWY3OWM4YzI2OTc1NTNjY2RmNTA0YjI0
MjA5Li41ZThjZDNlNzgyODA1ZDZhYWE4NGI1MWUwYmQ4NzA3YmFmNmE3ZTg0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuY3BwCkBAIC0xOTAxLDYgKzE5MDEsMTEgQEAgc3RhdGljIGlubGluZSBBdG9tU3Ry
aW5nIG1ha2VJZEZvclN0eWxlUmVzb2x1dGlvbihjb25zdCBBdG9tU3RyaW5nJiB2YWx1ZSwgYm9v
bAogICAgIHJldHVybiB2YWx1ZTsKIH0KIAorc3RhdGljIGlubGluZSBib29sIGlzRWxlbWVudFJl
ZmxlY3Rpb25BdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSkKK3sKKyAgICByZXR1
cm4gbmFtZSA9PSBIVE1MTmFtZXM6OmFyaWFfYWN0aXZlZGVzY2VuZGFudEF0dHIgfHwgbmFtZSA9
PSBIVE1MTmFtZXM6OmFyaWFfZXJyb3JtZXNzYWdlQXR0cjsKK30KKwogdm9pZCBFbGVtZW50Ojph
dHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21TdHJp
bmcmIG9sZFZhbHVlLCBjb25zdCBBdG9tU3RyaW5nJiBuZXdWYWx1ZSwgQXR0cmlidXRlTW9kaWZp
Y2F0aW9uUmVhc29uKQogewogICAgIGJvb2wgdmFsdWVJc1NhbWVBc0JlZm9yZSA9IG9sZFZhbHVl
ID09IG5ld1ZhbHVlOwpAQCAtMTkzNyw3ICsxOTQyLDExIEBAIHZvaWQgRWxlbWVudDo6YXR0cmli
dXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9tU3RyaW5nJiBv
bGRWCiAgICAgICAgICAgICB9CiAgICAgICAgIH0gZWxzZSBpZiAobmFtZSA9PSBIVE1MTmFtZXM6
OnBhcnRBdHRyKQogICAgICAgICAgICAgcGFydEF0dHJpYnV0ZUNoYW5nZWQobmV3VmFsdWUpOwot
ICAgICAgICBlbHNlIGlmIChuYW1lID09IEhUTUxOYW1lczo6ZXhwb3J0cGFydHNBdHRyKSB7Cisg
ICAgICAgIGVsc2UgaWYgKGlzRWxlbWVudFJlZmxlY3Rpb25BdHRyaWJ1dGUobmFtZSkpIHsKKyAg
ICAgICAgICAgIEFTU0VSVChkb2N1bWVudCgpLnNldHRpbmdzKCkuYXJpYVJlZmxlY3Rpb25Gb3JF
bGVtZW50UmVmZXJlbmNlc0VuYWJsZWQoKSk7CisgICAgICAgICAgICBpZiAoYXV0byogbWFwID0g
ZXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcElmRXhpc3RzKCkpCisgICAgICAgICAgICAgICAg
bWFwLT5yZW1vdmUobmFtZSk7CisgICAgICAgIH0gZWxzZSBpZiAobmFtZSA9PSBIVE1MTmFtZXM6
OmV4cG9ydHBhcnRzQXR0cikgewogICAgICAgICAgICAgaWYgKGF1dG8qIHNoYWRvd1Jvb3QgPSB0
aGlzLT5zaGFkb3dSb290KCkpIHsKICAgICAgICAgICAgICAgICBzaGFkb3dSb290LT5pbnZhbGlk
YXRlUGFydE1hcHBpbmdzKCk7CiAgICAgICAgICAgICAgICAgU3R5bGU6OkludmFsaWRhdG9yOjpp
bnZhbGlkYXRlU2hhZG93UGFydHMoKnNoYWRvd1Jvb3QpOwpAQCAtMTk2MSw2ICsxOTcwLDYwIEBA
IHZvaWQgRWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1l
LCBjb25zdCBBdG9tU3RyaW5nJiBvbGRWCiAgICAgICAgIGNhY2hlLT5kZWZlckF0dHJpYnV0ZUNo
YW5nZUlmTmVlZGVkKG5hbWUsIHRoaXMpOwogfQogCitFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRz
TWFwJiBFbGVtZW50OjpleHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKCkKK3sKKyAgICByZXR1
cm4gZW5zdXJlRWxlbWVudFJhcmVEYXRhKCkuZXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCgp
OworfQorCitFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwKiBFbGVtZW50OjpleHBsaWNpdGx5
U2V0QXR0ckVsZW1lbnRzTWFwSWZFeGlzdHMoKSBjb25zdAoreworICAgIHJldHVybiBoYXNSYXJl
RGF0YSgpID8gJmVsZW1lbnRSYXJlRGF0YSgpLT5leHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFw
KCkgOiBudWxscHRyOworfQorCitFbGVtZW50KiBFbGVtZW50OjpnZXRFbGVtZW50QXR0cmlidXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUpIGNvbnN0Cit7CisgICAgQVNTRVJU
KGRvY3VtZW50KCkuc2V0dGluZ3MoKS5hcmlhUmVmbGVjdGlvbkZvckVsZW1lbnRSZWZlcmVuY2Vz
RW5hYmxlZCgpKTsKKyAgICBBU1NFUlQoaXNFbGVtZW50UmVmbGVjdGlvbkF0dHJpYnV0ZShhdHRy
aWJ1dGVOYW1lKSk7CisKKyAgICBpZiAoYXV0byogbWFwID0gZXhwbGljaXRseVNldEF0dHJFbGVt
ZW50c01hcElmRXhpc3RzKCkpIHsKKyAgICAgICAgYXV0byBpdCA9IG1hcC0+ZmluZChhdHRyaWJ1
dGVOYW1lKTsKKyAgICAgICAgaWYgKGl0ICE9IG1hcC0+ZW5kKCkpIHsKKyAgICAgICAgICAgIEFT
U0VSVChpdC0+dmFsdWUuc2l6ZSgpID09IDEpOworICAgICAgICAgICAgYXV0byogZWxlbWVudCA9
IGl0LT52YWx1ZVswXS5nZXQoKTsKKyAgICAgICAgICAgIGlmIChlbGVtZW50ICYmIGlzRGVzY2Vu
ZGFudE9yU2hhZG93RGVzY2VuZGFudE9mKGVsZW1lbnQtPnJvb3ROb2RlKCkpKQorICAgICAgICAg
ICAgICAgIHJldHVybiBlbGVtZW50OworICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAg
ICAgIH0KKyAgICB9CisKKyAgICBhdXRvIGlkID0gZ2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUp
OworICAgIGlmIChpZC5pc051bGwoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICBy
ZXR1cm4gdHJlZVNjb3BlKCkuZ2V0RWxlbWVudEJ5SWQoaWQpOworfQorCit2b2lkIEVsZW1lbnQ6
OnNldEVsZW1lbnRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSwg
RWxlbWVudCogZWxlbWVudCkKK3sKKyAgICBBU1NFUlQoZG9jdW1lbnQoKS5zZXR0aW5ncygpLmFy
aWFSZWZsZWN0aW9uRm9yRWxlbWVudFJlZmVyZW5jZXNFbmFibGVkKCkpOworICAgIEFTU0VSVChp
c0VsZW1lbnRSZWZsZWN0aW9uQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpKTsKKworICAgIGlmICgh
ZWxlbWVudCkgeworICAgICAgICBpZiAoYXV0byogbWFwID0gZXhwbGljaXRseVNldEF0dHJFbGVt
ZW50c01hcElmRXhpc3RzKCkpCisgICAgICAgICAgICBtYXAtPnJlbW92ZShhdHRyaWJ1dGVOYW1l
KTsKKyAgICAgICAgcmVtb3ZlQXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUpOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgYXV0byBpZCA9IGVsZW1lbnQtPmdldElkQXR0cmlidXRlKCk7Cisg
ICAgaWYgKCFpZC5pc051bGwoKSAmJiAmcm9vdE5vZGUoKSA9PSAmZWxlbWVudC0+cm9vdE5vZGUo
KSAmJiB0cmVlU2NvcGUoKS5nZXRFbGVtZW50QnlJZChpZCkgPT0gZWxlbWVudCkKKyAgICAgICAg
c2V0QXR0cmlidXRlKGF0dHJpYnV0ZU5hbWUsIGlkKTsKKyAgICBlbHNlCisgICAgICAgIHNldEF0
dHJpYnV0ZShhdHRyaWJ1dGVOYW1lLCBlbXB0eUF0b20oKSk7CisKKyAgICBleHBsaWNpdGx5U2V0
QXR0ckVsZW1lbnRzTWFwKCkuc2V0KGF0dHJpYnV0ZU5hbWUsIFZlY3RvcjxXZWFrUHRyPEVsZW1l
bnQ+PiB7IGVsZW1lbnQgfSk7Cit9CisKIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBl
Pgogc3RhdGljIGlubGluZSBib29sIGlzTm9uRW1wdHlUb2tlbkxpc3QoY29uc3QgQ2hhcmFjdGVy
VHlwZSogY2hhcmFjdGVycywgdW5zaWduZWQgbGVuZ3RoKQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKaW5k
ZXggZmFiZmIyNDE0MWU5ZWI2NTNkZTA2YjM2NGRjMDg5YTRiN2E1ZTAxOS4uYjI3ZGU4ZDg3MmVj
NTgwOTk0NGU4MWI2NTBiMWM5ZTQ5YzYzNzE4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCkBAIC05Myw2
ICs5MywxMCBAQCBzdHJ1Y3QgU2Nyb2xsVG9PcHRpb25zOwogc3RydWN0IFNlY3VyaXR5UG9saWN5
VmlvbGF0aW9uRXZlbnRJbml0Owogc3RydWN0IFNoYWRvd1Jvb3RJbml0OwogCisvLyBGSVhNRTog
VGhpcyBvbmx5IHN0b3JlcyBvbmUgRWxlbWVudCBpbiB0aGUgVmVjdG9yIHJpZ2h0IG5vdywgdGhv
dWdoIHRoaXMgd2lsbCBjaGFuZ2UKKy8vIG9uY2UgcmVmbGVjdGlvbiBmb3IgRnJvemVuQXJyYXk8
RWxlbWVudD4gaXMgaW1wbGVtZW50ZWQgaW4gaHR0cHM6Ly93ZWJraXQub3JnL2IvMjM5ODUzLgor
dXNpbmcgRXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCA9IEhhc2hNYXA8UXVhbGlmaWVkTmFt
ZSwgVmVjdG9yPFdlYWtQdHI8RWxlbWVudD4+PjsKKwogbmFtZXNwYWNlIFN0eWxlIHsKIGNsYXNz
IFJlc29sdmVyOwogZW51bSBjbGFzcyBDaGFuZ2UgOiB1aW50OF90OwpAQCAtMTIxLDYgKzEyNSw4
IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCB2b2lkIHNldEludGVncmFsQXR0cmlidXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUsIGludCB2YWx1ZSk7CiAgICAgV0VC
Q09SRV9FWFBPUlQgdW5zaWduZWQgZ2V0VW5zaWduZWRJbnRlZ3JhbEF0dHJpYnV0ZShjb25zdCBR
dWFsaWZpZWROYW1lJiBhdHRyaWJ1dGVOYW1lKSBjb25zdDsKICAgICBXRUJDT1JFX0VYUE9SVCB2
b2lkIHNldFVuc2lnbmVkSW50ZWdyYWxBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0
cmlidXRlTmFtZSwgdW5zaWduZWQgdmFsdWUpOworICAgIFdFQkNPUkVfRVhQT1JUIEVsZW1lbnQq
IGdldEVsZW1lbnRBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgYXR0cmlidXRlTmFtZSkg
Y29uc3Q7CisgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRFbGVtZW50QXR0cmlidXRlKGNvbnN0
IFF1YWxpZmllZE5hbWUmIGF0dHJpYnV0ZU5hbWUsIEVsZW1lbnQqIHZhbHVlKTsKIAogICAgIC8v
IENhbGwgdGhpcyB0byBnZXQgdGhlIHZhbHVlIG9mIGFuIGF0dHJpYnV0ZSB0aGF0IGlzIGtub3du
IG5vdCB0byBiZSB0aGUgc3R5bGUKICAgICAvLyBhdHRyaWJ1dGUgb3Igb25lIG9mIHRoZSBTVkcg
YW5pbWF0YWJsZSBhdHRyaWJ1dGVzLgpAQCAtNjY4LDYgKzY3NCw5IEBAIHB1YmxpYzoKICAgICBT
dHlsZVByb3BlcnR5TWFwUmVhZE9ubHkqIGNvbXB1dGVkU3R5bGVNYXAoKTsKICNlbmRpZgogCisg
ICAgRXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCYgZXhwbGljaXRseVNldEF0dHJFbGVtZW50
c01hcCgpOworICAgIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAqIGV4cGxpY2l0bHlTZXRB
dHRyRWxlbWVudHNNYXBJZkV4aXN0cygpIGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgRWxlbWVu
dChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQmLCBDb25zdHJ1Y3Rpb25UeXBlKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRSYXJlRGF0YS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmNwcAppbmRleCA5NGI4YTU4NTlmNzRiYzdj
OTVkMTI1Mzk5Yjc0NmVlMjc2ZTdlZWZmLi4wMGNmNjVmMzM3MzZjNDhiYWU4NGU3ZmJlMTRjZDkz
NDA5YTQ1MjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRh
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmNwcApAQCAtNDIs
NiArNDIsNyBAQCBzdHJ1Y3QgU2FtZVNpemVBc0VsZW1lbnRSYXJlRGF0YSA6IE5vZGVSYXJlRGF0
YSB7CiAgICAgdm9pZCogdHlwZWRPTURhdGFbMl07CiAjZW5kaWYKICAgICB2b2lkKiByZXNpemVP
YnNlcnZlckRhdGE7CisgICAgRXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCBleHBsaWNpdGx5
U2V0QXR0ckVsZW1lbnRzTWFwOwogfTsKIAogc3RhdGljX2Fzc2VydChzaXplb2YoRWxlbWVudFJh
cmVEYXRhKSA9PSBzaXplb2YoU2FtZVNpemVBc0VsZW1lbnRSYXJlRGF0YSksICJFbGVtZW50UmFy
ZURhdGEgc2hvdWxkIHN0YXkgc21hbGwiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9FbGVtZW50UmFyZURhdGEuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50UmFyZURhdGEu
aAppbmRleCBkNzZiY2M0NDRjZTc1MTQ0YmJlZDM5NzFiYTkxNDBhOGM1ZGM1OGFmLi4wZGU0NTcz
YzUxOWFlZjA1NDk1MzNjNDk1MzM2MmEyNjM5M2I1NDdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudFJhcmVEYXRhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnRSYXJlRGF0YS5oCkBAIC0xMDcsNiArMTA3LDggQEAgcHVibGljOgogICAgIHZvaWQgc2V0Q29t
cHV0ZWRTdHlsZU1hcChSZWY8U3R5bGVQcm9wZXJ0eU1hcFJlYWRPbmx5PiYmIG1hcCkgeyBtX2Nv
bXB1dGVkU3R5bGVNYXAgPSBXVEZNb3ZlKG1hcCk7IH0KICNlbmRpZgogCisgICAgRXhwbGljaXRs
eVNldEF0dHJFbGVtZW50c01hcCYgZXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCgpIHsgcmV0
dXJuIG1fZXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcDsgfQorCiAjaWYgRFVNUF9OT0RFX1NU
QVRJU1RJQ1MKICAgICBPcHRpb25TZXQ8VXNlVHlwZT4gdXNlVHlwZXMoKSBjb25zdAogICAgIHsK
QEAgLTE0Nyw2ICsxNDksOCBAQCBwdWJsaWM6CiAgICAgICAgICAgICByZXN1bHQuYWRkKFVzZVR5
cGU6OlBhcnROYW1lcyk7CiAgICAgICAgIGlmIChtX25vbmNlKQogICAgICAgICAgICAgcmVzdWx0
LmFkZChVc2VUeXBlOjpOb25jZSk7CisgICAgICAgIGlmICghbV9leHBsaWNpdGx5U2V0QXR0ckVs
ZW1lbnRzTWFwLmlzRW1wdHkoKSkKKyAgICAgICAgICAgIHJlc3VsdC5hZGQoVXNlVHlwZTo6RXhw
bGljaXRseVNldEF0dHJFbGVtZW50c01hcCk7CiAgICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAg
fQogI2VuZGlmCkBAIC0xODAsNiArMTg0LDggQEAgcHJpdmF0ZToKIAogICAgIEF0b21TdHJpbmcg
bV9ub25jZTsKIAorICAgIEV4cGxpY2l0bHlTZXRBdHRyRWxlbWVudHNNYXAgbV9leHBsaWNpdGx5
U2V0QXR0ckVsZW1lbnRzTWFwOworCiAgICAgdm9pZCByZWxlYXNlUHNldWRvRWxlbWVudChQc2V1
ZG9FbGVtZW50Kik7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKaW5kZXggNjg3MDM3MDA4YTIzYTBhNDE5
ZmY3YTBlNWJkMWE5NWU5NzE1ODJkOC4uYjQ2NWUzZDBhMTA0N2UwMjdmZDc1ZTRmYmU2ZDY4MWZi
NWEyNTc2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2RvbS9Ob2RlLmNwcApAQCAtMTQ0LDYgKzE0NCw4IEBAIHN0YXRpYyBjb25z
dCBjaGFyKiBzdHJpbmdGb3JSYXJlRGF0YVVzZVR5cGUoTm9kZVJhcmVEYXRhOjpVc2VUeXBlIHVz
ZVR5cGUpCiAgICAgICAgIHJldHVybiAiUGFydExpc3QiOwogICAgIGNhc2UgTm9kZVJhcmVEYXRh
OjpVc2VUeXBlOjpQYXJ0TmFtZXM6CiAgICAgICAgIHJldHVybiAiUGFydE5hbWVzIjsKKyAgICBj
YXNlIE5vZGVSYXJlRGF0YTo6VXNlVHlwZTo6RXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcDoK
KyAgICAgICAgcmV0dXJuICJFeHBsaWNpdGx5U2V0QXR0ckVsZW1lbnRzTWFwIjsKICAgICB9CiAg
ICAgcmV0dXJuIG51bGxwdHI7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vTm9k
ZVJhcmVEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vTm9kZVJhcmVEYXRhLmgKaW5kZXggMjQ1
ZmE4Y2MxMDgyM2YxNjhkODc0NGE1NTllZTBkOTg3OWUwOGNlOS4uZjQ3ZDUyOWRhNDhiMTc4Zjg4
MzRmMzNlMjVhZmIzYmVkNGE3NTBjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL05v
ZGVSYXJlRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9Ob2RlUmFyZURhdGEuaApAQCAt
MjY1LDYgKzI2NSw3IEBAIHB1YmxpYzoKICAgICAgICAgUGFydE5hbWVzID0gMSA8PCAxNiwKICAg
ICAgICAgTm9uY2UgPSAxIDw8IDE3LAogICAgICAgICBDb21wdXRlZFN0eWxlTWFwID0gMSA8PCAx
OCwKKyAgICAgICAgRXhwbGljaXRseVNldEF0dHJFbGVtZW50c01hcCA9IDEgPDwgMTksCiAgICAg
fTsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjdmNTk5ODg5NmE4YzY3NDQwNWE1YTUxNmZkYjk5MDRlZTJj
YTczOS4uMzE3ZjY5MGI0OTdjMDA0OTQ3YTUxNDM0ODBiMzhjOTdhN2Y1OWEwOCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDE1IEBACisyMDIyLTA1LTA0ICBNYW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0Bp
Z2FsaWEuY29tPgorCisgICAgICAgIEFSSUEgcmVmbGVjdGlvbiBmb3IgRWxlbWVudCBhdHRyaWJ1
dGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzk4
NTIKKworICAgICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICBVcGRhdGUg
dGVzdCB0byBpbmNsdWRlIHRoZSBuZXcgcmVmbGVjdGVkIGF0dHJpYnV0ZXMuCisKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L0FSSUEtcmVmbGVjdGlvbi1leHBlY3RlZC50eHQ6CisgICAgICAgICog
YWNjZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rpb24uaHRtbDoKKwogMjAyMi0wNS0wNCAgS2FybCBS
YWNrbGVyICA8cmFja2xlckBhcHBsZS5jb20+CiAKICAgICAgICAgWyBpT1MgXVsgbWFjT1MgRGVi
dWcgd2sxIF0gd2ViYXVkaW8vQXVkaW9CdWZmZXIvaHVnZS1idWZmZXIuaHRtbCBpcyBhIGZsYWt5
IHRpbWVvdXQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IGQxYTE1MDA1NjUzYzkw
ODQzNDE5NDU4YjliZmRjNTI5YTc3MmM4MjguLjNiMDc3MGU1YTUwOWI2ZDEwMmRmMTliZTYwNTRm
MTY1YjU4ZWIzZTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDIyLTA1LTA0ICBNYW51ZWwgUmVnbyBDYXNhc25vdmFzICA8cmVnb0BpZ2FsaWEuY29t
PgorCisgICAgICAgIEFSSUEgcmVmbGVjdGlvbiBmb3IgRWxlbWVudCBhdHRyaWJ1dGVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzk4NTIKKworICAg
ICAgICBSZXZpZXdlZCBieSBDaHJpcyBEdW1lei4KKworICAgICAgICBTbWFsbCBmaXggb24gdGhl
IHRlc3QgYW5kIHVwZGF0ZSB0ZXN0IHJlc3VsdHMgd2l0aCB0aGUgbmV3IFBBU1MuCisgICAgICAg
IEFkZCBuZXcgdGVzdCBjYXNlIHRvIGNvdmVyIGVsZW1lbnRzIG1vdmVkIHRvIGEgZGlmZmVyZW50
IGRvY3VtZW50LgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlh
LWVsZW1lbnQtcmVmbGVjdGlvbi50ZW50YXRpdmUtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0
aXZlLmh0bWw6CisKIDIwMjItMDUtMDQgIFppcmFuIFN1biAgPHpzdW5AaWdhbGlhLmNvbT4KIAog
ICAgICAgICBbSW5wdXRFbGVtZW50XSBTZWxlY3Rpb24gYWZ0ZXIgdHlwZSBjaGFuZ2UgbmVlZHMg
dG8gZm9sbG93IEhUTUwgc3BlY2lmaWNhdGlvbgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYWNj
ZXNzaWJpbGl0eS9BUklBLXJlZmxlY3Rpb24tZXhwZWN0ZWQudHh0CmluZGV4IDk1MDRiNjliY2Jh
Y2QyNDFiOTU4NTQzMDJlZjU0NzRlMzUyYTQ5OGUuLmUzZmVlYzMwYzRjN2E5ZWFmYWQxYTk0ZGVk
ZWVjNjNmODhiYjgwZTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2FjY2Vzc2liaWxpdHkvQVJJ
QS1yZWZsZWN0aW9uLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5
L0FSSUEtcmVmbGVjdGlvbi1leHBlY3RlZC50eHQKQEAgLTcsMzE3ICs3LDI5MiBAQCBPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURQogVGVzdCByb2xlIDwgLSA+IHJvbGUKIFBBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsicm9sZSJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5n
ZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0
dHJpYnV0ZSgicm9sZSIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0
YVByb3BlcnR5CisKK1Rlc3QgYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50IDwgLSA+IGFyaWEt
YWN0aXZlZGVzY2VuZGFudAorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAor
UEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCitQQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUK
K2VsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnQiLCBvdGhlckRhdGEp
OworUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAog
VGVzdCBhcmlhQXRvbWljIDwgLSA+IGFyaWEtYXRvbWljCiBQQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1
dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFBdG9taWMiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQu
Z2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRB
dHRyaWJ1dGUoImFyaWEtYXRvbWljIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50
UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMg
b3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhQXV0b0NvbXBsZXRlIDwgLSA+IGFyaWEtYXV0
b2NvbXBsZXRlCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVs
ZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFy
aWFBdXRvQ29tcGxldGUiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtYXV0
b2NvbXBsZXRlIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlz
IG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJv
cGVydHkKIAogVGVzdCBhcmlhQnVzeSA8IC0gPiBhcmlhLWJ1c3kKIFBBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUJ1c3kiXSA9IGRhdGE7Ci1QQVNTIGVsZW1l
bnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5n
ZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5z
ZXRBdHRyaWJ1dGUoImFyaWEtYnVzeSIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVu
dFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlz
IG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUNoZWNrZWQgPCAtID4gYXJpYS1jaGVja2Vk
CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFDaGVja2Vk
Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRh
dGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWNoZWNrZWQiLCBvdGhlckRh
dGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVs
ZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFD
b2xDb3VudCA8IC0gPiBhcmlhLWNvbGNvdW50CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IG51bGwKLWVsZW1lbnRbImFyaWFDb2xDb3VudCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJp
YnV0ZSgiYXJpYS1jb2xjb3VudCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90
aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUNvbEluZGV4IDwgLSA+IGFyaWEtY29saW5kZXgK
IFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYUNvbEluZGV4
Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBp
cyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRh
dGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWNvbGluZGV4Iiwgb3RoZXJE
YXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBl
bGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlh
Q29sU3BhbiA8IC0gPiBhcmlhLWNvbHNwYW4KIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHld
IGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMg
bnVsbAotZWxlbWVudFsiYXJpYUNvbFNwYW4iXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0
cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1
dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1
dGUoImFyaWEtY29sc3BhbiIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVy
RGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUN1cnJlbnQgPCAtID4gYXJpYS1jdXJyZW50CiBQQVNT
IGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFDdXJyZW50Il0gPSBk
YXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRh
CitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRy
aWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWN1cnJlbnQiLCBvdGhlckRhdGEpOwot
UEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRb
Y3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFEaXNhYmxl
ZCA8IC0gPiBhcmlhLWRpc2FibGVkCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBu
dWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwK
LWVsZW1lbnRbImFyaWFEaXNhYmxlZCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1
dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShj
dXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgi
YXJpYS1kaXNhYmxlZCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0
YVByb3BlcnR5CisKK1Rlc3QgYXJpYUVycm9yTWVzc2FnZUVsZW1lbnQgPCAtID4gYXJpYS1lcnJv
cm1lc3NhZ2UKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKK1BBU1MgZWxl
bWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAorUEFTUyBlbGVtZW50
LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCitlbGVtZW50
LnNldEF0dHJpYnV0ZSgiYXJpYS1lcnJvcm1lc3NhZ2UiLCBvdGhlckRhdGEpOworUEFTUyBlbGVt
ZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhRXhw
YW5kZWQgPCAtID4gYXJpYS1leHBhbmRlZAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0g
aXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBu
dWxsCi1lbGVtZW50WyJhcmlhRXhwYW5kZWQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0
cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1
dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1
dGUoImFyaWEtZXhwYW5kZWQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9w
ZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhl
ckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFIYXNQb3B1cCA8IC0gPiBhcmlhLWhhc3BvcHVwCiBQ
QVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0
cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFIYXNQb3B1cCJd
ID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMg
ZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRh
QXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1oYXNwb3B1cCIsIG90aGVyRGF0
YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxl
bWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUhp
ZGRlbiA8IC0gPiBhcmlhLWhpZGRlbgogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMg
bnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxs
Ci1lbGVtZW50WyJhcmlhSGlkZGVuIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0
ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1
cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJh
cmlhLWhpZGRlbiIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVBy
b3BlcnR5CiAKIFRlc3QgYXJpYUludmFsaWQgPCAtID4gYXJpYS1pbnZhbGlkCiBQQVNTIGVsZW1l
bnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1
cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFJbnZhbGlkIl0gPSBkYXRhOwot
UEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUK
IGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWludmFsaWQiLCBvdGhlckRhdGEpOwotUEFTUyBl
bGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVu
dFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFLZXlTaG9ydGN1dHMg
PCAtID4gYXJpYS1rZXlzaG9ydGN1dHMKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlz
IG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVs
bAotZWxlbWVudFsiYXJpYUtleVNob3J0Y3V0cyJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJp
YnV0ZSgiYXJpYS1rZXlzaG9ydGN1dHMiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJl
bnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFMYWJlbCA8IC0gPiBhcmlhLWxhYmVsCiBQ
QVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0
cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFMYWJlbCJdID0g
ZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0
YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0
cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1sYWJlbCIsIG90aGVyRGF0YSk7Ci1Q
QVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtj
dXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYUxldmVsIDwg
LSA+IGFyaWEtbGV2ZWwKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBB
U1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVu
dFsiYXJpYUxldmVsIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRy
aWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLWxldmVs
Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0
YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAog
VGVzdCBhcmlhTGl2ZSA8IC0gPiBhcmlhLWxpdmUKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVy
dHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkg
aXMgbnVsbAotZWxlbWVudFsiYXJpYUxpdmUiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0
cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1
dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1
dGUoImFyaWEtbGl2ZSIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5
XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0
YVByb3BlcnR5CiAKIFRlc3QgYXJpYU1vZGFsIDwgLSA+IGFyaWEtbW9kYWwKIFBBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3Vy
cmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYU1vZGFsIl0gPSBkYXRhOwotUEFT
UyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVs
ZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVs
ZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLW1vZGFsIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9w
ZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhTXVsdGlMaW5lIDwgLSA+IGFy
aWEtbXVsdGlsaW5lCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNT
IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRb
ImFyaWFNdWx0aUxpbmUiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbXVs
dGlsaW5lIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90
aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVy
dHkKIAogVGVzdCBhcmlhTXVsdGlTZWxlY3RhYmxlIDwgLSA+IGFyaWEtbXVsdGlzZWxlY3RhYmxl
CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0
QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFNdWx0aVNl
bGVjdGFibGUiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRy
aWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtbXVsdGlzZWxl
Y3RhYmxlIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90
aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVy
dHkKIAogVGVzdCBhcmlhT3JpZW50YXRpb24gPCAtID4gYXJpYS1vcmllbnRhdGlvbgogUEFTUyBl
bGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0
ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhT3JpZW50YXRpb24iXSA9
IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRh
dGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0
dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtb3JpZW50YXRpb24iLCBvdGhlckRh
dGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVs
ZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFQ
bGFjZWhvbGRlciA8IC0gPiBhcmlhLXBsYWNlaG9sZGVyCiBQQVNTIGVsZW1lbnRbY3VycmVudFBy
b3BlcnR5XSBpcyBudWxsCiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1
dGUpIGlzIG51bGwKLWVsZW1lbnRbImFyaWFQbGFjZWhvbGRlciJdID0gZGF0YTsKLVBBU1MgZWxl
bWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50
LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50
LnNldEF0dHJpYnV0ZSgiYXJpYS1wbGFjZWhvbGRlciIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1l
bnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJv
cGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVBvc0luU2V0IDwgLSA+IGFy
aWEtcG9zaW5zZXQKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1Mg
ZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsi
YXJpYVBvc0luU2V0Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50
QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRy
aWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXBvc2lu
c2V0Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVy
RGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkK
IAogVGVzdCBhcmlhUHJlc3NlZCA8IC0gPiBhcmlhLXByZXNzZWQKIFBBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVByZXNzZWQiXSA9IGRhdGE7Ci1QQVNTIGVs
ZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVu
dC5zZXRBdHRyaWJ1dGUoImFyaWEtcHJlc3NlZCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRb
Y3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVy
dHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVJlYWRPbmx5IDwgLSA+IGFyaWEt
cmVhZG9ubHkKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxl
bWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJp
YVJlYWRPbmx5Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0
cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1
dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXJlYWRvbmx5
Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0
YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAog
VGVzdCBhcmlhUmVsZXZhbnQgPCAtID4gYXJpYS1yZWxldmFudAogUEFTUyBlbGVtZW50W2N1cnJl
bnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0
cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhUmVsZXZhbnQiXSA9IGRhdGE7Ci1QQVNTIGVs
ZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVu
dC5zZXRBdHRyaWJ1dGUoImFyaWEtcmVsZXZhbnQiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50
W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3Bl
cnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFSZXF1aXJlZCA8IC0gPiBhcmlh
LXJlcXVpcmVkCiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxsCiBQQVNTIGVs
ZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVsZW1lbnRbImFy
aWFSZXF1aXJlZCJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmli
dXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJpYS1yZXF1aXJl
ZCIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRh
dGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAK
IFRlc3QgYXJpYVJvbGVEZXNjcmlwdGlvbiA8IC0gPiBhcmlhLXJvbGVkZXNjcmlwdGlvbgogUEFT
UyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJp
YnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhUm9sZURlc2NyaXB0
aW9uIl0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRl
KSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlz
IGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXJvbGVkZXNjcmlwdGlv
biIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRh
dGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAK
IFRlc3QgYXJpYVJvd0NvdW50IDwgLSA+IGFyaWEtcm93Y291bnQKIFBBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0
dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVJvd0NvdW50Il0gPSBkYXRhOwotUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1l
bnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1l
bnQuc2V0QXR0cmlidXRlKCJhcmlhLXJvd2NvdW50Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9w
ZXJ0eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhUm93SW5kZXggPCAtID4gYXJp
YS1yb3dpbmRleAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBl
bGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJh
cmlhUm93SW5kZXgiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRB
dHRyaWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJp
YnV0ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtcm93aW5k
ZXgiLCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJE
YXRhCitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQog
CiBUZXN0IGFyaWFSb3dTcGFuIDwgLSA+IGFyaWEtcm93c3BhbgogUEFTUyBlbGVtZW50W2N1cnJl
bnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0
cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhUm93U3BhbiJdID0gZGF0YTsKLVBBU1MgZWxl
bWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50
LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50
LnNldEF0dHJpYnV0ZSgiYXJpYS1yb3dzcGFuIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtj
dXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0
eV0gaXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhU2VsZWN0ZWQgPCAtID4gYXJpYS1z
ZWxlY3RlZAogUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVt
ZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlh
U2VsZWN0ZWQiXSA9IGRhdGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRy
aWJ1dGUpIGlzIGRhdGEKK1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0
ZSkgaXMgZGF0YUF0dHJpYnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtc2VsZWN0ZWQi
LCBvdGhlckRhdGEpOwotUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRh
CitQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBU
ZXN0IGFyaWFTZXRTaXplIDwgLSA+IGFyaWEtc2V0c2l6ZQogUEFTUyBlbGVtZW50W2N1cnJlbnRQ
cm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmli
dXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhU2V0U2l6ZSJdID0gZGF0YTsKLVBBU1MgZWxlbWVu
dC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50Lmdl
dEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNl
dEF0dHJpYnV0ZSgiYXJpYS1zZXRzaXplIiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0g
aXMgb3RoZXJEYXRhUHJvcGVydHkKIAogVGVzdCBhcmlhU29ydCA8IC0gPiBhcmlhLXNvcnQKIFBB
U1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwKIFBBU1MgZWxlbWVudC5nZXRBdHRy
aWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxlbWVudFsiYXJpYVNvcnQiXSA9IGRh
dGE7Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEK
K1BBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJp
YnV0ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtc29ydCIsIG90aGVyRGF0YSk7Ci1QQVNT
IGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJy
ZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIFRlc3QgYXJpYVZhbHVlTWF4IDwg
LSA+IGFyaWEtdmFsdWVtYXgKIFBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG51bGwK
IFBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgbnVsbAotZWxl
bWVudFsiYXJpYVZhbHVlTWF4Il0gPSBkYXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShj
dXJyZW50QXR0cmlidXRlKSBpcyBkYXRhCitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJl
bnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRyaWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlh
LXZhbHVlbWF4Iiwgb3RoZXJEYXRhKTsKLVBBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlz
IG90aGVyRGF0YQorUEFTUyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhUHJv
cGVydHkKIAogVGVzdCBhcmlhVmFsdWVNaW4gPCAtID4gYXJpYS12YWx1ZW1pbgogUEFTUyBlbGVt
ZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShj
dXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhVmFsdWVNaW4iXSA9IGRhdGE7
Ci1QQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGEKK1BB
U1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YUF0dHJpYnV0
ZQogZWxlbWVudC5zZXRBdHRyaWJ1dGUoImFyaWEtdmFsdWVtaW4iLCBvdGhlckRhdGEpOwotUEFT
UyBlbGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgb3RoZXJEYXRhCitQQVNTIGVsZW1lbnRbY3Vy
cmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGFQcm9wZXJ0eQogCiBUZXN0IGFyaWFWYWx1ZU5vdyA8
IC0gPiBhcmlhLXZhbHVlbm93CiBQQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBudWxs
CiBQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIG51bGwKLWVs
ZW1lbnRbImFyaWFWYWx1ZU5vdyJdID0gZGF0YTsKLVBBU1MgZWxlbWVudC5nZXRBdHRyaWJ1dGUo
Y3VycmVudEF0dHJpYnV0ZSkgaXMgZGF0YQorUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJy
ZW50QXR0cmlidXRlKSBpcyBkYXRhQXR0cmlidXRlCiBlbGVtZW50LnNldEF0dHJpYnV0ZSgiYXJp
YS12YWx1ZW5vdyIsIG90aGVyRGF0YSk7Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBp
cyBvdGhlckRhdGEKK1BBU1MgZWxlbWVudFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVBy
b3BlcnR5CiAKIFRlc3QgYXJpYVZhbHVlVGV4dCA8IC0gPiBhcmlhLXZhbHVldGV4dAogUEFTUyBl
bGVtZW50W2N1cnJlbnRQcm9wZXJ0eV0gaXMgbnVsbAogUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0
ZShjdXJyZW50QXR0cmlidXRlKSBpcyBudWxsCi1lbGVtZW50WyJhcmlhVmFsdWVUZXh0Il0gPSBk
YXRhOwotUEFTUyBlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSBpcyBkYXRh
CitQQVNTIGVsZW1lbnQuZ2V0QXR0cmlidXRlKGN1cnJlbnRBdHRyaWJ1dGUpIGlzIGRhdGFBdHRy
aWJ1dGUKIGVsZW1lbnQuc2V0QXR0cmlidXRlKCJhcmlhLXZhbHVldGV4dCIsIG90aGVyRGF0YSk7
Ci1QQVNTIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSBpcyBvdGhlckRhdGEKK1BBU1MgZWxlbWVu
dFtjdXJyZW50UHJvcGVydHldIGlzIG90aGVyRGF0YVByb3BlcnR5CiAKIAotUEFTUyBjb3VudCBp
cyAzOAorUEFTUyBjb3VudCBpcyA0MAogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQog
CiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L0FS
SUEtcmVmbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvYWNjZXNzaWJpbGl0eS9BUklBLXJlZmxl
Y3Rpb24uaHRtbAppbmRleCAzMjNiMTg5YzRlM2U0MDFhNGZmZDU2ZDRjZmVlNDY0NzI5YWZmOTE4
Li45M2E5YjdhMTdmOWE0NGU0Y2QxMWJlY2E5NjlmMGNlNTc3NjljZWVlIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9hY2Nlc3NpYmlsaXR5L0FSSUEtcmVmbGVjdGlvbi5odG1sCisrKyBiL0xheW91
dFRlc3RzL2FjY2Vzc2liaWxpdHkvQVJJQS1yZWZsZWN0aW9uLmh0bWwKQEAgLTUsNyArNSw4IEBA
CiA8ZGl2IGlkPSJjb250ZW50Ij4KIAogPGRpdiBpZD0idGVzdCIgZGF0YT0ic29tZSBkYXRhIj4K
LQorICA8ZGl2IGlkPSJmaXJzdENoaWxkIj48L2Rpdj4KKyAgPGRpdiBpZD0ic2Vjb25kQ2hpbGQi
PjwvZGl2PgogPC9kaXY+CiAKIDxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgpAQCAtMjEsMjIgKzIy
LDQwIEBACiAgICAgdmFyIGN1cnJlbnRQcm9wZXJ0eTsKICAgICB2YXIgY3VycmVudEF0dHJpYnV0
ZTsKIAorICAgIGZ1bmN0aW9uIGlzRWxlbWVudFJlZmxlY3Rpb25Qcm9wZXJ0eShwcm9wZXJ0eSkg
eworICAgICAgICBzd2l0Y2ggKHByb3BlcnR5KSB7CisgICAgICAgICAgICBjYXNlICJhcmlhQWN0
aXZlRGVzY2VuZGFudEVsZW1lbnQiOgorICAgICAgICAgICAgY2FzZSAiYXJpYUVycm9yTWVzc2Fn
ZUVsZW1lbnQiOgorICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBjb252ZXJ0UHJvcGVydHlU
b0F0dHJpYnV0ZShwcm9wZXJ0eSkgeworICAgICAgICBpZiAoaXNFbGVtZW50UmVmbGVjdGlvblBy
b3BlcnR5KHByb3BlcnR5KSkKKyAgICAgICAgICBwcm9wZXJ0eSA9IHByb3BlcnR5LnJlcGxhY2Uo
IkVsZW1lbnQiLCAiIik7CisgICAgICAgIHJldHVybiBwcm9wZXJ0eS5yZXBsYWNlKCJhcmlhIiwg
ImFyaWEtIikudG9Mb3dlckNhc2UoKTsKKyAgICB9CisKICAgICBmdW5jdGlvbiB0ZXN0RWxlbWVu
dCgpIHsKLSAgICAgICAgY3VycmVudEF0dHJpYnV0ZSA9IGN1cnJlbnRQcm9wZXJ0eS5yZXBsYWNl
KCJhcmlhIiwgImFyaWEtIikudG9Mb3dlckNhc2UoKTsKLSAgICAgICAgCisgICAgICAgIGN1cnJl
bnRBdHRyaWJ1dGUgPSBjb252ZXJ0UHJvcGVydHlUb0F0dHJpYnV0ZShjdXJyZW50UHJvcGVydHkp
OworCiAgICAgICAgIGRlYnVnKCJcblRlc3QgIiArIGN1cnJlbnRQcm9wZXJ0eSArICIgPCAtID4g
IiArIGN1cnJlbnRBdHRyaWJ1dGUpOwogICAgICAgICBzaG91bGRCZU51bGwoImVsZW1lbnRbY3Vy
cmVudFByb3BlcnR5XSIpOwogICAgICAgICBzaG91bGRCZU51bGwoImVsZW1lbnQuZ2V0QXR0cmli
dXRlKGN1cnJlbnRBdHRyaWJ1dGUpIik7Ci0gICAgICAgIAorCiAgICAgICAgIC8vIFNldCB0aGUg
cHJvcGVydHkgdmFsdWUKLSAgICAgICAgZGVidWcoImVsZW1lbnRbXCIiICsgY3VycmVudFByb3Bl
cnR5ICsgIlwiXSA9IGRhdGE7Iik7Ci0gICAgICAgIGVsZW1lbnRbY3VycmVudFByb3BlcnR5XSA9
IGRhdGE7Ci0gICAgICAgIHNob3VsZEJlKCJlbGVtZW50LmdldEF0dHJpYnV0ZShjdXJyZW50QXR0
cmlidXRlKSIsICJkYXRhIik7CisgICAgICAgIGRhdGFQcm9wZXJ0eSA9IGlzRWxlbWVudFJlZmxl
Y3Rpb25Qcm9wZXJ0eShjdXJyZW50UHJvcGVydHkpID8gZmlyc3RDaGlsZCA6IGRhdGE7CisgICAg
ICAgIGRhdGFBdHRyaWJ1dGUgPSBpc0VsZW1lbnRSZWZsZWN0aW9uUHJvcGVydHkoY3VycmVudFBy
b3BlcnR5KSA/IGZpcnN0Q2hpbGQuaWQgOiBkYXRhOworICAgICAgICBlbGVtZW50W2N1cnJlbnRQ
cm9wZXJ0eV0gPSBkYXRhUHJvcGVydHk7CisgICAgICAgIHNob3VsZEJlKCJlbGVtZW50LmdldEF0
dHJpYnV0ZShjdXJyZW50QXR0cmlidXRlKSIsICJkYXRhQXR0cmlidXRlIik7CiAKICAgICAgICAg
Ly8gU2V0IHRoZSBhdHRyaWJ1dGUgdmFsdWUKKyAgICAgICAgb3RoZXJEYXRhUHJvcGVydHkgPSBp
c0VsZW1lbnRSZWZsZWN0aW9uUHJvcGVydHkoY3VycmVudFByb3BlcnR5KSA/IHNlY29uZENoaWxk
IDogb3RoZXJEYXRhOworICAgICAgICBvdGhlckRhdGFBdHRyaWJ1dGUgPSBpc0VsZW1lbnRSZWZs
ZWN0aW9uUHJvcGVydHkoY3VycmVudFByb3BlcnR5KSA/IHNlY29uZENoaWxkLmlkIDogb3RoZXJE
YXRhOwogICAgICAgICBkZWJ1ZygiZWxlbWVudC5zZXRBdHRyaWJ1dGUoXCIiICsgY3VycmVudEF0
dHJpYnV0ZSArICJcIiwgb3RoZXJEYXRhKTsiKTsKLSAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1
dGUoY3VycmVudEF0dHJpYnV0ZSwgb3RoZXJEYXRhKTsKLSAgICAgICAgc2hvdWxkQmUoImVsZW1l
bnRbY3VycmVudFByb3BlcnR5XSIsICJvdGhlckRhdGEiKTsKKyAgICAgICAgZWxlbWVudC5zZXRB
dHRyaWJ1dGUoY3VycmVudEF0dHJpYnV0ZSwgb3RoZXJEYXRhQXR0cmlidXRlKTsKKyAgICAgICAg
c2hvdWxkQmUoImVsZW1lbnRbY3VycmVudFByb3BlcnR5XSIsICJvdGhlckRhdGFQcm9wZXJ0eSIp
OwogICAgIH0KIAogICAgIGZ1bmN0aW9uIHRlc3RSb2xlKCkgewpAQCAtNTksNyArNzgsNyBAQAog
ICAgICAgICB9CiAKICAgICAgICAgZGVidWcoIlxuIik7Ci0gICAgICAgIHNob3VsZEJlKCJjb3Vu
dCIsICIzOCIpOworICAgICAgICBzaG91bGRCZSgiY291bnQiLCAiNDAiKTsKIAogICAgIH0gZWxz
ZSB7CiAgICAgICAgIHRlc3RGYWlsZWQoIkNvdWxkIG5vdCBsb2FkIGFjY2Vzc2liaWxpdHkgY29u
dHJvbGxlciIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
ZG9tL25vZGVzL2FyaWEtZWxlbWVudC1yZWZsZWN0aW9uLnRlbnRhdGl2ZS1leHBlY3RlZC50eHQK
aW5kZXggZGNhMzE4YjA5ODUzYWJiYTk3ZDVkZjc1YmYzNDNiYzE1MzU4N2FjMC4uMTY3ODA2NDcx
NjdmNDZhYTVkMGNjMTQ2M2E5M2UyMDBhMmNkZGNjMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJl
ZmxlY3Rpb24udGVudGF0aXZlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9hcmlhLWVsZW1lbnQtcmVmbGVjdGlv
bi50ZW50YXRpdmUtZXhwZWN0ZWQudHh0CkBAIC05LDEwICs5LDcgQEAgRmlyc3QgZGVzY3JpcHRp
b24uCiBTZWNvbmQgZGVzY3JpcHRpb24uCiBJdGVtIDEKIEl0ZW0gMgotSXRlbSAxCi1JdGVtIDIK
IEhlbGxvIHdvcmxkIQotSSBhbSBhbiBhcHBsZQogSSBhbSBhIHBlYXIKIEkgYW0gYSBiYW5hbmEK
IEJpbGxpbmcKQEAgLTQ3LDE3ICs0NCwxNyBAQCBXb25kZXJmdWwKIEZhbnRhc3RpYwogCiAKLUZB
SUwgYXJpYS1hY3RpdmVkZXNjZW5kYW50IGVsZW1lbnQgcmVmbGVjdGlvbiBhc3NlcnRfZXF1YWxz
OiBpbnZhbGlkIElEIGZvciByZWxhdGlvbnNoaXAgcmV0dXJucyBudWxsIGV4cGVjdGVkIChvYmpl
Y3QpIG51bGwgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgSWYgdGhlIGNvbnRl
bnQgYXR0cmlidXRlIGlzIHNldCBkaXJlY3RseSwgdGhlIElETCBhdHRyaWJ1dGUgZ2V0dGVyIGFs
d2F5cyByZXR1cm5zIHRoZSBmaXJzdCBlbGVtZW50IHdob3NlIElEIG1hdGNoZXMgdGhlIGNvbnRl
bnQgYXR0cmlidXRlLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAob2JqZWN0KSBFbGVtZW50IG5v
ZGUgPGRpdiByb2xlPSJvcHRpb24iIGlkPSJvcHRpb24xIj5JdGVtIDE8L2Rpdj4gYnV0IGdvdCAo
dW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwgU2V0dGluZyB0aGUgSURMIGF0dHJpYnV0ZSB0byBh
biBlbGVtZW50IHdoaWNoIGlzIG5vdCB0aGUgZmlyc3QgZWxlbWVudCBpbiBET00gb3JkZXIgd2l0
aCBpdHMgSUQgY2F1c2VzIHRoZSBjb250ZW50IGF0dHJpYnV0ZSB0byBiZSBhbiBlbXB0eSBzdHJp
bmcgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCi1GQUlMIFNldHRpbmcgYW4g
ZWxlbWVudCByZWZlcmVuY2UgdGhhdCBjcm9zc2VzIGludG8gYSBzaGFkb3cgdHJlZSBpcyBkaXNh
bGxvd2VkLCBidXQgc2V0dGluZyBvbmUgdGhhdCBpcyBpbiBhIHNoYWRvdyBpbmNsdXNpdmUgYW5j
ZXN0b3IgaXMgYWxsb3dlZC4gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKG9iamVjdCkgbnVsbCBi
dXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJTCBhcmlhLWVycm9ybWVzc2FnZSBhc3Nl
cnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAiZXJyb3JNZXNzYWdlIiBidXQgZ290IChvYmpl
Y3QpIG51bGwKK1BBU1MgYXJpYS1hY3RpdmVkZXNjZW5kYW50IGVsZW1lbnQgcmVmbGVjdGlvbgor
UEFTUyBJZiB0aGUgY29udGVudCBhdHRyaWJ1dGUgaXMgc2V0IGRpcmVjdGx5LCB0aGUgSURMIGF0
dHJpYnV0ZSBnZXR0ZXIgYWx3YXlzIHJldHVybnMgdGhlIGZpcnN0IGVsZW1lbnQgd2hvc2UgSUQg
bWF0Y2hlcyB0aGUgY29udGVudCBhdHRyaWJ1dGUuCitQQVNTIFNldHRpbmcgdGhlIElETCBhdHRy
aWJ1dGUgdG8gYW4gZWxlbWVudCB3aGljaCBpcyBub3QgdGhlIGZpcnN0IGVsZW1lbnQgaW4gRE9N
IG9yZGVyIHdpdGggaXRzIElEIGNhdXNlcyB0aGUgY29udGVudCBhdHRyaWJ1dGUgdG8gYmUgYW4g
ZW1wdHkgc3RyaW5nCitQQVNTIFNldHRpbmcgYW4gZWxlbWVudCByZWZlcmVuY2UgdGhhdCBjcm9z
c2VzIGludG8gYSBzaGFkb3cgdHJlZSBpcyBkaXNhbGxvd2VkLCBidXQgc2V0dGluZyBvbmUgdGhh
dCBpcyBpbiBhIHNoYWRvdyBpbmNsdXNpdmUgYW5jZXN0b3IgaXMgYWxsb3dlZC4KK1BBU1MgYXJp
YS1lcnJvcm1lc3NhZ2UKIEZBSUwgYXJpYS1kZXRhaWxzIGFzc2VydF9hcnJheV9lcXVhbHM6IHZh
bHVlIGlzIHVuZGVmaW5lZCwgZXhwZWN0ZWQgYXJyYXkKLUZBSUwgRGVsZXRpbmcgYSByZWZsZWN0
ZWQgZWxlbWVudCBzaG91bGQgcmV0dXJuIG51bGwgZm9yIHRoZSBJREwgYXR0cmlidXRlIGFuZCBj
YXVzZSB0aGUgY29udGVudCBhdHRyaWJ1dGUgdG8gYmVjb21lIHN0YWxlLiBhc3NlcnRfZXF1YWxz
OiBleHBlY3RlZCAob2JqZWN0KSBFbGVtZW50IG5vZGUgPGRpdiByb2xlPSJvcHRpb24iIGlkPSJj
b250ZW50QXR0ckVsZW1lbnQiPkl0ZW0gMTwvZGl2PiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVm
aW5lZAotRkFJTCBDaGFuZ2luZyB0aGUgSUQgb2YgYW4gZWxlbWVudCBjYXVzZXMgdGhlIGNvbnRl
bnQgYXR0cmlidXRlIHRvIGJlY29tZSBvdXQgb2Ygc3luYy4gYXNzZXJ0X2VxdWFsczogZXhwZWN0
ZWQgKG9iamVjdCkgRWxlbWVudCBub2RlIDxkaXYgcm9sZT0ib3B0aW9uIiBpZD0iY2hhbmdpbmdJ
ZEVsZW1lbnQiPkl0ZW0gMTwvZGl2PiBidXQgZ290ICh1bmRlZmluZWQpIHVuZGVmaW5lZAotRkFJ
TCBSZXBhcmVudGluZyBhbiBlbGVtZW50IGludG8gYSBkZXNjZW5kYW50IHNoYWRvdyBzY29wZSBo
aWRlcyB0aGUgZWxlbWVudCByZWZlcmVuY2UuIGFzc2VydF9lcXVhbHM6IG51bGwgYmVmb3JlIGV4
cGVjdGVkIChvYmplY3QpIG51bGwgYnV0IGdvdCAodW5kZWZpbmVkKSB1bmRlZmluZWQKLUZBSUwg
UmVwYXJlbnRpbmcgcmVmZXJlbmNlZCBlbGVtZW50IGNhbm5vdCBjYXVzZSByZXRhcmdldGluZyBv
ZiByZWZlcmVuY2UuIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIChzdHJpbmcpICJhcHBsZSIgYnV0
IGdvdCAob2JqZWN0KSBudWxsCi1GQUlMIEVsZW1lbnQgcmVmZXJlbmNlIHNldCBpbiBpbnZhbGlk
IHNjb3BlIHJlbWFpbnMgaW50YWN0IHRocm91Z2hvdXQgbW92ZSB0byB2YWxpZCBzY29wZS4gYXNz
ZXJ0X2VxdWFsczogZXhwZWN0ZWQgbnVsbCBidXQgZ290IEVsZW1lbnQgbm9kZSA8ZGl2IGlkPSJ0
b2FzdCI+PC9kaXY+CitQQVNTIERlbGV0aW5nIGEgcmVmbGVjdGVkIGVsZW1lbnQgc2hvdWxkIHJl
dHVybiBudWxsIGZvciB0aGUgSURMIGF0dHJpYnV0ZSBhbmQgY2F1c2UgdGhlIGNvbnRlbnQgYXR0
cmlidXRlIHRvIGJlY29tZSBzdGFsZS4KK1BBU1MgQ2hhbmdpbmcgdGhlIElEIG9mIGFuIGVsZW1l
bnQgY2F1c2VzIHRoZSBjb250ZW50IGF0dHJpYnV0ZSB0byBiZWNvbWUgb3V0IG9mIHN5bmMuCitQ
QVNTIFJlcGFyZW50aW5nIGFuIGVsZW1lbnQgaW50byBhIGRlc2NlbmRhbnQgc2hhZG93IHNjb3Bl
IGhpZGVzIHRoZSBlbGVtZW50IHJlZmVyZW5jZS4KK1BBU1MgUmVwYXJlbnRpbmcgcmVmZXJlbmNl
ZCBlbGVtZW50IGNhbm5vdCBjYXVzZSByZXRhcmdldGluZyBvZiByZWZlcmVuY2UuCitQQVNTIEVs
ZW1lbnQgcmVmZXJlbmNlIHNldCBpbiBpbnZhbGlkIHNjb3BlIHJlbWFpbnMgaW50YWN0IHRocm91
Z2hvdXQgbW92ZSB0byB2YWxpZCBzY29wZS4KIEZBSUwgYXJpYS1sYWJlbGxlZGJ5LiBhc3NlcnRf
YXJyYXlfZXF1YWxzOiBwYXJzZWQgY29udGVudCBhdHRyaWJ1dGUgc2V0cyBlbGVtZW50IHJlZmVy
ZW5jZXMuIHZhbHVlIGlzIHVuZGVmaW5lZCwgZXhwZWN0ZWQgYXJyYXkKIEZBSUwgYXJpYS1jb250
cm9scy4gYXNzZXJ0X2FycmF5X2VxdWFsczogdmFsdWUgaXMgdW5kZWZpbmVkLCBleHBlY3RlZCBh
cnJheQogRkFJTCBhcmlhLWRlc2NyaWJlZGJ5LiBhc3NlcnRfYXJyYXlfZXF1YWxzOiB2YWx1ZSBp
cyB1bmRlZmluZWQsIGV4cGVjdGVkIGFycmF5CkBAIC02Nyw2ICs2NCw3IEBAIEZBSUwgc2hhZG93
IERPTSBiZWhhdmlvdXIgZm9yIEZyb3plbkFycmF5IGVsZW1lbnQgcmVmbGVjdGlvbi4gYXNzZXJ0
X2FycmF5X2VxdWFsCiBGQUlMIE1vdmluZyBleHBsaWNpdGx5IHNldCBlbGVtZW50cyBhY3Jvc3Mg
c2hhZG93IERPTSBib3VuZGFyaWVzLiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAoc3RyaW5nKSAi
YnV0dG9uRGVzY3JpcHRpb24xIGJ1dHRvbkRlc2NyaXB0aW9uMiIgYnV0IGdvdCAob2JqZWN0KSBu
dWxsCiBGQUlMIE1vdmluZyBleHBsaWNpdGx5IHNldCBlbGVtZW50cyBhcm91bmQgd2l0aGluIHRo
ZSBzYW1lIHNjb3BlLCBhbmQgcmVtb3ZpbmcgZnJvbSB0aGUgRE9NLiBhc3NlcnRfYXJyYXlfZXF1
YWxzOiBhcmlhLWxhYmVsZWQgYnkgaXMgc3VwcG9ydGVkIGJ5IElETCBnZXR0ZXIuIHZhbHVlIGlz
IHVuZGVmaW5lZCwgZXhwZWN0ZWQgYXJyYXkKIFBBU1MgUmVwYXJlbnRpbmcuCi1GQUlMIEF0dGFj
aGluZyBlbGVtZW50IHJlZmVyZW5jZSBiZWZvcmUgaXQncyBpbnNlcnRlZCBpbnRvIHRoZSBET00u
IGFzc2VydF9lcXVhbHM6IFJlZmVyZW5jZWQgZWxlbWVudCBub3QgaW5zZXJ0ZWQgaW50byBkb2N1
bWVudCwgc28gaXMgaW4gYW4gaW52YWxpZCBzY29wZS4gZXhwZWN0ZWQgbnVsbCBidXQgZ290IEVs
ZW1lbnQgbm9kZSA8c3BhbiBpZD0idG9TcGFuIj48L3NwYW4+Ci1GQUlMIENyb3NzLWRvY3VtZW50
IHJlZmVyZW5jZXMgYW5kIG1vdmVzLiBhc3NlcnRfZXF1YWxzOiBDcm9zcy1kb2N1bWVudCBpcyBh
biBpbnZhbGlkIHNjb3BlLCBzbyByZWZlcmVuY2Ugd2lsbCBub3QgYmUgdmlzaWJsZS4gZXhwZWN0
ZWQgbnVsbCBidXQgZ290IEVsZW1lbnQgbm9kZSA8c3Bhbj48L3NwYW4+CitQQVNTIEF0dGFjaGlu
ZyBlbGVtZW50IHJlZmVyZW5jZSBiZWZvcmUgaXQncyBpbnNlcnRlZCBpbnRvIHRoZSBET00uCitQ
QVNTIENyb3NzLWRvY3VtZW50IHJlZmVyZW5jZXMgYW5kIG1vdmVzLgorUEFTUyBBZG9wdGluZyBl
bGVtZW50IGtlZXBzIHJlZmVyZW5jZXMuCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL2FyaWEtZWxlbWVudC1yZWZsZWN0
aW9uLnRlbnRhdGl2ZS5odG1sIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0aXZlLmh0bWwK
aW5kZXggNzc2ZmZmMzE0MzIyYjkwMDRlMWU2NzgzYzYyNmMwMzU2Y2E4ZjBhNy4uZjc0OGRlMWVj
MWY5NTlmZjhlMzQ1ZDNhOWI1M2EwMGQzNzM3MDE4NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJl
ZmxlY3Rpb24udGVudGF0aXZlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvYXJpYS1lbGVtZW50LXJlZmxlY3Rpb24udGVudGF0
aXZlLmh0bWwKQEAgLTE2NCw2ICsxNjQsNyBAQAogICA8c2NyaXB0PgogCiAgIHRlc3QoZnVuY3Rp
b24odCkgeworICAgIGNvbnN0IGNvbnRlbnRBdHRyRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJjb250ZW50QXR0ckVsZW1lbnQiKTsKICAgICBjb25zdCBpZGxBdHRyRWxlbWVudCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpZGxBdHRyRWxlbWVudCIpOwogCiAgICAgYXNzZXJ0
X2VxdWFscyhkZWxldGlvblBhcmVudC5nZXRBdHRyaWJ1dGUoImFyaWEtYWN0aXZlZGVzY2VuZGFu
dCIpLCAiY29udGVudEF0dHJFbGVtZW50Iik7CkBAIC03MDcsNiArNzA4LDI0IEBACiAgICAgfSwg
IkNyb3NzLWRvY3VtZW50IHJlZmVyZW5jZXMgYW5kIG1vdmVzLiIpOwogICA8L3NjcmlwdD4KIAor
CisgIDxzY3JpcHQ+CisgICAgdGVzdChmdW5jdGlvbih0KSB7CisgICAgICBjb25zdCBvdGhlckRv
YyA9IGRvY3VtZW50LmltcGxlbWVudGF0aW9uLmNyZWF0ZUhUTUxEb2N1bWVudCgnb3RoZXJEb2Mn
KTsKKyAgICAgIGNvbnN0IG90aGVyRG9jRGl2ID0gb3RoZXJEb2MuY3JlYXRlRWxlbWVudCgnZGl2
Jyk7CisgICAgICBjb25zdCBvdGhlckRvY1NwYW4gPSBvdGhlckRvYy5jcmVhdGVFbGVtZW50KCdz
cGFuJyk7CisgICAgICBvdGhlckRvY0Rpdi5hcHBlbmRDaGlsZChvdGhlckRvY1NwYW4pOworICAg
ICAgb3RoZXJEb2MuYm9keS5hcHBlbmRDaGlsZChvdGhlckRvY0Rpdik7CisKKyAgICAgIG90aGVy
RG9jRGl2LmFyaWFBY3RpdmVEZXNjZW5kYW50RWxlbWVudCA9IG90aGVyRG9jU3BhbjsKKyAgICAg
IGFzc2VydF9lcXVhbHMob3RoZXJEb2NEaXYuYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50LCBv
dGhlckRvY1NwYW4sICJTZXR0aW5nIHJlZmVyZW5jZSBvbiBhIGRpZmZlcmVudCBkb2N1bWVudC4i
KTsKKworICAgICAgLy8gQWRvcHQgZWxlbWVudCBmcm9tIG90aGVyIG9kdWNtZW50LgorICAgICAg
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5hZG9wdE5vZGUob3RoZXJEb2NEaXYp
KTsKKyAgICAgIGFzc2VydF9lcXVhbHMob3RoZXJEb2NEaXYuYXJpYUFjdGl2ZURlc2NlbmRhbnRF
bGVtZW50LCBvdGhlckRvY1NwYW4sICJSZWZlcmVuY2Ugc2hvdWxkIGJlIGtlcHQgb24gdGhlIG5l
dyBkb2N1bWVudCB0b28uIik7CisgICAgfSwgIkFkb3B0aW5nIGVsZW1lbnQga2VlcHMgcmVmZXJl
bmNlcy4iKTsKKyAgPC9zY3JpcHQ+CisKICAgPCEtLSBUT0RPKGNocmlzaGFsbCk6IGFkZCBhZGRp
dGlvbmFsIEdDIHRlc3QgY292ZXJpbmc6CiAgICAgICAgaWYgYW4gZWxlbWVudCBpcyBpbiBhbiBp
bnZhbGlkIHNjb3BlIGJ1dCBhdHRhY2hlZCB0byB0aGUgZG9jdW1lbnQsIGl0J3MKICAgICAgICBu
b3QgR0MnZDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>458917</attachid>
            <date>2022-05-05 15:11:16 -0700</date>
            <delta_ts>2022-05-05 15:12:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-239852-20220505151114.patch</filename>
            <type>text/plain</type>
            <size>38550</size>
            <attacher name="Kate Cheney">katherine_cheney</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzODYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmM0MTE3ZTUxZDRlYTVi
MmU4YjQ2NmU2ZGU1MzVmYzUxN2VkMmM0OS4uMWQ5MzBiZGZlZjlmOTY4ZDUyZDI4ZmFmYmM2MDky
ZDgyNTZiZDc5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMTA1LDYgKzEwNSw2MyBAQAogICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZU1lZGlh
U291cmNlQVZGT2JqQy5tbToKICAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUGxheWVyUHJpdmF0ZU1l
ZGlhU291cmNlQVZGT2JqQzo6Y2hlY2tOZXdWaWRlb0ZyYW1lTWV0YWRhdGEpOgogCisyMDIyLTA1
LTA1ICBLYXRlIENoZW5leSAgPGthdGhlcmluZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAgICAg
IEltYWdlIGNvbnRyb2xzIG1lbnUgYnV0dG9uIGlzIG5vdCBhcHBlYXJpbmcgZm9yIG11bHRpLXBh
Z2UgUERGcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjQwMTIwCisgICAgICAgIHJkYXI6Ly84NjQyNTcyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlZmFjdG9yIGltYWdlIGNvbnRyb2xzIGJ1dHRvbiBj
b2RlIHNvIGl0IGNhbiBhbHNvIGJlIHVzZWQgZm9yIFBERgorICAgICAgICBhdHRhY2htZW50cy4K
KworICAgICAgICAqIGRvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpJbWFnZUNvbnRyb2xzTWFjOjpoYW5kbGVFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpJ
bWFnZUNvbnRyb2xzTWFjOjp1cGRhdGVJbWFnZUNvbnRyb2xzKToKKyAgICAgICAgKFdlYkNvcmU6
OkltYWdlQ29udHJvbHNNYWM6OnRyeUNyZWF0ZUltYWdlQ29udHJvbHMpOgorICAgICAgICAoV2Vi
Q29yZTo6SW1hZ2VDb250cm9sc01hYzo6ZGVzdHJveUltYWdlQ29udHJvbHMpOgorICAgICAgICAo
V2ViQ29yZTo6SW1hZ2VDb250cm9sc01hYzo6aGFzSW1hZ2VDb250cm9scyk6CisgICAgICAgICog
ZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmg6CisgICAgICAgIEhhbmRsZSB0aGUgUERGIGNhc2Ug
d2hlbiBhIGNsaWNrIG9uIHRoZSBpbWFnZSBjb250cm9scyBidXR0b24gaGFwcGVucy4KKyAgICAg
ICAgTW92ZSBhbGwgaW1hZ2UgY29udHJvbHMgY29kZSB0byBJbWFnZUNvbnRyb2xzTWFjIHdoZXJl
IGl0IGNhbiBiZQorICAgICAgICBzaGFyZWQgYnkgaW1hZ2UgYW5kIGF0dGFjaG1lbnQgZWxlbWVu
dHMuCisKKyAgICAgICAgKiBodG1sL0hUTUxBdHRhY2htZW50RWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpIVE1MQXR0YWNobWVudEVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxBdHRhY2htZW50RWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5k
ZXJlciBjb25zdCk6CisgICAgICAgICogaHRtbC9IVE1MQXR0YWNobWVudEVsZW1lbnQuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkhUTUxBdHRhY2htZW50RWxlbWVudDo6c2V0SW1hZ2VNZW51RW5hYmxl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQXR0YWNobWVudEVsZW1lbnQ6OmltYWdlTWVudUVu
YWJsZWQpOgorICAgICAgICAqIGh0bWwvSFRNTEltYWdlRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpzZXRBdHRhY2htZW50RWxlbWVudCk6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojp1cGRhdGVJbWFnZUNvbnRyb2xzKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNyZWF0ZUltYWdlQ29udHJv
bHMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6ZGVzdHJv
eUltYWdlQ29udHJvbHMpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6SFRNTEltYWdlRWxl
bWVudDo6aGFzSW1hZ2VDb250cm9scyBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICogaHRtbC9I
VE1MSW1hZ2VFbGVtZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50Ojpz
ZXRJbWFnZU1lbnVFbmFibGVkKToKKyAgICAgICAgKiBodG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250
cm9sc01hYy5jc3M6CisgICAgICAgIFRoZSBpbWFnZSBjb250cm9scyBidXR0b24gd2FzIG9yaWdp
bmFsbHkgb2Zmc2V0IGJ5IDIwcHggZnJvbSB0aGUgdG9wCisgICAgICAgIGFuZCB0aGUgcmlnaHQu
IFRoaXMgY2F1c2VzIHRoZSBpbWFnZSBjb250cm9scyBidXR0b24gdG8gYXBwZWFyIGluIHRoZQor
ICAgICAgICBtaWRkbGUgb2YgYSBQREYgYXR0YWNobWVudCBhbmQgYmUgZGlmZmljdWx0IHRvIHNl
ZS4gVGhpcyBjaGFuZ2UgbWFrZXMKKyAgICAgICAgaXQgZmx1c2ggYWdhaW5zdCB0aGUgdG9wIHJp
Z2h0IGNvcm5lciBmb3IgYm90aCBpbWFnZXMgYW5kIFBERnMuCisKKyAgICAgICAgKGJ1dHRvbiNp
bWFnZS1jb250cm9scy1idXR0b24pOgorICAgICAgICAqIHBhZ2UvQ2hyb21lQ2xpZW50Lmg6Cisg
ICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OmhhbmRsZVBERlNlcnZpY2VDbGljayk6Cisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckF0dGFjaG1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQXR0YWNobWVudDo6UmVuZGVyQXR0YWNobWVudCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJBdHRhY2htZW50OjpsYXlvdXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQXR0
YWNobWVudDo6bGF5b3V0U2hhZG93Q29udGVudCk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckF0dGFjaG1lbnQuaDoKKyAgICAgICAgQWRkIGNhbkhhdmVHZW5lcmF0ZWRDaGlsZHJlbigpIGFu
ZCBjYW5IYXZlQ2hpbGRyZW4oKSBzbyB0aGF0CisgICAgICAgIHdlIHJlbmRlciB0aGUgaW1hZ2Ug
Y29udHJvbHMgYnV0dG9uIGluIHRoZSBzaGFkb3cgdHJlZS4KKworICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6aGFzSW1hZ2VDb250
cm9scyBjb25zdCk6CisKIDIwMjItMDUtMDUgIEthdGUgQ2hlbmV5ICA8a2F0aGVyaW5lX2NoZW5l
eUBhcHBsZS5jb20+CiAKICAgICAgICAgUmlnaHQgY2xpY2sgdXNpbmcgdHJhY2twYWQgY3Jhc2hl
cyBTYWZhcmkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKaW5kZXggODFlNjFmOTVmMjYwYjNkODYzNWYwOGY0MmEwODY1MzUzNWRk
MWJhNS4uZDM5M2U1YjFjNmM4YjAwZjYyOTQ0YzkxNzk4MmYwNTNmMGYzMWExNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwzMyBAQAorMjAyMi0wNS0wNSAgS2F0ZSBDaGVuZXkgIDxrYXRoZXJpbmVfY2hl
bmV5QGFwcGxlLmNvbT4KKworICAgICAgICBJbWFnZSBjb250cm9scyBtZW51IGJ1dHRvbiBpcyBu
b3QgYXBwZWFyaW5nIGZvciBtdWx0aS1wYWdlIFBERnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTI0MDEyMAorICAgICAgICByZGFyOi8vODY0MjU3MjEK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNoYXJl
ZC9Db250ZXh0TWVudUNvbnRleHREYXRhLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q29udGV4dE1l
bnVDb250ZXh0RGF0YTo6Y29udHJvbGxlZERhdGFJc0VkaXRhYmxlIGNvbnN0KToKKyAgICAgICAg
V2UgbmVlZCB0byBtYWtlIHN1cmUgUERGIGF0dGFjaG1lbnRzIGFyZSBtYXJrZWQgYXMgZWRpdGFi
bGUgc28gdGhlCisgICAgICAgIGNvbnRleHQgbWVudSBnZXRzIHByb3Blcmx5IHBvcHVsYXRlZC4K
KworICAgICAgICAqIFNoYXJlZC9Db250ZXh0TWVudUNvbnRleHREYXRhLmg6CisgICAgICAgIChX
ZWJLaXQ6OkNvbnRleHRNZW51Q29udGV4dERhdGE6OkNvbnRleHRNZW51Q29udGV4dERhdGEpOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvQVBJQXR0YWNobWVudENvY29hLm1tOgorICAg
ICAgICAoQVBJOjpBdHRhY2htZW50OjplbmNsb3NpbmdJbWFnZU5TRGF0YSBjb25zdCk6CisgICAg
ICAgIFJlbW92ZSB0aGUgaW1hZ2UgY2hlY2sgc28gd2UgcmV0dXJuIHRoZSBQREYgTlNEYXRhIGlu
IHRoZSBhdHRhY2htZW50CisgICAgICAgIGNhc2UuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFj
L1dlYkNvbnRleHRNZW51UHJveHlNYWMubW06CisgICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHRN
ZW51UHJveHlNYWM6OnNldHVwU2VydmljZXNNZW51KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYkNo
cm9tZUNsaWVudDo6aGFuZGxlUERGU2VydmljZUNsaWNrKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQ
YWdlTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpoYW5kbGVQREZTZXJ2aWNlQ2xp
Y2spOgorICAgICAgICBQbHVtYmluZyBmb3IgaGFuZGxpbmcgYSBjbGljayBvbiB0aGUgaW1hZ2Ug
Y29udHJvbHMgYnV0dG9uIGZvciBQREZzLgorCiAyMDIyLTA1LTA1ICBBbGV4IENocmlzdGVuc2Vu
ICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWxsb3cgaHcuY3B1NjRiaXRf
Y2FwYWJsZSBzeXNjdGwtcmVhZCBpbiBuZXR3b3JrIHByb2Nlc3Mgc2FuZGJveCBvbiBpT1MKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vbWFjL0ltYWdlQ29udHJvbHNNYWMuY3BwCmluZGV4IGNmM2VmYmEz
NDRlODI0Yzk1ZTBjN2M0ZmFjMjdhZjgzN2U5YmVjOTQuLjU4MDgyZjE5ODk0N2M2YmY5ZTJjNmZj
NjVkYjNhY2IyYjc0Y2Q5YzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9tYWMvSW1h
Z2VDb250cm9sc01hYy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRy
b2xzTWFjLmNwcApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkVsZW1lbnRSYXJlRGF0YS5o
IgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZlbnRIYW5kbGVyLmgiCisjaW5jbHVk
ZSAiRXZlbnRMb29wLmgiCiAjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxB
dHRhY2htZW50RWxlbWVudC5oIgogI2luY2x1ZGUgIkhUTUxCdXR0b25FbGVtZW50LmgiCkBAIC00
Miw2ICs0Myw3IEBACiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRNTFN0eWxl
RWxlbWVudC5oIgogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKKyNpbmNsdWRlICJSZW5kZXJBdHRh
Y2htZW50LmgiCiAjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKICNpbmNsdWRlICJTaGFkb3dSb290
LmgiCiAjaW5jbHVkZSAiVXNlckFnZW50U3R5bGVTaGVldHMuaCIKQEAgLTE0MSwxNCArMTQzLDYg
QEAgYm9vbCBoYW5kbGVFdmVudChIVE1MRWxlbWVudCYgZWxlbWVudCwgRXZlbnQmIGV2ZW50KQog
ICAgIGF1dG8mIG5vZGUgPSBkb3duY2FzdDxOb2RlPigqbW91c2VFdmVudC50YXJnZXQoKSk7CiAK
ICAgICBpZiAoSW1hZ2VDb250cm9sc01hYzo6aXNJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudChu
b2RlKSkgewotICAgICAgICBSZWZQdHIgc2hhZG93SG9zdCA9IGR5bmFtaWNEb3duY2FzdDxIVE1M
SW1hZ2VFbGVtZW50Pihub2RlLnNoYWRvd0hvc3QoKSk7Ci0gICAgICAgIGlmICghc2hhZG93SG9z
dCkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgICAgICBhdXRvKiBpbWFnZSA9IGlt
YWdlRnJvbUltYWdlRWxlbWVudE5vZGUoKnNoYWRvd0hvc3QpOwotICAgICAgICBpZiAoIWltYWdl
KQotICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwotCiAgICAgICAgIFJlZiBlbGVtZW50ID0gZG93
bmNhc3Q8RWxlbWVudD4obm9kZSk7CiAgICAgICAgIGF1dG8qIHJlbmRlcmVyID0gZWxlbWVudC0+
cmVuZGVyZXIoKTsKICAgICAgICAgaWYgKCFyZW5kZXJlcikKQEAgLTE1OSwxMyArMTUzLDkyIEBA
IGJvb2wgaGFuZGxlRXZlbnQoSFRNTEVsZW1lbnQmIGVsZW1lbnQsIEV2ZW50JiBldmVudCkKICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKIAogICAgICAgICBhdXRvIHBvaW50ID0gdmlldy0+Y29u
dGVudHNUb1dpbmRvdyhyZW5kZXJlci0+YWJzb2x1dGVCb3VuZGluZ0JveFJlY3QoKSkubWluWE1h
eFlDb3JuZXIoKTsKLSAgICAgICAgcGFnZS0+Y2hyb21lKCkuY2xpZW50KCkuaGFuZGxlSW1hZ2VT
ZXJ2aWNlQ2xpY2socG9pbnQsICppbWFnZSwgKnNoYWRvd0hvc3QpOworCisgICAgICAgIGlmIChp
czxIVE1MSW1hZ2VFbGVtZW50Pihub2RlLnNoYWRvd0hvc3QoKSkpIHsKKyAgICAgICAgICAgIFJl
ZlB0ciBzaGFkb3dIb3N0ID0gZHluYW1pY0Rvd25jYXN0PEhUTUxJbWFnZUVsZW1lbnQ+KG5vZGUu
c2hhZG93SG9zdCgpKTsKKyAgICAgICAgICAgIGlmICghc2hhZG93SG9zdCkKKyAgICAgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgICAgIGF1dG8qIGltYWdlID0gaW1hZ2VGcm9t
SW1hZ2VFbGVtZW50Tm9kZSgqc2hhZG93SG9zdCk7CisgICAgICAgICAgICBpZiAoIWltYWdlKQor
ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICAgICAgcGFnZS0+Y2hyb21l
KCkuY2xpZW50KCkuaGFuZGxlSW1hZ2VTZXJ2aWNlQ2xpY2socG9pbnQsICppbWFnZSwgKnNoYWRv
d0hvc3QpOworICAgICAgICB9IGVsc2UgaWYgKGlzPEhUTUxBdHRhY2htZW50RWxlbWVudD4obm9k
ZS5zaGFkb3dIb3N0KCkpKSB7CisgICAgICAgICAgICBSZWZQdHIgc2hhZG93SG9zdCA9IGR5bmFt
aWNEb3duY2FzdDxIVE1MQXR0YWNobWVudEVsZW1lbnQ+KG5vZGUuc2hhZG93SG9zdCgpKTsKKyAg
ICAgICAgICAgIGlmICghc2hhZG93SG9zdCkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICAgICAgICAgIHBhZ2UtPmNocm9tZSgpLmNsaWVudCgpLmhhbmRsZVBERlNlcnZpY2VD
bGljayhwb2ludCwgKnNoYWRvd0hvc3QpOworICAgICAgICB9CisKICAgICAgICAgZXZlbnQuc2V0
RGVmYXVsdEhhbmRsZWQoKTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgIHJldHVy
biBmYWxzZTsKIH0KIAordm9pZCB1cGRhdGVJbWFnZUNvbnRyb2xzKEhUTUxFbGVtZW50JiBlbGVt
ZW50KQoreworICAgIC8vIElmIHRoaXMgaXMgYW4gaW1hZ2UgZWxlbWVudCBhbmQgaXQgaXMgaW5z
aWRlIGEgc2hhZG93IHRyZWUgdGhlbiBpdCBpcyBwYXJ0IG9mIGFuIGltYWdlIGNvbnRyb2wuCisg
ICAgaWYgKGVsZW1lbnQuaXNJblNoYWRvd1RyZWUoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAg
aWYgKCFlbGVtZW50LmRvY3VtZW50KCkuc2V0dGluZ3MoKS5pbWFnZUNvbnRyb2xzRW5hYmxlZCgp
KQorICAgICAgICByZXR1cm47CisKKyAgICBlbGVtZW50LmRvY3VtZW50KCkuZXZlbnRMb29wKCku
cXVldWVUYXNrKFRhc2tTb3VyY2U6OkludGVybmFsQXN5bmNUYXNrLCBbd2Vha0VsZW1lbnQgPSBX
ZWFrUHRyIHsgZWxlbWVudCB9XSB7CisgICAgICAgIFJlZlB0ciBwcm90ZWN0ZWRFbGVtZW50ID0g
d2Vha0VsZW1lbnQuZ2V0KCk7CisgICAgICAgIGlmICghcHJvdGVjdGVkRWxlbWVudCkKKyAgICAg
ICAgICAgIHJldHVybjsKKworICAgICAgICBBU1NFUlQoaXM8SFRNTEF0dGFjaG1lbnRFbGVtZW50
Pihwcm90ZWN0ZWRFbGVtZW50KSB8fCBpczxIVE1MSW1hZ2VFbGVtZW50Pihwcm90ZWN0ZWRFbGVt
ZW50KSk7CisKKyAgICAgICAgYm9vbCBoYXNJbWFnZU1lbnUgPSBmYWxzZTsKKyAgICAgICAgaWYg
KGlzPEhUTUxBdHRhY2htZW50RWxlbWVudD4ocHJvdGVjdGVkRWxlbWVudCkpCisgICAgICAgICAg
ICBoYXNJbWFnZU1lbnUgPSBkeW5hbWljRG93bmNhc3Q8SFRNTEF0dGFjaG1lbnRFbGVtZW50Pigq
cHJvdGVjdGVkRWxlbWVudCktPmltYWdlTWVudUVuYWJsZWQoKTsKKyAgICAgICAgZWxzZSBpZiAo
aXM8SFRNTEltYWdlRWxlbWVudD4ocHJvdGVjdGVkRWxlbWVudCkpCisgICAgICAgICAgICBoYXNJ
bWFnZU1lbnUgPSBkeW5hbWljRG93bmNhc3Q8SFRNTEltYWdlRWxlbWVudD4oKnByb3RlY3RlZEVs
ZW1lbnQpLT5pbWFnZU1lbnVFbmFibGVkKCk7CisKKyAgICAgICAgYm9vbCBoYXNDb250cm9scyA9
IGhhc0ltYWdlQ29udHJvbHMoKnByb3RlY3RlZEVsZW1lbnQpOworICAgICAgICBpZiAoIWhhc0lt
YWdlTWVudSAmJiBoYXNDb250cm9scykKKyAgICAgICAgICAgIGRlc3Ryb3lJbWFnZUNvbnRyb2xz
KCpwcm90ZWN0ZWRFbGVtZW50KTsKKyAgICAgICAgZWxzZSBpZiAoaGFzSW1hZ2VNZW51ICYmICFo
YXNDb250cm9scykKKyAgICAgICAgICAgIHRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKnByb3RlY3Rl
ZEVsZW1lbnQpOworICAgIH0pOworfQorCit2b2lkIHRyeUNyZWF0ZUltYWdlQ29udHJvbHMoSFRN
TEVsZW1lbnQmIGVsZW1lbnQpCit7CisgICAgQVNTRVJUKGVsZW1lbnQuaW1hZ2VNZW51RW5hYmxl
ZCgpKTsKKyAgICBBU1NFUlQoIWhhc0ltYWdlQ29udHJvbHMoKSk7CisgICAgY3JlYXRlSW1hZ2VD
b250cm9scyhlbGVtZW50KTsKK30KKwordm9pZCBkZXN0cm95SW1hZ2VDb250cm9scyhIVE1MRWxl
bWVudCYgZWxlbWVudCkKK3sKKyAgICBhdXRvIHNoYWRvd1Jvb3QgPSBlbGVtZW50LnVzZXJBZ2Vu
dFNoYWRvd1Jvb3QoKTsKKyAgICBpZiAoIXNoYWRvd1Jvb3QpCisgICAgICAgIHJldHVybjsKKyAg
ICBpZiAoUmVmUHRyPE5vZGU+IG5vZGUgPSBzaGFkb3dSb290LT5maXJzdENoaWxkKCkpIHsKKyAg
ICAgICAgUkVMRUFTRV9BU1NFUlRfV0lUSF9TRUNVUklUWV9JTVBMSUNBVElPTihJbWFnZUNvbnRy
b2xzTWFjOjpoYXNDb250cm9scyhkb3duY2FzdDxIVE1MRWxlbWVudD4oKm5vZGUpKSk7CisgICAg
ICAgIHNoYWRvd1Jvb3QtPnJlbW92ZUNoaWxkKCpub2RlKTsKKyAgICB9CisgICAgYXV0byogcmVu
ZGVyT2JqZWN0ID0gZWxlbWVudC5yZW5kZXJlcigpOworICAgIGlmICghcmVuZGVyT2JqZWN0KQor
ICAgICAgICByZXR1cm47CisgICAgCisgICAgaWYgKGlzPFJlbmRlckltYWdlPigqcmVuZGVyT2Jq
ZWN0KSkKKyAgICAgICAgZG93bmNhc3Q8UmVuZGVySW1hZ2U+KCpyZW5kZXJPYmplY3QpLnNldEhh
c1NoYWRvd0NvbnRyb2xzKGZhbHNlKTsKKyAgICBlbHNlIGlmIChpczxSZW5kZXJBdHRhY2htZW50
PigqcmVuZGVyT2JqZWN0KSkKKyAgICAgICAgZG93bmNhc3Q8UmVuZGVyQXR0YWNobWVudD4oKnJl
bmRlck9iamVjdCkuc2V0SGFzU2hhZG93Q29udHJvbHMoZmFsc2UpOworfQorCitib29sIGhhc0lt
YWdlQ29udHJvbHMoY29uc3QgSFRNTEVsZW1lbnQmIGVsZW1lbnQpCit7CisgICAgcmV0dXJuIGhh
c0NvbnRyb2xzKGVsZW1lbnQpOworfQorCiAjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJP
TFMpCiAKIH0gLy8gbmFtZXNwYWNlIEltYWdlQ29udHJvbHNNYWMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9tYWMvSW1hZ2VDb250cm9sc01hYy5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L21hYy9JbWFnZUNvbnRyb2xzTWFjLmgKaW5kZXggZDI4MWZhNmY0ZTA3MDc1OWJhYjc5NGFmNjEz
ZjlhNjg3ZmIwYjA1Yi4uYjQ0ZDc1OWYzZTE3ZTk2YzcwNGQ3Mzk4ZWNlMjgyNjNlNjg5M2FjYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvZG9tL21hYy9JbWFnZUNvbnRyb2xzTWFjLmgKQEAgLTQyLDcgKzQy
LDEwIEBAIGJvb2wgaXNJbWFnZUNvbnRyb2xzQnV0dG9uRWxlbWVudChjb25zdCBOb2RlJik7CiBi
b29sIGlzSW5zaWRlSW1hZ2VDb250cm9scyhjb25zdCBOb2RlJik7CiB2b2lkIGNyZWF0ZUltYWdl
Q29udHJvbHMoSFRNTEVsZW1lbnQmKTsKIGJvb2wgaGFuZGxlRXZlbnQoSFRNTEVsZW1lbnQmLCBF
dmVudCYpOwotCit2b2lkIHVwZGF0ZUltYWdlQ29udHJvbHMoSFRNTEVsZW1lbnQmKTsKK3ZvaWQg
dHJ5Q3JlYXRlSW1hZ2VDb250cm9scyhIVE1MRWxlbWVudCYpOwordm9pZCBkZXN0cm95SW1hZ2VD
b250cm9scyhIVE1MRWxlbWVudCYpOworV0VCQ09SRV9FWFBPUlQgYm9vbCBoYXNJbWFnZUNvbnRy
b2xzKGNvbnN0IEhUTUxFbGVtZW50Jik7CiAjZW5kaWYgLy8gRU5BQkxFKFNFUlZJQ0VfQ09OVFJP
TFMpCiAKIH0gLy8gbmFtZXNwYWNlIEltYWdlQ29udHJvbHNNYWMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEF0dGFjaG1lbnRFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEF0dGFjaG1lbnRFbGVtZW50LmNwcAppbmRleCA2ZTAyM2NlNzBjN2RmNTliYzM4
YjQ1NDIyNjIwYTEwZmI2MWE2Njg5Li5kYjUxMGIxNGJhNWZlMjAyZWQ1ODM3NmZlZWI0ZmUyNTk0
MjM1ZjVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRhY2htZW50RWxl
bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0YWNobWVudEVsZW1lbnQu
Y3BwCkBAIC0zOSwxMiArMzksMTcgQEAKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRl
ICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiUmVuZGVyQXR0YWNobWVudC5oIgorI2lu
Y2x1ZGUgIlNoYWRvd1Jvb3QuaCIKICNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKICNpbmNsdWRl
IDxwYWwvRmlsZVNpemVGb3JtYXR0ZXIuaD4KICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5l
cy5oPgogI2luY2x1ZGUgPHd0Zi9VVUlELmg+CiAjaW5jbHVkZSA8d3RmL1VSTFBhcnNlci5oPgog
CisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisjaW5jbHVkZSAiSW1hZ2VDb250cm9sc01h
Yy5oIgorI2VuZGlmCisKICNpZiBQTEFURk9STShDT0NPQSkKICNpbmNsdWRlICJVVElVdGlsaXRp
ZXMuaCIKICNlbmRpZgpAQCAtMTY5LDYgKzE3NCwxMyBAQCB2b2lkIEhUTUxBdHRhY2htZW50RWxl
bWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRv
bQogICAgIH0KIAogICAgIEhUTUxFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7
CisKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBpZiAobmFtZSA9PSB0eXBlQXR0
ciAmJiBhdHRhY2htZW50VHlwZSgpID09ICJhcHBsaWNhdGlvbi9wZGYiKSB7CisgICAgICAgIHNl
dEltYWdlTWVudUVuYWJsZWQodHJ1ZSk7CisgICAgICAgIEltYWdlQ29udHJvbHNNYWM6OnVwZGF0
ZUltYWdlQ29udHJvbHMoKnRoaXMpOworICAgIH0KKyNlbmRpZgogfQogCiBTdHJpbmcgSFRNTEF0
dGFjaG1lbnRFbGVtZW50OjphdHRhY2htZW50VGl0bGUoKSBjb25zdApAQCAtMjgyLDYgKzI5NCwx
MyBAQCB2b2lkIEhUTUxBdHRhY2htZW50RWxlbWVudDo6cmVxdWVzdEljb25XaXRoU2l6ZShjb25z
dCBGbG9hdFNpemUmIHNpemUpIGNvbnN0CiAgICAgZG9jdW1lbnQoKS5wYWdlKCktPmF0dGFjaG1l
bnRFbGVtZW50Q2xpZW50KCktPnJlcXVlc3RBdHRhY2htZW50SWNvbih1bmlxdWVJZGVudGlmaWVy
KCksIHNpemUpOwogfQogCisjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCitib29sIEhUTUxB
dHRhY2htZW50RWxlbWVudDo6Y2hpbGRTaG91bGRDcmVhdGVSZW5kZXJlcihjb25zdCBOb2RlJiBj
aGlsZCkgY29uc3QKK3sKKyAgICByZXR1cm4gaGFzU2hhZG93Um9vdFBhcmVudChjaGlsZCkgJiYg
SFRNTEVsZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY2hpbGQpOworfQorI2VuZGlm
CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShBVFRBQ0hNRU5U
X0VMRU1FTlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBdHRhY2htZW50
RWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXR0YWNobWVudEVsZW1lbnQuaApp
bmRleCA4NTdlNTU5MTNiNmMzNmNiMDIyZjRlOTdhN2M4NjZkMTc5MDA1YzdlLi5hMzFmZWI3YWI5
YjJmZTVlZjk5NGJkMzYyMjQ0M2VhZTViNWEzODE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxBdHRhY2htZW50RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEF0dGFjaG1lbnRFbGVtZW50LmgKQEAgLTc3LDYgKzc3LDExIEBAIHB1YmxpYzoKICAgICBG
bG9hdFNpemUgaWNvblNpemUoKSBjb25zdCB7IHJldHVybiBtX2ljb25TaXplOyB9CiAgICAgUmVu
ZGVyQXR0YWNobWVudCogcmVuZGVyZXIoKSBjb25zdDsKIAorI2lmIEVOQUJMRShTRVJWSUNFX0NP
TlRST0xTKQorICAgIGJvb2wgaW1hZ2VNZW51RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1faW1h
Z2VNZW51RW5hYmxlZDsgfQorICAgIHZvaWQgc2V0SW1hZ2VNZW51RW5hYmxlZChib29sIHZhbHVl
KSB7IG1faW1hZ2VNZW51RW5hYmxlZCA9IHZhbHVlOyB9CisjZW5kaWYKKwogcHJpdmF0ZToKICAg
ICBIVE1MQXR0YWNobWVudEVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7
CiAgICAgdmlydHVhbCB+SFRNTEF0dGFjaG1lbnRFbGVtZW50KCk7CkBAIC05MSwxMiArOTYsMjAg
QEAgcHJpdmF0ZToKICAgICB9CiAgICAgYm9vbCBjYW5Db250YWluUmFuZ2VFbmRQb2ludCgpIGNv
bnN0IGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdm9pZCBwYXJzZUF0dHJpYnV0ZShjb25z
dCBRdWFsaWZpZWROYW1lJiwgY29uc3QgQXRvbVN0cmluZyYpIGZpbmFsOwotICAgIAorCisjaWYg
RU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCisgICAgYm9vbCBjaGlsZFNob3VsZENyZWF0ZVJlbmRl
cmVyKGNvbnN0IE5vZGUmKSBjb25zdCBvdmVycmlkZTsKKyNlbmRpZgorCiAgICAgUmVmUHRyPEZp
bGU+IG1fZmlsZTsKICAgICBTdHJpbmcgbV91bmlxdWVJZGVudGlmaWVyOwogICAgIFJlZlB0cjxJ
bWFnZT4gbV90aHVtYm5haWw7CiAgICAgUmVmUHRyPEltYWdlPiBtX2ljb247CiAgICAgRmxvYXRT
aXplIG1faWNvblNpemU7CisKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBib29s
IG1faW1hZ2VNZW51RW5hYmxlZCB7IGZhbHNlIH07CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxl
bWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCmluZGV4
IDMwYTc3MTM4ZTJkNTJhMTU5NTRkOTI4MTczMTZkMTI2ZjU5Y2ZlMTQuLjNlMGFiZTBkOGI1YzEx
MmIwOTc4MTk0OTkyNzA5ZmJjOTZlNjY1YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmNwcApAQCAtMzI4LDggKzMyOCw4IEBAIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6
cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmlu
CiAgICAgICAgIGlmICghcGFyc2VDb21wb3NpdGVBbmRCbGVuZE9wZXJhdG9yKHZhbHVlLCBtX2Nv
bXBvc2l0ZU9wZXJhdG9yLCBibGVuZE9wKSkKICAgICAgICAgICAgIG1fY29tcG9zaXRlT3BlcmF0
b3IgPSBDb21wb3NpdGVPcGVyYXRvcjo6U291cmNlT3ZlcjsKICNpZiBFTkFCTEUoU0VSVklDRV9D
T05UUk9MUykKLSAgICB9IGVsc2UgaWYgKG1faW1hZ2VNZW51RW5hYmxlZCkgewotICAgICAgICB1
cGRhdGVJbWFnZUNvbnRyb2xzKCk7CisgICAgfSBlbHNlIGlmIChpbWFnZU1lbnVFbmFibGVkKCkp
IHsKKyAgICAgICAgSW1hZ2VDb250cm9sc01hYzo6dXBkYXRlSW1hZ2VDb250cm9scygqdGhpcyk7
CiAjZW5kaWYKICAgICB9IGVsc2UgaWYgKG5hbWUgPT0gbG9hZGluZ0F0dHIpIHsKICAgICAgICAg
Ly8gTm8gYWN0aW9uIG5lZWRlZCBmb3IgZWFnZXIgdG8gbGF6eSB0cmFuc2l0aW9uLgpAQCAtNDAw
LDcgKzQwMCw3IEBAIHZvaWQgSFRNTEltYWdlRWxlbWVudDo6ZGlkQXR0YWNoUmVuZGVyZXJzKCkK
ICAgICAgICAgcmV0dXJuOwogCiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCi0gICAgdXBk
YXRlSW1hZ2VDb250cm9scygpOworICAgIEltYWdlQ29udHJvbHNNYWM6OnVwZGF0ZUltYWdlQ29u
dHJvbHMoKnRoaXMpOwogI2VuZGlmCiAKICAgICBhdXRvJiByZW5kZXJJbWFnZSA9IGRvd25jYXN0
PFJlbmRlckltYWdlPigqcmVuZGVyZXIoKSk7CkBAIC03NTgsNyArNzU4LDcgQEAgdm9pZCBIVE1M
SW1hZ2VFbGVtZW50OjpzZXRBdHRhY2htZW50RWxlbWVudChSZWY8SFRNTEF0dGFjaG1lbnRFbGVt
ZW50PiYmIGF0dGFjaG0KICAgICBhdHRhY2htZW50LT5zZXRJbmxpbmVTdHlsZVByb3BlcnR5KENT
U1Byb3BlcnR5RGlzcGxheSwgQ1NTVmFsdWVOb25lLCB0cnVlKTsKICAgICBlbnN1cmVVc2VyQWdl
bnRTaGFkb3dSb290KCkuYXBwZW5kQ2hpbGQoV1RGTW92ZShhdHRhY2htZW50KSk7CiAjaWYgRU5B
QkxFKFNFUlZJQ0VfQ09OVFJPTFMpCi0gICAgbV9pbWFnZU1lbnVFbmFibGVkID0gdHJ1ZTsKKyAg
ICBzZXRJbWFnZU1lbnVFbmFibGVkKHRydWUpOwogI2VuZGlmCiB9CiAKQEAgLTc4NCw1NCArNzg0
LDExIEBAIGNvbnN0IFN0cmluZyYgSFRNTEltYWdlRWxlbWVudDo6YXR0YWNobWVudElkZW50aWZp
ZXIoKSBjb25zdAogI2VuZGlmIC8vIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1FTlQpCiAKICNpZiBF
TkFCTEUoU0VSVklDRV9DT05UUk9MUykKLXZvaWQgSFRNTEltYWdlRWxlbWVudDo6dXBkYXRlSW1h
Z2VDb250cm9scygpCi17Ci0gICAgLy8gSWYgdGhpcyBpbWFnZSBlbGVtZW50IGlzIGluc2lkZSBh
IHNoYWRvdyB0cmVlIHRoZW4gaXQgaXMgcGFydCBvZiBhbiBpbWFnZSBjb250cm9sLgotICAgIGlm
IChpc0luU2hhZG93VHJlZSgpKQotICAgICAgICByZXR1cm47Ci0gICAgaWYgKCFkb2N1bWVudCgp
LnNldHRpbmdzKCkuaW1hZ2VDb250cm9sc0VuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuOwotICAg
IGRvY3VtZW50KCkuZXZlbnRMb29wKCkucXVldWVUYXNrKFRhc2tTb3VyY2U6OkludGVybmFsQXN5
bmNUYXNrLCBbdGhpcywgcHJvdGVjdGVkVGhpcyA9IFJlZiB7ICp0aGlzIH1dIHsKLSAgICAgICAg
Ym9vbCBoYXNDb250cm9scyA9IGhhc0ltYWdlQ29udHJvbHMoKTsKLSAgICAgICAgaWYgKCFtX2lt
YWdlTWVudUVuYWJsZWQgJiYgaGFzQ29udHJvbHMpCi0gICAgICAgICAgICBkZXN0cm95SW1hZ2VD
b250cm9scygpOwotICAgICAgICBlbHNlIGlmIChtX2ltYWdlTWVudUVuYWJsZWQgJiYgIWhhc0Nv
bnRyb2xzKQotICAgICAgICAgICAgdHJ5Q3JlYXRlSW1hZ2VDb250cm9scygpOwotICAgIH0pOwot
fQotCi12b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnRyeUNyZWF0ZUltYWdlQ29udHJvbHMoKQotewot
ICAgIEFTU0VSVChtX2ltYWdlTWVudUVuYWJsZWQpOwotICAgIEFTU0VSVCghaGFzSW1hZ2VDb250
cm9scygpKTsKLSAgICBJbWFnZUNvbnRyb2xzTWFjOjpjcmVhdGVJbWFnZUNvbnRyb2xzKCp0aGlz
KTsKLX0KLQotdm9pZCBIVE1MSW1hZ2VFbGVtZW50OjpkZXN0cm95SW1hZ2VDb250cm9scygpCi17
Ci0gICAgYXV0byBzaGFkb3dSb290ID0gdXNlckFnZW50U2hhZG93Um9vdCgpOwotICAgIGlmICgh
c2hhZG93Um9vdCkKLSAgICAgICAgcmV0dXJuOwotICAgIGlmIChSZWZQdHI8Tm9kZT4gbm9kZSA9
IHNoYWRvd1Jvb3QtPmZpcnN0Q2hpbGQoKSkgewotICAgICAgICBSRUxFQVNFX0FTU0VSVF9XSVRI
X1NFQ1VSSVRZX0lNUExJQ0FUSU9OKEltYWdlQ29udHJvbHNNYWM6Omhhc0NvbnRyb2xzKGRvd25j
YXN0PEhUTUxFbGVtZW50Pigqbm9kZSkpKTsKLSAgICAgICAgc2hhZG93Um9vdC0+cmVtb3ZlQ2hp
bGQoKm5vZGUpOwotICAgIH0KLSAgICBhdXRvKiByZW5kZXJPYmplY3QgPSByZW5kZXJlcigpOwot
ICAgIGlmICghcmVuZGVyT2JqZWN0KQotICAgICAgICByZXR1cm47Ci0gICAgZG93bmNhc3Q8UmVu
ZGVySW1hZ2U+KCpyZW5kZXJPYmplY3QpLnNldEhhc1NoYWRvd0NvbnRyb2xzKGZhbHNlKTsKLX0K
LQotYm9vbCBIVE1MSW1hZ2VFbGVtZW50OjpoYXNJbWFnZUNvbnRyb2xzKCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gSW1hZ2VDb250cm9sc01hYzo6aGFzQ29udHJvbHMoKnRoaXMpOwotfQotCiBib29s
IEhUTUxJbWFnZUVsZW1lbnQ6OmNoaWxkU2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZSYg
Y2hpbGQpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGhhc1NoYWRvd1Jvb3RQYXJlbnQoY2hpbGQpICYm
IEhUTUxFbGVtZW50OjpjaGlsZFNob3VsZENyZWF0ZVJlbmRlcmVyKGNoaWxkKTsKIH0KLSNlbmRp
ZiAvLyBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9T
X0ZBTUlMWSkKIC8vIEZJWE1FOiBXZSBzaG91bGQgZmluZCBhIGJldHRlciBwbGFjZSBmb3IgdGhl
IHRvdWNoIGNhbGxvdXQgbG9naWMuIFNlZSByZGFyOi8vcHJvYmxlbS80ODkzNzc2Ny4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKaW5kZXggZjEzOTBmZjEzMjMwMjA0YmEzMTg4
NWE3YzFhZTM5NGRkZjk2ODdhZi4uNjA0NTQzOWM2YzZjYWQwZTJhMjVhOTc3Zjk2OTYyNjZmYjQ4
ZjU0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKQEAgLTExOCw2ICsx
MTgsNyBAQCBwdWJsaWM6CiAgICAgCiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCiAgICAg
Ym9vbCBpbWFnZU1lbnVFbmFibGVkKCkgY29uc3QgeyByZXR1cm4gbV9pbWFnZU1lbnVFbmFibGVk
OyB9CisgICAgdm9pZCBzZXRJbWFnZU1lbnVFbmFibGVkKGJvb2wgdmFsdWUpIHsgbV9pbWFnZU1l
bnVFbmFibGVkID0gdmFsdWU7IH0KICNlbmRpZgogCiAgICAgSFRNTFBpY3R1cmVFbGVtZW50KiBw
aWN0dXJlRWxlbWVudCgpIGNvbnN0OwpAQCAtMTQ3LDEwICsxNDgsNiBAQCBwdWJsaWM6CiAgICAg
UmVmZXJyZXJQb2xpY3kgcmVmZXJyZXJQb2xpY3koKSBjb25zdDsKIAogICAgIGJvb2wgYWxsb3dz
T3JpZW50YXRpb25PdmVycmlkZSgpIGNvbnN0OwotICAgIAotI2lmIEVOQUJMRShTRVJWSUNFX0NP
TlRST0xTKQotICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgaGFzSW1hZ2VDb250cm9scygpIGNvbnN0
OwotI2VuZGlmCiAKIHByb3RlY3RlZDoKICAgICBIVE1MSW1hZ2VFbGVtZW50KGNvbnN0IFF1YWxp
ZmllZE5hbWUmLCBEb2N1bWVudCYsIEhUTUxGb3JtRWxlbWVudCogPSBudWxscHRyKTsKQEAgLTIw
NCw5ICsyMDEsNiBAQCBwcml2YXRlOgogICAgIGZsb2F0IGVmZmVjdGl2ZUltYWdlRGV2aWNlUGl4
ZWxSYXRpbygpIGNvbnN0OwogICAgIAogI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQotICAg
IHZvaWQgdXBkYXRlSW1hZ2VDb250cm9scygpOwotICAgIHZvaWQgdHJ5Q3JlYXRlSW1hZ2VDb250
cm9scygpOwotICAgIHZvaWQgZGVzdHJveUltYWdlQ29udHJvbHMoKTsKICAgICBib29sIGNoaWxk
U2hvdWxkQ3JlYXRlUmVuZGVyZXIoY29uc3QgTm9kZSYpIGNvbnN0IG92ZXJyaWRlOwogI2VuZGlm
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRy
b2xzTWFjLmNzcyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvc2hhZG93L21hYy9pbWFnZUNvbnRyb2xz
TWFjLmNzcwppbmRleCBhZGQ2NWQ2NTYyODQ4OTQ2MzU2NjA3ZDdiMmFjMzRjMTQzOTgwZTUyLi5i
M2M2ZDkwNWUyNmI5OWNlODVkNWU5ZGEwMGEwMzkwZjkwY2Q2ODU4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL3NoYWRvdy9tYWMvaW1hZ2VDb250cm9sc01hYy5jc3MKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9zaGFkb3cvbWFjL2ltYWdlQ29udHJvbHNNYWMuY3NzCkBAIC0zNiw5
ICszNiw5IEBAIGRpdiNpbWFnZS1jb250cm9scyB7CiAKIGJ1dHRvbiNpbWFnZS1jb250cm9scy1i
dXR0b24gewogICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKLSAgICB0b3A6IDIwcHg7Ci0gICAgcmln
aHQ6IDIwcHg7Ci0gICAgCisgICAgdG9wOiAwcHg7CisgICAgcmlnaHQ6IDBweDsKKwogICAgIGRp
c3BsYXk6IGJsb2NrOwogCiAgICAgYXBwZWFyYW5jZTogYXV0bzsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9t
ZUNsaWVudC5oCmluZGV4IDNjODBhZDkwMGY3YWU0NGE4MDlkYjMzZTIxZmU3MmVlZDFiOGFiZTIu
LjRhNjVjZDg0ZTViM2M2MjdmMTY3MTI0MjdkODA1OWE3M2M3NTk0MDMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9DaHJvbWVDbGllbnQuaApAQCAtNTM5LDYgKzUzOSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFs
IHZvaWQgaGFuZGxlU2VsZWN0aW9uU2VydmljZUNsaWNrKEZyYW1lU2VsZWN0aW9uJiwgY29uc3Qg
VmVjdG9yPFN0cmluZz4mLCBjb25zdCBJbnRQb2ludCYpIHsgfQogICAgIHZpcnR1YWwgYm9vbCBo
YXNSZWxldmFudFNlbGVjdGlvblNlcnZpY2VzKGJvb2wgLyppc1RleHRPbmx5Ki8pIGNvbnN0IHsg
cmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZUltYWdlU2VydmljZUNsaWNr
KGNvbnN0IEludFBvaW50JiwgSW1hZ2UmLCBIVE1MSW1hZ2VFbGVtZW50JikgeyB9CisgICAgdmly
dHVhbCB2b2lkIGhhbmRsZVBERlNlcnZpY2VDbGljayhjb25zdCBJbnRQb2ludCYsIEhUTUxBdHRh
Y2htZW50RWxlbWVudCYpIHsgfTsKICNlbmRpZgogCiAgICAgdmlydHVhbCBib29sIHNob3VsZERp
c3BhdGNoRmFrZU1vdXNlTW92ZUV2ZW50cygpIGNvbnN0IHsgcmV0dXJuIHRydWU7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBdHRhY2htZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBdHRhY2htZW50LmNwcAppbmRleCAwZTIzMDAy
NDE5OTIxZjAzZjg4ZThmMmI2NDg0OTU0NjE4MWVjNjdhLi5kMDY2MDdlNTg5NGVhYzUwYTVmZTA4
YTFmMzA2MjQzN2VhMGJlNWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQXR0YWNobWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckF0dGFjaG1lbnQuY3BwCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiRmxvYXRSb3VuZGVk
UmVjdC5oIgogI2luY2x1ZGUgIkZyYW1lU2VsZWN0aW9uLmgiCiAjaW5jbHVkZSAiSFRNTEF0dGFj
aG1lbnRFbGVtZW50LmgiCisjaW5jbHVkZSAiUmVuZGVyQ2hpbGRJdGVyYXRvci5oIgogI2luY2x1
ZGUgIlJlbmRlclRoZW1lLmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KICNp
bmNsdWRlIDx3dGYvVVJMLmg+CkBAIC00NSw2ICs0Niw5IEBAIFdURl9NQUtFX0lTT19BTExPQ0FU
RURfSU1QTChSZW5kZXJBdHRhY2htZW50KTsKIFJlbmRlckF0dGFjaG1lbnQ6OlJlbmRlckF0dGFj
aG1lbnQoSFRNTEF0dGFjaG1lbnRFbGVtZW50JiBlbGVtZW50LCBSZW5kZXJTdHlsZSYmIHN0eWxl
KQogICAgIDogUmVuZGVyUmVwbGFjZWQoZWxlbWVudCwgV1RGTW92ZShzdHlsZSksIExheW91dFNp
emUoKSkKIHsKKyNpZiBFTkFCTEUoU0VSVklDRV9DT05UUk9MUykKKyAgICBtX2hhc1NoYWRvd0Nv
bnRyb2xzID0gZWxlbWVudC5pbWFnZU1lbnVFbmFibGVkKCk7CisjZW5kaWYKIH0KIAogSFRNTEF0
dGFjaG1lbnRFbGVtZW50JiBSZW5kZXJBdHRhY2htZW50OjphdHRhY2htZW50RWxlbWVudCgpIGNv
bnN0CkBAIC02NCw2ICs2OCw5IEBAIHZvaWQgUmVuZGVyQXR0YWNobWVudDo6bGF5b3V0KCkKICAg
ICBzZXRJbnRyaW5zaWNTaXplKG5ld0ludHJpbnNpY1NpemUpOwogCiAgICAgUmVuZGVyUmVwbGFj
ZWQ6OmxheW91dCgpOworICAgIAorICAgIGlmIChoYXNTaGFkb3dDb250ZW50KCkpCisgICAgICAg
IGxheW91dFNoYWRvd0NvbnRlbnQobmV3SW50cmluc2ljU2l6ZSk7CiB9CiAKIHZvaWQgUmVuZGVy
QXR0YWNobWVudDo6aW52YWxpZGF0ZSgpCkBAIC05Niw2ICsxMDMsMTYgQEAgdm9pZCBSZW5kZXJB
dHRhY2htZW50OjpwYWludFJlcGxhY2VkKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlv
dXRQb2ludCYgb2YKICAgICB0aGVtZSgpLnBhaW50KCp0aGlzLCBjb250cm9sU3RhdGVzLCBwYWlu
dEluZm8sIHBhaW50UmVjdCk7CiB9CiAKK3ZvaWQgUmVuZGVyQXR0YWNobWVudDo6bGF5b3V0U2hh
ZG93Q29udGVudChjb25zdCBMYXlvdXRTaXplJiBzaXplKQoreworICAgIGZvciAoYXV0byYgcmVu
ZGVyQm94IDogY2hpbGRyZW5PZlR5cGU8UmVuZGVyQm94PigqdGhpcykpIHsKKyAgICAgICAgcmVu
ZGVyQm94Lm11dGFibGVTdHlsZSgpLnNldEhlaWdodChMZW5ndGgoc2l6ZS5oZWlnaHQoKSwgTGVu
Z3RoVHlwZTo6Rml4ZWQpKTsKKyAgICAgICAgcmVuZGVyQm94Lm11dGFibGVTdHlsZSgpLnNldFdp
ZHRoKExlbmd0aChzaXplLndpZHRoKCksIExlbmd0aFR5cGU6OkZpeGVkKSk7CisgICAgICAgIHJl
bmRlckJveC5zZXROZWVkc0xheW91dChNYXJrT25seVRoaXMpOworICAgICAgICByZW5kZXJCb3gu
bGF5b3V0KCk7CisgICAgfQorfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckF0dGFjaG1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBdHRhY2htZW50LmgKaW5kZXggMTEzYTg1
M2U0YWQzY2I3NTY3ZWFjMGJhNWMyN2ZlYThkMzhkYWI5MC4uZDE0MDFkNjVkYTQ2MmUzNWRhYjZm
ZDFhOTQ1Y2ViNmQwNDExZDFjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckF0dGFjaG1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QXR0YWNobWVudC5oCkBAIC00MywxMSArNDMsMTYgQEAgcHVibGljOgogICAgIGJvb2wgc2hvdWxk
RHJhd0JvcmRlcigpIGNvbnN0OwogCiAgICAgdm9pZCBpbnZhbGlkYXRlKCk7CisgICAgYm9vbCBo
YXNTaGFkb3dDb250ZW50KCkgY29uc3QgeyByZXR1cm4gbV9oYXNTaGFkb3dDb250cm9sczsgfQor
ICAgIHZvaWQgc2V0SGFzU2hhZG93Q29udHJvbHMoYm9vbCBoYXNTaGFkb3dDb250cm9scykgeyBt
X2hhc1NoYWRvd0NvbnRyb2xzID0gaGFzU2hhZG93Q29udHJvbHM7IH0KKyAgICBib29sIGNhbkhh
dmVHZW5lcmF0ZWRDaGlsZHJlbigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIG1faGFzU2hhZG93
Q29udHJvbHM7IH0KKyAgICBib29sIGNhbkhhdmVDaGlsZHJlbigpIGNvbnN0IG92ZXJyaWRlIHsg
cmV0dXJuIG1faGFzU2hhZG93Q29udHJvbHM7IH0KIAogcHJpdmF0ZToKICAgICB2b2lkIGVsZW1l
bnQoKSBjb25zdCA9IGRlbGV0ZTsKICAgICBib29sIGlzQXR0YWNobWVudCgpIGNvbnN0IG92ZXJy
aWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICBBU0NJSUxpdGVyYWwgcmVuZGVyTmFtZSgpIGNvbnN0
IG92ZXJyaWRlIHsgcmV0dXJuICJSZW5kZXJBdHRhY2htZW50Il9zOyB9CisgICAgdm9pZCBsYXlv
dXRTaGFkb3dDb250ZW50KGNvbnN0IExheW91dFNpemUmKTsKIAogICAgIGJvb2wgc2hvdWxkRHJh
d1NlbGVjdGlvblRpbnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogICAgIHZv
aWQgcGFpbnRSZXBsYWNlZChQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYgb2Zmc2V0KSBm
aW5hbDsKQEAgLTU4LDYgKzYzLDcgQEAgcHJpdmF0ZToKIAogICAgIExheW91dFVuaXQgbV9taW5p
bXVtSW50cmluc2ljV2lkdGg7CiAgICAgYm9vbCBtX3Nob3VsZERyYXdCb3JkZXIgeyB0cnVlIH07
CisgICAgYm9vbCBtX2hhc1NoYWRvd0NvbnRyb2xzIHsgZmFsc2UgfTsKIH07CiAKIGlubGluZSBS
ZW5kZXJBdHRhY2htZW50KiBIVE1MQXR0YWNobWVudEVsZW1lbnQ6OnJlbmRlcmVyKCkgY29uc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCA1ZGYwNmFkZTUwZDBiMThjMWZm
ZDE3OTY1YjQ0ZjZlMzBhOTQyMDljLi41NTZkYjcxZjRiMDVhZDEyYmRjOGNhOTFjMjg5OTljN2Ni
MGE2ZDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC0zNzQsNiArMzc0
LDEwIEBACiAjaW5jbHVkZSAiSFRNTE1vZGVsRWxlbWVudC5oIgogI2VuZGlmCiAKKyNpZiBFTkFC
TEUoU0VSVklDRV9DT05UUk9MUykKKyNpbmNsdWRlICJJbWFnZUNvbnRyb2xzTWFjLmgiCisjZW5k
aWYKKwogdXNpbmcgSlNDOjpDYWxsRGF0YTsKIHVzaW5nIEpTQzo6Q29kZUJsb2NrOwogdXNpbmcg
SlNDOjpGdW5jdGlvbkV4ZWN1dGFibGU7CkBAIC02NTUyLDcgKzY1NTYsNyBAQCBFeGNlcHRpb25P
cjxJbnRlcm5hbHM6OkF0dGFjaG1lbnRUaHVtYm5haWxJbmZvPiBJbnRlcm5hbHM6OmF0dGFjaG1l
bnRUaHVtYm5haWxJbgogI2lmIEVOQUJMRShTRVJWSUNFX0NPTlRST0xTKQogYm9vbCBJbnRlcm5h
bHM6Omhhc0ltYWdlQ29udHJvbHMoY29uc3QgSFRNTEltYWdlRWxlbWVudCYgZWxlbWVudCkgY29u
c3QKIHsKLSAgICByZXR1cm4gZWxlbWVudC5oYXNJbWFnZUNvbnRyb2xzKCk7CisgICAgcmV0dXJu
IEltYWdlQ29udHJvbHNNYWM6Omhhc0ltYWdlQ29udHJvbHMoZWxlbWVudCk7CiB9CiAjZW5kaWYK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29udGV4dE1lbnVDb250ZXh0RGF0
YS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db250ZXh0TWVudUNvbnRleHREYXRhLmNwcApp
bmRleCBmZTkxNWQxNzg3MDFjOTRiN2Y0ZTZjY2U1YjZmNWI1ODNiMTlkOTgzLi5kMmRiNTU0MTky
ZmRhZTkzOTkzMGMyZDRlODEwNjY2MGJjZjA0ZDZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9Db250ZXh0TWVudUNvbnRleHREYXRhLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Db250ZXh0TWVudUNvbnRleHREYXRhLmNwcApAQCAtMTYwLDcgKzE2MCw3IEBAIGJvb2wg
Q29udGV4dE1lbnVDb250ZXh0RGF0YTo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgQ29u
dGV4dE1lbnVDb250ZXh0RGF0CiAjaWYgRU5BQkxFKFNFUlZJQ0VfQ09OVFJPTFMpCiBib29sIENv
bnRleHRNZW51Q29udGV4dERhdGE6OmNvbnRyb2xsZWREYXRhSXNFZGl0YWJsZSgpIGNvbnN0CiB7
Ci0gICAgaWYgKCFtX2NvbnRyb2xsZWRTZWxlY3Rpb25EYXRhLmlzRW1wdHkoKSB8fCBtX2NvbnRy
b2xsZWRJbWFnZSkKKyAgICBpZiAoIW1fY29udHJvbGxlZFNlbGVjdGlvbkRhdGEuaXNFbXB0eSgp
IHx8IG1fY29udHJvbGxlZEltYWdlIHx8ICFtX2NvbnRyb2xsZWRJbWFnZUF0dGFjaG1lbnRJRC5p
c051bGwoKSkKICAgICAgICAgcmV0dXJuIG1fc2VsZWN0aW9uSXNFZGl0YWJsZTsKIAogICAgIHJl
dHVybiBmYWxzZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvbnRleHRNZW51
Q29udGV4dERhdGEuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0NvbnRleHRNZW51Q29udGV4dERh
dGEuaAppbmRleCBkMDFhZTY3ZjA4Yjk0YzE0MTdhMjdkMTViMDdkMjNlZjJmMTQ1ZjdhLi5jMWFm
ZGVjZGZiOGUyY2E5ZjhkMmRmZjU0NGU1MjVhMzIyNzZjZjNlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1NoYXJlZC9Db250ZXh0TWVudUNvbnRleHREYXRhLmgKKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvQ29udGV4dE1lbnVDb250ZXh0RGF0YS5oCkBAIC02NCw3ICs2NCwxNyBAQCBwdWJs
aWM6CiAgICAgICAgICwgbV9zZWxlY3Rpb25Jc0VkaXRhYmxlKGlzRWRpdGFibGUpCiAgICAgewog
ICAgIH0KLSAgICAKKworICAgIENvbnRleHRNZW51Q29udGV4dERhdGEoY29uc3QgV2ViQ29yZTo6
SW50UG9pbnQmIG1lbnVMb2NhdGlvbiwgYm9vbCBpc0VkaXRhYmxlLCBjb25zdCBXZWJDb3JlOjpJ
bnRSZWN0JiBpbWFnZVJlY3QsIGNvbnN0IFN0cmluZyYgYXR0YWNobWVudElELCBjb25zdCBTdHJp
bmcmIHNvdXJjZUltYWdlTUlNRVR5cGUpCisgICAgICAgIDogbV90eXBlKFR5cGU6OlNlcnZpY2Vz
TWVudSkKKyAgICAgICAgLCBtX21lbnVMb2NhdGlvbihtZW51TG9jYXRpb24pCisgICAgICAgICwg
bV9zZWxlY3Rpb25Jc0VkaXRhYmxlKGlzRWRpdGFibGUpCisgICAgICAgICwgbV9jb250cm9sbGVk
SW1hZ2VCb3VuZHMoaW1hZ2VSZWN0KQorICAgICAgICAsIG1fY29udHJvbGxlZEltYWdlQXR0YWNo
bWVudElEKGF0dGFjaG1lbnRJRCkKKyAgICAgICAgLCBtX2NvbnRyb2xsZWRJbWFnZU1JTUVUeXBl
KHNvdXJjZUltYWdlTUlNRVR5cGUpCisgICAgeworICAgIH0KKwogICAgIENvbnRleHRNZW51Q29u
dGV4dERhdGEoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIG1lbnVMb2NhdGlvbiwgV2ViQ29yZTo6
SW1hZ2UmLCBib29sIGlzRWRpdGFibGUsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGltYWdlUmVj
dCwgY29uc3QgU3RyaW5nJiBhdHRhY2htZW50SUQsIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6RWxl
bWVudENvbnRleHQ+JiYsIGNvbnN0IFN0cmluZyYgc291cmNlSW1hZ2VNSU1FVHlwZSk7CiAKICAg
ICBTaGFyZWFibGVCaXRtYXAqIGNvbnRyb2xsZWRJbWFnZSgpIGNvbnN0IHsgcmV0dXJuIG1fY29u
dHJvbGxlZEltYWdlLmdldCgpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9BUEkvQ29jb2EvQVBJQXR0YWNobWVudENvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQVBJL0NvY29hL0FQSUF0dGFjaG1lbnRDb2NvYS5tbQppbmRleCAxNzJhZTZhZjg1OWRiZWU2
ODhjMzAwMzQzMWRlODQyNGIwYTQwMDgzLi5kOGIxYzQyOTdiY2YzMjdiNTE4MGRlZDFmNDJmOWI5
ZDkyYjBiMjYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2Ev
QVBJQXR0YWNobWVudENvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9D
b2NvYS9BUElBdHRhY2htZW50Q29jb2EubW0KQEAgLTE1Niw5ICsxNTYsNiBAQCBSZWZQdHI8V2Vi
Q29yZTo6RnJhZ21lbnRlZFNoYXJlZEJ1ZmZlcj4gQXR0YWNobWVudDo6ZW5jbG9zaW5nSW1hZ2VE
YXRhKCkgY29uc3QKIAogTlNEYXRhICpBdHRhY2htZW50OjplbmNsb3NpbmdJbWFnZU5TRGF0YSgp
IGNvbnN0CiB7Ci0gICAgaWYgKCFtX2hhc0VuY2xvc2luZ0ltYWdlKQotICAgICAgICByZXR1cm4g
bmlsOwotCiAgICAgYXV0byBmaWxlV3JhcHBlciA9IHRoaXMtPmZpbGVXcmFwcGVyKCk7CiAKICAg
ICBpZiAoIVtmaWxlV3JhcHBlciBpc1JlZ3VsYXJGaWxlXSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJDb250ZXh0TWVudVByb3h5TWFjLm1tIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW0KaW5kZXggMjFhOWRl
NTk3NmMxOWZjMGE0NjgyNjZjM2YzZjMwMjM3MjA1ZjEyZi4uODIzYTVmZDU5NjY1NzVhZWFhNjFh
YTI0YWVlNzhmYmVjNjY1MjI1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
bWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvbWFjL1dlYkNvbnRleHRNZW51UHJveHlNYWMubW0KQEAgLTIxNSwxMCArMjE1LDE0IEBAIHZv
aWQgV2ViQ29udGV4dE1lbnVQcm94eU1hYzo6c2V0dXBTZXJ2aWNlc01lbnUoKQogewogICAgIGJv
b2wgaW5jbHVkZUVkaXRvclNlcnZpY2VzID0gbV9jb250ZXh0LmNvbnRyb2xsZWREYXRhSXNFZGl0
YWJsZSgpOwogICAgIGJvb2wgaGFzQ29udHJvbGxlZEltYWdlID0gbV9jb250ZXh0LmNvbnRyb2xs
ZWRJbWFnZSgpOworICAgIGJvb2wgaXNQREZBdHRhY2htZW50ID0gZmFsc2U7CisgICAgYXV0byBh
dHRhY2htZW50ID0gcGFnZSgpLT5hdHRhY2htZW50Rm9ySWRlbnRpZmllcihtX2NvbnRleHQuY29u
dHJvbGxlZEltYWdlQXR0YWNobWVudElEKCkpOworICAgIGlmIChhdHRhY2htZW50KQorICAgICAg
ICBpc1BERkF0dGFjaG1lbnQgPSBhdHRhY2htZW50LT51dGlUeXBlKCkgPT0gW1VUVHlwZVBERi5p
ZGVudGlmaWVyIFVURjhTdHJpbmddOworCiAgICAgTlNBcnJheSAqaXRlbXMgPSBuaWw7CisgICAg
UmV0YWluUHRyPE5TSXRlbVByb3ZpZGVyPiBpdGVtUHJvdmlkZXI7CiAgICAgaWYgKGhhc0NvbnRy
b2xsZWRJbWFnZSkgewotICAgICAgICBhdXRvIGF0dGFjaG1lbnQgPSBwYWdlKCktPmF0dGFjaG1l
bnRGb3JJZGVudGlmaWVyKG1fY29udGV4dC5jb250cm9sbGVkSW1hZ2VBdHRhY2htZW50SUQoKSk7
Ci0gICAgICAgIFJldGFpblB0cjxOU0l0ZW1Qcm92aWRlcj4gaXRlbVByb3ZpZGVyOwogICAgICAg
ICBpZiAoYXR0YWNobWVudCkKICAgICAgICAgICAgIGl0ZW1Qcm92aWRlciA9IGFkb3B0TlMoW1tO
U0l0ZW1Qcm92aWRlciBhbGxvY10gaW5pdFdpdGhJdGVtOmF0dGFjaG1lbnQtPmVuY2xvc2luZ0lt
YWdlTlNEYXRhKCkgdHlwZUlkZW50aWZpZXI6YXR0YWNobWVudC0+dXRpVHlwZSgpXSk7CiAgICAg
ICAgIGVsc2UgewpAQCAtMjM5LDEzICsyNDMsMTYgQEAgdm9pZCBXZWJDb250ZXh0TWVudVByb3h5
TWFjOjpzZXR1cFNlcnZpY2VzTWVudSgpCiAgICAgICAgIGF1dG8gc2VsZWN0aW9uID0gYWRvcHRO
UyhbW05TQXR0cmlidXRlZFN0cmluZyBhbGxvY10gaW5pdFdpdGhSVEZEOnNlbGVjdGlvbkRhdGEu
Z2V0KCkgZG9jdW1lbnRBdHRyaWJ1dGVzOm5pbF0pOwogCiAgICAgICAgIGl0ZW1zID0gQFsgc2Vs
ZWN0aW9uLmdldCgpIF07CisgICAgfSBlbHNlIGlmIChpc1BERkF0dGFjaG1lbnQpIHsKKyAgICAg
ICAgaXRlbVByb3ZpZGVyID0gYWRvcHROUyhbW05TSXRlbVByb3ZpZGVyIGFsbG9jXSBpbml0V2l0
aEl0ZW06YXR0YWNobWVudC0+ZW5jbG9zaW5nSW1hZ2VOU0RhdGEoKSB0eXBlSWRlbnRpZmllcjph
dHRhY2htZW50LT51dGlUeXBlKCldKTsKKyAgICAgICAgaXRlbXMgPSBAWyBpdGVtUHJvdmlkZXIu
Z2V0KCkgXTsKICAgICB9IGVsc2UgewogICAgICAgICBMT0dfRVJST1IoIk5vIHNlcnZpY2UgY29u
dHJvbGxlZCBpdGVtIHJlcHJlc2VudGVkIGluIHRoZSBjb250ZXh0Iik7CiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKICAgICBSZXRhaW5QdHI8TlNTaGFyaW5nU2VydmljZVBpY2tlcj4gcGlja2Vy
ID0gYWRvcHROUyhbW05TU2hhcmluZ1NlcnZpY2VQaWNrZXIgYWxsb2NdIGluaXRXaXRoSXRlbXM6
aXRlbXNdKTsKLSAgICBbcGlja2VyIHNldFN0eWxlOmhhc0NvbnRyb2xsZWRJbWFnZSA/IE5TU2hh
cmluZ1NlcnZpY2VQaWNrZXJTdHlsZVJvbGxvdmVyIDogTlNTaGFyaW5nU2VydmljZVBpY2tlclN0
eWxlVGV4dFNlbGVjdGlvbl07CisgICAgW3BpY2tlciBzZXRTdHlsZTpoYXNDb250cm9sbGVkSW1h
Z2UgfHwgaXNQREZBdHRhY2htZW50ID8gTlNTaGFyaW5nU2VydmljZVBpY2tlclN0eWxlUm9sbG92
ZXIgOiBOU1NoYXJpbmdTZXJ2aWNlUGlja2VyU3R5bGVUZXh0U2VsZWN0aW9uXTsKICAgICBbcGlj
a2VyIHNldERlbGVnYXRlOltXS1NoYXJpbmdTZXJ2aWNlUGlja2VyRGVsZWdhdGUgc2hhcmVkU2hh
cmluZ1NlcnZpY2VQaWNrZXJEZWxlZ2F0ZV1dOwogICAgIFtbV0tTaGFyaW5nU2VydmljZVBpY2tl
ckRlbGVnYXRlIHNoYXJlZFNoYXJpbmdTZXJ2aWNlUGlja2VyRGVsZWdhdGVdIHNldFBpY2tlcjpw
aWNrZXIuZ2V0KCldOwogICAgIFtbV0tTaGFyaW5nU2VydmljZVBpY2tlckRlbGVnYXRlIHNoYXJl
ZFNoYXJpbmdTZXJ2aWNlUGlja2VyRGVsZWdhdGVdIHNldEZpbHRlcnNFZGl0aW5nU2VydmljZXM6
IWluY2x1ZGVFZGl0b3JTZXJ2aWNlc107CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IDEzZGI4
N2JjNmVhNWQyNWZkNjFlZTY5NTRlMmJkZjc2OWE4YjY5MjkuLjg3ZTYwOGVlYjQ0NjdjMDAxOWYz
ZDM3ZmVlMWY4M2NiMzA5MDI0NTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC0xMzY3LDYg
KzEzNjcsMTEgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmhhbmRsZUltYWdlU2VydmljZUNsaWNr
KGNvbnN0IEludFBvaW50JiBwb2ludCwgSW1hZ2UmIGltYWcKICAgICBtX3BhZ2UuaGFuZGxlSW1h
Z2VTZXJ2aWNlQ2xpY2socG9pbnQsIGltYWdlLCBlbGVtZW50KTsKIH0KIAordm9pZCBXZWJDaHJv
bWVDbGllbnQ6OmhhbmRsZVBERlNlcnZpY2VDbGljayhjb25zdCBJbnRQb2ludCYgcG9pbnQsIEhU
TUxBdHRhY2htZW50RWxlbWVudCYgZWxlbWVudCkKK3sKKyAgICBtX3BhZ2UuaGFuZGxlUERGU2Vy
dmljZUNsaWNrKHBvaW50LCBlbGVtZW50KTsKK30KKwogI2VuZGlmCiAKIGJvb2wgV2ViQ2hyb21l
Q2xpZW50OjpzaG91bGREaXNwYXRjaEZha2VNb3VzZU1vdmVFdmVudHMoKSBjb25zdApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5oCmluZGV4IGEwYzRmYmJlM2VmZTYyYjc3NmQwMDQ5NmQxMjdlM2I0OTRkZjAzMjQu
LjI4Y2MxZTQ4ZjE3NmEyZWI3ZTNjYWJjMTU4OGE3MmJhN2Y4MDFkNTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmgKQEAgLTM4NCw2ICszODQsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgaGFuZGxlU2VsZWN0
aW9uU2VydmljZUNsaWNrKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uJiwgY29uc3QgVmVjdG9yPFN0
cmluZz4mIHRlbGVwaG9uZU51bWJlcnMsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50JikgZmluYWw7
CiAgICAgYm9vbCBoYXNSZWxldmFudFNlbGVjdGlvblNlcnZpY2VzKGJvb2wgaXNUZXh0T25seSkg
Y29uc3QgZmluYWw7CiAgICAgdm9pZCBoYW5kbGVJbWFnZVNlcnZpY2VDbGljayhjb25zdCBXZWJD
b3JlOjpJbnRQb2ludCYsIFdlYkNvcmU6OkltYWdlJiwgV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVu
dCYpIGZpbmFsOworICAgIHZvaWQgaGFuZGxlUERGU2VydmljZUNsaWNrKGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JiwgV2ViQ29yZTo6SFRNTEF0dGFjaG1lbnRFbGVtZW50Jik7CiAjZW5kaWYKIAog
ICAgIGJvb2wgc2hvdWxkRGlzcGF0Y2hGYWtlTW91c2VNb3ZlRXZlbnRzKCkgY29uc3QgZmluYWw7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggOTMzMGM1
YWM3YTM4ZTE5ZDBlNDEyZmY0ZWE1NmMwNjc1Mzg3ZmI0MS4uMjAyOGVmZDdjYzZlZDFiYzlhNTg4
ZTZhNjM3N2RjZWQzODc5ZTQ2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaApAQCAtMTIyMiw2ICsxMjIyLDcgQEAgcHVibGljOgogICAgIHZvaWQgaGFuZGxl
VGVsZXBob25lTnVtYmVyQ2xpY2soY29uc3QgU3RyaW5nJiBudW1iZXIsIGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOwogICAgIHZvaWQgaGFuZGxlU2Vs
ZWN0aW9uU2VydmljZUNsaWNrKFdlYkNvcmU6OkZyYW1lU2VsZWN0aW9uJiwgY29uc3QgVmVjdG9y
PFN0cmluZz4mIHRlbGVwaG9uZU51bWJlcnMsIGNvbnN0IFdlYkNvcmU6OkludFBvaW50Jik7CiAg
ICAgdm9pZCBoYW5kbGVJbWFnZVNlcnZpY2VDbGljayhjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYs
IFdlYkNvcmU6OkltYWdlJiwgV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudCYpOworICAgIHZvaWQg
aGFuZGxlUERGU2VydmljZUNsaWNrKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgV2ViQ29yZTo6
SFRNTEF0dGFjaG1lbnRFbGVtZW50Jik7CiAjZW5kaWYKIAogICAgIHZvaWQgZGlkQ2hhbmdlU2Ny
b2xsT2Zmc2V0Rm9yRnJhbWUoV2ViQ29yZTo6RnJhbWUqKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9XZWJQYWdlTWFjLm1tIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL1dlYlBhZ2VNYWMubW0KaW5kZXggYmQ1NThiMjgyYjY1
ZTEzZTQyNGZhZmQ3MjUyMTVmYzk1NTViMDg1Ni4uNjEyYWJkYTdkMGZhNGM2NzFlMzA3ZGQxNzJj
NDQ2NDRhMDlmMjNkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1dlYlBhZ2VNYWMubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1dlYlBhZ2VNYWMubW0KQEAgLTc4Miw2ICs3ODIsMTcgQEAgdm9pZCBXZWJQYWdlOjpo
YW5kbGVJbWFnZVNlcnZpY2VDbGljayhjb25zdCBJbnRQb2ludCYgcG9pbnQsIEltYWdlJiBpbWFn
ZSwgSFRNTEkKICAgICB9LCB7IH0pKTsKIH0KIAordm9pZCBXZWJQYWdlOjpoYW5kbGVQREZTZXJ2
aWNlQ2xpY2soY29uc3QgSW50UG9pbnQmIHBvaW50LCBIVE1MQXR0YWNobWVudEVsZW1lbnQmIGVs
ZW1lbnQpCit7CisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpTaG93Q29udGV4dE1l
bnUoQ29udGV4dE1lbnVDb250ZXh0RGF0YSB7CisgICAgICAgIHBvaW50LAorICAgICAgICBlbGVt
ZW50LmlzQ29udGVudEVkaXRhYmxlKCksCisgICAgICAgIGVsZW1lbnQucmVuZGVyQm94KCktPmFi
c29sdXRlQ29udGVudFF1YWQoKS5lbmNsb3NpbmdCb3VuZGluZ0JveCgpLAorICAgICAgICBlbGVt
ZW50LnVuaXF1ZUlkZW50aWZpZXIoKSwKKyAgICAgICAgImFwcGxpY2F0aW9uL3BkZiJfcworICAg
IH0sIHsgfSkpOworfQorCiAjZW5kaWYKIAogU3RyaW5nIFdlYlBhZ2U6OnBsYXRmb3JtVXNlckFn
ZW50KGNvbnN0IFVSTCYpIGNvbnN0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZWJlZjg3NGVhZmY2MTQ5MGY5NzY4OTQ0NDVj
MTM0OWE1YzAxNzk1Ny4uMDdlNzg1ZDVlY2I1N2U1MTg2ZDlkZDlhYTI3NjQ1ZmYzYjcwYjM5NSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIyLTA1LTA1ICBLYXRlIENoZW5leSAgPGthdGhlcmlu
ZV9jaGVuZXlAYXBwbGUuY29tPgorCisgICAgICAgIEltYWdlIGNvbnRyb2xzIG1lbnUgYnV0dG9u
IGlzIG5vdCBhcHBlYXJpbmcgZm9yIG11bHRpLXBhZ2UgUERGcworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQwMTIwCisgICAgICAgIHJkYXI6Ly84NjQy
NTcyMQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFNp
bmNlIHdlIHVwZGF0ZSBpbWFnZSBjb250cm9scyBhc3luY3Jvbm91c2x5LCB3ZSBuZWVkIHRvIG1h
a2Ugc3VyZQorICAgICAgICBsYXlvdXQoKSBpcyBjYWxsZWQgYWZ0ZXIgdGhlIHRhc2sgaGFzIGNv
bXBsZXRlZC4gQW4gZWFzeSB3YXkgdG8gZG8KKyAgICAgICAgdGhpcyBpcyB0byBhZGQgYW5vdGhl
ciBhdHRhY2htZW50LiBUaGlzIHNlZW1zIHRvIHdvcmsgZmluZSBpbiBNYWlsCisgICAgICAgIHdo
ZXJlIHRoaXMgY2hhbmdlIHdpbGwgYmUgdXNlZCwgc28gSSBkb24ndCB0aGluayB3ZSBzaG91bGQg
Zml4IHRoZQorICAgICAgICBhc3luYyBuYXR1cmUgb2YgdGhlIGNhbGwgZm9yIHRoZSB0ZXN0IG9u
bHkuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy13azIvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBmYXN0L2F0dGFjaG1lbnQvYXR0YWNo
bWVudC1pbWFnZS1jb250cm9scy1iYXNpYy5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2F0
dGFjaG1lbnQvcmVzb3VyY2VzL2dyZWVuX3JlY3RhbmdsZS5wZGY6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9mYXN0L2F0dGFjaG1lbnQvYXR0YWNobWVudC1pbWFnZS1jb250cm9scy1i
YXNpYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDIyLTA1LTA1ICBNYW51ZWwgUmVnbyBDYXNh
c25vdmFzICA8cmVnb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEFSSUEgcmVmbGVjdGlvbiBmb3Ig
RWxlbWVudCBhdHRyaWJ1dGVzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAyMGNkZjg0ODlkMjFlZjc5
NWE0ZDEyNzg1YTIyYjA2YmQ4YThkMTY1Li40NzI1YWE3YjAzMTE5MDIzNTFkNTk1MDNhOWEwNWFk
MTQyZDkyMDkxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBi
L0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTUyMTIsMyArNTIxMiw2IEBAIHdlYmtp
dC5vcmcvYi8yMzk1MzMgWyBEZWJ1ZyBdIGVkaXRpbmcvaW5zZXJ0aW5nL2luc2VydC1saXN0LXVz
ZXItc2VsZWN0LW5vbmUtY3JhCiB3ZWJraXQub3JnL2IvMjM5NTUwIGZhc3QvdGV4dC9zaW1wbGUt
bGluZS1oeXBoZW5zLXdpdGgtdGV4dC1hbGlnbi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3
ZWJraXQub3JnL2IvMjM5NTUwIGZhc3QvdGV4dC9zaW1wbGUtbGluZS1sYXlvdXQtaHlwaGVuLWxp
bWl0LWFmdGVyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8yMzk1NTAg
ZmFzdC90ZXh0L3NpbXBsZS1saW5lLWxheW91dC1oeXBoZW4tbGltaXQtYmVmb3JlLmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KKworIyBJbWFnZSBjb250cm9scyBtZW51IGlzIG1hYyBvbmx5Lgor
ZmFzdC9hdHRhY2htZW50L2F0dGFjaG1lbnQtaW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbCBbIFNr
aXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9hdHRhY2htZW50L2F0dGFjaG1lbnQt
aW1hZ2UtY29udHJvbHMtYmFzaWMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvYXR0YWNobWVudC9h
dHRhY2htZW50LWltYWdlLWNvbnRyb2xzLWJhc2ljLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDhlNTAyN2Zm
N2Q2ZWE0YmMxMTQwNWEzNzUyMWYzMDIyNWMwOGExZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvYXR0YWNobWVudC9hdHRhY2htZW50LWltYWdlLWNvbnRyb2xzLWJhc2ljLmh0
bWwKQEAgLTAsMCArMSwxMyBAQAorPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyBBdHRhY2htZW50RWxlbWVudEVuYWJsZWQ9dHJ1ZSBdIC0tPgorPGh0bWw+Cis8aGVhZD4K
KzxzY3JpcHQ+CisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRJbWFnZUNvbnRyb2xzRW5hYmxlZCh0cnVlKTsKKzwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+CisgICAgPGF0dGFjaG1lbnQgaWQ9InRlc3QiIHR5cGU9ImFwcGxpY2F0aW9uL3Bk
ZiIgc3JjPSJyZXNvdXJjZXMvZ3JlZW5fcmVjdGFuZ2xlLnBkZiI+PC9hdHRhY2htZW50PgorICAg
IDxpbWcgc3JjPSI0MDB4MjAwLWNpcmNsZS5wbmciPjwvaW1nPgorPC9ib2R5PgorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9hdHRhY2htZW50L3Jlc291cmNlcy9ncmVlbl9y
ZWN0YW5nbGUucGRmIGIvTGF5b3V0VGVzdHMvZmFzdC9hdHRhY2htZW50L3Jlc291cmNlcy9ncmVl
bl9yZWN0YW5nbGUucGRmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmViM2E2NTk0ZjMwMjAxOWUyN2MyMDUyY2M2ODhm
ODVhMjI1ZjdmZTgKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDI0ODIKemNtYl9lY35CRXE3KU0z
SHR4Q1pROW1ROFE1SnFLcGF8NFBjaUQ7fngwbHxAQUwkWlhHQiNXRGtCOUBrN3dROHZxCnp3NGhp
bCZWVXNLMSlWe3c0eG9WNjExQjxgakVHcFk5O0ojNytFeHBGbzEtRldeYEV8KDxofVhjX3JDbDRl
Iz9vSAp6aHQwd1JfejApKj8kZilFZXQxQDVYKmBZYTAweVkhPDtkKlcwOWB+RmJ4Yk17S3ZFMXEh
JD5fdCZ+VnFROEE0OEkKekNAbGQoTEokKX02S1ZzSihLO2o2SihlNDVAbU1meFZaPCExZkIxIUg/
bTFWKWQhamN0OHt8ZUBqSStHQkFkRjJ2Cno+JGNDcylnYH1zV0N1YlJ3ZjR2RyNPaD1mdkFZbXNA
N05SRyZ6amlQPT4kTmQpSD5Ad08mQSM8d3BrV0ttPyQlPwp6QXh3YThCZ2lOdDFNZnxNXiMrPEFQ
SDBLQmwqJk1zVnZ2QWkpfU07Qy1tWnN6PWtQajtyWmhAfDBaWEFXY15FKHkKejJCPWJNLSh+aCkw
YU80QGgpaUJpWGMpbDhOQDJpKGtreThTZyFCezRre3A4VjtTe2w0MEpYV301UD5TcSQmQSVPCnp0
MiUoamxVZipoKT5MIT5MRiFUJiNDbiFkZFd1JTJ0MkczVyp5SmRudDhfWldDSXY5Rzgzc29ndH5S
QkNLLTt5SAp6V0syOzZFdSMkU2xvN0BSay1SJlRVOGl0UTduYyEzYns4Zis1YXhNcUpgZnhDbU5r
Q0xkI3hMTm9VX1VMJCt8OFMKeklISnMmRyQwcl9ufj90XzhtT0ZETm90N3N3MGJwNmhFcSVpaDU8
JjtVZUwmWTdJZkZpS19ndlVUdXpucm1RJG18CnpDR2NvbHg3JUg2cmFoWUI/Nks3dSk8SGhzO1dG
TzhnNiMhPitwOTdIbU1hPntIa0ZaMHA1MjMoYExOZEIpb1dTIwp6a3FnRXxQZFphfm0/TnppTzhD
WStpS3VhbEFKK0JwPGxNRiU+UmU0bCs4Kn5xN2koYCFFLW8mPGItfkUtayF9YkcKenleMEA4eFRG
WUxAOCZVaXUhbTwodlRFdm0/Z1pESSFZeTU1e18pPjd3NX1DRD1HWFByd1hnWTUjV2ZVVlcpRTgz
CnpGeiMkR19qcXV+JCVvPm9GTmU4PyZadGFDblYjcHBhKSo5fXdrdkMwPVhYMGhlKHZkMGptK15I
Pj1sPU55NWh7Vwp6TnhQbkIpT1duQkF4QjNCUmRsdllOWnh1aHlmaCFiNldeI2k5SjFeQWl1RnM4
WmVEa0kpMGk9U1RjLU1Pe2c/Uk4KejgmJDI+M2Y2V09aYW1IXyRvS1BZdVVHMkVDR0J8cno5bm1A
cX59TjlvbUpVKVNKanRZRXQrfEdNQj0wJmktWGIqCnp3VXFgPkRKUj12ZmBiJEQjXmVxKiZwbWd5
WkU7RU8oNWspQGlNPW42Q0VvZj43RmF1RWluKXh0QFlATkJtaHR0RQp6OGRQOFpiQFI0VnghdHNF
Y3l5R29fKz9uO2lQbEhnek05e3wrMFNeYjtqZjR2VW5QSG10c0xmXklwVn50O2ZZeHUKemlOQ3V7
cE99NXc/Q1Bgb240ITE2ZEd3NiE5X3RGNFomYiglZilsTz4xfSpzXyR6NH0xeSowQm51X3t6WFFX
e2RGCnpKNWIpX2RnTGcjZHJ8UHklPDkoMWZ2dXMmK3wzcm5HaTJ9MGhtfT09dCU/X3h3dnl0RVgk
QDtLaSZ1cjcqdDxNeQp6P1p0SkwtcUtDQShjaEZrRTFJK1lzbDtOcS1gIztVYTJ1JkxjKHRiV2wy
JXc3SH1PSGBJYkYqVUZRI1Y4dEo4WSoKelB1MWtxYzF2UF9ATHUoe3FWcjk2I3dJbU1uRGtXYWVw
PmJpOCRYcU10ez92UztNa1RfP2U0czckMzsyVVB5SmU1Cno1YWJuLVFyaG5PejJWdn5LQVNxYkdU
SzR+bzdkSD5iemp1JCtnRVU7bGstUkF0Ri1EZT98dE9CIyUrNWw9RHc3egp6RDg2dno9dllJVUZJ
cD5JSisxVWc5KjY4TEBqRC0xZWxYfXRnMSZxbk8rV0dMcDBsaipXfSR5QkRRPkNRUz5FfEAKej1B
VTdvKz13WGh4cEFRUnB5KFFIQ3tFZ09iSHN0PkRNZkp8Myp1anU+fkg4MzJHYEIpYjhEXnxsPT81
ZDt7WUJwCnpDVVBfbkpLQC1OZnxGUHdsUyRQa0xKTz03NiQ0WmI5dUApfEd2emZ4bXxvOShAYURg
JVd0MTVyMk0qQVdOVWFHRAp6ZEEzMkp5blp0cT9+ZXZIbktDdF8pPkFxZ3tGb2ZMdnpWWXdCeE05
Qjl3NnhkLWhwRSpGMzJEe0dMVDhtd200VEYKeiNLU05WJmZ8JE9UKiZBMVc/Pj5mNEQ8N2M9MkZf
WHZtaHUwQ2FxWm1BKCRKaylfX1BRTlB6ZWRBUEE2dlh0U0RUCnpHNjk0dUVBbk05e3s3NiFwb3RV
JkJBeVZ6eyNuMyEwIUhBVjtVWmA+eVpYXkU5P1ohQThjemgxR0p1OCk7SFYhIQp6O3xwUDgyR0Im
OShfMzgzY2haWkMwLWc5VTV6a3FOTDxxclNmRFZaV2czT3lWVHFKZ3FoZjhvTGAqNFdfKWBIX0wK
ekwjcyhXTDBpOXJsdz45Vzt8SV9maWhgd018SHgxblF6KEc1eHJYP3FraSR9JUVmQTxOejkzbmsp
PTAhK2ZgXkdQCm1Pb0hQPzNkWTkqd1NqfnIxYkhgJHRyU2ZSJSYwWVVKZDd0bUlHbE5yVmFWVVkt
Qk1ObgoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMi9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDc4MWMwMWE5NjliODE1Y2FhZTJkYzk5Zjg3ODQx
NjQzNTJjYzY4MmUuLjM4OGZkODEzZmY1NzVmOWMwYWIzZWE3ZGMxOWM2NTAxYzVlNDMzMjcgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTg5
NSw2ICs4OTUsOSBAQCBodHRwL3Rlc3RzL3Jlc291cmNlTG9hZFN0YXRpc3RpY3MvZW5mb3JjZS1z
YW1lc2l0ZS1zdHJpY3QtYmFzZWQtb24tdG9wLWZyYW1lLXVuaQogIyBTa2lwcGVkIGluIGdlbmVy
YWwgZXhwZWN0YXRpb25zIHNpbmNlIHRoZXkgb25seSB3b3JrIG9uIGlPUyBhbmQgTWFjLCBXSzIu
CiBtZWRpYS9kZWFjdGl2YXRlLWF1ZGlvLXNlc3Npb24uaHRtbCBbIFBhc3MgXQogCisjIEltYWdl
IGNvbnRyb2xzIG1lbnUgaXMgbWFjIG9ubHkuCitmYXN0L2F0dGFjaG1lbnQvYXR0YWNobWVudC1p
bWFnZS1jb250cm9scy1iYXNpYy5odG1sIFsgUGFzcyBdCisKIHdlYmtpdC5vcmcvYi8xNzc2ODcg
aHR0cC90ZXN0cy9pbnNwZWN0b3IvbmV0d29yay9yZXNvdXJjZS1zaXplcy1tZW1vcnktY2FjaGUu
aHRtbCBbIFBhc3MgRmFpbHVyZSBdCiAKIHdlYmtpdC5vcmcvYi8xNzg0NzIgaHR0cC90ZXN0cy9y
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzL3ByZXZhbGVudC1yZXNvdXJjZS1oYW5kbGVkLWtleWRvd24u
aHRtbCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
YXR0YWNobWVudC9hdHRhY2htZW50LWltYWdlLWNvbnRyb2xzLWJhc2ljLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2F0dGFjaG1lbnQvYXR0YWNobWVudC1pbWFn
ZS1jb250cm9scy1iYXNpYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzY5YjM4YmRjNDcyOGI1
MTBiYTUyODA5ODQzNzZiMjMwODk1NzRkNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2F0dGFjaG1lbnQvYXR0YWNobWVudC1pbWFnZS1jb250cm9scy1i
YXNpYy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxNCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg4OAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4ODgK
KyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg3MgorICAgICAgUmVuZGVy
QXR0YWNobWVudCB7QVRUQUNITUVOVH0gYXQgKDAsMCkgc2l6ZSA2MHg2MAorICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICg2MCw1NCkgc2l6ZSA0eDE4CisgICAgICAgIHRleHQgcnVuIGF0ICg2
MCw1NCkgd2lkdGggNDogIiAiCisgICAgICBSZW5kZXJJbWFnZSB7SU1HfSBhdCAoNjQsNDgpIHNp
emUgMjB4MjAKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorbGF5
ZXIgYXQgKDgsOCkgc2l6ZSA2MHg2MAorICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25l
ZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSA2MHg2MCBbY29sb3I9IzAwMDAwMDAwXQorbGF5ZXIgYXQg
KDM4LDEwKSBzaXplIDI4eDI2CisgIFJlbmRlckJ1dHRvbiB7QlVUVE9OfSBhdCAoMzAsMikgc2l6
ZSAyOHgyNiBbY29sb3I9IzAwMDAwMEQ4XSBbYmdjb2xvcj0jQzBDMEMwXSBbYm9yZGVyOiAoMnB4
IG91dHNldCAjQzBDMEMwKV0K
</data>

          </attachment>
      

    </bug>

</bugzilla>