<?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>197960</bug_id>
          
          <creation_ts>2019-05-16 13:22:10 -0700</creation_ts>
          <short_desc>Implement ElementInternals</short_desc>
          <delta_ts>2022-08-10 13:04:30 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>233023</dependson>
          <blocked>154907</blocked>
    
    <blocked>197963</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Domenic Denicola">d</reporter>
          <assigned_to name="Alexey Shvayka">ashvayka</assigned_to>
          <cc>709922234</cc>
    
    <cc>aboxhall</cc>
    
    <cc>alex</cc>
    
    <cc>allan.jensen</cc>
    
    <cc>andresg_22</cc>
    
    <cc>annulen</cc>
    
    <cc>apinheiro</cc>
    
    <cc>ashvayka</cc>
    
    <cc>bfulgham</cc>
    
    <cc>caezaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>cfleizach</cc>
    
    <cc>changseok</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>cory</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hi</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>jeroen.zwartepoorte</cc>
    
    <cc>joepeck</cc>
    
    <cc>kangil.han</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>me</cc>
    
    <cc>menard</cc>
    
    <cc>m.kurz+webkitbugs</cc>
    
    <cc>Morningstar</cc>
    
    <cc>newsilentimp</cc>
    
    <cc>ntim</cc>
    
    <cc>pangle</cc>
    
    <cc>rniwa</cc>
    
    <cc>robertwbradford</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>samuel_white</cc>
    
    <cc>sergio</cc>
    
    <cc>sobue</cc>
    
    <cc>tomac</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1536887</commentid>
    <comment_count>0</comment_count>
    <who name="Domenic Denicola">d</who>
    <bug_when>2019-05-16 13:22:10 -0700</bug_when>
    <thetext>Spec:

- Some steps of https://html.spec.whatwg.org/multipage/custom-elements.html#dom-customelementregistry-define for disabledFeatures
- Step 3 of https://dom.spec.whatwg.org/#dom-element-attachshadow for disabledFeatures = [&apos;shadow&apos;] specifically
- https://html.spec.whatwg.org/multipage/custom-elements.html#the-elementinternals-interface for attachInternals() and the (empty-for-now) ElementInternals class

Tests:

- https://github.com/web-platform-tests/wpt/blob/master/shadow-dom/Element-interface-attachShadow-custom-element.html
- https://github.com/web-platform-tests/wpt/blob/master/custom-elements/HTMLElement-attachInternals.html

A separate bug will be filed for form-associated custom elements, which will make ElementInternals not empty. But this seems like a separable chunk of work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1803110</commentid>
    <comment_count>1</comment_count>
    <who name="Jeroen Zwartepoorte">jeroen.zwartepoorte</who>
    <bug_when>2021-10-12 07:52:37 -0700</bug_when>
    <thetext>Firefox 93 just released with support for `attachInternals` (https://hacks.mozilla.org/2021/10/lots-to-see-in-firefox-93/). Chromium already supports it. So webkit is the only one not yet supporting it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1815990</commentid>
    <comment_count>2</comment_count>
      <attachid>444531</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-11-17 10:07:30 -0800</bug_when>
    <thetext>Created attachment 444531
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816231</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-11-17 17:10:18 -0800</bug_when>
    <thetext>It seems like you need to rebaseline the results for imported/w3c/web-platform-tests/html/dom/idlharness.https.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816242</commentid>
    <comment_count>4</comment_count>
      <attachid>444531</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-11-17 17:43:41 -0800</bug_when>
    <thetext>Comment on attachment 444531
Patch

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

&gt; Source/WebCore/dom/ElementInternals.h:52
&gt; +    HTMLElement&amp; m_element;

Please don&apos;t use a raw reference to a node like this in new code.
Use WeakPtr&lt;HTMLElement&gt; instead. r- because of this.

&gt; Source/WebCore/dom/ElementInternals.idl:31
&gt; +    // Shadow root access

This comment is useless. Please remove.

&gt; Source/WebCore/dom/Node.h:591
&gt; +        Precustomized = 4,

Let&apos;s not waste an entire bit for having this value.
The following condition should be used for an element to be precustomsized:
!hasNodeFlag(NodeFlag::IsUnknownElement) &amp;&amp; customElementState() == CustomElementState::Failed
r- because of this.

&gt; Source/WebCore/dom/Node.h:598
&gt; +        uint16_t areInternalsAttached : 1;

Please don&apos;t waste a bitfield for this. Also, elementInternals is a singular noun object.
r- because of this.

&gt; Source/WebCore/dom/Node.h:616
&gt; +    bool areInternalsAttached() const { return rareDataBitfields().areInternalsAttached; }
&gt; +    void setInternalsAttached();
&gt; +

This shouldn&apos;t be here. ElementInternals should be stored in ElementRareData.
There is no need to avoid accessing when we need to check this condition since it never happens in a hot code path.

&gt; Source/WebCore/dom/ShadowRoot.h:78
&gt; +    bool availableToElementInternals() const { return m_availableToElementInternals; }
&gt; +

Nit: should be named this instead: isAvailableToElementInternals
https://webkit.org/code-style-guidelines/#names-verb

&gt; Source/WebCore/html/HTMLElement.cpp:1273
&gt; +    auto* elementInterface = registry-&gt;findInterface(*this);

This is a very inefficient way of getting the element interface.
Use Element::reactionQueue() which has a back reference to JSCustomElementInterface.

&gt; Source/WebCore/html/HTMLElement.cpp:1287
&gt; +    setInternalsAttached();
&gt; +    return ElementInternals::create(*this);

We should store this in ElementRareData or CustomElementReactionQueue)
(the latter is preferable to avoid increasing the size of ElementRareData by sizeof(void*)).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816610</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-11-18 13:33:59 -0800</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #4)

Wow, thanks for such thorough review, Ryosuke! Much appreciated.

&gt;
&gt; &gt; Source/WebCore/dom/ElementInternals.h:52
&gt; &gt; +    HTMLElement&amp; m_element;
&gt; 
&gt; Please don&apos;t use a raw reference to a node like this in new code.
&gt; Use WeakPtr&lt;HTMLElement&gt; instead. r- because of this.

Let&apos;s suppose a case of a detached &amp; unreferenced HTML element, with only ElementInternals instance in userland JS code retaining a reference to it. Per spec, this reference should be strong and ElementInternals methods should work as expected.

Can we make this work with WeakPtr?

&gt;
&gt; &gt; Source/WebCore/dom/ElementInternals.idl:31
&gt; &gt; +    // Shadow root access
&gt; 
&gt; This comment is useless. Please remove.

👍🏻

&gt;
&gt; &gt; Source/WebCore/dom/Node.h:591
&gt; &gt; +        Precustomized = 4,
&gt; 
&gt; Let&apos;s not waste an entire bit for having this value.
&gt; The following condition should be used for an element to be precustomsized:
&gt; !hasNodeFlag(NodeFlag::IsUnknownElement) &amp;&amp; customElementState() ==
&gt; CustomElementState::Failed
&gt; r- because of this.

I don&apos;t like adding a bit to CustomElementState as well, yet proposed solution for &quot;precustomized&quot; state fails a lot of tests where custom element is synchronously created.

Also, please note that &quot;failed&quot; =&gt; &quot;precustomized&quot; state transition happens only after _disable shadow_ is checked (step 8.2 of https://html.spec.whatwg.org/#upgrades); I&apos;m not sure how we can get around with &quot;failed&quot; state only.

&gt;
&gt; &gt; Source/WebCore/dom/Node.h:598
&gt; &gt; +        uint16_t areInternalsAttached : 1;
&gt; 
&gt; Please don&apos;t waste a bitfield for this. Also, elementInternals is a singular
&gt; noun object.
&gt; r- because of this.
&gt; 
&gt; &gt; Source/WebCore/dom/Node.h:616
&gt; &gt; +    bool areInternalsAttached() const { return rareDataBitfields().areInternalsAttached; }
&gt; &gt; +    void setInternalsAttached();
&gt; &gt; +
&gt; 
&gt; This shouldn&apos;t be here. ElementInternals should be stored in ElementRareData.
&gt; There is no need to avoid accessing when we need to check this condition
&gt; since it never happens in a hot code path.

It feels to me that CustomElementState should also be stored in ElementRareData, yet it&apos;s here in Node. I suppose the reason it&apos;s there is free bits in RareDataBitFields. This patch is neutral on sizeof(RareDataBitFields).

How can we move it to ElementRareData without increasing its size?

&gt;
&gt; &gt; Source/WebCore/dom/ShadowRoot.h:78
&gt; &gt; +    bool availableToElementInternals() const { return m_availableToElementInternals; }
&gt; &gt; +
&gt; 
&gt; Nit: should be named this instead: isAvailableToElementInternals
&gt; https://webkit.org/code-style-guidelines/#names-verb

👍🏻, my bad.

&gt; 
&gt; &gt; Source/WebCore/html/HTMLElement.cpp:1273
&gt; &gt; +    auto* elementInterface = registry-&gt;findInterface(*this);
&gt; 
&gt; This is a very inefficient way of getting the element interface.
&gt; Use Element::reactionQueue() which has a back reference to
&gt; JSCustomElementInterface.

Nice 👍🏻, this is a great simplification as well.

&gt;
&gt; &gt; Source/WebCore/html/HTMLElement.cpp:1287
&gt; &gt; +    setInternalsAttached();
&gt; &gt; +    return ElementInternals::create(*this);
&gt; 
&gt; We should store this in ElementRareData or CustomElementReactionQueue)
&gt; (the latter is preferable to avoid increasing the size of ElementRareData by
&gt; sizeof(void*)).

I&apos;ve checked the spec and seems like there is no necessity to store ElementInternals instance like we do for `classList` or `dataset`. It&apos;s a one-way API, from userland JS code to DOM, and it&apos;s not a [SameObject].

What am I missing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816619</commentid>
    <comment_count>6</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2021-11-18 14:03:36 -0800</bug_when>
    <thetext>(In reply to Alexey Shvayka from comment #5)
&gt; (In reply to Ryosuke Niwa from comment #4)
&gt; 
&gt; Wow, thanks for such thorough review, Ryosuke! Much appreciated.
&gt; 
&gt; &gt;
&gt; &gt; &gt; Source/WebCore/dom/ElementInternals.h:52
&gt; &gt; &gt; +    HTMLElement&amp; m_element;
&gt; &gt; 
&gt; &gt; Please don&apos;t use a raw reference to a node like this in new code.
&gt; &gt; Use WeakPtr&lt;HTMLElement&gt; instead. r- because of this.
&gt; 
&gt; Let&apos;s suppose a case of a detached &amp; unreferenced HTML element, with only
&gt; ElementInternals instance in userland JS code retaining a reference to it.
&gt; Per spec, this reference should be strong and ElementInternals methods
&gt; should work as expected.
&gt; 
&gt; Can we make this work with WeakPtr?

Yes. The way to keep HTML element alive in that case is to treat it as the opaque root of the ElementInternals. So, when GC visits ElementInternals, we need to be adding the associated element&apos;s opaque root to the slot visitors. Talk to Geoff / Chris if you have further questions.

&gt; &gt; &gt; Source/WebCore/dom/Node.h:591
&gt; &gt; &gt; +        Precustomized = 4,
&gt; &gt; 
&gt; &gt; Let&apos;s not waste an entire bit for having this value.
&gt; &gt; The following condition should be used for an element to be precustomsized:
&gt; &gt; !hasNodeFlag(NodeFlag::IsUnknownElement) &amp;&amp; customElementState() ==
&gt; &gt; CustomElementState::Failed
&gt; &gt; r- because of this.
&gt; 
&gt; I don&apos;t like adding a bit to CustomElementState as well, yet proposed
&gt; solution for &quot;precustomized&quot; state fails a lot of tests where custom element
&gt; is synchronously created.
&gt; 
&gt; Also, please note that &quot;failed&quot; =&gt; &quot;precustomized&quot; state transition happens
&gt; only after _disable shadow_ is checked (step 8.2 of
&gt; https://html.spec.whatwg.org/#upgrades); I&apos;m not sure how we can get around
&gt; with &quot;failed&quot; state only.

Hm... I see. Can we replace CustomElementState::Uncustomized with CustomElementState::Precustomized? Because we should be able to differentiate a custom element from the rest by asking if it&apos;s unknown or not (Node::isUnknownElement() which checks NodeFlag::IsUnknownElement).

&gt; &gt; &gt; Source/WebCore/dom/Node.h:616
&gt; &gt; &gt; +    bool areInternalsAttached() const { return rareDataBitfields().areInternalsAttached; }
&gt; &gt; &gt; +    void setInternalsAttached();
&gt; &gt; &gt; +
&gt; &gt; 
&gt; &gt; This shouldn&apos;t be here. ElementInternals should be stored in ElementRareData.
&gt; &gt; There is no need to avoid accessing when we need to check this condition
&gt; &gt; since it never happens in a hot code path.
&gt; 
&gt; It feels to me that CustomElementState should also be stored in
&gt; ElementRareData, yet it&apos;s here in Node.

That&apos;s for performance because we have to check it in various very hot code paths.

&gt; I suppose the reason it&apos;s there is free bits in RareDataBitFields. This patch is neutral on
&gt; sizeof(RareDataBitFields).

We don&apos;t want to waste bits in RareDataBitFields because we may use it for other purposes.

&gt; How can we move it to ElementRareData without increasing its size?

Use CompactUniquePtrTuple for CustomElementReactionQueue and store it there?

&gt; &gt; &gt; Source/WebCore/html/HTMLElement.cpp:1287
&gt; &gt; &gt; +    setInternalsAttached();
&gt; &gt; &gt; +    return ElementInternals::create(*this);
&gt; &gt; 
&gt; &gt; We should store this in ElementRareData or CustomElementReactionQueue)
&gt; &gt; (the latter is preferable to avoid increasing the size of ElementRareData by
&gt; &gt; sizeof(void*)).
&gt; 
&gt; I&apos;ve checked the spec and seems like there is no necessity to store
&gt; ElementInternals instance like we do for `classList` or `dataset`. It&apos;s a
&gt; one-way API, from userland JS code to DOM, and it&apos;s not a [SameObject].

Ok, I see. Didn&apos;t realize that. That&apos;s pretty neat.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849404</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-03-08 14:12:49 -0800</bug_when>
    <thetext>&lt;rdar://problem/89989084&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1849847</commentid>
    <comment_count>8</comment_count>
    <who name="Dawn Morningstar">Morningstar</who>
    <bug_when>2022-03-09 14:32:42 -0800</bug_when>
    <thetext>(In reply to Ryosuke Niwa from comment #3)
&gt; It seems like you need to rebaseline the results for
&gt; imported/w3c/web-platform-tests/html/dom/idlharness.https.html

Looks like a rebasline is still needed for this test for iPad queue&apos;s constant failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1863384</commentid>
    <comment_count>9</comment_count>
    <who name="Dawn Morningstar">Morningstar</who>
    <bug_when>2022-04-21 13:30:56 -0700</bug_when>
    <thetext>Pull request: https://github.com/WebKit/WebKit/pull/348</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1863386</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-04-21 13:34:36 -0700</bug_when>
    <thetext>Committed r293183 (249861@main): &lt;https://commits.webkit.org/249861@main&gt;

Reviewed commits have been landed. Closing PR #348 and removing active labels.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1863409</commentid>
    <comment_count>11</comment_count>
    <who name="Tim Nguyen (:ntim)">ntim</who>
    <bug_when>2022-04-21 14:15:36 -0700</bug_when>
    <thetext>The commit that closed this a test gardening commit, not the actual implementation commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1886298</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2022-07-23 17:43:31 -0700</bug_when>
    <thetext>(In reply to Alexey Shvayka from comment #5)
&gt; (In reply to Ryosuke Niwa from comment #4)
&gt; &gt;
&gt; &gt; &gt; Source/WebCore/dom/Node.h:591
&gt; &gt; &gt; +        Precustomized = 4,
&gt; &gt; 
&gt; &gt; Let&apos;s not waste an entire bit for having this value.
&gt; &gt; The following condition should be used for an element to be precustomsized:
&gt; &gt; !hasNodeFlag(NodeFlag::IsUnknownElement) &amp;&amp; customElementState() ==
&gt; &gt; CustomElementState::Failed
&gt; &gt; r- because of this.
&gt; 
&gt; I don&apos;t like adding a bit to CustomElementState as well, yet proposed
&gt; solution for &quot;precustomized&quot; state fails a lot of tests where custom element
&gt; is synchronously created.
&gt; 
&gt; Also, please note that &quot;failed&quot; =&gt; &quot;precustomized&quot; state transition happens
&gt; only after _disable shadow_ is checked (step 8.2 of
&gt; https://html.spec.whatwg.org/#upgrades); I&apos;m not sure how we can get around
&gt; with &quot;failed&quot; state only.

Blending &quot;failed&quot; and &quot;precustomized&quot; worked like charm, not sure why it didn&apos;t the first time.

Pull request with all the comments applied: https://github.com/WebKit/WebKit/pull/2690.

I will make sure to add GC / JSElementInternals::visitAdditionalChildren() test case before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1890376</commentid>
    <comment_count>13</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-08-10 13:04:26 -0700</bug_when>
    <thetext>Committed 253303@main (c51d445d35e1): &lt;https://commits.webkit.org/253303@main&gt;

Reviewed commits have been landed. Closing PR #2690 and removing active labels.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444531</attachid>
            <date>2021-11-17 10:07:30 -0800</date>
            <delta_ts>2021-11-17 17:43:41 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-197960-20211117180728.patch</filename>
            <type>text/plain</type>
            <size>107370</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XVEYvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCShyZXZpc2lvbiAyODU5MzMpCisrKyBTb3VyY2UvV1RGL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDIxLTExLTE3ICBBbGV4ZXkgU2h2YXlrYSAgPGFz
aHZheWthQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgRWxlbWVudEludGVybmFscwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk3OTYwCisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBTY3JpcHRz
L1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWw6CisKIDIwMjEtMTEt
MTYgIERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIHVz
ZSBQaG90b3NVSVByaXZhdGUgaW5zdGVhZCBvZiBQaG90b3NVSQpJbmRleDogU291cmNlL1dURi9T
Y3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhw
ZXJpbWVudGFsLnlhbWwJKHJldmlzaW9uIDI4NTkzMykKKysrIFNvdXJjZS9XVEYvU2NyaXB0cy9Q
cmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sCSh3b3JraW5nIGNvcHkp
CkBAIC01NDAsNiArNTQwLDE4IEBAIEZvY3VzVmlzaWJsZUVuYWJsZWQ6CiAgICAgV2ViQ29yZToK
ICAgICAgIGRlZmF1bHQ6IGZhbHNlCiAKK0Zvcm1Bc3NvY2lhdGVkQ3VzdG9tRWxlbWVudHNFbmFi
bGVkOgorICB0eXBlOiBib29sCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiRm9ybS1hc3NvY2lhdGVk
IGN1c3RvbSBlbGVtZW50cyIKKyAgaHVtYW5SZWFkYWJsZURlc2NyaXB0aW9uOiAiU3VwcG9ydCBm
b3IgZm9ybS1hc3NvY2lhdGVkIGN1c3RvbSBlbGVtZW50cyIKKyAgZGVmYXVsdFZhbHVlOgorICAg
IFdlYktpdExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6IGZhbHNlCisgICAgV2ViS2l0OgorICAgICAg
ZGVmYXVsdDogZmFsc2UKKyAgICBXZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogIyBG
SVhNRTogVGhpcyBpcyBvbiBieSBkZWZhdWx0IGluIFdlYktpdDIuIFBlcmhhcHMgd2Ugc2hvdWxk
IGNvbnNpZGVyIHR1cm5pbmcgaXQgb24gZm9yIFdlYktpdExlZ2FjeSBhcyB3ZWxsLgogR2VuZXJp
Y0N1ZUFQSUVuYWJsZWQ6CiAgIHR5cGU6IGJvb2wKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI4
NTkzMykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDg1IEBACisyMDIxLTExLTE3ICBBbGV4ZXkgU2h2YXlrYSAgPGFzaHZheWthQGFwcGxlLmNv
bT4KKworICAgICAgICBJbXBsZW1lbnQgRWxlbWVudEludGVybmFscworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk3OTYwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBjaGFuZ2UgaW1wbGVtZW50cyBF
bGVtZW50SW50ZXJuYWxzIGludGVyZmFjZSBbMV0gd2l0aCBhIGBzaGFkb3dSb290YCBnZXR0ZXIg
b25seS4KKyAgICAgICAgRGlzYWJsaW5nIGF0dGFjaEludGVybmFscygpIHZpYSBgZGlzYWJsZWRG
ZWF0dXJlc2AgaXMgc3VwcG9ydGVkIG5vdyBhcyB3ZWxsLgorCisgICAgICAgIFRvIGF2b2lkIGJy
ZWFraW5nIHdlYiBzaXRlcyAvIHBvbHlmaWxscyB0aGF0IHJlbHkgb24gZm9ybS1hc3NvY2lhdGVk
IGN1c3RvbSBlbGVtZW50cworICAgICAgICBiZWluZyBmdWxseSBzdXBwb3J0ZWQgaWYgYXR0YWNo
SW50ZXJuYWxzKCkgaXMgcHJlc2VudCwgRWxlbWVudEludGVybmFscyBhcmUgY2FyZWZ1bGx5Cisg
ICAgICAgIGhpZGRlbiBiZWhpbmQgYSBydW50aW1lIGZsYWcuCisKKyAgICAgICAgVG8gZW5zdXJl
IGF0dGFjaEludGVybmFscygpIGNhbiBiZSBjYWxsZWQgaW4gYSBjdXN0b20gZWxlbWVudCBjb25z
dHJ1Y3RvciBidXQgbm90IGlmCisgICAgICAgIHVwZ3JhZGluZyBmYWlscywgYSBmaWZ0aCBjdXN0
b20gZWxlbWVudCBzdGF0ZSBvZiAicHJlY3VzdG9taXplZCIgaXMgaW50cm9kdWNlZCwgd2hpY2gK
KyAgICAgICAgaXMgdmVyeSBzaW1pbGFyIHRvICJmYWlsZWQiLgorCisgICAgICAgIFRvIGRvIHRo
YXQsIGEgZmV3IGN1c3RvbSBlbGVtZW50IHN0YXRlIGNoZWNrcyBoYWQgdG8gYmUgYWRqdXN0ZWQs
IGVzcGVjaWFsbHkgb25lcyB0aGF0CisgICAgICAgIHBlcmZvcm1lZCBpbnZlcnRlZCBjaGVja3Ms
IGJyaW5naW5nIHVzIGNsb3NlciB0byB0aGUgc3BlYyBzdGVwcyAvIHRlcm1pbm9sb2d5LgorICAg
ICAgICBBbGlnbnMgV2ViS2l0IHdpdGggQmxpbmsgYW5kIEdlY2tvLgorCisgICAgICAgIFRoaXMg
cGF0Y2ggYXR0ZW1wdHMgdG8gZm9sbG93IHRoZSBhbGdvcml0aG1zIDE6MSwgZXZlbiB0aG91Z2gg
dGhlIG51bWJlciBvZiByZXR1cm5zCisgICAgICAgIGNvdWxkIGJlIHJlZHVjZWQgZm9yIHJlYWRh
YmlsaXR5LCB0byBlYXNlIGltcGxlbWVudGF0aW9uIG9mIGZ1dHVyZSBzcGVjIGNoYW5nZXMuCisK
KyAgICAgICAgWzFdIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL2N1c3Rv
bS1lbGVtZW50cy5odG1sI3RoZS1lbGVtZW50aW50ZXJuYWxzLWludGVyZmFjZQorCisgICAgICAg
IFRlc3RzOiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9D
dXN0b21FbGVtZW50UmVnaXN0cnkuaHRtbAorICAgICAgICAgICAgICAgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvSFRNTEVsZW1lbnQtYXR0YWNoSW50ZXJu
YWxzLmh0bWwKKyAgICAgICAgICAgICAgIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3VzdG9tLWVsZW1lbnRzL2VsZW1lbnQtaW50ZXJuYWxzLXNoYWRvd3Jvb3QuaHRtbAorCisgICAg
ICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNm
aWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdDoKKyAg
ICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5k
aW5ncy9qcy9KU0N1c3RvbUVsZW1lbnRJbnRlcmZhY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SlNDdXN0b21FbGVtZW50SW50ZXJmYWNlOjpKU0N1c3RvbUVsZW1lbnRJbnRlcmZhY2UpOgorICAg
ICAgICAoV2ViQ29yZTo6SlNDdXN0b21FbGVtZW50SW50ZXJmYWNlOjp1cGdyYWRlRWxlbWVudCk6
CisgICAgICAgIChXZWJDb3JlOjpKU0N1c3RvbUVsZW1lbnRJbnRlcmZhY2U6OnNldEZvcm1Bc3Nv
Y2lhdGVkQ2FsbGJhY2spOgorICAgICAgICAoV2ViQ29yZTo6SlNDdXN0b21FbGVtZW50SW50ZXJm
YWNlOjpzZXRGb3JtUmVzZXRDYWxsYmFjayk6CisgICAgICAgIChXZWJDb3JlOjpKU0N1c3RvbUVs
ZW1lbnRJbnRlcmZhY2U6OnNldEZvcm1EaXNhYmxlZENhbGxiYWNrKToKKyAgICAgICAgKFdlYkNv
cmU6OkpTQ3VzdG9tRWxlbWVudEludGVyZmFjZTo6c2V0Rm9ybVN0YXRlUmVzdG9yZUNhbGxiYWNr
KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0N1c3RvbUVsZW1lbnRJbnRlcmZhY2UuaDoKKyAg
ICAgICAgKFdlYkNvcmU6OkpTQ3VzdG9tRWxlbWVudEludGVyZmFjZTo6ZGlzYWJsZUludGVybmFs
cyk6CisgICAgICAgIChXZWJDb3JlOjpKU0N1c3RvbUVsZW1lbnRJbnRlcmZhY2U6OmFyZUludGVy
bmFsc0Rpc2FibGVkIGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6OkpTQ3VzdG9tRWxlbWVudElu
dGVyZmFjZTo6c2V0SXNGb3JtQXNzb2NpYXRlZCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlND
dXN0b21FbGVtZW50UmVnaXN0cnlDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6SlNDdXN0
b21FbGVtZW50UmVnaXN0cnk6OmRlZmluZSk6CisgICAgICAgICogY3NzL1NlbGVjdG9yQ2hlY2tl
clRlc3RGdW5jdGlvbnMuaDoKKyAgICAgICAgKFdlYkNvcmU6OmlzRGVmaW5lZEVsZW1lbnQpOgor
ICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkVsZW1lbnQ6OnNl
dElzUHJlY3VzdG9taXplZEN1c3RvbUVsZW1lbnQpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVu
dDo6Y2xlYXJSZWFjdGlvblF1ZXVlRnJvbUZhaWxlZEN1c3RvbUVsZW1lbnQpOgorICAgICAgICAo
V2ViQ29yZTo6RWxlbWVudDo6ZW5xdWV1ZVRvVXBncmFkZSk6CisgICAgICAgIChXZWJDb3JlOjpF
bGVtZW50OjpyZWFjdGlvblF1ZXVlIGNvbnN0KToKKyAgICAgICAgKiBkb20vRWxlbWVudC5oOgor
ICAgICAgICAqIGRvbS9FbGVtZW50SW50ZXJuYWxzLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlOjpFbGVtZW50SW50ZXJuYWxzOjpzaGFkb3dSb290IGNvbnN0KToKKyAgICAgICAgKiBkb20v
RWxlbWVudEludGVybmFscy5oOiBBZGRlZC4KKyAgICAgICAgKiBkb20vRWxlbWVudEludGVybmFs
cy5pZGw6IEFkZGVkLgorICAgICAgICAqIGRvbS9Ob2RlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
Ok5vZGU6OmluY3JlbWVudENvbm5lY3RlZFN1YmZyYW1lQ291bnQpOgorICAgICAgICAqIGRvbS9O
b2RlLmg6CisgICAgICAgIChXZWJDb3JlOjpOb2RlOjppc0ZhaWxlZE9yUHJlY3VzdG9taXplZEN1
c3RvbUVsZW1lbnQgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6Tm9kZTo6aXNDdXN0b21PclBy
ZWN1c3RvbWl6ZWRDdXN0b21FbGVtZW50IGNvbnN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6
OmlzQ3VzdG9tT3JVbmN1c3RvbWl6ZWRDdXN0b21FbGVtZW50IGNvbnN0KToKKyAgICAgICAgKFdl
YkNvcmU6Ok5vZGU6OmlzVW5kZWZpbmVkT3JVbmN1c3RvbWl6ZWRDdXN0b21FbGVtZW50IGNvbnN0
KToKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmFyZUludGVybmFsc0F0dGFjaGVkIGNvbnN0KToK
KyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OmlzRmFpbGVkQ3VzdG9tRWxlbWVudCBjb25zdCk6IERl
bGV0ZWQuCisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U2hhZG93Um9vdDo6U2hhZG93Um9vdCk6CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuaDoKKyAg
ICAgICAgKiBodG1sL0hUTUxFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok5vZGU6OnNl
dEludGVybmFsc0F0dGFjaGVkKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxFbGVtZW50OjphdHRh
Y2hJbnRlcm5hbHMpOgorICAgICAgICAqIGh0bWwvSFRNTEVsZW1lbnQuaDoKKyAgICAgICAgKiBo
dG1sL0hUTUxFbGVtZW50LmlkbDoKKyAgICAgICAgKiBpbnNwZWN0b3IvYWdlbnRzL0luc3BlY3Rv
ckRPTUFnZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmN1c3RvbUVsZW1lbnRTdGF0ZSk6CisK
IDIwMjEtMTEtMTcgIEFsYW4gQnVqdGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIFtM
RkNdW0lGQ10gSW5jb3JyZWN0IHVzZSBvZiBCcmVha1dvcmQgd2l0aCBwcmVmZXJyZWQgd2lkdGgg
Y29tcHV0YXRpb24gKGl0J3MgYSB2YWxpZCB2YWx1ZSBmb3IgYm90aCBXb3JkQnJlYWsgYW5kIE92
ZXJmbG93V3JhcCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CShyZXZpc2lvbiAyODU5MzMpCisr
KyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtODc0LDYg
Kzg3NCw3IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgZG9tL0VsZW1lbnQr
UG9pbnRlckxvY2suaWRsCiAgICAgZG9tL0VsZW1lbnQuaWRsCiAgICAgZG9tL0VsZW1lbnRDb250
ZW50RWRpdGFibGUuaWRsCisgICAgZG9tL0VsZW1lbnRJbnRlcm5hbHMuaWRsCiAgICAgZG9tL0Vy
cm9yRXZlbnQuaWRsCiAgICAgZG9tL0V2ZW50LmlkbAogICAgIGRvbS9FdmVudEluaXQuaWRsCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QJ
KHJldmlzaW9uIDI4NTkzMykKKysrIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0
LnhjZmlsZWxpc3QJKHdvcmtpbmcgY29weSkKQEAgLTEwMTQsNiArMTAxNCw3IEBAICQoUFJPSkVD
VF9ESVIpL2RvbS9FbGVtZW50K1BvaW50ZXJFdmVudHMKICQoUFJPSkVDVF9ESVIpL2RvbS9FbGVt
ZW50K1BvaW50ZXJMb2NrLmlkbAogJChQUk9KRUNUX0RJUikvZG9tL0VsZW1lbnQuaWRsCiAkKFBS
T0pFQ1RfRElSKS9kb20vRWxlbWVudENvbnRlbnRFZGl0YWJsZS5pZGwKKyQoUFJPSkVDVF9ESVIp
L2RvbS9FbGVtZW50SW50ZXJuYWxzLmlkbAogJChQUk9KRUNUX0RJUikvZG9tL0Vycm9yRXZlbnQu
aWRsCiAkKFBST0pFQ1RfRElSKS9kb20vRXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9kb20vRXZl
bnRJbml0LmlkbApJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3QKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0
cHV0LnhjZmlsZWxpc3QJKHJldmlzaW9uIDI4NTkzMykKKysrIFNvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CSh3b3JraW5nIGNvcHkpCkBAIC03NjUsNiArNzY1
LDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYgogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFbGVtZW50Q1NTSW5saW5lU3R5
bGUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNFbGVt
ZW50Q29udGVudEVkaXRhYmxlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNFbGVtZW50Q29udGVudEVkaXRhYmxlLmgKKyQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRWxlbWVudEludGVybmFscy5jcHAKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRWxlbWVudEludGVybmFs
cy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0VuZGlu
Z1R5cGUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0VuZGluZ1R5cGUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNFbnRlclBpY3R1cmVJblBpY3R1cmVFdmVudC5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQkocmV2aXNpb24gMjg1OTMzKQorKysgU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQkod29ya2luZyBjb3B5KQpAQCAtODc5LDYgKzg3OSw3IEBAIEpTX0JJTkRJ
TkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9kb20vRWxlbWVudCtQb2ludGVyTG9jay5pZGwg
XAogICAgICQoV2ViQ29yZSkvZG9tL0VsZW1lbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2RvbS9F
bGVtZW50Q29udGVudEVkaXRhYmxlLmlkbCBcCisgICAgJChXZWJDb3JlKS9kb20vRWxlbWVudElu
dGVybmFscy5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0Vycm9yRXZlbnQuaWRsIFwKICAgICAk
KFdlYkNvcmUpL2RvbS9FdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvZG9tL0V2ZW50SW5pdC5p
ZGwgXApJbmRleDogU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQJKHJldmlzaW9uIDI4NTkzMykKKysrIFNvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0CSh3b3JraW5nIGNvcHkpCkBAIC05NDIsNiArOTQyLDcgQEAgZG9tL0Rv
Y3VtZW50VHlwZS5jcHAKIGRvbS9EcmFnRXZlbnQuY3BwCiBkb20vRWxlbWVudC5jcHAKIGRvbS9F
bGVtZW50RGF0YS5jcHAKK2RvbS9FbGVtZW50SW50ZXJuYWxzLmNwcAogZG9tL0VsZW1lbnRSYXJl
RGF0YS5jcHAKIGRvbS9FcnJvckV2ZW50LmNwcAogZG9tL0V2ZW50LmNwcApAQCAtMzA2Miw2ICsz
MDYzLDcgQEAgSlNFY2RzYVBhcmFtcy5jcHAKIEpTRWZmZWN0VGltaW5nLmNwcAogSlNFbGVtZW50
LmNwcAogSlNFbGVtZW50Q1NTSW5saW5lU3R5bGUuY3BwCitKU0VsZW1lbnRJbnRlcm5hbHMuY3Bw
CiBKU0VuZGluZ1R5cGUuY3BwCiBKU0VudGVyUGljdHVyZUluUGljdHVyZUV2ZW50LmNwcAogSlNF
cnJvckNhbGxiYWNrLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMjg1OTMzKQorKysgU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0x
MTk5Nyw2ICsxMTk5Nyw5IEBACiAJCThBOUE1ODczMTFFODRDODEwMDhBQ0ZEMSAvKiBKU1BlcmZv
cm1hbmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTUGVyZm9ybWFuY2Uu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOEE5QTU4NzcxMUU4NEM5ODAwOEFDRkQx
IC8qIEpTUGVyZm9ybWFuY2VUaW1pbmcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gSlNQZXJmb3JtYW5jZVRpbWluZy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4
QUI0QkM3NjEyNkZEQjcxMDBERUI3MjcgLyogSWdub3JlRGVzdHJ1Y3RpdmVXcml0ZUNvdW50SW5j
cmVtZW50ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSWdub3JlRGVzdHJ1
Y3RpdmVXcml0ZUNvdW50SW5jcmVtZW50ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJOEFFMzA2RDQyNzQxOTAyNjAwNzc2RDc5IC8qIEVsZW1lbnRJbnRlcm5hbHMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gRWxlbWVudEludGVybmFscy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk4QUUzMDZENjI3NDE5MDI3MDA3NzZENzkgLyogRWxlbWVudEludGVybmFscy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBFbGVtZW50SW50ZXJuYWxzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJOEFFMzA2RDcyNzQxOTAyNzAwNzc2RDc5IC8qIEVsZW1lbnRJbnRlcm5hbHMuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IEVsZW1lbnRJbnRlcm5hbHMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk4QUY0RTU1MjExREM1QTM2MDAwRUQzREUgLyogUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFBlcmZvcm1hbmNlTmF2aWdhdGlv
bi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCThBRjRFNTUzMTFEQzVBMzYwMDBF
RDNERSAvKiBQZXJmb3JtYW5jZU5hdmlnYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUGVyZm9ybWFuY2VOYXZpZ2F0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCThBRjRFNTU0MTFEQzVBMzYwMDBFRDNERSAvKiBQZXJmb3JtYW5jZU5hdmlnYXRpb24u
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFBlcmZvcm1hbmNlTmF2aWdhdGlvbi5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zMTM2MSw2ICszMTM2NCw5IEBACiAJCQkJQjVC
N0ExNkUxN0MxMDQ4MDAwRTRBQTBBIC8qIEVsZW1lbnREYXRhLmggKi8sCiAJCQkJMkQyQkVCMkYy
MjM0QTMzNDAwNTU0NENBIC8qIEVsZW1lbnRJZGVudGlmaWVyLmggKi8sCiAJCQkJQ0QxRjlCNDQy
NzBDRjFDQjAwNjE3RUI2IC8qIEVsZW1lbnRJbmxpbmVzLmggKi8sCisJCQkJOEFFMzA2RDYyNzQx
OTAyNzAwNzc2RDc5IC8qIEVsZW1lbnRJbnRlcm5hbHMuY3BwICovLAorCQkJCThBRTMwNkQ0Mjc0
MTkwMjYwMDc3NkQ3OSAvKiBFbGVtZW50SW50ZXJuYWxzLmggKi8sCisJCQkJOEFFMzA2RDcyNzQx
OTAyNzAwNzc2RDc5IC8qIEVsZW1lbnRJbnRlcm5hbHMuaWRsICovLAogCQkJCUU0QUU3QzE1MTdE
MUJCOTUwMDA5RkIzMSAvKiBFbGVtZW50SXRlcmF0b3IuaCAqLywKIAkJCQlFNDAxQzI3NDE3Q0U1
M0VDMDBDNDFBMzUgLyogRWxlbWVudEl0ZXJhdG9yQXNzZXJ0aW9ucy5oICovLAogCQkJCTRGQUI0
ODY0MTY0M0E2NkQwMEY3MEMwNyAvKiBFbGVtZW50UmFyZURhdGEuY3BwICovLApJbmRleDogU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0b21FbGVtZW50SW50ZXJmYWNlLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbUVsZW1lbnRJbnRl
cmZhY2UuY3BwCShyZXZpc2lvbiAyODU5MzMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0N1c3RvbUVsZW1lbnRJbnRlcmZhY2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01MCw3ICs1
MCw5IEBAIEpTQ3VzdG9tRWxlbWVudEludGVyZmFjZTo6SlNDdXN0b21FbGVtZW4KICAgICAsIG1f
bmFtZShuYW1lKQogICAgICwgbV9jb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvcikKICAgICAsIG1faXNv
bGF0ZWRXb3JsZChnbG9iYWxPYmplY3QtPndvcmxkKCkpCisgICAgLCBtX2FyZUludGVybmFsc0Rp
c2FibGVkKGZhbHNlKQogICAgICwgbV9pc1NoYWRvd0Rpc2FibGVkKGZhbHNlKQorICAgICwgbV9p
c0Zvcm1Bc3NvY2lhdGVkKGZhbHNlKQogewogfQogCkBAIC0xNzEsOCArMTczLDggQEAgdm9pZCBK
U0N1c3RvbUVsZW1lbnRJbnRlcmZhY2U6OnVwZ3JhZGVFbAogewogICAgIEFTU0VSVChlbGVtZW50
LnRhZ1FOYW1lKCkgPT0gbmFtZSgpKTsKIAotICAgIGlmIChlbGVtZW50LmlzRGVmaW5lZEN1c3Rv
bUVsZW1lbnQoKSB8fCBlbGVtZW50LmlzRmFpbGVkQ3VzdG9tRWxlbWVudCgpKQotICAgICAgICBy
ZXR1cm47IC8vIElmIGVsZW1lbnQncyBjdXN0b20gZWxlbWVudCBzdGF0ZSBpcyBub3QgInVuZGVm
aW5lZCIgb3IgInVuY3VzdG9taXplZCIsIHRoZW4gcmV0dXJuLgorICAgIGlmICghZWxlbWVudC5p
c1VuZGVmaW5lZE9yVW5jdXN0b21pemVkQ3VzdG9tRWxlbWVudCgpKQorICAgICAgICByZXR1cm47
CiAKICAgICBBU1NFUlQoZWxlbWVudC5pc0N1c3RvbUVsZW1lbnRVcGdyYWRlQ2FuZGlkYXRlKCkp
OwogICAgIGlmICghY2FuSW52b2tlQ2FsbGJhY2soKSkKQEAgLTIxNCw2ICsyMTYsOCBAQCB2b2lk
IEpTQ3VzdG9tRWxlbWVudEludGVyZmFjZTo6dXBncmFkZUVsCiAgICAgICAgIHJldHVybjsKICAg
ICB9CiAKKyAgICBlbGVtZW50LnNldElzUHJlY3VzdG9taXplZEN1c3RvbUVsZW1lbnQoKTsKKwog
ICAgIE1hcmtlZEFyZ3VtZW50QnVmZmVyIGFyZ3M7CiAgICAgQVNTRVJUKCFhcmdzLmhhc092ZXJm
bG93ZWQoKSk7CiAgICAgSlNFeGVjU3RhdGU6Omluc3RydW1lbnRGdW5jdGlvbihjb250ZXh0LCBj
b25zdHJ1Y3REYXRhKTsKQEAgLTMyNiw2ICszMzAsMjYgQEAgdm9pZCBKU0N1c3RvbUVsZW1lbnRJ
bnRlcmZhY2U6Omludm9rZUF0dAogICAgIH0pOwogfQogCit2b2lkIEpTQ3VzdG9tRWxlbWVudElu
dGVyZmFjZTo6c2V0Rm9ybUFzc29jaWF0ZWRDYWxsYmFjayhKU09iamVjdCogY2FsbGJhY2spCit7
CisgICAgbV9mb3JtQXNzb2NpYXRlZENhbGxiYWNrID0gY2FsbGJhY2s7Cit9CisKK3ZvaWQgSlND
dXN0b21FbGVtZW50SW50ZXJmYWNlOjpzZXRGb3JtUmVzZXRDYWxsYmFjayhKU09iamVjdCogY2Fs
bGJhY2spCit7CisgICAgbV9mb3JtUmVzZXRDYWxsYmFjayA9IGNhbGxiYWNrOworfQorCit2b2lk
IEpTQ3VzdG9tRWxlbWVudEludGVyZmFjZTo6c2V0Rm9ybURpc2FibGVkQ2FsbGJhY2soSlNPYmpl
Y3QqIGNhbGxiYWNrKQoreworICAgIG1fZm9ybURpc2FibGVkQ2FsbGJhY2sgPSBjYWxsYmFjazsK
K30KKwordm9pZCBKU0N1c3RvbUVsZW1lbnRJbnRlcmZhY2U6OnNldEZvcm1TdGF0ZVJlc3RvcmVD
YWxsYmFjayhKU09iamVjdCogY2FsbGJhY2spCit7CisgICAgbV9mb3JtU3RhdGVSZXN0b3JlQ2Fs
bGJhY2sgPSBjYWxsYmFjazsKK30KKwogdm9pZCBKU0N1c3RvbUVsZW1lbnRJbnRlcmZhY2U6OmRp
ZFVwZ3JhZGVMYXN0RWxlbWVudEluQ29uc3RydWN0aW9uU3RhY2soKQogewogICAgIG1fY29uc3Ry
dWN0aW9uU3RhY2subGFzdCgpID0gbnVsbHB0cjsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTQ3VzdG9tRWxlbWVudEludGVyZmFjZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ3VzdG9tRWxlbWVudEludGVyZmFjZS5oCShyZXZpc2lvbiAy
ODU5MzMpCisrKyBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbUVsZW1lbnRJbnRl
cmZhY2UuaAkod29ya2luZyBjb3B5KQpAQCAtNzgsOSArNzgsMTggQEAgcHVibGljOgogICAgIGJv
b2wgb2JzZXJ2ZXNBdHRyaWJ1dGUoY29uc3QgQXRvbVN0cmluZyYgbmFtZSkgY29uc3QgeyByZXR1
cm4gbV9vYnNlcnZlZEF0dHJpYnV0ZXMuY29udGFpbnMobmFtZSk7IH0KICAgICB2b2lkIGludm9r
ZUF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhFbGVtZW50JiwgY29uc3QgUXVhbGlmaWVkTmFtZSYs
IGNvbnN0IEF0b21TdHJpbmcmIG9sZFZhbHVlLCBjb25zdCBBdG9tU3RyaW5nJiBuZXdWYWx1ZSk7
CiAKKyAgICB2b2lkIGRpc2FibGVJbnRlcm5hbHMoKSB7IG1fYXJlSW50ZXJuYWxzRGlzYWJsZWQg
PSB0cnVlOyB9CisgICAgYm9vbCBhcmVJbnRlcm5hbHNEaXNhYmxlZCgpIGNvbnN0IHsgcmV0dXJu
IG1fYXJlSW50ZXJuYWxzRGlzYWJsZWQ7IH0KKwogICAgIHZvaWQgZGlzYWJsZVNoYWRvdygpIHsg
bV9pc1NoYWRvd0Rpc2FibGVkID0gdHJ1ZTsgfQogICAgIGJvb2wgaXNTaGFkb3dEaXNhYmxlZCgp
IGNvbnN0IHsgcmV0dXJuIG1faXNTaGFkb3dEaXNhYmxlZDsgfQogCisgICAgdm9pZCBzZXRJc0Zv
cm1Bc3NvY2lhdGVkKCkgeyBtX2lzRm9ybUFzc29jaWF0ZWQgPSB0cnVlOyB9CisgICAgdm9pZCBz
ZXRGb3JtQXNzb2NpYXRlZENhbGxiYWNrKEpTQzo6SlNPYmplY3QqKTsKKyAgICB2b2lkIHNldEZv
cm1SZXNldENhbGxiYWNrKEpTQzo6SlNPYmplY3QqKTsKKyAgICB2b2lkIHNldEZvcm1EaXNhYmxl
ZENhbGxiYWNrKEpTQzo6SlNPYmplY3QqKTsKKyAgICB2b2lkIHNldEZvcm1TdGF0ZVJlc3RvcmVD
YWxsYmFjayhKU0M6OkpTT2JqZWN0Kik7CisKICAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgeyByZXR1cm4gQ29udGV4dERlc3RydWN0aW9u
T2JzZXJ2ZXI6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQogICAgIEpTQzo6SlNPYmplY3Qq
IGNvbnN0cnVjdG9yKCkgeyByZXR1cm4gbV9jb25zdHJ1Y3Rvci5nZXQoKTsgfQogCkBAIC0xMDUs
MTAgKzExNCwxNiBAQCBwcml2YXRlOgogICAgIEpTQzo6V2VhazxKU0M6OkpTT2JqZWN0PiBtX2Rp
c2Nvbm5lY3RlZENhbGxiYWNrOwogICAgIEpTQzo6V2VhazxKU0M6OkpTT2JqZWN0PiBtX2Fkb3B0
ZWRDYWxsYmFjazsKICAgICBKU0M6OldlYWs8SlNDOjpKU09iamVjdD4gbV9hdHRyaWJ1dGVDaGFu
Z2VkQ2FsbGJhY2s7CisgICAgSlNDOjpXZWFrPEpTQzo6SlNPYmplY3Q+IG1fZm9ybUFzc29jaWF0
ZWRDYWxsYmFjazsKKyAgICBKU0M6OldlYWs8SlNDOjpKU09iamVjdD4gbV9mb3JtUmVzZXRDYWxs
YmFjazsKKyAgICBKU0M6OldlYWs8SlNDOjpKU09iamVjdD4gbV9mb3JtRGlzYWJsZWRDYWxsYmFj
azsKKyAgICBKU0M6OldlYWs8SlNDOjpKU09iamVjdD4gbV9mb3JtU3RhdGVSZXN0b3JlQ2FsbGJh
Y2s7CiAgICAgUmVmPERPTVdyYXBwZXJXb3JsZD4gbV9pc29sYXRlZFdvcmxkOwogICAgIFZlY3Rv
cjxSZWZQdHI8RWxlbWVudD4sIDE+IG1fY29uc3RydWN0aW9uU3RhY2s7CiAgICAgSGFzaFNldDxB
dG9tU3RyaW5nPiBtX29ic2VydmVkQXR0cmlidXRlczsKKyAgICBib29sIG1fYXJlSW50ZXJuYWxz
RGlzYWJsZWQgOiAxOwogICAgIGJvb2wgbV9pc1NoYWRvd0Rpc2FibGVkIDogMTsKKyAgICBib29s
IG1faXNGb3JtQXNzb2NpYXRlZCA6IDE7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbUVsZW1lbnRSZWdpc3RyeUN1
c3RvbS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDdXN0
b21FbGVtZW50UmVnaXN0cnlDdXN0b20uY3BwCShyZXZpc2lvbiAyODU5MzMpCisrKyBTb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0N1c3RvbUVsZW1lbnRSZWdpc3RyeUN1c3RvbS5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTE2MSw2ICsxNjEsOSBAQCBKU1ZhbHVlIEpTQ3VzdG9tRWxlbWVudFJl
Z2lzdHJ5OjpkZWZpbmUoCiAgICAgaWYgKCFkaXNhYmxlZEZlYXR1cmVzVmFsdWUuaXNVbmRlZmlu
ZWQoKSkgewogICAgICAgICBhdXRvIGRpc2FibGVkRmVhdHVyZXMgPSBjb252ZXJ0PElETFNlcXVl
bmNlPElETERPTVN0cmluZz4+KGxleGljYWxHbG9iYWxPYmplY3QsIGRpc2FibGVkRmVhdHVyZXNW
YWx1ZSk7CiAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHsgfSk7CisKKyAgICAg
ICAgaWYgKGRpc2FibGVkRmVhdHVyZXMuY29udGFpbnMoImludGVybmFscyJfcykpCisgICAgICAg
ICAgICBlbGVtZW50SW50ZXJmYWNlLT5kaXNhYmxlSW50ZXJuYWxzKCk7CiAgICAgICAgIGlmIChk
aXNhYmxlZEZlYXR1cmVzLmNvbnRhaW5zKCJzaGFkb3ciX3MpKQogICAgICAgICAgICAgZWxlbWVu
dEludGVyZmFjZS0+ZGlzYWJsZVNoYWRvdygpOwogICAgIH0KQEAgLTE3Miw2ICsxNzUsMzkgQEAg
SlNWYWx1ZSBKU0N1c3RvbUVsZW1lbnRSZWdpc3RyeTo6ZGVmaW5lKAogICAgICAgICB9CiAgICAg
fTsKIAorICAgIGlmIChkb3duY2FzdDxEb2N1bWVudD4oc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
KS0+c2V0dGluZ3MoKS5mb3JtQXNzb2NpYXRlZEN1c3RvbUVsZW1lbnRzRW5hYmxlZCgpKSB7Cisg
ICAgICAgIGF1dG8gZm9ybUFzc29jaWF0ZWRWYWx1ZSA9IGNvbnN0cnVjdG9yLT5nZXQoJmxleGlj
YWxHbG9iYWxPYmplY3QsIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sICJmb3JtQXNzb2NpYXRl
ZCIpKTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKKyAgICAgICAg
aWYgKGZvcm1Bc3NvY2lhdGVkVmFsdWUudG9Cb29sZWFuKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSkg
eworICAgICAgICAgICAgZWxlbWVudEludGVyZmFjZS0+c2V0SXNGb3JtQXNzb2NpYXRlZCgpOwor
CisgICAgICAgICAgICBhdXRvKiBmb3JtQXNzb2NpYXRlZENhbGxiYWNrID0gZ2V0Q3VzdG9tRWxl
bWVudENhbGxiYWNrKGxleGljYWxHbG9iYWxPYmplY3QsIHByb3RvdHlwZU9iamVjdCwgSWRlbnRp
Zmllcjo6ZnJvbVN0cmluZyh2bSwgImZvcm1Bc3NvY2lhdGVkQ2FsbGJhY2siKSk7CisgICAgICAg
ICAgICBpZiAoZm9ybUFzc29jaWF0ZWRDYWxsYmFjaykKKyAgICAgICAgICAgICAgICBlbGVtZW50
SW50ZXJmYWNlLT5zZXRGb3JtQXNzb2NpYXRlZENhbGxiYWNrKGZvcm1Bc3NvY2lhdGVkQ2FsbGJh
Y2spOworICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKKworICAg
ICAgICAgICAgYXV0byogZm9ybVJlc2V0Q2FsbGJhY2sgPSBnZXRDdXN0b21FbGVtZW50Q2FsbGJh
Y2sobGV4aWNhbEdsb2JhbE9iamVjdCwgcHJvdG90eXBlT2JqZWN0LCBJZGVudGlmaWVyOjpmcm9t
U3RyaW5nKHZtLCAiZm9ybVJlc2V0Q2FsbGJhY2siKSk7CisgICAgICAgICAgICBpZiAoZm9ybVJl
c2V0Q2FsbGJhY2spCisgICAgICAgICAgICAgICAgZWxlbWVudEludGVyZmFjZS0+c2V0Rm9ybVJl
c2V0Q2FsbGJhY2soZm9ybVJlc2V0Q2FsbGJhY2spOworICAgICAgICAgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTihzY29wZSwgeyB9KTsKKworICAgICAgICAgICAgYXV0byogZm9ybURpc2FibGVkQ2Fs
bGJhY2sgPSBnZXRDdXN0b21FbGVtZW50Q2FsbGJhY2sobGV4aWNhbEdsb2JhbE9iamVjdCwgcHJv
dG90eXBlT2JqZWN0LCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCAiZm9ybURpc2FibGVkQ2Fs
bGJhY2siKSk7CisgICAgICAgICAgICBpZiAoZm9ybURpc2FibGVkQ2FsbGJhY2spCisgICAgICAg
ICAgICAgICAgZWxlbWVudEludGVyZmFjZS0+c2V0Rm9ybURpc2FibGVkQ2FsbGJhY2soZm9ybURp
c2FibGVkQ2FsbGJhY2spOworICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
eyB9KTsKKworICAgICAgICAgICAgYXV0byogZm9ybVN0YXRlUmVzdG9yZUNhbGxiYWNrID0gZ2V0
Q3VzdG9tRWxlbWVudENhbGxiYWNrKGxleGljYWxHbG9iYWxPYmplY3QsIHByb3RvdHlwZU9iamVj
dCwgSWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgImZvcm1TdGF0ZVJlc3RvcmVDYWxsYmFjayIp
KTsKKyAgICAgICAgICAgIGlmIChmb3JtU3RhdGVSZXN0b3JlQ2FsbGJhY2spCisgICAgICAgICAg
ICAgICAgZWxlbWVudEludGVyZmFjZS0+c2V0Rm9ybVN0YXRlUmVzdG9yZUNhbGxiYWNrKGZvcm1T
dGF0ZVJlc3RvcmVDYWxsYmFjayk7CisgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCB7IH0pOworCisgICAgICAgICAgICBhZGRUb0dsb2JhbE9iamVjdFdpdGhQcml2YXRlTmFt
ZShmb3JtQXNzb2NpYXRlZENhbGxiYWNrKTsKKyAgICAgICAgICAgIGFkZFRvR2xvYmFsT2JqZWN0
V2l0aFByaXZhdGVOYW1lKGZvcm1SZXNldENhbGxiYWNrKTsKKyAgICAgICAgICAgIGFkZFRvR2xv
YmFsT2JqZWN0V2l0aFByaXZhdGVOYW1lKGZvcm1EaXNhYmxlZENhbGxiYWNrKTsKKyAgICAgICAg
ICAgIGFkZFRvR2xvYmFsT2JqZWN0V2l0aFByaXZhdGVOYW1lKGZvcm1TdGF0ZVJlc3RvcmVDYWxs
YmFjayk7CisgICAgICAgIH0KKyAgICB9CisKICAgICBhZGRUb0dsb2JhbE9iamVjdFdpdGhQcml2
YXRlTmFtZShjb25zdHJ1Y3Rvcik7CiAgICAgYWRkVG9HbG9iYWxPYmplY3RXaXRoUHJpdmF0ZU5h
bWUoY29ubmVjdGVkQ2FsbGJhY2spOwogICAgIGFkZFRvR2xvYmFsT2JqZWN0V2l0aFByaXZhdGVO
YW1lKGRpc2Nvbm5lY3RlZENhbGxiYWNrKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9TZWxl
Y3RvckNoZWNrZXJUZXN0RnVuY3Rpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
Y3NzL1NlbGVjdG9yQ2hlY2tlclRlc3RGdW5jdGlvbnMuaAkocmV2aXNpb24gMjg1OTMzKQorKysg
U291cmNlL1dlYkNvcmUvY3NzL1NlbGVjdG9yQ2hlY2tlclRlc3RGdW5jdGlvbnMuaAkod29ya2lu
ZyBjb3B5KQpAQCAtOTQsOSArOTQsMTAgQEAgQUxXQVlTX0lOTElORSBib29sIG1hdGNoZXNFbmFi
bGVkUHNldWRvQwogICAgIHJldHVybiBpczxIVE1MRWxlbWVudD4oZWxlbWVudCkgJiYgZG93bmNh
c3Q8SFRNTEVsZW1lbnQ+KGVsZW1lbnQpLmNhbkJlQWN0dWFsbHlEaXNhYmxlZCgpICYmICFlbGVt
ZW50LmlzRGlzYWJsZWRGb3JtQ29udHJvbCgpOwogfQogCisvLyBodHRwczovL2RvbS5zcGVjLndo
YXR3Zy5vcmcvI2NvbmNlcHQtZWxlbWVudC1kZWZpbmVkCiBBTFdBWVNfSU5MSU5FIGJvb2wgaXNE
ZWZpbmVkRWxlbWVudChjb25zdCBFbGVtZW50JiBlbGVtZW50KQogewotICAgIHJldHVybiAhZWxl
bWVudC5pc1VuZGVmaW5lZEN1c3RvbUVsZW1lbnQoKTsKKyAgICByZXR1cm4gZWxlbWVudC5pc0N1
c3RvbU9yVW5jdXN0b21pemVkQ3VzdG9tRWxlbWVudCgpOwogfQogCiBBTFdBWVNfSU5MSU5FIGJv
b2wgaXNNZWRpYURvY3VtZW50KGNvbnN0IEVsZW1lbnQmIGVsZW1lbnQpCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuY3BwCShyZXZpc2lvbiAyODU5MzMpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1MDksNyArMjUwOSw5IEBAIEV4Y2VwdGlvbk9y
PFNoYWRvd1Jvb3QmPiBFbGVtZW50OjphdHRhY2gKICAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7
IE5vdFN1cHBvcnRlZEVycm9yIH07CiAgICAgaWYgKGluaXQubW9kZSA9PSBTaGFkb3dSb290TW9k
ZTo6VXNlckFnZW50KQogICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgVHlwZUVycm9yIH07Ci0g
ICAgYXV0byBzaGFkb3cgPSBTaGFkb3dSb290OjpjcmVhdGUoZG9jdW1lbnQoKSwgaW5pdC5tb2Rl
LCBpbml0LmRlbGVnYXRlc0ZvY3VzID8gU2hhZG93Um9vdDo6RGVsZWdhdGVzRm9jdXM6OlllcyA6
IFNoYWRvd1Jvb3Q6OkRlbGVnYXRlc0ZvY3VzOjpObyk7CisgICAgYXV0byBzaGFkb3cgPSBTaGFk
b3dSb290OjpjcmVhdGUoZG9jdW1lbnQoKSwgaW5pdC5tb2RlLAorICAgICAgICBpbml0LmRlbGVn
YXRlc0ZvY3VzID8gU2hhZG93Um9vdDo6RGVsZWdhdGVzRm9jdXM6OlllcyA6IFNoYWRvd1Jvb3Q6
OkRlbGVnYXRlc0ZvY3VzOjpObywKKyAgICAgICAgaXNDdXN0b21PclByZWN1c3RvbWl6ZWRDdXN0
b21FbGVtZW50KCkgPyBTaGFkb3dSb290OjpBdmFpbGFibGVUb0VsZW1lbnRJbnRlcm5hbHM6Olll
cyA6IFNoYWRvd1Jvb3Q6OkF2YWlsYWJsZVRvRWxlbWVudEludGVybmFsczo6Tm8pOwogICAgIGF1
dG8mIHJlc3VsdCA9IHNoYWRvdy5nZXQoKTsKICAgICBhZGRTaGFkb3dSb290KFdURk1vdmUoc2hh
ZG93KSk7CiAgICAgcmV0dXJuIHJlc3VsdDsKQEAgLTI1ODAsOSArMjU4MiwxNSBAQCB2b2lkIEVs
ZW1lbnQ6OnNldElzRmFpbGVkQ3VzdG9tRWxlbWVudFdpCiAgICAgSW5zcGVjdG9ySW5zdHJ1bWVu
dGF0aW9uOjpkaWRDaGFuZ2VDdXN0b21FbGVtZW50U3RhdGUoKnRoaXMpOwogfQogCit2b2lkIEVs
ZW1lbnQ6OnNldElzUHJlY3VzdG9taXplZEN1c3RvbUVsZW1lbnQoKQoreworICAgIHNldEN1c3Rv
bUVsZW1lbnRTdGF0ZShDdXN0b21FbGVtZW50U3RhdGU6OlByZWN1c3RvbWl6ZWQpOworICAgIElu
c3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ2hhbmdlQ3VzdG9tRWxlbWVudFN0YXRlKCp0aGlz
KTsKK30KKwogdm9pZCBFbGVtZW50OjpjbGVhclJlYWN0aW9uUXVldWVGcm9tRmFpbGVkQ3VzdG9t
RWxlbWVudCgpCiB7Ci0gICAgQVNTRVJUKGlzRmFpbGVkQ3VzdG9tRWxlbWVudCgpKTsKKyAgICBB
U1NFUlQoaXNGYWlsZWRPclByZWN1c3RvbWl6ZWRDdXN0b21FbGVtZW50KCkpOwogICAgIGlmICho
YXNSYXJlRGF0YSgpKSB7CiAgICAgICAgIC8vIENsZWFyIHRoZSBxdWV1ZSBpbnN0ZWFkIG9mIGRl
bGV0aW5nIGl0IHNpbmNlIHRoaXMgZnVuY3Rpb24gY2FuIGJlIGNhbGxlZCBpbnNpZGUgQ3VzdG9t
RWxlbWVudFJlYWN0aW9uUXVldWU6Omludm9rZUFsbCBkdXJpbmcgdXBncmFkZXMuCiAgICAgICAg
IGlmIChhdXRvKiBxdWV1ZSA9IGVsZW1lbnRSYXJlRGF0YSgpLT5jdXN0b21FbGVtZW50UmVhY3Rp
b25RdWV1ZSgpKQpAQCAtMjYwMCw3ICsyNjA4LDYgQEAgdm9pZCBFbGVtZW50OjpzZXRJc0N1c3Rv
bUVsZW1lbnRVcGdyYWRlQwogdm9pZCBFbGVtZW50OjplbnF1ZXVlVG9VcGdyYWRlKEpTQ3VzdG9t
RWxlbWVudEludGVyZmFjZSYgZWxlbWVudEludGVyZmFjZSkKIHsKICAgICBBU1NFUlQoaXNDdXN0
b21FbGVtZW50VXBncmFkZUNhbmRpZGF0ZSgpKTsKLSAgICBBU1NFUlQoIWlzRGVmaW5lZEN1c3Rv
bUVsZW1lbnQoKSAmJiAhaXNGYWlsZWRDdXN0b21FbGVtZW50KCkpOwogICAgIGF1dG8mIGRhdGEg
PSBlbnN1cmVFbGVtZW50UmFyZURhdGEoKTsKICAgICBib29sIGFscmVhZHlTY2hlZHVsZWRUb1Vw
Z3JhZGUgPSBkYXRhLmN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlKCk7CiAgICAgaWYgKCFhbHJl
YWR5U2NoZWR1bGVkVG9VcGdyYWRlKQpAQCAtMjYxMSw3ICsyNjE4LDcgQEAgdm9pZCBFbGVtZW50
OjplbnF1ZXVlVG9VcGdyYWRlKEpTQ3VzdG9tRQogQ3VzdG9tRWxlbWVudFJlYWN0aW9uUXVldWUq
IEVsZW1lbnQ6OnJlYWN0aW9uUXVldWUoKSBjb25zdAogewogI2lmIEFTU0VSVF9FTkFCTEVECi0g
ICAgaWYgKGlzRmFpbGVkQ3VzdG9tRWxlbWVudCgpKSB7CisgICAgaWYgKGlzRmFpbGVkT3JQcmVj
dXN0b21pemVkQ3VzdG9tRWxlbWVudCgpKSB7CiAgICAgICAgIGF1dG8qIHF1ZXVlID0gZWxlbWVu
dFJhcmVEYXRhKCktPmN1c3RvbUVsZW1lbnRSZWFjdGlvblF1ZXVlKCk7CiAgICAgICAgIEFTU0VS
VChxdWV1ZSk7CiAgICAgICAgIEFTU0VSVChxdWV1ZS0+aXNFbXB0eSgpIHx8IHF1ZXVlLT5oYXNK
dXN0VXBncmFkZVJlYWN0aW9uKCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCShyZXZpc2lvbiAy
ODU5MzMpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zMjMsNiArMzIzLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2V0SXNEZWZpbmVkQ3VzdG9tRWxl
bWVudChKU0N1c3RvbUVsZW1lbnRJbnRlcmZhY2UmKTsKICAgICB2b2lkIHNldElzRmFpbGVkQ3Vz
dG9tRWxlbWVudCgpOwogICAgIHZvaWQgc2V0SXNGYWlsZWRDdXN0b21FbGVtZW50V2l0aG91dENs
ZWFyaW5nUmVhY3Rpb25RdWV1ZSgpOworICAgIHZvaWQgc2V0SXNQcmVjdXN0b21pemVkQ3VzdG9t
RWxlbWVudCgpOwogICAgIHZvaWQgY2xlYXJSZWFjdGlvblF1ZXVlRnJvbUZhaWxlZEN1c3RvbUVs
ZW1lbnQoKTsKICAgICB2b2lkIHNldElzQ3VzdG9tRWxlbWVudFVwZ3JhZGVDYW5kaWRhdGUoKTsK
ICAgICB2b2lkIGVucXVldWVUb1VwZ3JhZGUoSlNDdXN0b21FbGVtZW50SW50ZXJmYWNlJik7Cklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudEludGVybmFscy5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRJbnRlcm5hbHMuY3BwCShub25leGlzdGVudCkK
KysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50SW50ZXJuYWxzLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkVsZW1lbnRJbnRlcm5hbHMuaCIKKworI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxp
bmVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9J
TVBMKEVsZW1lbnRJbnRlcm5hbHMpOworCitTaGFkb3dSb290KiBFbGVtZW50SW50ZXJuYWxzOjpz
aGFkb3dSb290KCkgY29uc3QKK3sKKyAgICBhdXRvKiBzaGFkb3dSb290ID0gbV9lbGVtZW50LnNo
YWRvd1Jvb3QoKTsKKyAgICBpZiAoIXNoYWRvd1Jvb3QpCisgICAgICAgIHJldHVybiBudWxscHRy
OworICAgIGlmICghc2hhZG93Um9vdC0+YXZhaWxhYmxlVG9FbGVtZW50SW50ZXJuYWxzKCkpCisg
ICAgICAgIHJldHVybiBudWxscHRyOworICAgIHJldHVybiBzaGFkb3dSb290OworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudEludGVy
bmFscy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50SW50ZXJuYWxz
LmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRJbnRlcm5hbHMu
aAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgorI2luY2x1ZGUgIlNjcmlwdFdyYXBwYWJs
ZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEVsZW1lbnRJbnRlcm5hbHMgZmluYWwgOiBw
dWJsaWMgU2NyaXB0V3JhcHBhYmxlLCBwdWJsaWMgUmVmQ291bnRlZDxFbGVtZW50SW50ZXJuYWxz
PiB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChFbGVtZW50SW50ZXJuYWxzKTsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUmVmPEVsZW1lbnRJbnRlcm5hbHM+IGNyZWF0ZShIVE1MRWxlbWVudCYg
ZWxlbWVudCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEVsZW1lbnRJbnRl
cm5hbHMoZWxlbWVudCkpOworICAgIH0KKworICAgIEhUTUxFbGVtZW50JiBlbGVtZW50KCkgY29u
c3QgeyByZXR1cm4gbV9lbGVtZW50OyB9CisgICAgU2hhZG93Um9vdCogc2hhZG93Um9vdCgpIGNv
bnN0OworCitwcml2YXRlOgorICAgIEVsZW1lbnRJbnRlcm5hbHMoSFRNTEVsZW1lbnQmIGVsZW1l
bnQpCisgICAgICAgIDogbV9lbGVtZW50KGVsZW1lbnQpCisgICAgeworICAgIH0KKworICAgIEhU
TUxFbGVtZW50JiBtX2VsZW1lbnQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudEludGVybmFscy5pZGwKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnRJbnRlcm5hbHMuaWRsCShub25leGlzdGVudCkKKysr
IFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50SW50ZXJuYWxzLmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9
SW1wbEVsZW1lbnRSb290LAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCisgICAgRXhw
b3NlZD1XaW5kb3csCitdIGludGVyZmFjZSBFbGVtZW50SW50ZXJuYWxzIHsKKyAgICAvLyBTaGFk
b3cgcm9vdCBhY2Nlc3MKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgU2hhZG93Um9vdD8gc2hhZG93
Um9vdDsKK307CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvZG9tL05vZGUuY3BwCShyZXZpc2lvbiAyODU5MzMpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9kb20vTm9kZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI1NjUsNyArMjU2NSw3
IEBAIHZvaWQgTm9kZTo6cmVtb3ZlZExhc3RSZWYoKQogCiB2b2lkIE5vZGU6OmluY3JlbWVudENv
bm5lY3RlZFN1YmZyYW1lQ291bnQodW5zaWduZWQgYW1vdW50KQogewotICAgIHN0YXRpY19hc3Nl
cnQoUmFyZURhdGFCaXRGaWVsZHMgeyBQYWdlOjptYXhOdW1iZXJPZkZyYW1lcywgMCwgMCB9LmNv
bm5lY3RlZFN1YmZyYW1lQ291bnQgPT0gUGFnZTo6bWF4TnVtYmVyT2ZGcmFtZXMsICJjb25uZWN0
ZWRTdWJmcmFtZUNvdW50IG11c3QgZml0IFBhZ2U6Om1heE51bWJlck9mRnJhbWVzIik7CisgICAg
c3RhdGljX2Fzc2VydChSYXJlRGF0YUJpdEZpZWxkcyB7IFBhZ2U6Om1heE51bWJlck9mRnJhbWVz
LCAwLCAwLCAwIH0uY29ubmVjdGVkU3ViZnJhbWVDb3VudCA9PSBQYWdlOjptYXhOdW1iZXJPZkZy
YW1lcywgImNvbm5lY3RlZFN1YmZyYW1lQ291bnQgbXVzdCBmaXQgUGFnZTo6bWF4TnVtYmVyT2ZG
cmFtZXMiKTsKIAogICAgIEFTU0VSVChpc0NvbnRhaW5lck5vZGUoKSk7CiAgICAgYXV0byBiaXRm
aWVsZHMgPSByYXJlRGF0YUJpdGZpZWxkcygpOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL05v
ZGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCShyZXZpc2lvbiAy
ODU5MzMpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vTm9kZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0y
NDMsNyArMjQzLDEwIEBAIHB1YmxpYzoKICAgICBib29sIGlzVW5kZWZpbmVkQ3VzdG9tRWxlbWVu
dCgpIGNvbnN0IHsgcmV0dXJuIGN1c3RvbUVsZW1lbnRTdGF0ZSgpID09IEN1c3RvbUVsZW1lbnRT
dGF0ZTo6VW5kZWZpbmVkIHx8IGN1c3RvbUVsZW1lbnRTdGF0ZSgpID09IEN1c3RvbUVsZW1lbnRT
dGF0ZTo6RmFpbGVkOyB9CiAgICAgYm9vbCBpc0N1c3RvbUVsZW1lbnRVcGdyYWRlQ2FuZGlkYXRl
KCkgY29uc3QgeyByZXR1cm4gY3VzdG9tRWxlbWVudFN0YXRlKCkgPT0gQ3VzdG9tRWxlbWVudFN0
YXRlOjpVbmRlZmluZWQ7IH0KICAgICBib29sIGlzRGVmaW5lZEN1c3RvbUVsZW1lbnQoKSBjb25z
dCB7IHJldHVybiBjdXN0b21FbGVtZW50U3RhdGUoKSA9PSBDdXN0b21FbGVtZW50U3RhdGU6OkN1
c3RvbTsgfQotICAgIGJvb2wgaXNGYWlsZWRDdXN0b21FbGVtZW50KCkgY29uc3QgeyByZXR1cm4g
Y3VzdG9tRWxlbWVudFN0YXRlKCkgPT0gQ3VzdG9tRWxlbWVudFN0YXRlOjpGYWlsZWQ7IH0KKyAg
ICBib29sIGlzRmFpbGVkT3JQcmVjdXN0b21pemVkQ3VzdG9tRWxlbWVudCgpIGNvbnN0IHsgcmV0
dXJuIGN1c3RvbUVsZW1lbnRTdGF0ZSgpID09IEN1c3RvbUVsZW1lbnRTdGF0ZTo6RmFpbGVkIHx8
IGN1c3RvbUVsZW1lbnRTdGF0ZSgpID09IEN1c3RvbUVsZW1lbnRTdGF0ZTo6UHJlY3VzdG9taXpl
ZDsgfQorICAgIGJvb2wgaXNDdXN0b21PclByZWN1c3RvbWl6ZWRDdXN0b21FbGVtZW50KCkgY29u
c3QgeyByZXR1cm4gY3VzdG9tRWxlbWVudFN0YXRlKCkgPT0gQ3VzdG9tRWxlbWVudFN0YXRlOjpD
dXN0b20gfHwgY3VzdG9tRWxlbWVudFN0YXRlKCkgPT0gQ3VzdG9tRWxlbWVudFN0YXRlOjpQcmVj
dXN0b21pemVkOyB9CisgICAgYm9vbCBpc0N1c3RvbU9yVW5jdXN0b21pemVkQ3VzdG9tRWxlbWVu
dCgpIGNvbnN0IHsgcmV0dXJuIGN1c3RvbUVsZW1lbnRTdGF0ZSgpID09IEN1c3RvbUVsZW1lbnRT
dGF0ZTo6Q3VzdG9tIHx8IGN1c3RvbUVsZW1lbnRTdGF0ZSgpID09IEN1c3RvbUVsZW1lbnRTdGF0
ZTo6VW5jdXN0b21pemVkOyB9CisgICAgYm9vbCBpc1VuZGVmaW5lZE9yVW5jdXN0b21pemVkQ3Vz
dG9tRWxlbWVudCgpIGNvbnN0IHsgcmV0dXJuIGN1c3RvbUVsZW1lbnRTdGF0ZSgpID09IEN1c3Rv
bUVsZW1lbnRTdGF0ZTo6VW5kZWZpbmVkIHx8IGN1c3RvbUVsZW1lbnRTdGF0ZSgpID09IEN1c3Rv
bUVsZW1lbnRTdGF0ZTo6VW5jdXN0b21pemVkOyB9CiAKICAgICAvLyBSZXR1cm5zIG51bGwsIGEg
Y2hpbGQgb2YgU2hhZG93Um9vdCwgb3IgYSBsZWdhY3kgc2hhZG93IHJvb3QuCiAgICAgTm9kZSog
bm9uQm91bmRhcnlTaGFkb3dUcmVlUm9vdE5vZGUoKTsKQEAgLTU4NSwxMiArNTg4LDE0IEBAIHBy
b3RlY3RlZDoKICAgICAgICAgVW5kZWZpbmVkID0gMSwKICAgICAgICAgQ3VzdG9tID0gMiwKICAg
ICAgICAgRmFpbGVkID0gMywKKyAgICAgICAgUHJlY3VzdG9taXplZCA9IDQsCiAgICAgfTsKIAog
ICAgIHN0cnVjdCBSYXJlRGF0YUJpdEZpZWxkcyB7CiAgICAgICAgIHVpbnQxNl90IGNvbm5lY3Rl
ZFN1YmZyYW1lQ291bnQgOiAxMDsKICAgICAgICAgdWludDE2X3QgdGFiSW5kZXhTdGF0ZSA6IDI7
Ci0gICAgICAgIHVpbnQxNl90IGN1c3RvbUVsZW1lbnRTdGF0ZSA6IDI7CisgICAgICAgIHVpbnQx
Nl90IGN1c3RvbUVsZW1lbnRTdGF0ZSA6IDM7CisgICAgICAgIHVpbnQxNl90IGFyZUludGVybmFs
c0F0dGFjaGVkIDogMTsKICAgICB9OwogCiAgICAgYm9vbCBoYXNOb2RlRmxhZyhOb2RlRmxhZyBm
bGFnKSBjb25zdCB7IHJldHVybiBtX25vZGVGbGFncy5jb250YWlucyhmbGFnKTsgfQpAQCAtNjA2
LDYgKzYxMSw5IEBAIHByb3RlY3RlZDoKICAgICBDdXN0b21FbGVtZW50U3RhdGUgY3VzdG9tRWxl
bWVudFN0YXRlKCkgY29uc3QgeyByZXR1cm4gc3RhdGljX2Nhc3Q8Q3VzdG9tRWxlbWVudFN0YXRl
PihyYXJlRGF0YUJpdGZpZWxkcygpLmN1c3RvbUVsZW1lbnRTdGF0ZSk7IH0KICAgICB2b2lkIHNl
dEN1c3RvbUVsZW1lbnRTdGF0ZShDdXN0b21FbGVtZW50U3RhdGUpOwogCisgICAgYm9vbCBhcmVJ
bnRlcm5hbHNBdHRhY2hlZCgpIGNvbnN0IHsgcmV0dXJuIHJhcmVEYXRhQml0ZmllbGRzKCkuYXJl
SW50ZXJuYWxzQXR0YWNoZWQ7IH0KKyAgICB2b2lkIHNldEludGVybmFsc0F0dGFjaGVkKCk7CisK
ICAgICBib29sIGlzUGFyc2luZ0NoaWxkcmVuRmluaXNoZWQoKSBjb25zdCB7IHJldHVybiBoYXNO
b2RlRmxhZyhOb2RlRmxhZzo6SXNQYXJzaW5nQ2hpbGRyZW5GaW5pc2hlZCk7IH0KICAgICB2b2lk
IHNldElzUGFyc2luZ0NoaWxkcmVuRmluaXNoZWQoKSB7IHNldE5vZGVGbGFnKE5vZGVGbGFnOjpJ
c1BhcnNpbmdDaGlsZHJlbkZpbmlzaGVkKTsgfQogICAgIHZvaWQgY2xlYXJJc1BhcnNpbmdDaGls
ZHJlbkZpbmlzaGVkKCkgeyBjbGVhck5vZGVGbGFnKE5vZGVGbGFnOjpJc1BhcnNpbmdDaGlsZHJl
bkZpbmlzaGVkKTsgfQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcAkocmV2aXNpb24g
Mjg1OTMzKQorKysgU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC02NSwxMCArNjUsMTEgQEAgQ09NUElMRV9BU1NFUlQoc2l6ZW9mKFNoYWRvd1Jvb3Qp
ID09IHNpegogQ09NUElMRV9BU1NFUlQoc2l6ZW9mKFdlYWtQdHI8RWxlbWVudD4pID09IHNpemVv
Zih2b2lkKiksIFdlYWtQdHJfc2hvdWxkX2JlX3NhbWVfc2l6ZV9hc19yYXdfcG9pbnRlcik7CiAj
ZW5kaWYKIAotU2hhZG93Um9vdDo6U2hhZG93Um9vdChEb2N1bWVudCYgZG9jdW1lbnQsIFNoYWRv
d1Jvb3RNb2RlIHR5cGUsIERlbGVnYXRlc0ZvY3VzIGRlbGVnYXRlc0ZvY3VzKQorU2hhZG93Um9v
dDo6U2hhZG93Um9vdChEb2N1bWVudCYgZG9jdW1lbnQsIFNoYWRvd1Jvb3RNb2RlIHR5cGUsIERl
bGVnYXRlc0ZvY3VzIGRlbGVnYXRlc0ZvY3VzLCBBdmFpbGFibGVUb0VsZW1lbnRJbnRlcm5hbHMg
YXZhaWxhYmxlVG9FbGVtZW50SW50ZXJuYWxzKQogICAgIDogRG9jdW1lbnRGcmFnbWVudChkb2N1
bWVudCwgQ3JlYXRlU2hhZG93Um9vdCkKICAgICAsIFRyZWVTY29wZSgqdGhpcywgZG9jdW1lbnQp
CiAgICAgLCBtX2RlbGVnYXRlc0ZvY3VzKGRlbGVnYXRlc0ZvY3VzID09IERlbGVnYXRlc0ZvY3Vz
OjpZZXMpCisgICAgLCBtX2F2YWlsYWJsZVRvRWxlbWVudEludGVybmFscyhhdmFpbGFibGVUb0Vs
ZW1lbnRJbnRlcm5hbHMgPT0gQXZhaWxhYmxlVG9FbGVtZW50SW50ZXJuYWxzOjpZZXMpCiAgICAg
LCBtX3R5cGUodHlwZSkKICAgICAsIG1fc3R5bGVTY29wZShtYWtlVW5pcXVlPFN0eWxlOjpTY29w
ZT4oKnRoaXMpKQogewpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oCShyZXZpc2lvbiAyODU5
MzMpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oCSh3b3JraW5nIGNvcHkpCkBA
IC00OCwxMCArNDgsMTEgQEAgY2xhc3MgU2hhZG93Um9vdCBmaW5hbCA6IHB1YmxpYyBEb2N1bWVu
dAogcHVibGljOgogCiAgICAgZW51bSBjbGFzcyBEZWxlZ2F0ZXNGb2N1cyA6IHVpbnQ4X3QgeyBZ
ZXMsIE5vIH07CisgICAgZW51bSBjbGFzcyBBdmFpbGFibGVUb0VsZW1lbnRJbnRlcm5hbHMgOiB1
aW50OF90IHsgWWVzLCBObyB9OwogCi0gICAgc3RhdGljIFJlZjxTaGFkb3dSb290PiBjcmVhdGUo
RG9jdW1lbnQmIGRvY3VtZW50LCBTaGFkb3dSb290TW9kZSB0eXBlLCBEZWxlZ2F0ZXNGb2N1cyBk
ZWxlZ2F0ZXNGb2N1cyA9IERlbGVnYXRlc0ZvY3VzOjpObykKKyAgICBzdGF0aWMgUmVmPFNoYWRv
d1Jvb3Q+IGNyZWF0ZShEb2N1bWVudCYgZG9jdW1lbnQsIFNoYWRvd1Jvb3RNb2RlIHR5cGUsIERl
bGVnYXRlc0ZvY3VzIGRlbGVnYXRlc0ZvY3VzID0gRGVsZWdhdGVzRm9jdXM6Ok5vLCBBdmFpbGFi
bGVUb0VsZW1lbnRJbnRlcm5hbHMgYXZhaWxhYmxlVG9FbGVtZW50SW50ZXJuYWxzID0gQXZhaWxh
YmxlVG9FbGVtZW50SW50ZXJuYWxzOjpObykKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9wdFJl
ZigqbmV3IFNoYWRvd1Jvb3QoZG9jdW1lbnQsIHR5cGUsIGRlbGVnYXRlc0ZvY3VzKSk7CisgICAg
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFNoYWRvd1Jvb3QoZG9jdW1lbnQsIHR5cGUsIGRlbGVn
YXRlc0ZvY3VzLCBhdmFpbGFibGVUb0VsZW1lbnRJbnRlcm5hbHMpKTsKICAgICB9CiAKICAgICBz
dGF0aWMgUmVmPFNoYWRvd1Jvb3Q+IGNyZWF0ZShEb2N1bWVudCYgZG9jdW1lbnQsIHN0ZDo6dW5p
cXVlX3B0cjxTbG90QXNzaWdubWVudD4mJiBhc3NpZ25tZW50KQpAQCAtNzMsNiArNzQsOCBAQCBw
dWJsaWM6CiAgICAgYm9vbCBjb250YWluc0ZvY3VzZWRFbGVtZW50KCkgY29uc3QgeyByZXR1cm4g
bV9jb250YWluc0ZvY3VzZWRFbGVtZW50OyB9CiAgICAgdm9pZCBzZXRDb250YWluc0ZvY3VzZWRF
bGVtZW50KGJvb2wgZmxhZykgeyBtX2NvbnRhaW5zRm9jdXNlZEVsZW1lbnQgPSBmbGFnOyB9CiAK
KyAgICBib29sIGF2YWlsYWJsZVRvRWxlbWVudEludGVybmFscygpIGNvbnN0IHsgcmV0dXJuIG1f
YXZhaWxhYmxlVG9FbGVtZW50SW50ZXJuYWxzOyB9CisKICAgICBFbGVtZW50KiBob3N0KCkgY29u
c3QgeyByZXR1cm4gbV9ob3N0LmdldCgpOyB9CiAgICAgdm9pZCBzZXRIb3N0KFdlYWtQdHI8RWxl
bWVudD4mJiBob3N0KSB7IG1faG9zdCA9IFdURk1vdmUoaG9zdCk7IH0KIApAQCAtMTE3LDcgKzEy
MCw3IEBAIHB1YmxpYzoKICAgICBWZWN0b3I8UmVmUHRyPFdlYkFuaW1hdGlvbj4+IGdldEFuaW1h
dGlvbnMoKTsKIAogcHJpdmF0ZToKLSAgICBTaGFkb3dSb290KERvY3VtZW50JiwgU2hhZG93Um9v
dE1vZGUsIERlbGVnYXRlc0ZvY3VzKTsKKyAgICBTaGFkb3dSb290KERvY3VtZW50JiwgU2hhZG93
Um9vdE1vZGUsIERlbGVnYXRlc0ZvY3VzLCBBdmFpbGFibGVUb0VsZW1lbnRJbnRlcm5hbHMpOwog
ICAgIFNoYWRvd1Jvb3QoRG9jdW1lbnQmLCBzdGQ6OnVuaXF1ZV9wdHI8U2xvdEFzc2lnbm1lbnQ+
JiYpOwogCiAgICAgYm9vbCBjaGlsZFR5cGVBbGxvd2VkKE5vZGVUeXBlKSBjb25zdCBvdmVycmlk
ZTsKQEAgLTEzMyw2ICsxMzYsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9oYXNCZWd1bkRlbGV0
aW5nRGV0YWNoZWRDaGlsZHJlbiB7IGZhbHNlIH07CiAgICAgYm9vbCBtX2RlbGVnYXRlc0ZvY3Vz
IHsgZmFsc2UgfTsKICAgICBib29sIG1fY29udGFpbnNGb2N1c2VkRWxlbWVudCB7IGZhbHNlIH07
CisgICAgYm9vbCBtX2F2YWlsYWJsZVRvRWxlbWVudEludGVybmFscyB7IGZhbHNlIH07CiAgICAg
U2hhZG93Um9vdE1vZGUgbV90eXBlIHsgU2hhZG93Um9vdE1vZGU6OlVzZXJBZ2VudCB9OwogCiAg
ICAgV2Vha1B0cjxFbGVtZW50PiBtX2hvc3Q7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVt
ZW50LmNwcAkocmV2aXNpb24gMjg1OTMzKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMyLDkgKzMyLDExIEBACiAjaW5jbHVkZSAiQ1NT
VmFsdWVQb29sLmgiCiAjaW5jbHVkZSAiQ2hyb21lLmgiCiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50
LmgiCisjaW5jbHVkZSAiQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiRE9NVG9r
ZW5MaXN0LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnRGcmFnbWVudC5oIgogI2luY2x1ZGUgIkVsZW1l
bnRBbmNlc3Rvckl0ZXJhdG9yLmgiCisjaW5jbHVkZSAiRWxlbWVudEludGVybmFscy5oIgogI2lu
Y2x1ZGUgIkVudGVyS2V5SGludC5oIgogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiRXZl
bnRIYW5kbGVyLmgiCkBAIC02MSw2ICs2Myw3IEBACiAjaW5jbHVkZSAiSFRNTFRleHRBcmVhRWxl
bWVudC5oIgogI2luY2x1ZGUgIkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiSW1hZ2VPdmVybGF5LmgiCisjaW5jbHVkZSAiSlNDdXN0b21FbGVtZW50SW50ZXJmYWNlLmgi
CiAjaW5jbHVkZSAiTWVkaWFDb250cm9sc0hvc3QuaCIKICNpbmNsdWRlICJOb2RlVHJhdmVyc2Fs
LmgiCiAjaW5jbHVkZSAiUmVuZGVyRWxlbWVudC5oIgpAQCAtMTI1MCw2ICsxMjUzLDQwIEBAIGJv
b2wgSFRNTEVsZW1lbnQ6OnNob3VsZEV4dGVuZFNlbGVjdGlvblQKICAgICByZXR1cm4gdHJ1ZTsK
IH0KIAoraW5saW5lIHZvaWQgTm9kZTo6c2V0SW50ZXJuYWxzQXR0YWNoZWQoKQoreworICAgIGF1
dG8gYml0ZmllbGRzID0gcmFyZURhdGFCaXRmaWVsZHMoKTsKKyAgICBiaXRmaWVsZHMuYXJlSW50
ZXJuYWxzQXR0YWNoZWQgPSAxOworICAgIHNldFJhcmVEYXRhQml0ZmllbGRzKGJpdGZpZWxkcyk7
Cit9CisKK0V4Y2VwdGlvbk9yPFJlZjxFbGVtZW50SW50ZXJuYWxzPj4gSFRNTEVsZW1lbnQ6OmF0
dGFjaEludGVybmFscygpCit7CisgICAgYXV0byogd2luZG93ID0gZG9jdW1lbnQoKS5kb21XaW5k
b3coKTsKKyAgICBpZiAoIXdpbmRvdykKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE5vdFN1
cHBvcnRlZEVycm9yIH07CisKKyAgICBhdXRvKiByZWdpc3RyeSA9IHdpbmRvdy0+Y3VzdG9tRWxl
bWVudFJlZ2lzdHJ5KCk7CisgICAgaWYgKCFyZWdpc3RyeSkKKyAgICAgICAgcmV0dXJuIEV4Y2Vw
dGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yIH07CisKKyAgICBhdXRvKiBlbGVtZW50SW50ZXJmYWNl
ID0gcmVnaXN0cnktPmZpbmRJbnRlcmZhY2UoKnRoaXMpOworICAgIGlmICghZWxlbWVudEludGVy
ZmFjZSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yIH07CisK
KyAgICBpZiAoZWxlbWVudEludGVyZmFjZS0+YXJlSW50ZXJuYWxzRGlzYWJsZWQoKSkKKyAgICAg
ICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE5vdFN1cHBvcnRlZEVycm9yIH07CisKKyAgICBpZiAoYXJl
SW50ZXJuYWxzQXR0YWNoZWQoKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE5vdFN1cHBv
cnRlZEVycm9yIH07CisKKyAgICBpZiAoIWlzQ3VzdG9tT3JQcmVjdXN0b21pemVkQ3VzdG9tRWxl
bWVudCgpKQorICAgICAgICByZXR1cm4gRXhjZXB0aW9uIHsgTm90U3VwcG9ydGVkRXJyb3IgfTsK
KworICAgIHNldEludGVybmFsc0F0dGFjaGVkKCk7CisgICAgcmV0dXJuIEVsZW1lbnRJbnRlcm5h
bHM6OmNyZWF0ZSgqdGhpcyk7Cit9CisKICNpZiBQTEFURk9STShJT1NfRkFNSUxZKQogCiBTZWxl
Y3Rpb25SZW5kZXJpbmdCZWhhdmlvciBIVE1MRWxlbWVudDo6c2VsZWN0aW9uUmVuZGVyaW5nQmVo
YXZpb3IoY29uc3QgTm9kZSogbm9kZSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVs
ZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxFbGVtZW50LmgJ
KHJldmlzaW9uIDI4NTkzMykKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaAko
d29ya2luZyBjb3B5KQpAQCAtMzIsNiArMzIsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
K2NsYXNzIEVsZW1lbnRJbnRlcm5hbHM7CiBjbGFzcyBGb3JtQXNzb2NpYXRlZEVsZW1lbnQ7CiBj
bGFzcyBGb3JtTmFtZWRJdGVtOwogY2xhc3MgSFRNTEZvcm1FbGVtZW50OwpAQCAtMTMzLDYgKzEz
NCw4IEBAIHB1YmxpYzoKIAogICAgIFdFQkNPUkVfRVhQT1JUIHN0YXRpYyBib29sIHNob3VsZEV4
dGVuZFNlbGVjdGlvblRvVGFyZ2V0Tm9kZShjb25zdCBOb2RlJiB0YXJnZXROb2RlLCBjb25zdCBW
aXNpYmxlU2VsZWN0aW9uJiBzZWxlY3Rpb25CZWZvcmVVcGRhdGUpOwogCisgICAgV0VCQ09SRV9F
WFBPUlQgRXhjZXB0aW9uT3I8UmVmPEVsZW1lbnRJbnRlcm5hbHM+PiBhdHRhY2hJbnRlcm5hbHMo
KTsKKwogI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgc3RhdGljIFNlbGVjdGlvblJlbmRl
cmluZ0JlaGF2aW9yIHNlbGVjdGlvblJlbmRlcmluZ0JlaGF2aW9yKGNvbnN0IE5vZGUqKTsKICNl
bmRpZgpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRWxlbWVudC5pZGwJKHJldmlzaW9uIDI4NTkz
MykKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEVsZW1lbnQuaWRsCSh3b3JraW5nIGNvcHkp
CkBAIC00NCw4ICs0NCw3IEBACiAKICAgICBbQ0VSZWFjdGlvbnNdIGF0dHJpYnV0ZSBbTGVnYWN5
TnVsbFRvRW1wdHlTdHJpbmddIERPTVN0cmluZyBpbm5lclRleHQ7CiAKLSAgICAvLyBGSVhNRTog
SW1wbGVtZW50ICdhdHRhY2hJbnRlcm5hbHMnLgotICAgIC8vIEVsZW1lbnRJbnRlcm5hbHMgYXR0
YWNoSW50ZXJuYWxzKCk7CisgICAgW0VuYWJsZWRCeVNldHRpbmc9Rm9ybUFzc29jaWF0ZWRDdXN0
b21FbGVtZW50c0VuYWJsZWRdIEVsZW1lbnRJbnRlcm5hbHMgYXR0YWNoSW50ZXJuYWxzKCk7CiAK
ICAgICAvLyBFeHBlcmltZW50YWw6IGh0dHBzOi8vZ2l0aHViLmNvbS9XSUNHL2luZXJ0L2Jsb2Iv
bWFzdGVyL1JFQURNRS5tZAogICAgIFtDRVJlYWN0aW9ucywgUmVmbGVjdCwgRW5hYmxlZEJ5U2V0
dGluZz1JbmVydEF0dHJpYnV0ZUVuYWJsZWRdIGF0dHJpYnV0ZSBib29sZWFuIGluZXJ0OwpJbmRl
eDogU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JET01BZ2VudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2FnZW50cy9JbnNwZWN0b3JE
T01BZ2VudC5jcHAJKHJldmlzaW9uIDI4NTkzMykKKysrIFNvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9hZ2VudHMvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjgxLDcg
KzE2ODEsNyBAQCBzdGF0aWMgUHJvdG9jb2w6OkRPTTo6Q3VzdG9tRWxlbWVudFN0YXRlCiB7CiAg
ICAgaWYgKGVsZW1lbnQuaXNEZWZpbmVkQ3VzdG9tRWxlbWVudCgpKQogICAgICAgICByZXR1cm4g
UHJvdG9jb2w6OkRPTTo6Q3VzdG9tRWxlbWVudFN0YXRlOjpDdXN0b207Ci0gICAgaWYgKGVsZW1l
bnQuaXNGYWlsZWRDdXN0b21FbGVtZW50KCkpCisgICAgaWYgKGVsZW1lbnQuaXNGYWlsZWRPclBy
ZWN1c3RvbWl6ZWRDdXN0b21FbGVtZW50KCkpCiAgICAgICAgIHJldHVybiBQcm90b2NvbDo6RE9N
OjpDdXN0b21FbGVtZW50U3RhdGU6OkZhaWxlZDsKICAgICBpZiAoZWxlbWVudC5pc1VuZGVmaW5l
ZEN1c3RvbUVsZW1lbnQoKSB8fCBlbGVtZW50LmlzQ3VzdG9tRWxlbWVudFVwZ3JhZGVDYW5kaWRh
dGUoKSkKICAgICAgICAgcmV0dXJuIFByb3RvY29sOjpET006OkN1c3RvbUVsZW1lbnRTdGF0ZTo6
V2FpdGluZzsKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkocmV2aXNpb24gMjg1
OTMzKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwkod29ya2luZyBjb3B5
KQpAQCAtMSwzICsxLDI3IEBACisyMDIxLTExLTE3ICBBbGV4ZXkgU2h2YXlrYSAgPGFzaHZheWth
QGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgRWxlbWVudEludGVybmFscworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk3OTYwCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmViYXNlbGluZSBXUFQg
dGVzdHMgbm93IHRoYXQgbW9yZSBjaGVja3MgYXJlIHBhc3Npbmcgb3IgZmFpbGluZyBsYXRlciBv
bi4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvQ3VzdG9t
RWxlbWVudFJlZ2lzdHJ5LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVz
dHMvY3VzdG9tLWVsZW1lbnRzL0hUTUxFbGVtZW50LWF0dGFjaEludGVybmFscy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9lbGVtZW50
LWludGVybmFscy1zaGFkb3dyb290LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZv
cm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9FbGVtZW50SW50ZXJuYWxz
LU5vdFN1cHBvcnRlZEVycm9yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9FbGVtZW50SW50ZXJuYWxzLWFj
Y2Vzc2liaWxpdHktZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9j
dXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL0VsZW1lbnRJbnRlcm5hbHMtbGFiZWxzLWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRz
L2Zvcm0tYXNzb2NpYXRlZC9FbGVtZW50SW50ZXJuYWxzLXNldEZvcm1WYWx1ZS1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFz
c29jaWF0ZWQvRWxlbWVudEludGVybmFscy12YWxpZGF0aW9uLWV4cGVjdGVkLnR4dDoKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9m
b3JtLWFzc29jaWF0ZWQtY2FsbGJhY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL2Zvcm0tZGlzYWJsZWQt
Y2FsbGJhY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0
b20tZWxlbWVudHMvc3RhdGUudGVudGF0aXZlL0VsZW1lbnRJbnRlcm5hbHMtc3RhdGVzLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3N0
YXRlLnRlbnRhdGl2ZS9zdGF0ZS1wc2V1ZG8tY2xhc3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IHdlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvc3RhdGUvdGVudGF0aXZlL0VsZW1l
bnRJbnRlcm5hbHMtc3RhdGVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0t
dGVzdHMvY3VzdG9tLWVsZW1lbnRzL3N0YXRlL3RlbnRhdGl2ZS9zdGF0ZS1wc2V1ZG8tY2xhc3Mt
ZXhwZWN0ZWQudHh0OgorCiAyMDIxLTExLTE3ICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxl
LmNvbT4KIAogICAgICAgICBVcGRhdGUgd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9zZWxlY3RvcnMK
SW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9t
LWVsZW1lbnRzL0N1c3RvbUVsZW1lbnRSZWdpc3RyeS1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxl
bWVudHMvQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjg1OTMz
KQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20t
ZWxlbWVudHMvQ3VzdG9tRWxlbWVudFJlZ2lzdHJ5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtOSwxNSArOSwxNSBAQCBQQVNTIGN1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IHRocm93
IGEgCiBQQVNTIGN1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IGNoZWNrIElzQ29uc3RydWN0b3Ig
b24gdGhlIGNvbnN0cnVjdG9yIGJlZm9yZSBjaGVja2luZyB0aGUgZWxlbWVudCBkZWZpbml0aW9u
IGlzIHJ1bm5pbmcgZmxhZwogUEFTUyBjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCB2YWxpZGF0
ZSB0aGUgY3VzdG9tIGVsZW1lbnQgbmFtZSBiZWZvcmUgY2hlY2tpbmcgdGhlIGVsZW1lbnQgZGVm
aW5pdGlvbiBpcyBydW5uaW5nIGZsYWcKIFBBU1MgY3VzdG9tRWxlbWVudHMuZGVmaW5lIHVuc2V0
IHRoZSBlbGVtZW50IGRlZmluaXRpb24gaXMgcnVubmluZyBmbGFnIGJlZm9yZSB1cGdyYWRpbmcg
Y3VzdG9tIGVsZW1lbnRzCi1GQUlMIGN1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IG5vdCB0aHJv
dyB3aGVuIGRlZmluaW5nIGFub3RoZXIgY3VzdG9tIGVsZW1lbnQgaW4gYSBkaWZmZXJlbnQgZ2xv
YmFsIG9iamVjdCBkdXJpbmcgR2V0KGNvbnN0cnVjdG9yLCAicHJvdG90eXBlIikgYXNzZXJ0X2Fy
cmF5X2VxdWFsczogY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgZ2V0ICJwcm90b3R5cGUiLCAi
ZGlzYWJsZWRGZWF0dXJlcyIsIGFuZCAiZm9ybUFzc29jaWF0ZWQiIG9uIHRoZSBjb25zdHJ1Y3Rv
ciBsZW5ndGhzIGRpZmZlciwgZXhwZWN0ZWQgYXJyYXkgWyJwcm90b3R5cGUiLCAiZGlzYWJsZWRG
ZWF0dXJlcyIsICJmb3JtQXNzb2NpYXRlZCJdIGxlbmd0aCAzLCBnb3QgWyJwcm90b3R5cGUiLCAi
ZGlzYWJsZWRGZWF0dXJlcyJdIGxlbmd0aCAyCitQQVNTIGN1c3RvbUVsZW1lbnRzLmRlZmluZSBt
dXN0IG5vdCB0aHJvdyB3aGVuIGRlZmluaW5nIGFub3RoZXIgY3VzdG9tIGVsZW1lbnQgaW4gYSBk
aWZmZXJlbnQgZ2xvYmFsIG9iamVjdCBkdXJpbmcgR2V0KGNvbnN0cnVjdG9yLCAicHJvdG90eXBl
IikKIFBBU1MgQ3VzdG9tIEVsZW1lbnRzOiBDdXN0b21FbGVtZW50UmVnaXN0cnkgaW50ZXJmYWNl
Ci1GQUlMIGN1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IGdldCAicHJvdG90eXBlIiwgImRpc2Fi
bGVkRmVhdHVyZXMiLCBhbmQgImZvcm1Bc3NvY2lhdGVkIiBwcm9wZXJ0eSBvZiB0aGUgY29uc3Ry
dWN0b3IgYXNzZXJ0X2FycmF5X2VxdWFsczogbGVuZ3RocyBkaWZmZXIsIGV4cGVjdGVkIGFycmF5
IFsicHJvdG90eXBlIiwgImRpc2FibGVkRmVhdHVyZXMiLCAiZm9ybUFzc29jaWF0ZWQiXSBsZW5n
dGggMywgZ290IFsicHJvdG90eXBlIiwgImRpc2FibGVkRmVhdHVyZXMiXSBsZW5ndGggMgorUEFT
UyBjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCBnZXQgInByb3RvdHlwZSIsICJkaXNhYmxlZEZl
YXR1cmVzIiwgYW5kICJmb3JtQXNzb2NpYXRlZCIgcHJvcGVydHkgb2YgdGhlIGNvbnN0cnVjdG9y
CiBQQVNTIGN1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IHJldGhyb3cgYW4gZXhjZXB0aW9uIHRo
cm93biB3aGlsZSBnZXR0aW5nICJwcm90b3R5cGUiIHByb3BlcnR5IG9mIHRoZSBjb25zdHJ1Y3Rv
cgogUEFTUyBjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCB0aHJvdyB3aGVuICJwcm90b3R5cGUi
IHByb3BlcnR5IG9mIHRoZSBjb25zdHJ1Y3RvciBpcyBub3QgYW4gb2JqZWN0CiBQQVNTIGN1c3Rv
bUVsZW1lbnRzLmRlZmluZSBtdXN0IGdldCBjYWxsYmFja3Mgb2YgdGhlIGNvbnN0cnVjdG9yIHBy
b3RvdHlwZQogUEFTUyBjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCByZXRocm93IGFuIGV4Y2Vw
dGlvbiB0aHJvd24gd2hpbGUgZ2V0dGluZyBjYWxsYmFja3Mgb24gdGhlIGNvbnN0cnVjdG9yIHBy
b3RvdHlwZQogUEFTUyBjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCByZXRocm93IGFuIGV4Y2Vw
dGlvbiB0aHJvd24gd2hpbGUgY29udmVydGluZyBhIGNhbGxiYWNrIHZhbHVlIHRvIEZ1bmN0aW9u
IGNhbGxiYWNrIHR5cGUKLUZBSUwgY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgZ2V0ICJvYnNl
cnZlZEF0dHJpYnV0ZXMiIHByb3BlcnR5IG9uIHRoZSBjb25zdHJ1Y3RvciBwcm90b3R5cGUgd2hl
biAiYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrIiBpcyBwcmVzZW50IGFzc2VydF9hcnJheV9lcXVh
bHM6IGxlbmd0aHMgZGlmZmVyLCBleHBlY3RlZCBhcnJheSBbMCwgInByb3RvdHlwZSIsIDUsICJv
YnNlcnZlZEF0dHJpYnV0ZXMiLCA2LCAiZGlzYWJsZWRGZWF0dXJlcyIsIDcsICJmb3JtQXNzb2Np
YXRlZCJdIGxlbmd0aCA4LCBnb3QgWzAsICJwcm90b3R5cGUiLCA1LCAib2JzZXJ2ZWRBdHRyaWJ1
dGVzIiwgNiwgImRpc2FibGVkRmVhdHVyZXMiXSBsZW5ndGggNgorUEFTUyBjdXN0b21FbGVtZW50
cy5kZWZpbmUgbXVzdCBnZXQgIm9ic2VydmVkQXR0cmlidXRlcyIgcHJvcGVydHkgb24gdGhlIGNv
bnN0cnVjdG9yIHByb3RvdHlwZSB3aGVuICJhdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2siIGlzIHBy
ZXNlbnQKIFBBU1MgY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgcmV0aHJvdyBhbiBleGNlcHRp
b24gdGhyb3duIHdoaWxlIGdldHRpbmcgb2JzZXJ2ZWRBdHRyaWJ1dGVzIG9uIHRoZSBjb25zdHJ1
Y3RvciBwcm90b3R5cGUKIFBBU1MgY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgcmV0aHJvdyBh
biBleGNlcHRpb24gdGhyb3duIHdoaWxlIGNvbnZlcnRpbmcgdGhlIHZhbHVlIG9mIG9ic2VydmVk
QXR0cmlidXRlcyB0byBzZXF1ZW5jZTxET01TdHJpbmc+CiBQQVNTIGN1c3RvbUVsZW1lbnRzLmRl
ZmluZSBtdXN0IHJldGhyb3cgYW4gZXhjZXB0aW9uIHRocm93biB3aGlsZSBpdGVyYXRpbmcgb3Zl
ciBvYnNlcnZlZEF0dHJpYnV0ZXMgdG8gc2VxdWVuY2U8RE9NU3RyaW5nPgpAQCAtMjcsOSArMjcs
OSBAQCBQQVNTIGN1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IHJldGhyb3cgCiBQQVNTIGN1c3Rv
bUVsZW1lbnRzLmRlZmluZSBtdXN0IHJldGhyb3cgYW4gZXhjZXB0aW9uIHRocm93biB3aGlsZSBj
b252ZXJ0aW5nIHRoZSB2YWx1ZSBvZiBkaXNhYmxlZEZlYXR1cmVzIHRvIHNlcXVlbmNlPERPTVN0
cmluZz4KIFBBU1MgY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3QgcmV0aHJvdyBhbiBleGNlcHRp
b24gdGhyb3duIHdoaWxlIGl0ZXJhdGluZyBvdmVyIGRpc2FibGVkRmVhdHVyZXMgdG8gc2VxdWVu
Y2U8RE9NU3RyaW5nPgogUEFTUyBjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCByZXRocm93IGFu
IGV4Y2VwdGlvbiB0aHJvd24gd2hpbGUgcmV0cmlldmluZyBTeW1ib2wuaXRlcmF0b3Igb24gZGlz
YWJsZWRGZWF0dXJlcwotRkFJTCBjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCByZXRocm93IGFu
IGV4Y2VwdGlvbiB0aHJvd24gd2hpbGUgZ2V0dGluZyBmb3JtQXNzb2NpYXRlZCBvbiB0aGUgY29u
c3RydWN0b3IgcHJvdG90eXBlIGFzc2VydF90aHJvd3NfZXhhY3RseTogZnVuY3Rpb24gIigpID0+
IGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZWxlbWVudC13aXRoLXRocm93aW5nLWZvcm0tYXNzb2Np
YXRlZCcsIHByb3h5KSIgZGlkIG5vdCB0aHJvdwotRkFJTCBjdXN0b21FbGVtZW50cy5kZWZpbmUg
bXVzdCBnZXQgZm91ciBhZGRpdGlvbmFsIGNhbGxiYWNrcyBvbiB0aGUgcHJvdG90eXBlIGlmIGZv
cm1Bc3NvY2lhdGVkIGlzIGNvbnZlcnRlZCB0byB0cnVlIGFzc2VydF9hcnJheV9lcXVhbHM6IGN1
c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IGdldCAicHJvdG90eXBlIiwgImRpc2FibGVkRmVhdHVy
ZXMiLCBhbmQgImZvcm1Bc3NvY2lhdGVkIiBvbiB0aGUgY29uc3RydWN0b3IgbGVuZ3RocyBkaWZm
ZXIsIGV4cGVjdGVkIGFycmF5IFsicHJvdG90eXBlIiwgImRpc2FibGVkRmVhdHVyZXMiLCAiZm9y
bUFzc29jaWF0ZWQiXSBsZW5ndGggMywgZ290IFsicHJvdG90eXBlIiwgImRpc2FibGVkRmVhdHVy
ZXMiXSBsZW5ndGggMgotRkFJTCBjdXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCByZXRocm93IGFu
IGV4Y2VwdGlvbiB0aHJvd24gd2hpbGUgZ2V0dGluZyBhZGRpdGlvbmFsIGZvcm1Bc3NvY2lhdGVk
IGNhbGxiYWNrcyBvbiB0aGUgY29uc3RydWN0b3IgcHJvdG90eXBlIGFzc2VydF90aHJvd3NfZXhh
Y3RseTogZnVuY3Rpb24gIigpID0+IGN1c3RvbUVsZW1lbnRzLmRlZmluZSgnZWxlbWVudC13aXRo
LXRocm93aW5nLWNhbGxiYWNrLTInLCBwcm94eSkiIGRpZCBub3QgdGhyb3cKK1BBU1MgY3VzdG9t
RWxlbWVudHMuZGVmaW5lIG11c3QgcmV0aHJvdyBhbiBleGNlcHRpb24gdGhyb3duIHdoaWxlIGdl
dHRpbmcgZm9ybUFzc29jaWF0ZWQgb24gdGhlIGNvbnN0cnVjdG9yIHByb3RvdHlwZQorUEFTUyBj
dXN0b21FbGVtZW50cy5kZWZpbmUgbXVzdCBnZXQgZm91ciBhZGRpdGlvbmFsIGNhbGxiYWNrcyBv
biB0aGUgcHJvdG90eXBlIGlmIGZvcm1Bc3NvY2lhdGVkIGlzIGNvbnZlcnRlZCB0byB0cnVlCitQ
QVNTIGN1c3RvbUVsZW1lbnRzLmRlZmluZSBtdXN0IHJldGhyb3cgYW4gZXhjZXB0aW9uIHRocm93
biB3aGlsZSBnZXR0aW5nIGFkZGl0aW9uYWwgZm9ybUFzc29jaWF0ZWQgY2FsbGJhY2tzIG9uIHRo
ZSBjb25zdHJ1Y3RvciBwcm90b3R5cGUKIFBBU1MgY3VzdG9tRWxlbWVudHMuZGVmaW5lIG11c3Qg
ZGVmaW5lIGFuIGluc3RhbnRpYXRhYmxlIGN1c3RvbSBlbGVtZW50CiBQQVNTIGN1c3RvbUVsZW1l
bnRzLmRlZmluZSBtdXN0IHVwZ3JhZGUgZWxlbWVudHMgaW4gdGhlIHNoYWRvdy1pbmNsdWRpbmcg
dHJlZSBvcmRlcgogUEFTUyBDdXN0b21FbGVtZW50UmVnaXN0cnkgaW50ZXJmYWNlIG11c3QgaGF2
ZSBnZXQgYXMgYSBtZXRob2QKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL0hUTUxFbGVtZW50LWF0dGFjaEludGVybmFscy1l
eHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvSFRNTEVsZW1lbnQtYXR0YWNoSW50ZXJuYWxz
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjg1OTMzKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvSFRNTEVsZW1lbnQtYXR0YWNo
SW50ZXJuYWxzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw4ICsxLDYgQEAKIAot
RkFJTCBTdWNjZXNzZnVsIGF0dGFjaEludGVybmFscygpIGFuZCB0aGUgc2Vjb25kIGNhbGwuIGVs
ZW1lbnQuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VsZW1lbnQuYXR0
YWNoSW50ZXJuYWxzKCknLCAnZWxlbWVudC5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkK
LUZBSUwgYXR0YWNoSW50ZXJuYWxzKCkgdGhyb3dzIGEgTm90U3VwcG9ydGVkRXJyb3IgaWYgaXQg
aXMgY2FsbGVkIGZvciBhIGN1c3RvbWl6ZWQgYnVpbHQtaW4gZWxlbWVudCBhc3NlcnRfdGhyb3dz
X2RvbTogZnVuY3Rpb24gIigpID0+IHsgY3VzdG9taXplZEJ1aWx0aW4uYXR0YWNoSW50ZXJuYWxz
KCkgfSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IGN1c3RvbWl6ZWRCdWlsdGluLmF0dGFjaElu
dGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjdXN0b21pemVkQnVpbHRpbi5hdHRhY2hJ
bnRlcm5hbHMoKScsICdjdXN0b21pemVkQnVpbHRpbi5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVm
aW5lZCkiIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIE5vdFN1cHBvcnRlZEVycm9yOiBwcm9w
ZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVkLCBleHBlY3RlZCA5Ci1GQUlMIElmIGEg
Y3VzdG9tIGVsZW1lbnQgZGVmaW5pdGlvbiBmb3IgdGhlIGxvY2FsIG5hbWUgb2YgdGhlIGVsZW1l
bnQgZG9lc24ndCBleGlzdCwgdGhyb3cgYW4gTm90U3VwcG9ydGVkRXJyb3IgYXNzZXJ0X3Rocm93
c19kb206IGZ1bmN0aW9uICIoKSA9PiB7IGJ1aWx0aW4uYXR0YWNoSW50ZXJuYWxzKCkgfSIgdGhy
ZXcgb2JqZWN0ICJUeXBlRXJyb3I6IGJ1aWx0aW4uYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ2J1aWx0aW4uYXR0YWNoSW50ZXJuYWxzKCknLCAnYnVpbHRpbi5hdHRhY2hJ
bnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkiIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIE5vdFN1
cHBvcnRlZEVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVkLCBleHBl
Y3RlZCA5Ci1GQUlMIElmIGEgY3VzdG9tIGVsZW1lbnQgZGVmaW5pdGlvbiBmb3IgdGhlIGxvY2Fs
IG5hbWUgb2YgdGhlIGVsZW1lbnQgaGFzIGRpc2FibGUgaW50ZXJuYWxzIGZsYWcsIHRocm93IGEg
Tm90U3VwcG9ydGVkRXJyb3IgYXNzZXJ0X3Rocm93c19kb206IGZ1bmN0aW9uICIoKSA9PiB7Ci0g
ICAgKG5ldyBNeUVsZW1lbnQyKS5hdHRhY2hJbnRlcm5hbHMoKTsKLSAgfSIgdGhyZXcgb2JqZWN0
ICJUeXBlRXJyb3I6IChuZXcgTXlFbGVtZW50MikuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJyhuZXcgTXlFbGVtZW50MikuYXR0YWNoSW50ZXJuYWxzKCknLCAnKG5ldyBN
eUVsZW1lbnQyKS5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkiIHRoYXQgaXMgbm90IGEg
RE9NRXhjZXB0aW9uIE5vdFN1cHBvcnRlZEVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwg
dG8gdW5kZWZpbmVkLCBleHBlY3RlZCA5CitQQVNTIFN1Y2Nlc3NmdWwgYXR0YWNoSW50ZXJuYWxz
KCkgYW5kIHRoZSBzZWNvbmQgY2FsbC4KK1BBU1MgYXR0YWNoSW50ZXJuYWxzKCkgdGhyb3dzIGEg
Tm90U3VwcG9ydGVkRXJyb3IgaWYgaXQgaXMgY2FsbGVkIGZvciBhIGN1c3RvbWl6ZWQgYnVpbHQt
aW4gZWxlbWVudAorUEFTUyBJZiBhIGN1c3RvbSBlbGVtZW50IGRlZmluaXRpb24gZm9yIHRoZSBs
b2NhbCBuYW1lIG9mIHRoZSBlbGVtZW50IGRvZXNuJ3QgZXhpc3QsIHRocm93IGFuIE5vdFN1cHBv
cnRlZEVycm9yCitQQVNTIElmIGEgY3VzdG9tIGVsZW1lbnQgZGVmaW5pdGlvbiBmb3IgdGhlIGxv
Y2FsIG5hbWUgb2YgdGhlIGVsZW1lbnQgaGFzIGRpc2FibGUgaW50ZXJuYWxzIGZsYWcsIHRocm93
IGEgTm90U3VwcG9ydGVkRXJyb3IKIApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZWxlbWVudC1pbnRlcm5hbHMtc2hhZG93
cm9vdC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZWxlbWVudC1pbnRlcm5hbHMtc2hh
ZG93cm9vdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI4NTkzMykKKysrIExheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2VsZW1lbnQtaW50
ZXJuYWxzLXNoYWRvd3Jvb3QtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xLDE1ICsx
LDkgQEAKLUNPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0
YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCi1DT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjog
dGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJ
bnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQotQ09OU09M
RSBNRVNTQUdFOiBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMn
IGlzIHVuZGVmaW5lZCkKLUNPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaElu
dGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywg
J3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCiAKLUhhcm5lc3MgRXJyb3IgKEZB
SUwpLCBtZXNzYWdlID0gVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJu
YWxzJyBpcyB1bmRlZmluZWQpCi0KLUZBSUwgRWxlbWVudEludGVybmFscy5zaGFkb3dSb290IGFs
bG93cyBhY2Nlc3MgdG8gb3BlbiBzaGFkb3cgcm9vdCBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1
ZSBnb3QgZmFsc2UKLUZBSUwgRWxlbWVudEludGVybmFscy5zaGFkb3dSb290IGFsbG93cyBhY2Nl
c3MgdG8gY2xvc2VkIHNoYWRvdyByb290IGFzc2VydF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBm
YWxzZQotRkFJTCBFbGVtZW50SW50ZXJuYWxzIGNhbm5vdCBiZSBjYWxsZWQgYmVmb3JlIGNvbnN0
cnVjdG9yLCB1cGdyYWRlIGNhc2UgYXNzZXJ0X3Rocm93c19kb206IGF0dGFjaEludGVybmFscyBj
YW5ub3QgYmUgY2FsbGVkIGJlZm9yZSBkZWZpbml0aW9uIGV4aXN0cyBmdW5jdGlvbiAiKCkgPT4g
ZWxlbWVudC5hdHRhY2hJbnRlcm5hbHMoKSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IGVsZW1l
bnQuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VsZW1lbnQuYXR0YWNo
SW50ZXJuYWxzKCknLCAnZWxlbWVudC5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkiIHRo
YXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIE5vdFN1cHBvcnRlZEVycm9yOiBwcm9wZXJ0eSAiY29k
ZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVkLCBleHBlY3RlZCA5Ci1GQUlMIEVsZW1lbnRJbnRlcm5h
bHMgKmNhbiogYmUgY2FsbGVkIGFmdGVyIGNvbnN0cnVjdG9yLCB1cGdyYWRlIGNhc2UgYXNzZXJ0
X3Rocm93c19kb206IGF0dGFjaEludGVybmFscyBjYW5ub3QgYmUgY2FsbGVkIGJlZm9yZSBjb25z
dHJ1Y3RvciBmdW5jdGlvbiAiKCkgPT4gZWxlbWVudC5hdHRhY2hJbnRlcm5hbHMoKSIgdGhyZXcg
b2JqZWN0ICJUeXBlRXJyb3I6IGVsZW1lbnQuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ2VsZW1lbnQuYXR0YWNoSW50ZXJuYWxzKCknLCAnZWxlbWVudC5hdHRhY2hJbnRl
cm5hbHMnIGlzIHVuZGVmaW5lZCkiIHRoYXQgaXMgbm90IGEgRE9NRXhjZXB0aW9uIE5vdFN1cHBv
cnRlZEVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVkLCBleHBlY3Rl
ZCA5Ci1GQUlMIEVsZW1lbnRJbnRlcm5hbHMgY2Fubm90IGJlIGNhbGxlZCBhZnRlciBjb25zdHJ1
Y3RvciBjYWxscyBpdCwgY3JlYXRlIGNhc2UgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290
IGZhbHNlCi1GQUlMIEVsZW1lbnRJbnRlcm5hbHMgZGlzYWJsZWQgYnkgZGlzYWJsZWRGZWF0dXJl
cyBhc3NlcnRfdGhyb3dzX2RvbTogYXR0YWNoSW50ZXJuYWxzIGZvcmJpZGRlbiBieSBkaXNhYmxl
ZEZlYXR1cmVzLCBwcmUtdXBncmFkZSBmdW5jdGlvbiAiKCkgPT4gZWxlbWVudC5hdHRhY2hJbnRl
cm5hbHMoKSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IGVsZW1lbnQuYXR0YWNoSW50ZXJuYWxz
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2VsZW1lbnQuYXR0YWNoSW50ZXJuYWxzKCknLCAnZWxl
bWVudC5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkiIHRoYXQgaXMgbm90IGEgRE9NRXhj
ZXB0aW9uIE5vdFN1cHBvcnRlZEVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5k
ZWZpbmVkLCBleHBlY3RlZCA5Ci1GQUlMIEVsZW1lbnRJbnRlcm5hbHMuc2hhZG93Um9vdCBkb2Vz
bid0IHJldmVhbCBwcmUtYXR0YWNoZWQgY2xvc2VkIHNoYWRvd1Jvb3QgYXNzZXJ0X3RydWU6IEZh
aWxlZCB0byBjb25zdHJ1Y3QgLSB0ZXN0IGZhaWxlZCBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQor
UEFTUyBFbGVtZW50SW50ZXJuYWxzLnNoYWRvd1Jvb3QgYWxsb3dzIGFjY2VzcyB0byBvcGVuIHNo
YWRvdyByb290CitQQVNTIEVsZW1lbnRJbnRlcm5hbHMuc2hhZG93Um9vdCBhbGxvd3MgYWNjZXNz
IHRvIGNsb3NlZCBzaGFkb3cgcm9vdAorUEFTUyBFbGVtZW50SW50ZXJuYWxzIGNhbm5vdCBiZSBj
YWxsZWQgYmVmb3JlIGNvbnN0cnVjdG9yLCB1cGdyYWRlIGNhc2UKK1BBU1MgRWxlbWVudEludGVy
bmFscyAqY2FuKiBiZSBjYWxsZWQgYWZ0ZXIgY29uc3RydWN0b3IsIHVwZ3JhZGUgY2FzZQorUEFT
UyBFbGVtZW50SW50ZXJuYWxzIGNhbm5vdCBiZSBjYWxsZWQgYWZ0ZXIgY29uc3RydWN0b3IgY2Fs
bHMgaXQsIGNyZWF0ZSBjYXNlCitQQVNTIEVsZW1lbnRJbnRlcm5hbHMgZGlzYWJsZWQgYnkgZGlz
YWJsZWRGZWF0dXJlcworUEFTUyBFbGVtZW50SW50ZXJuYWxzLnNoYWRvd1Jvb3QgZG9lc24ndCBy
ZXZlYWwgcHJlLWF0dGFjaGVkIGNsb3NlZCBzaGFkb3dSb290CiAKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNz
b2NpYXRlZC9FbGVtZW50SW50ZXJuYWxzLU5vdFN1cHBvcnRlZEVycm9yLWV4cGVjdGVkLnR4dAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvRWxlbWVudEludGVybmFscy1Ob3RTdXBw
b3J0ZWRFcnJvci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI4NTkzMykKKysrIExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNz
b2NpYXRlZC9FbGVtZW50SW50ZXJuYWxzLU5vdFN1cHBvcnRlZEVycm9yLWV4cGVjdGVkLnR4dAko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBGb3JtLXJlbGF0ZWQgb3BlcmF0
aW9ucyBhbmQgYXR0cmlidXRlcyBzaG91bGQgdGhyb3cgTm90U3VwcG9ydGVkRXJyb3JzIGZvciBu
b24tZm9ybS1hc3NvY2lhdGVkIGN1c3RvbSBlbGVtZW50cy4gZWxlbWVudC5hdHRhY2hJbnRlcm5h
bHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnZWxlbWVudC5hdHRhY2hJbnRlcm5hbHMoKScsICdl
bGVtZW50LmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQorRkFJTCBGb3JtLXJlbGF0ZWQg
b3BlcmF0aW9ucyBhbmQgYXR0cmlidXRlcyBzaG91bGQgdGhyb3cgTm90U3VwcG9ydGVkRXJyb3Jz
IGZvciBub24tZm9ybS1hc3NvY2lhdGVkIGN1c3RvbSBlbGVtZW50cy4gYXNzZXJ0X3Rocm93c19k
b206IGZ1bmN0aW9uICIoKSA9PiBpLnNldEZvcm1WYWx1ZSgnJykiIHRocmV3IG9iamVjdCAiVHlw
ZUVycm9yOiBpLnNldEZvcm1WYWx1ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdpLnNldEZvcm1W
YWx1ZSgnJyknLCAnaS5zZXRGb3JtVmFsdWUnIGlzIHVuZGVmaW5lZCkiIHRoYXQgaXMgbm90IGEg
RE9NRXhjZXB0aW9uIE5vdFN1cHBvcnRlZEVycm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwg
dG8gdW5kZWZpbmVkLCBleHBlY3RlZCA5CiAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9FbGVt
ZW50SW50ZXJuYWxzLWFjY2Vzc2liaWxpdHktZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRz
L2Zvcm0tYXNzb2NpYXRlZC9FbGVtZW50SW50ZXJuYWxzLWFjY2Vzc2liaWxpdHktZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiAyODU5MzMpCisrKyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvRWxlbWVudEludGVy
bmFscy1hY2Nlc3NpYmlsaXR5LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsx
LDQ3IEBACi1DT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0
dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQotCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVz
c2FnZSA9IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMg
dW5kZWZpbmVkKQogCitGQUlMIHJvbGUgaXMgZGVmaW5lZCBpbiBFbGVtZW50SW50ZXJuYWxzIGFz
c2VydF9pbmhlcml0czogcHJvcGVydHkgInJvbGUiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hh
aW4KK0ZBSUwgYXJpYUFjdGl2ZURlc2NlbmRhbnRFbGVtZW50IGlzIGRlZmluZWQgaW4gRWxlbWVu
dEludGVybmFscyBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJhcmlhQWN0aXZlRGVzY2VuZGFu
dEVsZW1lbnQiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZBSUwgYXJpYUF0b21pYyBp
cyBkZWZpbmVkIGluIEVsZW1lbnRJbnRlcm5hbHMgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAi
YXJpYUF0b21pYyIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBhcmlhQXV0b0Nv
bXBsZXRlIGlzIGRlZmluZWQgaW4gRWxlbWVudEludGVybmFscyBhc3NlcnRfaW5oZXJpdHM6IHBy
b3BlcnR5ICJhcmlhQXV0b0NvbXBsZXRlIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitG
QUlMIGFyaWFCdXN5IGlzIGRlZmluZWQgaW4gRWxlbWVudEludGVybmFscyBhc3NlcnRfaW5oZXJp
dHM6IHByb3BlcnR5ICJhcmlhQnVzeSIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJ
TCBhcmlhQ2hlY2tlZCBpcyBkZWZpbmVkIGluIEVsZW1lbnRJbnRlcm5hbHMgYXNzZXJ0X2luaGVy
aXRzOiBwcm9wZXJ0eSAiYXJpYUNoZWNrZWQiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4K
K0ZBSUwgYXJpYUNvbENvdW50IGlzIGRlZmluZWQgaW4gRWxlbWVudEludGVybmFscyBhc3NlcnRf
aW5oZXJpdHM6IHByb3BlcnR5ICJhcmlhQ29sQ291bnQiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUg
Y2hhaW4KK0ZBSUwgYXJpYUNvbEluZGV4IGlzIGRlZmluZWQgaW4gRWxlbWVudEludGVybmFscyBh
c3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJhcmlhQ29sSW5kZXgiIG5vdCBmb3VuZCBpbiBwcm90
b3R5cGUgY2hhaW4KK0ZBSUwgYXJpYUNvbFNwYW4gaXMgZGVmaW5lZCBpbiBFbGVtZW50SW50ZXJu
YWxzIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgImFyaWFDb2xTcGFuIiBub3QgZm91bmQgaW4g
cHJvdG90eXBlIGNoYWluCitGQUlMIGFyaWFDb250cm9sc0VsZW1lbnRzIGlzIGRlZmluZWQgaW4g
RWxlbWVudEludGVybmFscyBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJhcmlhQ29udHJvbHNF
bGVtZW50cyIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBhcmlhQ3VycmVudCBp
cyBkZWZpbmVkIGluIEVsZW1lbnRJbnRlcm5hbHMgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAi
YXJpYUN1cnJlbnQiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZBSUwgYXJpYURlc2Ny
aWJlZEJ5RWxlbWVudHMgaXMgZGVmaW5lZCBpbiBFbGVtZW50SW50ZXJuYWxzIGFzc2VydF9pbmhl
cml0czogcHJvcGVydHkgImFyaWFEZXNjcmliZWRCeUVsZW1lbnRzIiBub3QgZm91bmQgaW4gcHJv
dG90eXBlIGNoYWluCitGQUlMIGFyaWFEZXRhaWxzRWxlbWVudHMgaXMgZGVmaW5lZCBpbiBFbGVt
ZW50SW50ZXJuYWxzIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgImFyaWFEZXRhaWxzRWxlbWVu
dHMiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZBSUwgYXJpYURpc2FibGVkIGlzIGRl
ZmluZWQgaW4gRWxlbWVudEludGVybmFscyBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJhcmlh
RGlzYWJsZWQiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZBSUwgYXJpYUVycm9yTWVz
c2FnZUVsZW1lbnQgaXMgZGVmaW5lZCBpbiBFbGVtZW50SW50ZXJuYWxzIGFzc2VydF9pbmhlcml0
czogcHJvcGVydHkgImFyaWFFcnJvck1lc3NhZ2VFbGVtZW50IiBub3QgZm91bmQgaW4gcHJvdG90
eXBlIGNoYWluCitGQUlMIGFyaWFFeHBhbmRlZCBpcyBkZWZpbmVkIGluIEVsZW1lbnRJbnRlcm5h
bHMgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiYXJpYUV4cGFuZGVkIiBub3QgZm91bmQgaW4g
cHJvdG90eXBlIGNoYWluCitGQUlMIGFyaWFGbG93VG9FbGVtZW50cyBpcyBkZWZpbmVkIGluIEVs
ZW1lbnRJbnRlcm5hbHMgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiYXJpYUZsb3dUb0VsZW1l
bnRzIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitGQUlMIGFyaWFIYXNQb3B1cCBpcyBk
ZWZpbmVkIGluIEVsZW1lbnRJbnRlcm5hbHMgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiYXJp
YUhhc1BvcHVwIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitGQUlMIGFyaWFIaWRkZW4g
aXMgZGVmaW5lZCBpbiBFbGVtZW50SW50ZXJuYWxzIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkg
ImFyaWFIaWRkZW4iIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZBSUwgYXJpYUtleVNo
b3J0Y3V0cyBpcyBkZWZpbmVkIGluIEVsZW1lbnRJbnRlcm5hbHMgYXNzZXJ0X2luaGVyaXRzOiBw
cm9wZXJ0eSAiYXJpYUtleVNob3J0Y3V0cyIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgor
RkFJTCBhcmlhTGFiZWwgaXMgZGVmaW5lZCBpbiBFbGVtZW50SW50ZXJuYWxzIGFzc2VydF9pbmhl
cml0czogcHJvcGVydHkgImFyaWFMYWJlbCIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgor
RkFJTCBhcmlhTGFiZWxsZWRCeUVsZW1lbnRzIGlzIGRlZmluZWQgaW4gRWxlbWVudEludGVybmFs
cyBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJhcmlhTGFiZWxsZWRCeUVsZW1lbnRzIiBub3Qg
Zm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitGQUlMIGFyaWFMZXZlbCBpcyBkZWZpbmVkIGluIEVs
ZW1lbnRJbnRlcm5hbHMgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiYXJpYUxldmVsIiBub3Qg
Zm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitGQUlMIGFyaWFMaXZlIGlzIGRlZmluZWQgaW4gRWxl
bWVudEludGVybmFscyBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJhcmlhTGl2ZSIgbm90IGZv
dW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBhcmlhTW9kYWwgaXMgZGVmaW5lZCBpbiBFbGVt
ZW50SW50ZXJuYWxzIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgImFyaWFNb2RhbCIgbm90IGZv
dW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBhcmlhTXVsdGlMaW5lIGlzIGRlZmluZWQgaW4g
RWxlbWVudEludGVybmFscyBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5ICJhcmlhTXVsdGlMaW5l
IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitGQUlMIGFyaWFNdWx0aVNlbGVjdGFibGUg
aXMgZGVmaW5lZCBpbiBFbGVtZW50SW50ZXJuYWxzIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkg
ImFyaWFNdWx0aVNlbGVjdGFibGUiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZBSUwg
YXJpYU9yaWVudGF0aW9uIGlzIGRlZmluZWQgaW4gRWxlbWVudEludGVybmFscyBhc3NlcnRfaW5o
ZXJpdHM6IHByb3BlcnR5ICJhcmlhT3JpZW50YXRpb24iIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUg
Y2hhaW4KK0ZBSUwgYXJpYU93bnNFbGVtZW50cyBpcyBkZWZpbmVkIGluIEVsZW1lbnRJbnRlcm5h
bHMgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiYXJpYU93bnNFbGVtZW50cyIgbm90IGZvdW5k
IGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBhcmlhUGxhY2Vob2xkZXIgaXMgZGVmaW5lZCBpbiBF
bGVtZW50SW50ZXJuYWxzIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgImFyaWFQbGFjZWhvbGRl
ciIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBhcmlhUG9zSW5TZXQgaXMgZGVm
aW5lZCBpbiBFbGVtZW50SW50ZXJuYWxzIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgImFyaWFQ
b3NJblNldCIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBhcmlhUHJlc3NlZCBp
cyBkZWZpbmVkIGluIEVsZW1lbnRJbnRlcm5hbHMgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAi
YXJpYVByZXNzZWQiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZBSUwgYXJpYVJlYWRP
bmx5IGlzIGRlZmluZWQgaW4gRWxlbWVudEludGVybmFscyBhc3NlcnRfaW5oZXJpdHM6IHByb3Bl
cnR5ICJhcmlhUmVhZE9ubHkiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZBSUwgYXJp
YVJlbGV2YW50IGlzIGRlZmluZWQgaW4gRWxlbWVudEludGVybmFscyBhc3NlcnRfaW5oZXJpdHM6
IHByb3BlcnR5ICJhcmlhUmVsZXZhbnQiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZB
SUwgYXJpYVJlcXVpcmVkIGlzIGRlZmluZWQgaW4gRWxlbWVudEludGVybmFscyBhc3NlcnRfaW5o
ZXJpdHM6IHByb3BlcnR5ICJhcmlhUmVxdWlyZWQiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hh
aW4KK0ZBSUwgYXJpYVJvbGVEZXNjcmlwdGlvbiBpcyBkZWZpbmVkIGluIEVsZW1lbnRJbnRlcm5h
bHMgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiYXJpYVJvbGVEZXNjcmlwdGlvbiIgbm90IGZv
dW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBhcmlhUm93Q291bnQgaXMgZGVmaW5lZCBpbiBF
bGVtZW50SW50ZXJuYWxzIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgImFyaWFSb3dDb3VudCIg
bm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBhcmlhUm93SW5kZXggaXMgZGVmaW5l
ZCBpbiBFbGVtZW50SW50ZXJuYWxzIGFzc2VydF9pbmhlcml0czogcHJvcGVydHkgImFyaWFSb3dJ
bmRleCIgbm90IGZvdW5kIGluIHByb3RvdHlwZSBjaGFpbgorRkFJTCBhcmlhUm93U3BhbiBpcyBk
ZWZpbmVkIGluIEVsZW1lbnRJbnRlcm5hbHMgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAiYXJp
YVJvd1NwYW4iIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZBSUwgYXJpYVNlbGVjdGVk
IGlzIGRlZmluZWQgaW4gRWxlbWVudEludGVybmFscyBhc3NlcnRfaW5oZXJpdHM6IHByb3BlcnR5
ICJhcmlhU2VsZWN0ZWQiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KK0ZBSUwgYXJpYVNv
cnQgaXMgZGVmaW5lZCBpbiBFbGVtZW50SW50ZXJuYWxzIGFzc2VydF9pbmhlcml0czogcHJvcGVy
dHkgImFyaWFTb3J0IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitGQUlMIGFyaWFWYWx1
ZU1heCBpcyBkZWZpbmVkIGluIEVsZW1lbnRJbnRlcm5hbHMgYXNzZXJ0X2luaGVyaXRzOiBwcm9w
ZXJ0eSAiYXJpYVZhbHVlTWF4IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitGQUlMIGFy
aWFWYWx1ZU1pbiBpcyBkZWZpbmVkIGluIEVsZW1lbnRJbnRlcm5hbHMgYXNzZXJ0X2luaGVyaXRz
OiBwcm9wZXJ0eSAiYXJpYVZhbHVlTWluIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCitG
QUlMIGFyaWFWYWx1ZU5vdyBpcyBkZWZpbmVkIGluIEVsZW1lbnRJbnRlcm5hbHMgYXNzZXJ0X2lu
aGVyaXRzOiBwcm9wZXJ0eSAiYXJpYVZhbHVlTm93IiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNo
YWluCitGQUlMIGFyaWFWYWx1ZVRleHQgaXMgZGVmaW5lZCBpbiBFbGVtZW50SW50ZXJuYWxzIGFz
c2VydF9pbmhlcml0czogcHJvcGVydHkgImFyaWFWYWx1ZVRleHQiIG5vdCBmb3VuZCBpbiBwcm90
b3R5cGUgY2hhaW4KIApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL0VsZW1lbnRJbnRlcm5hbHMt
bGFiZWxzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvRWxl
bWVudEludGVybmFscy1sYWJlbHMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyODU5MzMpCisrKyBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50
cy9mb3JtLWFzc29jaWF0ZWQvRWxlbWVudEludGVybmFscy1sYWJlbHMtZXhwZWN0ZWQudHh0CSh3
b3JraW5nIGNvcHkpCkBAIC0xLDcgKzEsMyBAQAotQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6
IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNo
SW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKLUNPTlNP
TEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxz
JyBpcyB1bmRlZmluZWQpCi0KLUhhcm5lc3MgRXJyb3IgKEZBSUwpLCBtZXNzYWdlID0gVHlwZUVy
cm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0
dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCiAK
IEZBSUwgTEFCRUwgYXNzb2NpYXRpb24gYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgRWxlbWVudCBu
b2RlIDxteS1jb250cm9sPjwvbXktY29udHJvbD4gYnV0IGdvdCBudWxsCiBGQUlMIExBQkVMIGNs
aWNrIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIDEgYnV0IGdvdCAwCkluZGV4OiBMYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFz
c29jaWF0ZWQvRWxlbWVudEludGVybmFscy1zZXRGb3JtVmFsdWUtZXhwZWN0ZWQudHh0Cj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Vz
dG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9FbGVtZW50SW50ZXJuYWxzLXNldEZvcm1WYWx1
ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI4NTkzMykKKysrIExheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2Zvcm0tYXNzb2NpYXRlZC9F
bGVtZW50SW50ZXJuYWxzLXNldEZvcm1WYWx1ZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTEsMTE2ICsxLDU3IEBACi1DT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogdGhpcy5hdHRh
Y2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMo
KScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQotQ09OU09MRSBNRVNTQUdF
OiBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVm
aW5lZCkKLUNPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0
YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCi1DT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjog
dGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJ
bnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQotQ09OU09M
RSBNRVNTQUdFOiBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMn
IGlzIHVuZGVmaW5lZCkKLUNPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaElu
dGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywg
J3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCi1DT05TT0xFIE1FU1NBR0U6IFR5
cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhp
cy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVk
KQotQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJ
bnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKLUNPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlz
LmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVy
bmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCi1DT05TT0xFIE1F
U1NBR0U6IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMg
dW5kZWZpbmVkKQotQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJu
YWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhp
cy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKLUNPTlNPTEUgTUVTU0FHRTogVHlwZUVy
cm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0
dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCi1D
T05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVy
bmFscycgaXMgdW5kZWZpbmVkKQotQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6IHRoaXMuYXR0
YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxz
KCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKLUNPTlNPTEUgTUVTU0FH
RTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRl
ZmluZWQpCi1DT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0
dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQotQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6
IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNo
SW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKLUNPTlNP
TEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxz
JyBpcyB1bmRlZmluZWQpCi1DT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJ
bnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScs
ICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQotQ09OU09MRSBNRVNTQUdFOiBU
eXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3Ro
aXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5l
ZCkKLUNPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNo
SW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCi1DT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogdGhp
cy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRl
cm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQotQ09OU09MRSBN
RVNTQUdFOiBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlz
IHVuZGVmaW5lZCkKLUNPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVy
bmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3Ro
aXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCi1DT05TT0xFIE1FU1NBR0U6IFR5cGVF
cnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5h
dHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQot
Q09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRl
cm5hbHMnIGlzIHVuZGVmaW5lZCkKLUNPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0
dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFs
cygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCi1DT05TT0xFIE1FU1NB
R0U6IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5k
ZWZpbmVkKQotQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxz
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5h
dHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKLUNPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9y
OiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFj
aEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCi1DT05T
T0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFs
cycgaXMgdW5kZWZpbmVkKQotQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6IHRoaXMuYXR0YWNo
SW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCkn
LCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKLUNPTlNPTEUgTUVTU0FHRTog
VHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0
aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmlu
ZWQpCi1DT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMg
bm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFj
aEludGVybmFscycgaXMgdW5kZWZpbmVkKQotQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6IHRo
aXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50
ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKLUNPTlNPTEUg
TUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBp
cyB1bmRlZmluZWQpCi1DT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRl
cm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0
aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQotQ09OU09MRSBNRVNTQUdFOiBUeXBl
RXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMu
YXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkK
LUNPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50
ZXJuYWxzJyBpcyB1bmRlZmluZWQpCi1DT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogdGhpcy5h
dHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5h
bHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQotQ09OU09MRSBNRVNT
QUdFOiBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVu
ZGVmaW5lZCkKLUNPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFs
cyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMu
YXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCi1DT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJv
cjogdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRh
Y2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQotQ09O
U09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5h
bHMnIGlzIHVuZGVmaW5lZCkKLUNPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFj
aEludGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygp
JywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCi1DT05TT0xFIE1FU1NBR0U6
IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
dGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZp
bmVkKQotQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRh
Y2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKLUNPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0
aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaElu
dGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCi1DT05TT0xF
IE1FU1NBR0U6IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycg
aXMgdW5kZWZpbmVkKQotQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50
ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAn
dGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKLUNPTlNPTEUgTUVTU0FHRTogVHlw
ZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlz
LmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQp
Ci1DT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaElu
dGVybmFscycgaXMgdW5kZWZpbmVkKQotQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6IHRoaXMu
YXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJu
YWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKLUNPTlNPTEUgTUVT
U0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1
bmRlZmluZWQpCi1DT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRlcm5h
bHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlz
LmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQotQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJy
b3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0
YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKLUNP
TlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJu
YWxzJyBpcyB1bmRlZmluZWQpCiAKIAotSGFybmVzcyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBU
eXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3Ro
aXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5l
ZCkKLQogUEFTUyBTaW5nbGUgdmFsdWUgLSBuYW1lIGlzIG1pc3NpbmcKLUZBSUwgU2luZ2xlIHZh
bHVlIC0gZW1wdHkgbmFtZSBleGlzdHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUnKQotRkFJTCBTaW5nbGUgdmFsdWUg
LSBOb24tZW1wdHkgbmFtZSBleGlzdHMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUnKQotRkFJTCBOdWxsIHZhbHVlIHNo
b3VsZCBzdWJtaXQgbm90aGluZyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGlu
ZyAndGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZScpCi1GQUlMIE11bHRpcGxlIHZhbHVlcyAt
IG5hbWUgY29udGVudCBhdHRyaWJ1dGUgaXMgaWdub3JlZCB1bmRlZmluZWQgaXMgbm90IGFuIG9i
amVjdCAoZXZhbHVhdGluZyAndGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZScpCi1GQUlMIHNl
dEZvcm1WYWx1ZSB3aXRoIGFuIGVtcHR5IEZvcm1EYXRhIHNob3VsZCBzdWJtaXQgbm90aGluZyB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGhpcy5pbnRlcm5hbHNfLnNl
dEZvcm1WYWx1ZScpCi1GQUlMIE5ld2xpbmUgbm9ybWFsaXphdGlvbiAtIFxuIGluIG5hbWUgKHVy
bGVuY29kZWQpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBv
YmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcg
J3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUnKSIKLUZBSUwgTmV3bGluZSBub3JtYWxpemF0
aW9uIC0gXG4gaW4gbmFtZSAoZm9ybWRhdGEpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBv
YmplY3QgKGV2YWx1YXRpbmcgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUnKSIKLUZBSUwg
TmV3bGluZSBub3JtYWxpemF0aW9uIC0gXHIgaW4gbmFtZSAodXJsZW5jb2RlZCkgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1
bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGhpcy5pbnRlcm5hbHNfLnNl
dEZvcm1WYWx1ZScpIgotRkFJTCBOZXdsaW5lIG5vcm1hbGl6YXRpb24gLSBcciBpbiBuYW1lIChm
b3JtZGF0YSkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAn
dGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZScpIgotRkFJTCBOZXdsaW5lIG5vcm1hbGl6YXRp
b24gLSBcclxuIGluIG5hbWUgKHVybGVuY29kZWQpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBh
biBvYmplY3QgKGV2YWx1YXRpbmcgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUnKSIKLUZB
SUwgTmV3bGluZSBub3JtYWxpemF0aW9uIC0gXHJcbiBpbiBuYW1lIChmb3JtZGF0YSkgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGhpcy5pbnRlcm5hbHNf
LnNldEZvcm1WYWx1ZScpIgotRkFJTCBOZXdsaW5lIG5vcm1hbGl6YXRpb24gLSBcblxyIGluIG5h
bWUgKHVybGVuY29kZWQpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUnKSIKLUZBSUwgTmV3bGluZSBub3Jt
YWxpemF0aW9uIC0gXG5cciBpbiBuYW1lIChmb3JtZGF0YSkgcHJvbWlzZV90ZXN0OiBVbmhhbmRs
ZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMg
bm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZScp
IgotRkFJTCBOZXdsaW5lIG5vcm1hbGl6YXRpb24gLSBcbiBpbiB2YWx1ZSAodXJsZW5jb2RlZCkg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGhpcy5pbnRl
cm5hbHNfLnNldEZvcm1WYWx1ZScpIgotRkFJTCBOZXdsaW5lIG5vcm1hbGl6YXRpb24gLSBcbiBp
biB2YWx1ZSAoZm9ybWRhdGEpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2
YWx1YXRpbmcgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUnKSIKLUZBSUwgTmV3bGluZSBu
b3JtYWxpemF0aW9uIC0gXHIgaW4gdmFsdWUgKHVybGVuY29kZWQpIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVk
IGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFs
dWUnKSIKLUZBSUwgTmV3bGluZSBub3JtYWxpemF0aW9uIC0gXHIgaW4gdmFsdWUgKGZvcm1kYXRh
KSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0aGlzLmlu
dGVybmFsc18uc2V0Rm9ybVZhbHVlJykiCi1GQUlMIE5ld2xpbmUgbm9ybWFsaXphdGlvbiAtIFxy
XG4gaW4gdmFsdWUgKHVybGVuY29kZWQpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmpl
Y3QgKGV2YWx1YXRpbmcgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUnKSIKLUZBSUwgTmV3
bGluZSBub3JtYWxpemF0aW9uIC0gXHJcbiBpbiB2YWx1ZSAoZm9ybWRhdGEpIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5k
ZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RoaXMuaW50ZXJuYWxzXy5zZXRG
b3JtVmFsdWUnKSIKLUZBSUwgTmV3bGluZSBub3JtYWxpemF0aW9uIC0gXG5cciBpbiB2YWx1ZSAo
dXJsZW5jb2RlZCkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGlu
ZyAndGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZScpIgotRkFJTCBOZXdsaW5lIG5vcm1hbGl6
YXRpb24gLSBcblxyIGluIHZhbHVlIChmb3JtZGF0YSkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90
IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZScpIgot
RkFJTCBOZXdsaW5lIG5vcm1hbGl6YXRpb24gLSBcbiBpbiBmaWxlbmFtZSAodXJsZW5jb2RlZCkg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGhpcy5pbnRl
cm5hbHNfLnNldEZvcm1WYWx1ZScpIgotRkFJTCBOZXdsaW5lIG5vcm1hbGl6YXRpb24gLSBcbiBp
biBmaWxlbmFtZSAoZm9ybWRhdGEpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3Qg
KGV2YWx1YXRpbmcgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUnKSIKLUZBSUwgTmV3bGlu
ZSBub3JtYWxpemF0aW9uIC0gXHIgaW4gZmlsZW5hbWUgKHVybGVuY29kZWQpIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5k
ZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RoaXMuaW50ZXJuYWxzXy5zZXRG
b3JtVmFsdWUnKSIKLUZBSUwgTmV3bGluZSBub3JtYWxpemF0aW9uIC0gXHIgaW4gZmlsZW5hbWUg
KGZvcm1kYXRhKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5n
ICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlJykiCi1GQUlMIE5ld2xpbmUgbm9ybWFsaXph
dGlvbiAtIFxyXG4gaW4gZmlsZW5hbWUgKHVybGVuY29kZWQpIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlz
IG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUn
KSIKLUZBSUwgTmV3bGluZSBub3JtYWxpemF0aW9uIC0gXHJcbiBpbiBmaWxlbmFtZSAoZm9ybWRh
dGEpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RoaXMu
aW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUnKSIKLUZBSUwgTmV3bGluZSBub3JtYWxpemF0aW9uIC0g
XG5cciBpbiBmaWxlbmFtZSAodXJsZW5jb2RlZCkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAndGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZScpIgotRkFJ
TCBOZXdsaW5lIG5vcm1hbGl6YXRpb24gLSBcblxyIGluIGZpbGVuYW1lIChmb3JtZGF0YSkgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGhpcy5pbnRlcm5h
bHNfLnNldEZvcm1WYWx1ZScpIgotRkFJTCBOZXdsaW5lIG5vcm1hbGl6YXRpb24gLSBcbiBpbiBG
b3JtRGF0YSBuYW1lICh1cmxlbmNvZGVkKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2Jq
ZWN0IChldmFsdWF0aW5nICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlJykiCi1GQUlMIE5l
d2xpbmUgbm9ybWFsaXphdGlvbiAtIFxuIGluIEZvcm1EYXRhIG5hbWUgKGZvcm1kYXRhKSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0aGlzLmludGVybmFs
c18uc2V0Rm9ybVZhbHVlJykiCi1GQUlMIE5ld2xpbmUgbm9ybWFsaXphdGlvbiAtIFxyIGluIEZv
cm1EYXRhIG5hbWUgKHVybGVuY29kZWQpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmpl
Y3QgKGV2YWx1YXRpbmcgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUnKSIKLUZBSUwgTmV3
bGluZSBub3JtYWxpemF0aW9uIC0gXHIgaW4gRm9ybURhdGEgbmFtZSAoZm9ybWRhdGEpIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RoaXMuaW50ZXJuYWxz
Xy5zZXRGb3JtVmFsdWUnKSIKLUZBSUwgTmV3bGluZSBub3JtYWxpemF0aW9uIC0gXHJcbiBpbiBG
b3JtRGF0YSBuYW1lICh1cmxlbmNvZGVkKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2Jq
ZWN0IChldmFsdWF0aW5nICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlJykiCi1GQUlMIE5l
d2xpbmUgbm9ybWFsaXphdGlvbiAtIFxyXG4gaW4gRm9ybURhdGEgbmFtZSAoZm9ybWRhdGEpIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RoaXMuaW50ZXJu
YWxzXy5zZXRGb3JtVmFsdWUnKSIKLUZBSUwgTmV3bGluZSBub3JtYWxpemF0aW9uIC0gXG5cciBp
biBGb3JtRGF0YSBuYW1lICh1cmxlbmNvZGVkKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4g
b2JqZWN0IChldmFsdWF0aW5nICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlJykiCi1GQUlM
IE5ld2xpbmUgbm9ybWFsaXphdGlvbiAtIFxuXHIgaW4gRm9ybURhdGEgbmFtZSAoZm9ybWRhdGEp
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RoaXMuaW50
ZXJuYWxzXy5zZXRGb3JtVmFsdWUnKSIKLUZBSUwgTmV3bGluZSBub3JtYWxpemF0aW9uIC0gXG4g
aW4gRm9ybURhdGEgdmFsdWUgKHVybGVuY29kZWQpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBh
biBvYmplY3QgKGV2YWx1YXRpbmcgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUnKSIKLUZB
SUwgTmV3bGluZSBub3JtYWxpemF0aW9uIC0gXG4gaW4gRm9ybURhdGEgdmFsdWUgKGZvcm1kYXRh
KSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0aGlzLmlu
dGVybmFsc18uc2V0Rm9ybVZhbHVlJykiCi1GQUlMIE5ld2xpbmUgbm9ybWFsaXphdGlvbiAtIFxy
IGluIEZvcm1EYXRhIHZhbHVlICh1cmxlbmNvZGVkKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3Qg
YW4gb2JqZWN0IChldmFsdWF0aW5nICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlJykiCi1G
QUlMIE5ld2xpbmUgbm9ybWFsaXphdGlvbiAtIFxyIGluIEZvcm1EYXRhIHZhbHVlIChmb3JtZGF0
YSkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGluZyAndGhpcy5p
bnRlcm5hbHNfLnNldEZvcm1WYWx1ZScpIgotRkFJTCBOZXdsaW5lIG5vcm1hbGl6YXRpb24gLSBc
clxuIGluIEZvcm1EYXRhIHZhbHVlICh1cmxlbmNvZGVkKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBu
b3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlJyki
Ci1GQUlMIE5ld2xpbmUgbm9ybWFsaXphdGlvbiAtIFxyXG4gaW4gRm9ybURhdGEgdmFsdWUgKGZv
cm1kYXRhKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0
aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlJykiCi1GQUlMIE5ld2xpbmUgbm9ybWFsaXphdGlv
biAtIFxuXHIgaW4gRm9ybURhdGEgdmFsdWUgKHVybGVuY29kZWQpIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVk
IGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFs
dWUnKSIKLUZBSUwgTmV3bGluZSBub3JtYWxpemF0aW9uIC0gXG5cciBpbiBGb3JtRGF0YSB2YWx1
ZSAoZm9ybWRhdGEpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRp
bmcgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUnKSIKLUZBSUwgTmV3bGluZSBub3JtYWxp
emF0aW9uIC0gXG4gaW4gRm9ybURhdGEgZmlsZW5hbWUgKHVybGVuY29kZWQpIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5k
ZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RoaXMuaW50ZXJuYWxzXy5zZXRG
b3JtVmFsdWUnKSIKLUZBSUwgTmV3bGluZSBub3JtYWxpemF0aW9uIC0gXG4gaW4gRm9ybURhdGEg
ZmlsZW5hbWUgKGZvcm1kYXRhKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChl
dmFsdWF0aW5nICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlJykiCi1GQUlMIE5ld2xpbmUg
bm9ybWFsaXphdGlvbiAtIFxyIGluIEZvcm1EYXRhIGZpbGVuYW1lICh1cmxlbmNvZGVkKSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0aGlzLmludGVybmFs
c18uc2V0Rm9ybVZhbHVlJykiCi1GQUlMIE5ld2xpbmUgbm9ybWFsaXphdGlvbiAtIFxyIGluIEZv
cm1EYXRhIGZpbGVuYW1lIChmb3JtZGF0YSkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9i
amVjdCAoZXZhbHVhdGluZyAndGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZScpIgotRkFJTCBO
ZXdsaW5lIG5vcm1hbGl6YXRpb24gLSBcclxuIGluIEZvcm1EYXRhIGZpbGVuYW1lICh1cmxlbmNv
ZGVkKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0aGlz
LmludGVybmFsc18uc2V0Rm9ybVZhbHVlJykiCi1GQUlMIE5ld2xpbmUgbm9ybWFsaXphdGlvbiAt
IFxyXG4gaW4gRm9ybURhdGEgZmlsZW5hbWUgKGZvcm1kYXRhKSBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBp
cyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVl
JykiCi1GQUlMIE5ld2xpbmUgbm9ybWFsaXphdGlvbiAtIFxuXHIgaW4gRm9ybURhdGEgZmlsZW5h
bWUgKHVybGVuY29kZWQpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUnKSIKLUZBSUwgTmV3bGluZSBub3Jt
YWxpemF0aW9uIC0gXG5cciBpbiBGb3JtRGF0YSBmaWxlbmFtZSAoZm9ybWRhdGEpIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjog
dW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3RoaXMuaW50ZXJuYWxzXy5z
ZXRGb3JtVmFsdWUnKSIKK0ZBSUwgU2luZ2xlIHZhbHVlIC0gZW1wdHkgbmFtZSBleGlzdHMgdGhp
cy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmlu
dGVybmFsc18uc2V0Rm9ybVZhbHVlKHYpJywgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUn
IGlzIHVuZGVmaW5lZCkKK0ZBSUwgU2luZ2xlIHZhbHVlIC0gTm9uLWVtcHR5IG5hbWUgZXhpc3Rz
IHRoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhp
cy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZSh2KScsICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZh
bHVlJyBpcyB1bmRlZmluZWQpCitGQUlMIE51bGwgdmFsdWUgc2hvdWxkIHN1Ym1pdCBub3RoaW5n
IHRoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhp
cy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZSh2KScsICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZh
bHVlJyBpcyB1bmRlZmluZWQpCitGQUlMIE11bHRpcGxlIHZhbHVlcyAtIG5hbWUgY29udGVudCBh
dHRyaWJ1dGUgaXMgaWdub3JlZCB0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUodiknLCAndGhpcy5p
bnRlcm5hbHNfLnNldEZvcm1WYWx1ZScgaXMgdW5kZWZpbmVkKQorRkFJTCBzZXRGb3JtVmFsdWUg
d2l0aCBhbiBlbXB0eSBGb3JtRGF0YSBzaG91bGQgc3VibWl0IG5vdGhpbmcgdGhpcy5pbnRlcm5h
bHNfLnNldEZvcm1WYWx1ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmludGVybmFsc18u
c2V0Rm9ybVZhbHVlKHYpJywgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUnIGlzIHVuZGVm
aW5lZCkKK0ZBSUwgTmV3bGluZSBub3JtYWxpemF0aW9uIC0gXG4gaW4gbmFtZSAodXJsZW5jb2Rl
ZCkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiB0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUodiknLCAndGhpcy5pbnRlcm5hbHNf
LnNldEZvcm1WYWx1ZScgaXMgdW5kZWZpbmVkKSIKK0ZBSUwgTmV3bGluZSBub3JtYWxpemF0aW9u
IC0gXG4gaW4gbmFtZSAoZm9ybWRhdGEpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdGhpcy5pbnRlcm5hbHNfLnNldEZvcm1W
YWx1ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVl
KHYpJywgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUnIGlzIHVuZGVmaW5lZCkiCitGQUlM
IE5ld2xpbmUgbm9ybWFsaXphdGlvbiAtIFxyIGluIG5hbWUgKHVybGVuY29kZWQpIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjog
dGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlz
LmludGVybmFsc18uc2V0Rm9ybVZhbHVlKHYpJywgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFs
dWUnIGlzIHVuZGVmaW5lZCkiCitGQUlMIE5ld2xpbmUgbm9ybWFsaXphdGlvbiAtIFxyIGluIG5h
bWUgKGZvcm1kYXRhKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1
ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHRoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAndGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZSh2KScsICd0aGlz
LmludGVybmFsc18uc2V0Rm9ybVZhbHVlJyBpcyB1bmRlZmluZWQpIgorRkFJTCBOZXdsaW5lIG5v
cm1hbGl6YXRpb24gLSBcclxuIGluIG5hbWUgKHVybGVuY29kZWQpIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdGhpcy5pbnRl
cm5hbHNfLnNldEZvcm1WYWx1ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmludGVybmFs
c18uc2V0Rm9ybVZhbHVlKHYpJywgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUnIGlzIHVu
ZGVmaW5lZCkiCitGQUlMIE5ld2xpbmUgbm9ybWFsaXphdGlvbiAtIFxyXG4gaW4gbmFtZSAoZm9y
bWRhdGEpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmpl
Y3QgIlR5cGVFcnJvcjogdGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZSBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlKHYpJywgJ3RoaXMuaW50ZXJu
YWxzXy5zZXRGb3JtVmFsdWUnIGlzIHVuZGVmaW5lZCkiCitGQUlMIE5ld2xpbmUgbm9ybWFsaXph
dGlvbiAtIFxuXHIgaW4gbmFtZSAodXJsZW5jb2RlZCkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0aGlzLmludGVybmFsc18u
c2V0Rm9ybVZhbHVlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuaW50ZXJuYWxzXy5zZXRG
b3JtVmFsdWUodiknLCAndGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZScgaXMgdW5kZWZpbmVk
KSIKK0ZBSUwgTmV3bGluZSBub3JtYWxpemF0aW9uIC0gXG5cciBpbiBuYW1lIChmb3JtZGF0YSkg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiB0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUodiknLCAndGhpcy5pbnRlcm5hbHNfLnNl
dEZvcm1WYWx1ZScgaXMgdW5kZWZpbmVkKSIKK0ZBSUwgTmV3bGluZSBub3JtYWxpemF0aW9uIC0g
XG4gaW4gdmFsdWUgKHVybGVuY29kZWQpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdGhpcy5pbnRlcm5hbHNfLnNldEZvcm1W
YWx1ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVl
KHYpJywgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUnIGlzIHVuZGVmaW5lZCkiCitGQUlM
IE5ld2xpbmUgbm9ybWFsaXphdGlvbiAtIFxuIGluIHZhbHVlIChmb3JtZGF0YSkgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0
aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMu
aW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUodiknLCAndGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1
ZScgaXMgdW5kZWZpbmVkKSIKK0ZBSUwgTmV3bGluZSBub3JtYWxpemF0aW9uIC0gXHIgaW4gdmFs
dWUgKHVybGVuY29kZWQpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZSBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlKHYpJywgJ3Ro
aXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUnIGlzIHVuZGVmaW5lZCkiCitGQUlMIE5ld2xpbmUg
bm9ybWFsaXphdGlvbiAtIFxyIGluIHZhbHVlIChmb3JtZGF0YSkgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0aGlzLmludGVy
bmFsc18uc2V0Rm9ybVZhbHVlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuaW50ZXJuYWxz
Xy5zZXRGb3JtVmFsdWUodiknLCAndGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZScgaXMgdW5k
ZWZpbmVkKSIKK0ZBSUwgTmV3bGluZSBub3JtYWxpemF0aW9uIC0gXHJcbiBpbiB2YWx1ZSAodXJs
ZW5jb2RlZCkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiB0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUodiknLCAndGhpcy5pbnRl
cm5hbHNfLnNldEZvcm1WYWx1ZScgaXMgdW5kZWZpbmVkKSIKK0ZBSUwgTmV3bGluZSBub3JtYWxp
emF0aW9uIC0gXHJcbiBpbiB2YWx1ZSAoZm9ybWRhdGEpIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdGhpcy5pbnRlcm5hbHNf
LnNldEZvcm1WYWx1ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmludGVybmFsc18uc2V0
Rm9ybVZhbHVlKHYpJywgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUnIGlzIHVuZGVmaW5l
ZCkiCitGQUlMIE5ld2xpbmUgbm9ybWFsaXphdGlvbiAtIFxuXHIgaW4gdmFsdWUgKHVybGVuY29k
ZWQpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogdGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZSBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlKHYpJywgJ3RoaXMuaW50ZXJuYWxz
Xy5zZXRGb3JtVmFsdWUnIGlzIHVuZGVmaW5lZCkiCitGQUlMIE5ld2xpbmUgbm9ybWFsaXphdGlv
biAtIFxuXHIgaW4gdmFsdWUgKGZvcm1kYXRhKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHRoaXMuaW50ZXJuYWxzXy5zZXRG
b3JtVmFsdWUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5pbnRlcm5hbHNfLnNldEZvcm1W
YWx1ZSh2KScsICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlJyBpcyB1bmRlZmluZWQpIgor
RkFJTCBOZXdsaW5lIG5vcm1hbGl6YXRpb24gLSBcbiBpbiBmaWxlbmFtZSAodXJsZW5jb2RlZCkg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiB0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUodiknLCAndGhpcy5pbnRlcm5hbHNfLnNl
dEZvcm1WYWx1ZScgaXMgdW5kZWZpbmVkKSIKK0ZBSUwgTmV3bGluZSBub3JtYWxpemF0aW9uIC0g
XG4gaW4gZmlsZW5hbWUgKGZvcm1kYXRhKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHRoaXMuaW50ZXJuYWxzXy5zZXRGb3Jt
VmFsdWUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1
ZSh2KScsICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlJyBpcyB1bmRlZmluZWQpIgorRkFJ
TCBOZXdsaW5lIG5vcm1hbGl6YXRpb24gLSBcciBpbiBmaWxlbmFtZSAodXJsZW5jb2RlZCkgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiB0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUodiknLCAndGhpcy5pbnRlcm5hbHNfLnNldEZv
cm1WYWx1ZScgaXMgdW5kZWZpbmVkKSIKK0ZBSUwgTmV3bGluZSBub3JtYWxpemF0aW9uIC0gXHIg
aW4gZmlsZW5hbWUgKGZvcm1kYXRhKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHRoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFs
dWUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZSh2
KScsICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlJyBpcyB1bmRlZmluZWQpIgorRkFJTCBO
ZXdsaW5lIG5vcm1hbGl6YXRpb24gLSBcclxuIGluIGZpbGVuYW1lICh1cmxlbmNvZGVkKSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IHRoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
dGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZSh2KScsICd0aGlzLmludGVybmFsc18uc2V0Rm9y
bVZhbHVlJyBpcyB1bmRlZmluZWQpIgorRkFJTCBOZXdsaW5lIG5vcm1hbGl6YXRpb24gLSBcclxu
IGluIGZpbGVuYW1lIChmb3JtZGF0YSkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9u
IHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0aGlzLmludGVybmFsc18uc2V0Rm9ybVZh
bHVlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUo
diknLCAndGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZScgaXMgdW5kZWZpbmVkKSIKK0ZBSUwg
TmV3bGluZSBub3JtYWxpemF0aW9uIC0gXG5cciBpbiBmaWxlbmFtZSAodXJsZW5jb2RlZCkgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiB0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4g
J3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUodiknLCAndGhpcy5pbnRlcm5hbHNfLnNldEZv
cm1WYWx1ZScgaXMgdW5kZWZpbmVkKSIKK0ZBSUwgTmV3bGluZSBub3JtYWxpemF0aW9uIC0gXG5c
ciBpbiBmaWxlbmFtZSAoZm9ybWRhdGEpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdGhpcy5pbnRlcm5hbHNfLnNldEZvcm1W
YWx1ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVl
KHYpJywgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUnIGlzIHVuZGVmaW5lZCkiCitGQUlM
IE5ld2xpbmUgbm9ybWFsaXphdGlvbiAtIFxuIGluIEZvcm1EYXRhIG5hbWUgKHVybGVuY29kZWQp
IHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5
cGVFcnJvcjogdGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZSBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlKGZvcm1EYXRhKScsICd0aGlzLmludGVy
bmFsc18uc2V0Rm9ybVZhbHVlJyBpcyB1bmRlZmluZWQpIgorRkFJTCBOZXdsaW5lIG5vcm1hbGl6
YXRpb24gLSBcbiBpbiBGb3JtRGF0YSBuYW1lIChmb3JtZGF0YSkgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0aGlzLmludGVy
bmFsc18uc2V0Rm9ybVZhbHVlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuaW50ZXJuYWxz
Xy5zZXRGb3JtVmFsdWUoZm9ybURhdGEpJywgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUn
IGlzIHVuZGVmaW5lZCkiCitGQUlMIE5ld2xpbmUgbm9ybWFsaXphdGlvbiAtIFxyIGluIEZvcm1E
YXRhIG5hbWUgKHVybGVuY29kZWQpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1
ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlKGZv
cm1EYXRhKScsICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlJyBpcyB1bmRlZmluZWQpIgor
RkFJTCBOZXdsaW5lIG5vcm1hbGl6YXRpb24gLSBcciBpbiBGb3JtRGF0YSBuYW1lIChmb3JtZGF0
YSkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiB0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUoZm9ybURhdGEpJywgJ3RoaXMuaW50
ZXJuYWxzXy5zZXRGb3JtVmFsdWUnIGlzIHVuZGVmaW5lZCkiCitGQUlMIE5ld2xpbmUgbm9ybWFs
aXphdGlvbiAtIFxyXG4gaW4gRm9ybURhdGEgbmFtZSAodXJsZW5jb2RlZCkgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0aGlz
LmludGVybmFsc18uc2V0Rm9ybVZhbHVlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuaW50
ZXJuYWxzXy5zZXRGb3JtVmFsdWUoZm9ybURhdGEpJywgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3Jt
VmFsdWUnIGlzIHVuZGVmaW5lZCkiCitGQUlMIE5ld2xpbmUgbm9ybWFsaXphdGlvbiAtIFxyXG4g
aW4gRm9ybURhdGEgbmFtZSAoZm9ybWRhdGEpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdGhpcy5pbnRlcm5hbHNfLnNldEZv
cm1WYWx1ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZh
bHVlKGZvcm1EYXRhKScsICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlJyBpcyB1bmRlZmlu
ZWQpIgorRkFJTCBOZXdsaW5lIG5vcm1hbGl6YXRpb24gLSBcblxyIGluIEZvcm1EYXRhIG5hbWUg
KHVybGVuY29kZWQpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogdGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZSBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlKGZvcm1EYXRhKScs
ICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlJyBpcyB1bmRlZmluZWQpIgorRkFJTCBOZXds
aW5lIG5vcm1hbGl6YXRpb24gLSBcblxyIGluIEZvcm1EYXRhIG5hbWUgKGZvcm1kYXRhKSBwcm9t
aXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJy
b3I6IHRoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
dGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZShmb3JtRGF0YSknLCAndGhpcy5pbnRlcm5hbHNf
LnNldEZvcm1WYWx1ZScgaXMgdW5kZWZpbmVkKSIKK0ZBSUwgTmV3bGluZSBub3JtYWxpemF0aW9u
IC0gXG4gaW4gRm9ybURhdGEgdmFsdWUgKHVybGVuY29kZWQpIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdGhpcy5pbnRlcm5h
bHNfLnNldEZvcm1WYWx1ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmludGVybmFsc18u
c2V0Rm9ybVZhbHVlKGZvcm1EYXRhKScsICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlJyBp
cyB1bmRlZmluZWQpIgorRkFJTCBOZXdsaW5lIG5vcm1hbGl6YXRpb24gLSBcbiBpbiBGb3JtRGF0
YSB2YWx1ZSAoZm9ybWRhdGEpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZSBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlKGZvcm1E
YXRhKScsICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlJyBpcyB1bmRlZmluZWQpIgorRkFJ
TCBOZXdsaW5lIG5vcm1hbGl6YXRpb24gLSBcciBpbiBGb3JtRGF0YSB2YWx1ZSAodXJsZW5jb2Rl
ZCkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAi
VHlwZUVycm9yOiB0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUoZm9ybURhdGEpJywgJ3RoaXMuaW50
ZXJuYWxzXy5zZXRGb3JtVmFsdWUnIGlzIHVuZGVmaW5lZCkiCitGQUlMIE5ld2xpbmUgbm9ybWFs
aXphdGlvbiAtIFxyIGluIEZvcm1EYXRhIHZhbHVlIChmb3JtZGF0YSkgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0aGlzLmlu
dGVybmFsc18uc2V0Rm9ybVZhbHVlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuaW50ZXJu
YWxzXy5zZXRGb3JtVmFsdWUoZm9ybURhdGEpJywgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFs
dWUnIGlzIHVuZGVmaW5lZCkiCitGQUlMIE5ld2xpbmUgbm9ybWFsaXphdGlvbiAtIFxyXG4gaW4g
Rm9ybURhdGEgdmFsdWUgKHVybGVuY29kZWQpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVj
dGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdGhpcy5pbnRlcm5hbHNfLnNldEZv
cm1WYWx1ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZh
bHVlKGZvcm1EYXRhKScsICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlJyBpcyB1bmRlZmlu
ZWQpIgorRkFJTCBOZXdsaW5lIG5vcm1hbGl6YXRpb24gLSBcclxuIGluIEZvcm1EYXRhIHZhbHVl
IChmb3JtZGF0YSkgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiB0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUoZm9ybURhdGEpJywg
J3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUnIGlzIHVuZGVmaW5lZCkiCitGQUlMIE5ld2xp
bmUgbm9ybWFsaXphdGlvbiAtIFxuXHIgaW4gRm9ybURhdGEgdmFsdWUgKHVybGVuY29kZWQpIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogdGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZSBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlKGZvcm1EYXRhKScsICd0aGlzLmludGVybmFs
c18uc2V0Rm9ybVZhbHVlJyBpcyB1bmRlZmluZWQpIgorRkFJTCBOZXdsaW5lIG5vcm1hbGl6YXRp
b24gLSBcblxyIGluIEZvcm1EYXRhIHZhbHVlIChmb3JtZGF0YSkgcHJvbWlzZV90ZXN0OiBVbmhh
bmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiB0aGlzLmludGVy
bmFsc18uc2V0Rm9ybVZhbHVlIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuaW50ZXJuYWxz
Xy5zZXRGb3JtVmFsdWUoZm9ybURhdGEpJywgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUn
IGlzIHVuZGVmaW5lZCkiCitGQUlMIE5ld2xpbmUgbm9ybWFsaXphdGlvbiAtIFxuIGluIEZvcm1E
YXRhIGZpbGVuYW1lICh1cmxlbmNvZGVkKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHRoaXMuaW50ZXJuYWxzXy5zZXRGb3Jt
VmFsdWUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1
ZShmb3JtRGF0YSknLCAndGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZScgaXMgdW5kZWZpbmVk
KSIKK0ZBSUwgTmV3bGluZSBub3JtYWxpemF0aW9uIC0gXG4gaW4gRm9ybURhdGEgZmlsZW5hbWUg
KGZvcm1kYXRhKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IHRoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAndGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZShmb3JtRGF0YSknLCAn
dGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZScgaXMgdW5kZWZpbmVkKSIKK0ZBSUwgTmV3bGlu
ZSBub3JtYWxpemF0aW9uIC0gXHIgaW4gRm9ybURhdGEgZmlsZW5hbWUgKHVybGVuY29kZWQpIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogdGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZSBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlKGZvcm1EYXRhKScsICd0aGlzLmludGVybmFs
c18uc2V0Rm9ybVZhbHVlJyBpcyB1bmRlZmluZWQpIgorRkFJTCBOZXdsaW5lIG5vcm1hbGl6YXRp
b24gLSBcciBpbiBGb3JtRGF0YSBmaWxlbmFtZSAoZm9ybWRhdGEpIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdGhpcy5pbnRl
cm5hbHNfLnNldEZvcm1WYWx1ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmludGVybmFs
c18uc2V0Rm9ybVZhbHVlKGZvcm1EYXRhKScsICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVl
JyBpcyB1bmRlZmluZWQpIgorRkFJTCBOZXdsaW5lIG5vcm1hbGl6YXRpb24gLSBcclxuIGluIEZv
cm1EYXRhIGZpbGVuYW1lICh1cmxlbmNvZGVkKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHRoaXMuaW50ZXJuYWxzXy5zZXRG
b3JtVmFsdWUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5pbnRlcm5hbHNfLnNldEZvcm1W
YWx1ZShmb3JtRGF0YSknLCAndGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZScgaXMgdW5kZWZp
bmVkKSIKK0ZBSUwgTmV3bGluZSBub3JtYWxpemF0aW9uIC0gXHJcbiBpbiBGb3JtRGF0YSBmaWxl
bmFtZSAoZm9ybWRhdGEpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZh
bHVlOiBvYmplY3QgIlR5cGVFcnJvcjogdGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZSBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlKGZvcm1EYXRh
KScsICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlJyBpcyB1bmRlZmluZWQpIgorRkFJTCBO
ZXdsaW5lIG5vcm1hbGl6YXRpb24gLSBcblxyIGluIEZvcm1EYXRhIGZpbGVuYW1lICh1cmxlbmNv
ZGVkKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IHRoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAndGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZShmb3JtRGF0YSknLCAndGhpcy5p
bnRlcm5hbHNfLnNldEZvcm1WYWx1ZScgaXMgdW5kZWZpbmVkKSIKK0ZBSUwgTmV3bGluZSBub3Jt
YWxpemF0aW9uIC0gXG5cciBpbiBGb3JtRGF0YSBmaWxlbmFtZSAoZm9ybWRhdGEpIHByb21pc2Vf
dGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjog
dGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlz
LmludGVybmFsc18uc2V0Rm9ybVZhbHVlKGZvcm1EYXRhKScsICd0aGlzLmludGVybmFsc18uc2V0
Rm9ybVZhbHVlJyBpcyB1bmRlZmluZWQpIgogCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvRWxl
bWVudEludGVybmFscy12YWxpZGF0aW9uLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9m
b3JtLWFzc29jaWF0ZWQvRWxlbWVudEludGVybmFscy12YWxpZGF0aW9uLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMjg1OTMzKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL0VsZW1lbnRJbnRlcm5hbHMt
dmFsaWRhdGlvbi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMjAgKzEsMTIgQEAK
LUNPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50
ZXJuYWxzJyBpcyB1bmRlZmluZWQpCi1DT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogdGhpcy5h
dHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5h
bHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQotQ09OU09MRSBNRVNT
QUdFOiBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVu
ZGVmaW5lZCkKLUNPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFs
cyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMu
YXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCi1DT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJv
cjogdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRh
Y2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQotQ09O
U09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5h
bHMnIGlzIHVuZGVmaW5lZCkKIAogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFR5
cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhp
cy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVk
KQotCi1GQUlMIHdpbGxWYWxpZGF0ZSB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxz
JyBpcyB1bmRlZmluZWQpCi1GQUlMIHZhbGlkaXR5IGFuZCBzZXRWYWxpZGl0eSgpIHVuZGVmaW5l
ZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdjb250cm9sLmkudmFsaWRpdHknKQorRkFJ
TCB3aWxsVmFsaWRhdGUgYXNzZXJ0X3RydWU6IGRlZmF1bHQgdmFsdWUgaXMgdHJ1ZSBleHBlY3Rl
ZCB0cnVlIGdvdCB1bmRlZmluZWQKK0ZBSUwgdmFsaWRpdHkgYW5kIHNldFZhbGlkaXR5KCkgdW5k
ZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3ZhbGlkaXR5LnZhbHVlTWlzc2lu
ZycpCiBGQUlMICJhbmNob3IiIGFyZ3VtZW50IG9mIHNldFZhbGlkaXR5KCkgYXNzZXJ0X3Rocm93
c19kb206IE5vdCBhIGRlc2NlbmRhbnQgZnVuY3Rpb24gIigpID0+IHsKICAgICBjb250cm9sLmku
c2V0VmFsaWRpdHkoZmxhZ3MsIG0sIGRvY3VtZW50LmJvZHkpOwotICB9IiB0aHJldyBvYmplY3Qg
IlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2NvbnRy
b2wuaS5zZXRWYWxpZGl0eScpIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBOb3RGb3VuZEVy
cm9yOiBwcm9wZXJ0eSAiY29kZSIgaXMgZXF1YWwgdG8gdW5kZWZpbmVkLCBleHBlY3RlZCA4Ci1G
QUlMIGNoZWNrVmFsaWRpdHkoKSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGlu
ZyAnY29udHJvbC5pLmNoZWNrVmFsaWRpdHknKQotRkFJTCByZXBvcnRWYWxpZGl0eSgpIHVuZGVm
aW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdjb250cm9sLmkucmVwb3J0VmFsaWRp
dHknKQotRkFJTCBDdXN0b20gY29udHJvbCBhZmZlY3RzIHZhbGlkYXRpb24gYXQgdGhlIG93bmVy
IGZvcm0gdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2NvbnRyb2wuaS5j
aGVja1ZhbGlkaXR5JykKKyAgfSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IGNvbnRyb2wuaS5z
ZXRWYWxpZGl0eSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjb250cm9sLmkuc2V0VmFsaWRpdHko
ZmxhZ3MsIG0sIGRvY3VtZW50LmJvZHkpJywgJ2NvbnRyb2wuaS5zZXRWYWxpZGl0eScgaXMgdW5k
ZWZpbmVkKSIgdGhhdCBpcyBub3QgYSBET01FeGNlcHRpb24gTm90Rm91bmRFcnJvcjogcHJvcGVy
dHkgImNvZGUiIGlzIGVxdWFsIHRvIHVuZGVmaW5lZCwgZXhwZWN0ZWQgOAorRkFJTCBjaGVja1Zh
bGlkaXR5KCkgY29udHJvbC5pLmNoZWNrVmFsaWRpdHkgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
Y29udHJvbC5pLmNoZWNrVmFsaWRpdHkoKScsICdjb250cm9sLmkuY2hlY2tWYWxpZGl0eScgaXMg
dW5kZWZpbmVkKQorRkFJTCByZXBvcnRWYWxpZGl0eSgpIGNvbnRyb2wuaS5yZXBvcnRWYWxpZGl0
eSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdjb250cm9sLmkucmVwb3J0VmFsaWRpdHkoKScsICdj
b250cm9sLmkucmVwb3J0VmFsaWRpdHknIGlzIHVuZGVmaW5lZCkKK0ZBSUwgQ3VzdG9tIGNvbnRy
b2wgYWZmZWN0cyB2YWxpZGF0aW9uIGF0IHRoZSBvd25lciBmb3JtIGNvbnRyb2wuaS5jaGVja1Zh
bGlkaXR5IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ2NvbnRyb2wuaS5jaGVja1ZhbGlkaXR5KCkn
LCAnY29udHJvbC5pLmNoZWNrVmFsaWRpdHknIGlzIHVuZGVmaW5lZCkKIEZBSUwgQ3VzdG9tIGNv
bnRyb2wgYWZmZWN0cyA6dmFsaWQgOmludmFsaWQgZm9yIEZPUk0gYW5kIEZJRUxEU0VUIGFzc2Vy
dF90cnVlOiBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQogCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0
ZWQvZm9ybS1hc3NvY2lhdGVkLWNhbGxiYWNrLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50
cy9mb3JtLWFzc29jaWF0ZWQvZm9ybS1hc3NvY2lhdGVkLWNhbGxiYWNrLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMjg1OTMzKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVkL2Zvcm0tYXNzb2NpYXRlZC1j
YWxsYmFjay1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEsMTUgKzEsNiBAQAotQ09O
U09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5h
bHMnIGlzIHVuZGVmaW5lZCkKLUNPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmF0dGFj
aEludGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygp
JywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCi1DT05TT0xFIE1FU1NBR0U6
IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
dGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZp
bmVkKQotQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRh
Y2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKLQotCi0KLQotCi0KLQotCi1IYXJuZXNzIEVycm9y
IChGQUlMKSwgbWVzc2FnZSA9IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaElu
dGVybmFscycgaXMgdW5kZWZpbmVkKQogCitGQUlMIEFzc29jaWF0ZSBieSBwYXJzZXIsIGN1c3Rv
bWl6ZWQgYXQgZWxlbWVudCBjcmVhdGlvbiBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAzIGJ1dCBn
b3QgMgorRkFJTCBQYXJzZWQsIGNvbm5lY3RlZCwgdGhlbiB1cGdyYWRlZCBhc3NlcnRfZXF1YWxz
OiBmb3JtLmVsZW1lbnRzLmxlbmd0aCBleHBlY3RlZCAzIGJ1dCBnb3QgMgorRkFJTCBEaXNhc3Nv
Y2lhdGlvbiBhc3NlcnRfZXF1YWxzOiBmb3JtLmVsZW1lbnRzLmxlbmd0aCBiZWZvcmUgcmVtb3Zh
bCBleHBlY3RlZCAzIGJ1dCBnb3QgMgorRkFJTCBVcGRhdGluZyAiZm9ybSIgY29udGVudCBhdHRy
aWJ1dGUgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKG9iamVjdCkgbnVsbCBidXQgZ290ICh1bmRl
ZmluZWQpIHVuZGVmaW5lZAogCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9mb3JtLWFzc29jaWF0ZWQvZm9ybS1kaXNhYmxl
ZC1jYWxsYmFjay1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvZm9ybS1hc3NvY2lhdGVk
L2Zvcm0tZGlzYWJsZWQtY2FsbGJhY2stZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAyODU5MzMpCisr
KyBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVt
ZW50cy9mb3JtLWFzc29jaWF0ZWQvZm9ybS1kaXNhYmxlZC1jYWxsYmFjay1leHBlY3RlZC50eHQJ
KHdvcmtpbmcgY29weSkKQEAgLTEsMTcgKzEsMTcgQEAKLUNPTlNPTEUgTUVTU0FHRTogVHlwZUVy
cm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0
dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCi1D
T05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVy
bmFscycgaXMgdW5kZWZpbmVkKQotQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6IHRoaXMuYXR0
YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxz
KCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKLUNPTlNPTEUgTUVTU0FH
RTogVHlwZUVycm9yOiB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRl
ZmluZWQpCi1DT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogdGhpcy5hdHRhY2hJbnRlcm5hbHMg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0
dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQorQ09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6
IHRoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhp
cy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZSgnbXktY29udHJvbC12YWx1ZScpJywgJ3RoaXMuaW50
ZXJuYWxzXy5zZXRGb3JtVmFsdWUnIGlzIHVuZGVmaW5lZCkKK0NPTlNPTEUgTUVTU0FHRTogVHlw
ZUVycm9yOiB0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUoJ215LWNvbnRyb2wtdmFsdWUnKScsICd0
aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlJyBpcyB1bmRlZmluZWQpCitDT05TT0xFIE1FU1NB
R0U6IFR5cGVFcnJvcjogdGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZSBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlKCdteS1jb250cm9sLXZhbHVl
JyknLCAndGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZScgaXMgdW5kZWZpbmVkKQorQ09OU09M
RSBNRVNTQUdFOiBUeXBlRXJyb3I6IHRoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAndGhpcy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZSgnbXktY29udHJv
bC12YWx1ZScpJywgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUnIGlzIHVuZGVmaW5lZCkK
K0NPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9yOiB0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVl
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUoJ215
LWNvbnRyb2wtdmFsdWUnKScsICd0aGlzLmludGVybmFsc18uc2V0Rm9ybVZhbHVlJyBpcyB1bmRl
ZmluZWQpCiAKIAogCi1IYXJuZXNzIEVycm9yIChGQUlMKSwgbWVzc2FnZSA9IFR5cGVFcnJvcjog
dGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJ
bnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQorSGFybmVz
cyBFcnJvciAoRkFJTCksIG1lc3NhZ2UgPSBUeXBlRXJyb3I6IHRoaXMuaW50ZXJuYWxzXy5zZXRG
b3JtVmFsdWUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5pbnRlcm5hbHNfLnNldEZvcm1W
YWx1ZSgnbXktY29udHJvbC12YWx1ZScpJywgJ3RoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUn
IGlzIHVuZGVmaW5lZCkKIAotRkFJTCBBZGRpbmcvcmVtb3ZpbmcgZGlzYWJsZWQgY29udGVudCBh
dHRyaWJ1dGUgdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhp
cy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVk
KQorRkFJTCBBZGRpbmcvcmVtb3ZpbmcgZGlzYWJsZWQgY29udGVudCBhdHRyaWJ1dGUgdGhpcy5p
bnRlcm5hbHNfLnNldEZvcm1WYWx1ZSBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmludGVy
bmFsc18uc2V0Rm9ybVZhbHVlKCdteS1jb250cm9sLXZhbHVlJyknLCAndGhpcy5pbnRlcm5hbHNf
LnNldEZvcm1WYWx1ZScgaXMgdW5kZWZpbmVkKQogRkFJTCBSZWxhdGlvbnNoaXAgd2l0aCBGSUVM
RFNFVCBhc3NlcnRfdHJ1ZTogZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIFBBU1MgQSBkaXNhYmxl
ZCBmb3JtLWFzc29jaWF0ZWQgY3VzdG9tIGVsZW1lbnQgc2hvdWxkIG5vdCBwcm92aWRlIGFuIGVu
dHJ5IGZvciBpdAogRkFJTCBBIGRpc2FibGVkIGZvcm0tYXNzb2NpYXRlZCBjdXN0b20gZWxlbWVu
dCBzaG91bGQgbm90IHN1Ym1pdCBhbiBlbnRyeSBmb3IgaXQgYXNzZXJ0X25vdF9lcXVhbHM6IGdv
dCBkaXNhbGxvd2VkIHZhbHVlIC0xCi1GQUlMIERpc2FibGVkIGF0dHJpYnV0ZSBhZmZlY3RzIGZv
Y3VzLWNhcGFiaWxpdHkgdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5k
ZWZpbmVkKQorRkFJTCBEaXNhYmxlZCBhdHRyaWJ1dGUgYWZmZWN0cyBmb2N1cy1jYXBhYmlsaXR5
IHRoaXMuaW50ZXJuYWxzXy5zZXRGb3JtVmFsdWUgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhp
cy5pbnRlcm5hbHNfLnNldEZvcm1WYWx1ZSgnbXktY29udHJvbC12YWx1ZScpJywgJ3RoaXMuaW50
ZXJuYWxzXy5zZXRGb3JtVmFsdWUnIGlzIHVuZGVmaW5lZCkKIEZBSUwgVXBncmFkaW5nIGFuIGVs
ZW1lbnQgd2l0aCBkaXNhYmxlZCBjb250ZW50IGF0dHJpYnV0ZSBhc3NlcnRfYXJyYXlfZXF1YWxz
OiB2YWx1ZSBpcyB1bmRlZmluZWQsIGV4cGVjdGVkIGFycmF5CiAKSW5kZXg6IExheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL3N0YXRlLnRl
bnRhdGl2ZS9FbGVtZW50SW50ZXJuYWxzLXN0YXRlcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxl
bWVudHMvc3RhdGUudGVudGF0aXZlL0VsZW1lbnRJbnRlcm5hbHMtc3RhdGVzLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMjg1OTMzKQorKysgTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvc3RhdGUudGVudGF0aXZlL0VsZW1lbnRJbnRlcm5h
bHMtc3RhdGVzLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIAot
RkFJTCBET01Ub2tlbkxpc3QgYmVoYXZpb3Igb2YgRWxlbWVudEludGVybmFscy5zdGF0ZXM6IElu
aXRpYWwgc3RhdGUgdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
dGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZp
bmVkKQotRkFJTCBET01Ub2tlbkxpc3QgYmVoYXZpb3Igb2YgRWxlbWVudEludGVybmFscy5zdGF0
ZXM6IEV4Y2VwdGlvbnMgdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5k
ZWZpbmVkKQotRkFJTCBET01Ub2tlbkxpc3QgYmVoYXZpb3Igb2YgRWxlbWVudEludGVybmFscy5z
dGF0ZXM6IE1vZGlmaWNhdGlvbnMgdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAndGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycg
aXMgdW5kZWZpbmVkKQorRkFJTCBET01Ub2tlbkxpc3QgYmVoYXZpb3Igb2YgRWxlbWVudEludGVy
bmFscy5zdGF0ZXM6IEluaXRpYWwgc3RhdGUgYXNzZXJ0X3RydWU6IGV4cGVjdGVkIHRydWUgZ290
IGZhbHNlCitGQUlMIERPTVRva2VuTGlzdCBiZWhhdmlvciBvZiBFbGVtZW50SW50ZXJuYWxzLnN0
YXRlczogRXhjZXB0aW9ucyBhc3NlcnRfdGhyb3dzX2RvbTogZnVuY3Rpb24gIigpID0+IHsgaS5z
dGF0ZXMuYWRkKCcnKTsgfSIgdGhyZXcgb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBu
b3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdpLnN0YXRlcy5hZGQnKSIgdGhhdCBpcyBub3QgYSBE
T01FeGNlcHRpb24gU3ludGF4RXJyb3I6IHByb3BlcnR5ICJjb2RlIiBpcyBlcXVhbCB0byB1bmRl
ZmluZWQsIGV4cGVjdGVkIDEyCitGQUlMIERPTVRva2VuTGlzdCBiZWhhdmlvciBvZiBFbGVtZW50
SW50ZXJuYWxzLnN0YXRlczogTW9kaWZpY2F0aW9ucyB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVj
dCAoZXZhbHVhdGluZyAnaS5zdGF0ZXMuYWRkJykKIApJbmRleDogTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvc3RhdGUudGVudGF0aXZl
L3N0YXRlLXBzZXVkby1jbGFzcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvc3RhdGUu
dGVudGF0aXZlL3N0YXRlLXBzZXVkby1jbGFzcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDI4NTkz
MykKKysrIExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9t
LWVsZW1lbnRzL3N0YXRlLnRlbnRhdGl2ZS9zdGF0ZS1wc2V1ZG8tY2xhc3MtZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDggKzEsOCBAQAogCiBQQVNTIDpzdGF0ZSgpIHBhcnNpbmcg
ZmFpbHVyZXMKIEZBSUwgOnN0YXRlKCkgc2VyaWFsaXphdGlvbiB1bmRlZmluZWQgaXMgbm90IGFu
IG9iamVjdCAoZXZhbHVhdGluZyAnZG9jdW1lbnQuc3R5bGVTaGVldHNbMF0uY3NzUnVsZXNbMV0u
Y3NzVGV4dCcpCi1GQUlMIDpzdGF0ZSgpIGluIHNpbXBsZSBjYXNlcyB0aGlzLmF0dGFjaEludGVy
bmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3Ro
aXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCi1GQUlMIDpzdGF0ZSgpIGFuZCBvdGhl
ciBwc2V1ZG8gY2xhc3NlcyB0aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4g
KEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1
bmRlZmluZWQpCi1GQUlMIDpzdGF0ZSgpIGFuZCA6OnBhcnQoKSB0aGlzLmF0dGFjaEludGVybmFs
cyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMu
YXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCi1GQUlMIDpzdGF0ZSgpIGFuZCA6aG9zdCgp
IHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNo
SW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwg
OnN0YXRlKCkgaW4gc2ltcGxlIGNhc2VzIFRoZSBzdHJpbmcgZGlkIG5vdCBtYXRjaCB0aGUgZXhw
ZWN0ZWQgcGF0dGVybi4KK0ZBSUwgOnN0YXRlKCkgYW5kIG90aGVyIHBzZXVkbyBjbGFzc2VzIHVu
ZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdzdGF0ZXMudmFsdWUgPSAnZm9v
JycpCitGQUlMIDpzdGF0ZSgpIGFuZCA6OnBhcnQoKSB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVj
dCAoZXZhbHVhdGluZyAnaW5uZXJTdGF0ZXMuYWRkJykKK0ZBSUwgOnN0YXRlKCkgYW5kIDpob3N0
KCkgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ291dGVyLmkuc3RhdGVz
LnRvZ2dsZScpCiAKSW5kZXg6IExheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0t
dGVzdHMvY3VzdG9tLWVsZW1lbnRzL3N0YXRlL3RlbnRhdGl2ZS9FbGVtZW50SW50ZXJuYWxzLXN0
YXRlcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvc3RhdGUvdGVudGF0aXZlL0VsZW1l
bnRJbnRlcm5hbHMtc3RhdGVzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjg1OTMzKQorKysgTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMv
c3RhdGUvdGVudGF0aXZlL0VsZW1lbnRJbnRlcm5hbHMtc3RhdGVzLWV4cGVjdGVkLnR4dAkod29y
a2luZyBjb3B5KQpAQCAtMSw2ICsxLDYgQEAKIAotRkFJTCBDdXN0b21TdGF0ZVNldCBiZWhhdmlv
ciBvZiBFbGVtZW50SW50ZXJuYWxzLnN0YXRlczogSW5pdGlhbCBzdGF0ZSB0aGlzLmF0dGFjaElu
dGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywg
J3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCi1GQUlMIEN1c3RvbVN0YXRlU2V0
IGJlaGF2aW9yIG9mIEVsZW1lbnRJbnRlcm5hbHMuc3RhdGVzOiBFeGNlcHRpb25zIHRoaXMuYXR0
YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxz
KCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgQ3VzdG9tU3Rh
dGVTZXQgYmVoYXZpb3Igb2YgRWxlbWVudEludGVybmFscy5zdGF0ZXM6IE1vZGlmaWNhdGlvbnMg
dGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndGhpcy5hdHRhY2hJ
bnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZpbmVkKQotRkFJTCBV
cGRhdGluZyBhIEN1c3RvbVN0YXRlU2V0IHdoaWxlIGl0ZXJhdGluZyBpdCBzaG91bGQgd29yayB0
aGlzLmF0dGFjaEludGVybmFscyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaElu
dGVybmFscygpJywgJ3RoaXMuYXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCitGQUlMIEN1
c3RvbVN0YXRlU2V0IGJlaGF2aW9yIG9mIEVsZW1lbnRJbnRlcm5hbHMuc3RhdGVzOiBJbml0aWFs
IHN0YXRlIENhbid0IGZpbmQgdmFyaWFibGU6IEN1c3RvbVN0YXRlU2V0CitGQUlMIEN1c3RvbVN0
YXRlU2V0IGJlaGF2aW9yIG9mIEVsZW1lbnRJbnRlcm5hbHMuc3RhdGVzOiBFeGNlcHRpb25zIGFz
c2VydF90aHJvd3NfZG9tOiBmdW5jdGlvbiAiKCkgPT4geyBpLnN0YXRlcy5hZGQoJycpOyB9IiB0
aHJldyBvYmplY3QgIlR5cGVFcnJvcjogdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1
YXRpbmcgJ2kuc3RhdGVzLmFkZCcpIiB0aGF0IGlzIG5vdCBhIERPTUV4Y2VwdGlvbiBTeW50YXhF
cnJvcjogcHJvcGVydHkgImNvZGUiIGlzIGVxdWFsIHRvIHVuZGVmaW5lZCwgZXhwZWN0ZWQgMTIK
K0ZBSUwgQ3VzdG9tU3RhdGVTZXQgYmVoYXZpb3Igb2YgRWxlbWVudEludGVybmFscy5zdGF0ZXM6
IE1vZGlmaWNhdGlvbnMgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2ku
c3RhdGVzLmFkZCcpCitGQUlMIFVwZGF0aW5nIGEgQ3VzdG9tU3RhdGVTZXQgd2hpbGUgaXRlcmF0
aW5nIGl0IHNob3VsZCB3b3JrIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5n
ICdpLnN0YXRlcy5hZGQnKQogCkluZGV4OiBMYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9zdGF0ZS90ZW50YXRpdmUvc3RhdGUtcHNldWRv
LWNsYXNzLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9zdGF0ZS90ZW50YXRpdmUvc3Rh
dGUtcHNldWRvLWNsYXNzLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMjg1OTMzKQorKysgTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvc3Rh
dGUvdGVudGF0aXZlL3N0YXRlLXBzZXVkby1jbGFzcy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29w
eSkKQEAgLTIsOCArMiw4IEBACiBGQUlMIDotLWZvbyBwYXJzaW5nIHBhc3NlcyBUaGUgc3RyaW5n
IGRpZCBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIHBhdHRlcm4uCiBQQVNTIDotLWZvbyBwYXJzaW5n
IGZhaWx1cmVzCiBGQUlMIDotLWZvbyBzZXJpYWxpemF0aW9uIHVuZGVmaW5lZCBpcyBub3QgYW4g
b2JqZWN0IChldmFsdWF0aW5nICdkb2N1bWVudC5zdHlsZVNoZWV0c1swXS5jc3NSdWxlc1sxXS5j
c3NUZXh0JykKLUZBSUwgOi0tZm9vIGluIHNpbXBsZSBjYXNlcyB0aGlzLmF0dGFjaEludGVybmFs
cyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0aGlzLmF0dGFjaEludGVybmFscygpJywgJ3RoaXMu
YXR0YWNoSW50ZXJuYWxzJyBpcyB1bmRlZmluZWQpCi1GQUlMIDotLWZvbyBhbmQgb3RoZXIgcHNl
dWRvIGNsYXNzZXMgdGhpcy5hdHRhY2hJbnRlcm5hbHMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
dGhpcy5hdHRhY2hJbnRlcm5hbHMoKScsICd0aGlzLmF0dGFjaEludGVybmFscycgaXMgdW5kZWZp
bmVkKQotRkFJTCA6LS1mb28gYW5kIDo6cGFydCgpIHRoaXMuYXR0YWNoSW50ZXJuYWxzIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxzKCknLCAndGhpcy5hdHRhY2hJ
bnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgOi0tZm9vIGFuZCA6aG9zdCgpIHRoaXMuYXR0
YWNoSW50ZXJuYWxzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RoaXMuYXR0YWNoSW50ZXJuYWxz
KCknLCAndGhpcy5hdHRhY2hJbnRlcm5hbHMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgOi0tZm9vIGlu
IHNpbXBsZSBjYXNlcyBUaGUgc3RyaW5nIGRpZCBub3QgbWF0Y2ggdGhlIGV4cGVjdGVkIHBhdHRl
cm4uCitGQUlMIDotLWZvbyBhbmQgb3RoZXIgcHNldWRvIGNsYXNzZXMgdW5kZWZpbmVkIGlzIG5v
dCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ3N0YXRlcy5hZGQnKQorRkFJTCA6LS1mb28gYW5kIDo6
cGFydCgpIHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5nICdpbm5lclN0YXRl
cy5hZGQnKQorRkFJTCA6LS1mb28gYW5kIDpob3N0KCkgdW5kZWZpbmVkIGlzIG5vdCBhbiBvYmpl
Y3QgKGV2YWx1YXRpbmcgJ291dGVyLmkuc3RhdGVzLmFkZCcpCiAK
</data>
<flag name="review"
          id="469579"
          type_id="1"
          status="-"
          setter="rniwa"
    />
    <flag name="commit-queue"
          id="469592"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>