<?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>137860</bug_id>
          
          <creation_ts>2014-10-18 18:02:55 -0700</creation_ts>
          <short_desc>Add relList to the anchor, area and link elements</short_desc>
          <delta_ts>2014-10-22 02:22:19 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dhi Aurrahman">diorahman</reporter>
          <assigned_to name="Dhi Aurrahman">diorahman</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>kling</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1042657</commentid>
    <comment_count>0</comment_count>
    <who name="Dhi Aurrahman">diorahman</who>
    <bug_when>2014-10-18 18:02:55 -0700</bug_when>
    <thetext>Add relList to the anchor, area and link elements</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042661</commentid>
    <comment_count>1</comment_count>
      <attachid>240081</attachid>
    <who name="Dhi Aurrahman">diorahman</who>
    <bug_when>2014-10-18 19:59:54 -0700</bug_when>
    <thetext>Created attachment 240081
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042663</commentid>
    <comment_count>2</comment_count>
      <attachid>240082</attachid>
    <who name="Dhi Aurrahman">diorahman</who>
    <bug_when>2014-10-18 20:37:10 -0700</bug_when>
    <thetext>Created attachment 240082
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042691</commentid>
    <comment_count>3</comment_count>
      <attachid>240082</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-19 11:36:26 -0700</bug_when>
    <thetext>Comment on attachment 240082
Patch

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

I haven&apos;t looked at the tests yet. Just a few comments on the implementation for now.

&gt; Source/WebCore/html/HTMLAnchorElement.cpp:317
&gt; +    if (!m_relList) 

Is this really needed? I mean, if someone calls relList(), we are already doing lazy initialization of m_relList so why so we need to construct it here?

&gt; Source/WebCore/html/HTMLAnchorElement.cpp:319
&gt; +    m_relList.get()-&gt;setRel(value);

if (m_relList)
    m_relList-&gt;setRel(value);

&gt; Source/WebCore/html/HTMLAnchorElement.cpp:326
&gt; +    return *(m_relList.get());

return *m_relList;

&gt; Source/WebCore/html/HTMLAnchorElement.h:30
&gt; +#include &quot;RelList.h&quot;

I am not sure, just checking, but could this be forward declared by any chance?

&gt; Source/WebCore/html/HTMLLinkElement.cpp:384
&gt; +    return *(m_relList.get());

return *m_relList;

&gt; Source/WebCore/html/HTMLLinkElement.cpp:433
&gt; +        m_relList = std::make_unique&lt;RelList&gt;(*this);

Is this really needed? Doing lazy initialization and construct it only if needed would be nice.

&gt; Source/WebCore/html/HTMLLinkElement.cpp:434
&gt; +    m_relList.get()-&gt;setRel(value);

m_relList-&gt;setRel(value);

&gt; Source/WebCore/html/RelList.cpp:46
&gt; +    return hasRel() ? rels().size() : 0;

return rels().size() wouldn&apos;t work?

&gt; Source/WebCore/html/RelList.cpp:52
&gt; +        return AtomicString();

return nullAtom;

&gt; Source/WebCore/html/RelList.cpp:63
&gt; +    if (!hasRel()) {

Can we just check if value.isNull() is true?

&gt; Source/WebCore/html/RelList.cpp:77
&gt; +    return m_element.getAttribute(HTMLNames::relAttr);

I believe we can use fastGetAttribute() here as rel is not an SVG-Animated attribute (or the style attribute).

&gt; Source/WebCore/html/RelList.cpp:85
&gt; +bool RelList::hasRel() const

Why do we need this method at all? Why cannot we rely merely on m_rels?

&gt; Source/WebCore/html/RelList.h:37
&gt; +    RelList(Element&amp; element)

I don&apos;t think we should inline this constructor.

&gt; Source/WebCore/html/RelList.h:39
&gt; +    {

Why don&apos;t we initialize m_rels here?

&gt; Source/WebCore/html/RelList.h:57
&gt; +    const SpaceSplitString&amp; rels() const;

I would get rid of this getter since it is private and trivial. Just use m_rels at call sites.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042692</commentid>
    <comment_count>4</comment_count>
      <attachid>240082</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-19 11:44:58 -0700</bug_when>
    <thetext>Comment on attachment 240082
Patch

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

That&apos;s a lot of testing, Benjamin will love it :)

&gt; LayoutTests/fast/dom/HTMLAnchorElement/rel-list-gc.html:7
&gt; +&lt;script src=&quot;script-tests/rel-list-gc.js&quot;&gt;&lt;/script&gt;

Please embed the JS in this file instead of adding a new js file whenever possible. I know a lot of layout tests are doing this but this is the *old* style.

&gt; LayoutTests/fast/dom/HTMLAnchorElement/rel-list.html:7
&gt; +&lt;script src=&quot;script-tests/rel-list.js&quot;&gt;&lt;/script&gt;

Please embed the JS in this file.

&gt; LayoutTests/fast/dom/HTMLAnchorElement/script-tests/rel-list-gc.js:3
&gt; +function gc()

I am pretty sure js-test-pre.js already has a gc() function?

&gt; LayoutTests/fast/dom/HTMLAnchorElement/script-tests/rel-list.js:136
&gt; +function shouldThrowDOMException(f, ec)

We already have shouldThrow() in js-test-pre.js for all this, please use the existing test infrastructure whenever possible.

&gt; LayoutTests/fast/dom/HTMLAreaElement/rel-list-gc.html:7
&gt; +&lt;script src=&quot;script-tests/rel-list-gc.js&quot;&gt;&lt;/script&gt;

embed js here

&gt; LayoutTests/fast/dom/HTMLAreaElement/rel-list.html:7
&gt; +&lt;script src=&quot;script-tests/rel-list.js&quot;&gt;&lt;/script&gt;

embed js here

&gt; LayoutTests/fast/dom/HTMLAreaElement/script-tests/rel-list-gc.js:3
&gt; +function gc()

Reuse function in js-test-pre.js</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042719</commentid>
    <comment_count>5</comment_count>
      <attachid>240082</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-10-19 20:13:55 -0700</bug_when>
    <thetext>Comment on attachment 240082
Patch

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

Looks pretty good.

I read through the patch and all of Chris’s comments. I agree with all of his comments and I have a few of my own. Please make some fixes and put this up for review again!

&gt; Source/WebCore/html/HTMLAnchorElement.cpp:314
&gt;  {

This function really needs to be made private. It would be really unsafe if anyone called it from outside the class. It should *only* be called in response to a change in the rel attribute.

In fact, I think it might be cleaner to just put the four lines of code inside the parseAttribute function instead of factoring it out into a separate function.

&gt;&gt; Source/WebCore/html/HTMLAnchorElement.h:30
&gt;&gt; +#include &quot;RelList.h&quot;
&gt; 
&gt; I am not sure, just checking, but could this be forward declared by any chance?

We should be able to forward-declare instead of including. It might require some other small tweaks, but I think we should do that.

&gt;&gt; Source/WebCore/html/HTMLLinkElement.cpp:434
&gt;&gt; +    m_relList.get()-&gt;setRel(value);
&gt; 
&gt; m_relList-&gt;setRel(value);

We should just put this one line (actually two, with a null check) into the HTMLLinkElement::parseAttribute function. We shouldn’t add this code.

&gt; Source/WebCore/html/HTMLLinkElement.h:36
&gt; +#include &quot;RelList.h&quot;

Should be able to forward declare RelList.

&gt; Source/WebCore/html/HTMLLinkElement.h:108
&gt;  private:

I don’t understand why we have a second &quot;private&quot; here. This should be removed.

&gt;&gt; Source/WebCore/html/RelList.cpp:63
&gt;&gt; +    if (!hasRel()) {
&gt; 
&gt; Can we just check if value.isNull() is true?

I’ll go further and say that we might not need this optimization at all. And if we do need it, we might want to put it into the SpaceSplitString::set function rather than only have it here in RelList.

&gt; Source/WebCore/html/RelList.cpp:72
&gt; +    return hasRel() &amp;&amp; rels().contains(token);

We don’t need this hasRel() check.

&gt; Source/WebCore/html/RelList.h:48
&gt; +    virtual void ref() override;
&gt; +    virtual void deref() override;
&gt; +
&gt; +    virtual unsigned length() const override;
&gt; +    virtual const AtomicString item(unsigned index) const override;
&gt; +
&gt; +    virtual Element* element() const override;

These should all be private.

&gt; LayoutTests/ChangeLog:17
&gt; +        (gc):

We should remove lines like this if we aren’t using them to comment on functions in JavaScript files. They just make the change log harder to read.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042721</commentid>
    <comment_count>6</comment_count>
      <attachid>240082</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-19 20:19:18 -0700</bug_when>
    <thetext>Comment on attachment 240082
Patch

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

&gt;&gt;&gt; Source/WebCore/html/RelList.cpp:63
&gt;&gt;&gt; +    if (!hasRel()) {
&gt;&gt; 
&gt;&gt; Can we just check if value.isNull() is true?
&gt; 
&gt; I’ll go further and say that we might not need this optimization at all. And if we do need it, we might want to put it into the SpaceSplitString::set function rather than only have it here in RelList.

I think this would require updating SpaceSplitString, because there is currently the following assertion in SpaceSplitStringData::create(const AtomicString&amp; keyString):
ASSERT(!keyString.isNull());

which is called from SpaceSplitString::set().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042738</commentid>
    <comment_count>7</comment_count>
      <attachid>240100</attachid>
    <who name="Dhi Aurrahman">diorahman</who>
    <bug_when>2014-10-19 22:30:59 -0700</bug_when>
    <thetext>Created attachment 240100
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042835</commentid>
    <comment_count>8</comment_count>
      <attachid>240100</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-10-20 09:32:53 -0700</bug_when>
    <thetext>Comment on attachment 240100
Patch

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

Patch is OK, but I would like to see some refined versions if possible.

&gt; Source/WebCore/html/HTMLAnchorElement.cpp:319
&gt; +        m_relList-&gt;setRel(value);

There’s a small unnecessary inefficiency here. This function takes a const String&amp;, but the setRel function takes a const AtomicString&amp;. That means that this call needs to construct an AtomicString from a String. This means we will be compiling in a check to see if a string is already in the atomic string table. All of that can be avoided two different ways:

a) Change the argument type for this function to const AtomicString&amp;.
b) Move the code from here to the single call site, and get rid of this function entirely.

I think the name of this function is misleading, because it does not *set* the rel attribute. It simply responds to a change in the rel attribute.

So to summarize:

- This function’s name is not clear.
- This function’s implementation is slightly inefficient in an unnecessary way because of its argument type.
- This function is short and called in only one place.
- This function was public, but should be a completely private part of this class.

I suggest getting rid of it to fix all of these.

&gt; Source/WebCore/html/HTMLAnchorElement.h:112
&gt; +    void setRel(const String&amp;);

This should be private, not protected.

&gt; Source/WebCore/html/RelList.cpp:30
&gt; +#include &quot;HTMLParserIdioms.h&quot;

What is this include needed for? I don’t see anything below that would require it.

&gt; Source/WebCore/html/RelList.cpp:37
&gt; +    setRel(value());

It’s good code sharing to not repeat what setRel() and value() do, but it’s a little strange to call two virtual functions to do this, even though the “final” optimization means that they will be as efficient as normal function calls. I’d be tempted to put the code in line here.

&gt; Source/WebCore/html/RelList.h:38
&gt; +    void setRel(const AtomicString&amp;);

I probably would have named this updateRelAttribute or relAttributeChanged, or maybe even setValue.

&gt; Source/WebCore/html/RelList.h:51
&gt; +    mutable SpaceSplitString m_rels;

I probably would have named this m_relAttributeValue or m_value or even m_list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042900</commentid>
    <comment_count>9</comment_count>
      <attachid>240100</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2014-10-20 11:32:46 -0700</bug_when>
    <thetext>Comment on attachment 240100
Patch

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

&gt;&gt; Source/WebCore/html/HTMLAnchorElement.cpp:319
&gt;&gt; +        m_relList-&gt;setRel(value);
&gt; 
&gt; There’s a small unnecessary inefficiency here. This function takes a const String&amp;, but the setRel function takes a const AtomicString&amp;. That means that this call needs to construct an AtomicString from a String. This means we will be compiling in a check to see if a string is already in the atomic string table. All of that can be avoided two different ways:
&gt; 
&gt; a) Change the argument type for this function to const AtomicString&amp;.
&gt; b) Move the code from here to the single call site, and get rid of this function entirely.
&gt; 
&gt; I think the name of this function is misleading, because it does not *set* the rel attribute. It simply responds to a change in the rel attribute.
&gt; 
&gt; So to summarize:
&gt; 
&gt; - This function’s name is not clear.
&gt; - This function’s implementation is slightly inefficient in an unnecessary way because of its argument type.
&gt; - This function is short and called in only one place.
&gt; - This function was public, but should be a completely private part of this class.
&gt; 
&gt; I suggest getting rid of it to fix all of these.

a) seems like a good idea because this function is only called from HTMLAnchorElement::parseAttribute() and always with an AtomicString.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042979</commentid>
    <comment_count>10</comment_count>
      <attachid>240100</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-10-20 14:50:29 -0700</bug_when>
    <thetext>Comment on attachment 240100
Patch

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

r+ from me too.

Dhi, since you are not yet a committer, you will need to update the patch here on bugzilla. You don&apos;t need to have another review since you already had r+, you can pass -no-review to webkit-patch when updating. I&apos;ll land your patch manually.

&gt; LayoutTests/ChangeLog:15
&gt; +        * fast/dom/rel-list-expected.txt: Added.
&gt; +        * fast/dom/rel-list-gc-expected.txt: Added.
&gt; +        * fast/dom/rel-list-gc.html: Added.
&gt; +        * fast/dom/rel-list.html: Added.
&gt; +        * perf/rel-list-remove-expected.txt: Added.
&gt; +        * perf/rel-list-remove.html: Added.

Fantastic tests!

&gt; LayoutTests/fast/dom/rel-list-gc.html:10
&gt; +function test(){

&quot;type&quot; could be an argument of test().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042989</commentid>
    <comment_count>11</comment_count>
      <attachid>240152</attachid>
    <who name="Dhi Aurrahman">diorahman</who>
    <bug_when>2014-10-20 15:45:56 -0700</bug_when>
    <thetext>Created attachment 240152
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042995</commentid>
    <comment_count>12</comment_count>
      <attachid>240155</attachid>
    <who name="Dhi Aurrahman">diorahman</who>
    <bug_when>2014-10-20 15:58:48 -0700</bug_when>
    <thetext>Created attachment 240155
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1042996</commentid>
    <comment_count>13</comment_count>
    <who name="Dhi Aurrahman">diorahman</who>
    <bug_when>2014-10-20 16:08:55 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Comment on attachment 240100 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=240100&amp;action=review
&gt; 
&gt; r+ from me too.
&gt; 

Thank you! Thanks Christhope, Darin and Benjamin!

&gt; Dhi, since you are not yet a committer, you will need to update the patch
&gt; here on bugzilla. You don&apos;t need to have another review since you already
&gt; had r+, you can pass -no-review to webkit-patch when updating. I&apos;ll land
&gt; your patch manually.
&gt; 

OK

&gt; &gt; LayoutTests/ChangeLog:15
&gt; &gt; +        * fast/dom/rel-list-expected.txt: Added.
&gt; &gt; +        * fast/dom/rel-list-gc-expected.txt: Added.
&gt; &gt; +        * fast/dom/rel-list-gc.html: Added.
&gt; &gt; +        * fast/dom/rel-list.html: Added.
&gt; &gt; +        * perf/rel-list-remove-expected.txt: Added.
&gt; &gt; +        * perf/rel-list-remove.html: Added.
&gt; 
&gt; Fantastic tests!
&gt; 
&gt; &gt; LayoutTests/fast/dom/rel-list-gc.html:10
&gt; &gt; +function test(){
&gt; 
&gt; &quot;type&quot; could be an argument of test().

I have updated the patch. Thanks</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043045</commentid>
    <comment_count>14</comment_count>
      <attachid>240155</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2014-10-20 18:08:23 -0700</bug_when>
    <thetext>Comment on attachment 240155
Patch

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

Patch looks fine, but for some reason tests are failing on the bots. So I am not setting commit-queue+ on this until we find out what’s wrong. I guess Benjamin said he would land this by hand.

&gt; Source/WebCore/html/HTMLAnchorElement.cpp:267
&gt; +        if (SpaceSplitString::spaceSplitStringContainsValue(value, &quot;noreferrer&quot;, true))
&gt; +            m_linkRelations |= RelationNoReferrer;

Now that you have moved this here, I spotted a mistake in it. Something about having it right here in parseAttribute makes it clear to me: This sets RelationNoReferrer, but never clears it if the rel attribute is changed back to a value that does not include &quot;noreferrer&quot;. We should return to this code later and fix this bug, even though it’s not new.

&gt; Source/WebCore/html/RelList.cpp:36
&gt; +    m_relAttributeValue.set(element.fastGetAttribute(HTMLNames::relAttr), false);

Maybe SpaceSplitString has a constructor we could use instead of calling set.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043150</commentid>
    <comment_count>15</comment_count>
      <attachid>240196</attachid>
    <who name="Dhi Aurrahman">diorahman</who>
    <bug_when>2014-10-21 03:35:26 -0700</bug_when>
    <thetext>Created attachment 240196
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043385</commentid>
    <comment_count>16</comment_count>
      <attachid>240257</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-10-22 01:39:28 -0700</bug_when>
    <thetext>Created attachment 240257
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043386</commentid>
    <comment_count>17</comment_count>
      <attachid>240257</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-10-22 01:40:53 -0700</bug_when>
    <thetext>Comment on attachment 240257
Patch for landing

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

&gt; Source/WebCore/html/RelList.cpp:35
&gt; +    , m_relAttributeValue(SpaceSplitString(element.fastGetAttribute(HTMLNames::relAttr), false))

I moved this from the constructor&apos;s body to the initialisation list for the landing patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043390</commentid>
    <comment_count>18</comment_count>
      <attachid>240257</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-22 02:22:06 -0700</bug_when>
    <thetext>Comment on attachment 240257
Patch for landing

Clearing flags on attachment: 240257

Committed r175028: &lt;http://trac.webkit.org/changeset/175028&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1043391</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-10-22 02:22:19 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240081</attachid>
            <date>2014-10-18 19:59:54 -0700</date>
            <delta_ts>2014-10-18 20:37:00 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137860-20141019095957.patch</filename>
            <type>text/plain</type>
            <size>90113</size>
            <attacher name="Dhi Aurrahman">diorahman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0ODU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTdkMThhNzg5Mzc4MzBh
ZTc1NTQ2MGZjMzE4NWUzMWI2MWY0YTM0ZS4uZWNmMmFkMGE4NWIwZTcyMzExNGEwNTkxMDAxZTdk
ZTgxZmE5OWQwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDE0LTEwLTE4ICBEaGkg
QXVycmFobWFuICA8ZGlvcmFobWFuQHJvY2t5YmFycy5jb20+CisKKyAgICAgICAgQWRkIHJlbExp
c3QgdG8gdGhlIGFuY2hvciwgYXJlYSBhbmQgbGluayBlbGVtZW50cworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3ODYwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHJlbExpc3QgdG8gcmVmbGVjdCB0
aGUgcmVsIGNvbnRlbnQgYXR0cmlidXRlIGZvciBhbmNob3JbMV0sIAorICAgICAgICBhcmVhWzJd
IGFuZCBsaW5rWzNdIGVsZW1lbnRzLgorCisgICAgICAgIFsxXSBodHRwczovL2h0bWwuc3BlYy53
aGF0d2cub3JnL211bHRpcGFnZS9zZW1hbnRpY3MuaHRtbCNkb20tYS1yZWxsaXN0CisgICAgICAg
IFsyXSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9lbWJlZGRlZC1jb250
ZW50Lmh0bWwjZG9tLWFyZWEtcmVsbGlzdAorICAgICAgICBbM10gaHR0cHM6Ly9odG1sLnNwZWMu
d2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc2VtYW50aWNzLmh0bWwjZG9tLWxpbmstcmVsbGlzdAorCisg
ICAgICAgIFRlc3RzOiBmYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9yZWwtbGlzdC1nYy5odG1s
CisgICAgICAgICAgICAgICBmYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9yZWwtbGlzdC1xdWly
a3MuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvcmVsLWxp
c3QuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20vSFRNTEFyZWFFbGVtZW50L3JlbC1saXN0
LWdjLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL0hUTUxBcmVhRWxlbWVudC9yZWwtbGlz
dC1xdWlya3MuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20vSFRNTEFyZWFFbGVtZW50L3Jl
bC1saXN0Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9yZWwt
bGlzdC1nYy5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcmVs
LWxpc3QtcXVpcmtzLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVu
dC9yZWwtbGlzdC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9yZWwtbGlzdC1hbmNob3It
YXJlYS1hbmQtbGluay1lbGVtZW50Lmh0bWwKKyAgICAgICAgICAgICAgIHBlcmYvcmVsLWxpc3Qt
cmVtb3ZlLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIFdlYkNv
cmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dl
YkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxBbmNob3JFbGVtZW50OjpzZXRSZWwpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEFuY2hvckVsZW1lbnQ6OnJlbExpc3QpOgorICAgICAgICAqIGh0bWwvSFRNTEFuY2hv
ckVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbDoKKyAgICAg
ICAgKiBodG1sL0hUTUxBcmVhRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MTGlua0Vs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExpbmtFbGVtZW50OjpwYXJzZUF0dHJp
YnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTGlua0VsZW1lbnQ6OnJlbExpc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTExpbmtFbGVtZW50OjpzZXRSZWwpOgorICAgICAgICAqIGh0bWwv
SFRNTExpbmtFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MTGlua0VsZW1lbnQuaWRsOgor
ICAgICAgICAqIGh0bWwvUmVsTGlzdC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVs
TGlzdDo6cmVmKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbExpc3Q6OmRlcmVmKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbExpc3Q6Omxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpSZWxMaXN0Ojpp
dGVtKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbExpc3Q6OmVsZW1lbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVsTGlzdDo6c2V0UmVsKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbExpc3Q6OmNvbnRh
aW5zSW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6UmVsTGlzdDo6dmFsdWUpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVsTGlzdDo6c2V0VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6UmVsTGlz
dDo6aGFzUmVsKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbExpc3Q6OnJlbHMpOgorICAgICAgICAq
IGh0bWwvUmVsTGlzdC5oOiBBZGRlZC4KKwogMjAxNC0xMC0xNiAgUm9nZXIgRm9uZyAgPHJvZ2Vy
X2ZvbmdAYXBwbGUuY29tPgogCiAgICAgICAgIENhbGxpbmcgZ2xSZWFkUGl4ZWxzIHdpdGggQkdS
QSBmb3JtYXQgb24gYW4gTlZJRElBIG1hY2hpbmUgd2l0aCBhbiBvcGFxdWUgY29udGV4dCByZXR1
cm5zIHRoZSB3cm9uZyBhbHBoYSB2YWx1ZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDY3ZDIx
OGIyZGRlZTI1ODIwY2E4YjhkZmMyZTY5Y2Y2NzJlZjMwMWYuLjMyYzc2NWRlM2ViOTAwNWI0MGI3
NDI2ODJmYjVhZjBjYzcwNDA1MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xNjc2LDYgKzE2
NzYsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaHRtbC9SYWRpb0lucHV0VHlwZS5jcHAK
ICAgICBodG1sL1JhZGlvTm9kZUxpc3QuY3BwCiAgICAgaHRtbC9SYW5nZUlucHV0VHlwZS5jcHAK
KyAgICBodG1sL1JlbExpc3QuY3BwCiAgICAgaHRtbC9SZXNldElucHV0VHlwZS5jcHAKICAgICBo
dG1sL1NlYXJjaElucHV0VHlwZS5jcHAKICAgICBodG1sL1N0ZXBSYW5nZS5jcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IDJiODdjODI0
ZmJkODA5NTE1ZGQyYzE4NWQzZWZhZmQ5MzAyODJjOWMuLjliMWVkNDdlMTBjMjRkOTg0NGQ4NjUy
Yzg3ODM4Zjk2ZDhlNWRiMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4
cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvagpAQCAtMTYwNjIsNiArMTYwNjIsNyBAQAogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5caHRtbFxSYWRpb0lucHV0VHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxodG1sXFJhZGlvTm9kZUxpc3QuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5caHRtbFxSYW5nZUlucHV0VHlwZS5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxodG1sXFJlbExpc3QuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
aHRtbFxSZXNldElucHV0VHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxo
dG1sXFNlYXJjaElucHV0VHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxo
dG1sXFN0ZXBSYW5nZS5jcHAiIC8+CkBAIC0yMDg0Miw2ICsyMDg0Myw3IEBACiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxodG1sXFJhZGlvSW5wdXRUeXBlLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxodG1sXFJhZGlvTm9kZUxpc3QuaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXGh0bWxcUmFuZ2VJbnB1dFR5cGUuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGh0bWxcUmVsTGlzdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRt
bFxSZXNldElucHV0VHlwZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxT
ZWFyY2hJbnB1dFR5cGUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxcU3Rl
cFJhbmdlLmgiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ov
V2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ov
V2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggMWU4MTk0NjI5ZmJhNTIzMjhiZTgxYzRkNTc1
Y2RhOWI4NjM1MGFmYS4uM2MyNTQwYjNhNDlmMjI3MjAwZTk3YWU4ODNiNmUyMWMxNWEyOWRjYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ai5maWx0ZXJzCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2ouZmlsdGVycwpAQCAtNDA1Myw2ICs0MDUzLDkgQEAKICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXGh0bWxcUmFuZ2VJbnB1dFR5cGUuY3BwIj4KICAgICAgIDxGaWx0ZXI+aHRtbDwvRmls
dGVyPgogICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxS
ZWxMaXN0LmNwcCI+CisgICAgICA8RmlsdGVyPmh0bWw8L0ZpbHRlcj4KKyAgICA8L0NsQ29tcGls
ZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcUmVzZXRJbnB1dFR5cGUuY3BwIj4K
ICAgICAgIDxGaWx0ZXI+aHRtbDwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtMTEyMTcs
NiArMTEyMjAsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxSYW5nZUlucHV0
VHlwZS5oIj4KICAgICAgIDxGaWx0ZXI+aHRtbDwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgor
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxSZWxMaXN0LmgiPgorICAgICAgPEZpbHRl
cj5odG1sPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxodG1sXFJlc2V0SW5wdXRUeXBlLmgiPgogICAgICAgPEZpbHRlcj5odG1sPC9GaWx0ZXI+
CiAgICAgPC9DbEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggNGNkNDVlNzAwYzRkZWQ1NGM0YTQ4ZjRmYzBhZjVmMGRl
ZGQyZTE3Yi4uOTVhOGUyN2Y5MjAzZTJkMGIxMTkyNjIyZDU0OGU2MTM1ZmFmMWY3ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
NDY5OCw2ICs0Njk4LDggQEAKIAkJQjJFRDk3NzEwQjFGNTVDRTAwMjU3RDBGIC8qIEdyYXBoaWNz
Q29udGV4dENHLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEIyRUQ5NzcwMEIxRjU1Q0UwMDI1N0QwRiAvKiBHcmFwaGljc0NvbnRleHRDRy5jcHAgKi87
IH07CiAJCUIyRjM0RkU2MEU4MkY4MTQwMEY2MjdDRCAvKiBETlMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyRjM0RkU1MEU4MkY4MTQwMEY2MjdDRCAv
KiBETlMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlCMkYzNEZFOTBFODJGODI3MDBGNjI3Q0QgLyogRE5TQ0ZOZXQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJGMzRGRTgwRTgyRjgyNzAwRjYyN0NE
IC8qIEROU0NGTmV0LmNwcCAqLzsgfTsKKwkJQjJGNzhDRkQxOUYyRjAyRDAwNDk2OTZDIC8qIFJl
bExpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QjJGNzhDRkIxOUYyRjAyRDAwNDk2OTZDIC8qIFJlbExpc3QuY3BwICovOyB9OworCQlCMkY3OENG
RTE5RjJGMDJEMDA0OTY5NkMgLyogUmVsTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQjJGNzhDRkMxOUYyRjAyRDAwNDk2OTZDIC8qIFJlbExpc3Qu
aCAqLzsgfTsKIAkJQjJGQTNEMzYwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZUNvbG9y
RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCMkZBM0M0RTBBQjc1QTZFMDAwRTVBQzQgLyogSlNTVkdBbmltYXRlQ29sb3JFbGVtZW50LmNw
cCAqLzsgfTsKIAkJQjJGQTNEMzcwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZUNvbG9y
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QjJGQTNDNEYwQUI3NUE2RTAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudC5oICov
OyB9OwogCQlCMkZBM0QzODBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdBbmltYXRlZEFuZ2xlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyRkEzQzUw
MEFCNzVBNkUwMDBFNUFDNCAvKiBKU1NWR0FuaW1hdGVkQW5nbGUuY3BwICovOyB9OwpAQCAtMTIw
NzYsNiArMTIwNzgsOCBAQAogCQlCMkVEOTc3MDBCMUY1NUNFMDAyNTdEMEYgLyogR3JhcGhpY3ND
b250ZXh0Q0cuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdyYXBo
aWNzQ29udGV4dENHLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjJGMzRGRTUw
RTgyRjgxNDAwRjYyN0NEIC8qIEROUy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBETlMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjJGMzRGRTgwRTgyRjgyNzAw
RjYyN0NEIC8qIEROU0NGTmV0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEROU0NGTmV0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjJGNzhDRkIx
OUYyRjAyRDAwNDk2OTZDIC8qIFJlbExpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUmVsTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIy
Rjc4Q0ZDMTlGMkYwMkQwMDQ5Njk2QyAvKiBSZWxMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFJlbExpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjJG
QTNDNEUwQUI3NUE2RTAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTVkdBbmltYXRlQ29sb3JFbGVt
ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjJGQTNDNEYwQUI3NUE2RTAw
MEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNTVkdBbmltYXRlQ29sb3JFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUIyRkEzQzUwMEFCNzVBNkUwMDBFNUFDNCAvKiBKU1NWR0FuaW1hdGVk
QW5nbGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1ZHQW5p
bWF0ZWRBbmdsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzkyOCw2ICsx
NzkzMiw4IEBACiAJCQkJQjY1OEZGQTQxNTIyRUZBQTAwREQ1NTk1IC8qIFJhZGlvTm9kZUxpc3Qu
aCAqLywKIAkJCQlGNTVCM0Q5OTEyNTFGMTJEMDAzRUYyNjkgLyogUmFuZ2VJbnB1dFR5cGUuY3Bw
ICovLAogCQkJCUY1NUIzRDlBMTI1MUYxMkQwMDNFRjI2OSAvKiBSYW5nZUlucHV0VHlwZS5oICov
LAorCQkJCUIyRjc4Q0ZCMTlGMkYwMkQwMDQ5Njk2QyAvKiBSZWxMaXN0LmNwcCAqLywKKwkJCQlC
MkY3OENGQzE5RjJGMDJEMDA0OTY5NkMgLyogUmVsTGlzdC5oICovLAogCQkJCUY1NUIzRDlCMTI1
MUYxMkQwMDNFRjI2OSAvKiBSZXNldElucHV0VHlwZS5jcHAgKi8sCiAJCQkJRjU1QjNEOUMxMjUx
RjEyRDAwM0VGMjY5IC8qIFJlc2V0SW5wdXRUeXBlLmggKi8sCiAJCQkJRjU1QjNEOUQxMjUxRjEy
RDAwM0VGMjY5IC8qIFNlYXJjaElucHV0VHlwZS5jcHAgKi8sCkBAIC0yNDY4OCw2ICsyNDY5NCw3
IEBACiAJCQkJRTE1N0E4RjExODE4NTQyNTAwOUY4MjFEIC8qIEpTQ3J5cHRvQWxnb3JpdGhtQnVp
bGRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFDNjU3MTMxODE1RjlERDAwMjU2Q0REIC8qIEpT
Q3J5cHRvQWxnb3JpdGhtRGljdGlvbmFyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE1N0E4RTEx
ODE3MzMxQzAwOUY4MjFEIC8qIEpTQ3J5cHRvS2V5LmggaW4gSGVhZGVycyAqLywKKwkJCQlCMkY3
OENGRTE5RjJGMDJEMDA0OTY5NkMgLyogUmVsTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFG
ODBCOEUxODMxNzJCNTAwNzg4NUMzIC8qIEpTQ3J5cHRvS2V5UGFpci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTEyNUY4NTIxODI4M0E1NjAwRDg0Q0Q5IC8qIEpTQ3J5cHRvS2V5U2VyaWFsaXphdGlv
bkpXSy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyNUY4M0UxODI0MTFFNzAwRDg0Q0Q5IC8qIEpT
Q3J5cHRvT3BlcmF0aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzQxOSw2ICsyNzQyNiw3
IEBACiAJCQkJQ0VDQURGQzYxNTM3NzhGRjAwRTM3MDY4IC8qIERpY3RhdGlvbkFsdGVybmF0aXZl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNFQ0FERkM4MTUzNzc4RkYwMEUzNzA2OCAvKiBEaWN0
YXRpb25Db21tYW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUQwQkQ0RjVDMTQwODg1MEYwMDY4
MzlCNiAvKiBEaWN0YXRpb25Db21tYW5kSU9TLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUIyRjc4
Q0ZEMTlGMkYwMkQwMDQ5Njk2QyAvKiBSZWxMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMx
MkQ2N0IxMTUzNTY5MUYwMDU2M0QwRCAvKiBEaWN0aW9uYXJ5LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUZEQUYxOTk4MTUxM0QxMzEwMDhEQjBDMyAvKiBEaXJlY3RDb252b2x2ZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNDlGQzdBNTAxNDQ0QUY1RjAwQTVEODY0IC8qIERpc3BsYXlSZWZyZXNo
TW9uaXRvci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9y
RWxlbWVudC5jcHAKaW5kZXggMjFlMTM5M2IzODllMjA5MjRkMDE0ZDYxMzIxMGJmM2IxNDVkMjI3
ZC4uMzUyMjdkZWEwM2M1ZmFiYWViNzNiNTMyZTM3YmNkN2Q2NmY4MjFhYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAKQEAgLTMxNCw2ICszMTQsMTYgQEAgdm9p
ZCBIVE1MQW5jaG9yRWxlbWVudDo6c2V0UmVsKGNvbnN0IFN0cmluZyYgdmFsdWUpCiB7CiAgICAg
aWYgKFNwYWNlU3BsaXRTdHJpbmc6OnNwYWNlU3BsaXRTdHJpbmdDb250YWluc1ZhbHVlKHZhbHVl
LCAibm9yZWZlcnJlciIsIHRydWUpKQogICAgICAgICBtX2xpbmtSZWxhdGlvbnMgfD0gUmVsYXRp
b25Ob1JlZmVycmVyOworICAgIGlmICghbV9yZWxMaXN0KSAKKyAgICAgICAgbV9yZWxMaXN0ID0g
c3RkOjptYWtlX3VuaXF1ZTxSZWxMaXN0PigqdGhpcyk7CisgICAgbV9yZWxMaXN0LmdldCgpLT5z
ZXRSZWwodmFsdWUpOworfQorCitET01Ub2tlbkxpc3QmIEhUTUxBbmNob3JFbGVtZW50OjpyZWxM
aXN0KCkKK3sKKyAgICBpZiAoIW1fcmVsTGlzdCkgCisgICAgICAgIG1fcmVsTGlzdCA9IHN0ZDo6
bWFrZV91bmlxdWU8UmVsTGlzdD4oKnRoaXMpOworICAgIHJldHVybiAqKG1fcmVsTGlzdC5nZXQo
KSk7CiB9CiAKIGNvbnN0IEF0b21pY1N0cmluZyYgSFRNTEFuY2hvckVsZW1lbnQ6Om5hbWUoKSBj
b25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oCmluZGV4IDE5NzQxMDc0
MWJkZDBlODM4OGMwZDM4NWY0OGE0MTE4NWE1OTZhMTIuLmJjNjIzMGY5MmMyNWNhNzhlNmYwZmMx
YjQ3YmFjMjU2MmM2MzRiOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFu
Y2hvckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50
LmgKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgogI2luY2x1ZGUg
IkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkxpbmtIYXNoLmgiCisjaW5jbHVkZSAiUmVsTGlzdC5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTEwMiw2ICsxMDMsOCBAQCBwdWJsaWM6CiAg
ICAgTGlua0hhc2ggdmlzaXRlZExpbmtIYXNoKCkgY29uc3Q7CiAgICAgdm9pZCBpbnZhbGlkYXRl
Q2FjaGVkVmlzaXRlZExpbmtIYXNoKCkgeyBtX2NhY2hlZFZpc2l0ZWRMaW5rSGFzaCA9IDA7IH0K
IAorICAgIERPTVRva2VuTGlzdCYgcmVsTGlzdCgpOworCiBwcm90ZWN0ZWQ6CiAgICAgSFRNTEFu
Y2hvckVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTE0MCw2
ICsxNDMsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV93YXNTaGlmdEtleURvd25Pbk1vdXNlRG93
biA6IDE7CiAgICAgdWludDMyX3QgbV9saW5rUmVsYXRpb25zIDogMzA7CiAgICAgbXV0YWJsZSBM
aW5rSGFzaCBtX2NhY2hlZFZpc2l0ZWRMaW5rSGFzaDsKKworICAgIHN0ZDo6dW5pcXVlX3B0cjxS
ZWxMaXN0PiBtX3JlbExpc3Q7CiB9OwogCiBpbmxpbmUgTGlua0hhc2ggSFRNTEFuY2hvckVsZW1l
bnQ6OnZpc2l0ZWRMaW5rSGFzaCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hv
ckVsZW1lbnQuaWRsCmluZGV4IGRmNjgzNjI4MmZmNmU0OTM5YzMxMzUxYzdmNDM4ZTc4NGViOGUy
ZWMuLjVmMzdlZjkzM2ZiMzc1NzY2Nzc5OGIzMzA4ZWNhMTVjZDFkNDUyZGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRsCkBAIC02Niw1ICs2Niw3IEBAIGludGVy
ZmFjZSBIVE1MQW5jaG9yRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgICAvLyBPYmplY3RpdmUt
QyBleHRlbnNpb246CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFVSTCBhYnNvbHV0ZUxpbmtVUkw7
CiAjZW5kaWYKKworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01Ub2tlbkxpc3QgcmVsTGlzdDsK
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50Lmlk
bCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmlkbAppbmRleCBkMDI1MDUy
OWIxNmFkOWZlOTdiMDFkYWE1OGY4YmY2NzVlYzVhNGU0Li44ZjNmMzMwNGJlZGI1ZjdiYmJjYTQ2
Mzg1MTAyY2ExMDA2ZDMwYTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxB
cmVhRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXJlYUVsZW1lbnQu
aWRsCkBAIC0yNCw2ICsyNCw3IEBAIGludGVyZmFjZSBIVE1MQXJlYUVsZW1lbnQgOiBIVE1MRWxl
bWVudCB7CiAgICAgW1JlZmxlY3QsIFVSTF0gYXR0cmlidXRlIERPTVN0cmluZyBocmVmOwogICAg
IFtSZWZsZWN0XSBhdHRyaWJ1dGUgYm9vbGVhbiBub0hyZWY7CiAgICAgW1JlZmxlY3RdIGF0dHJp
YnV0ZSBET01TdHJpbmcgcGluZzsKKyAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBy
ZWw7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgc2hhcGU7CiAgICAgW1JlZmxl
Y3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgdGFyZ2V0OwogCkBAIC00Myw1ICs0NCw3IEBAIGludGVy
ZmFjZSBIVE1MQXJlYUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgLy8gT2JqZWN0aXZlLUMg
ZXh0ZW5zaW9uOgogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBVUkwgYWJzb2x1dGVMaW5rVVJMOwog
I2VuZGlmCisKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NVG9rZW5MaXN0IHJlbExpc3Q7CiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAKaW5kZXggZmE3NTgxMTU3
ZmM1MzYzZThiNDljZTMyNjU1ZmE3ZjA4MTA2OWI3OS4uOTcxYjgxNTcxYzFmMjFmYjE0YmVkMDdh
ZGFjYzQyOGEzMTBlZDUyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlu
a0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNw
cApAQCAtMTM4LDYgKzEzOCw3IEBAIHZvaWQgSFRNTExpbmtFbGVtZW50OjpwYXJzZUF0dHJpYnV0
ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpCiB7CiAgICAgaWYg
KG5hbWUgPT0gcmVsQXR0cikgewogICAgICAgICBtX3JlbEF0dHJpYnV0ZSA9IExpbmtSZWxBdHRy
aWJ1dGUodmFsdWUpOworICAgICAgICBzZXRSZWwodmFsdWUpOwogICAgICAgICBwcm9jZXNzKCk7
CiAgICAgfSBlbHNlIGlmIChuYW1lID09IGhyZWZBdHRyKSB7CiAgICAgICAgIHByb2Nlc3MoKTsK
QEAgLTM3Niw2ICszNzcsMTMgQEAgdm9pZCBIVE1MTGlua0VsZW1lbnQ6OmRpc3BhdGNoUGVuZGlu
Z0V2ZW50KExpbmtFdmVudFNlbmRlciogZXZlbnRTZW5kZXIpCiAgICAgICAgIGxpbmtMb2FkaW5n
RXJyb3JlZCgpOwogfQogCitET01Ub2tlbkxpc3QmIEhUTUxMaW5rRWxlbWVudDo6cmVsTGlzdCgp
Cit7CisgICAgaWYgKCFtX3JlbExpc3QpIAorICAgICAgICBtX3JlbExpc3QgPSBzdGQ6Om1ha2Vf
dW5pcXVlPFJlbExpc3Q+KCp0aGlzKTsKKyAgICByZXR1cm4gKihtX3JlbExpc3QuZ2V0KCkpOwor
fQorCiB2b2lkIEhUTUxMaW5rRWxlbWVudDo6bm90aWZ5TG9hZGVkU2hlZXRBbmRBbGxDcml0aWNh
bFN1YnJlc291cmNlcyhib29sIGVycm9yT2NjdXJyZWQpCiB7CiAgICAgaWYgKG1fZmlyZWRMb2Fk
KQpAQCAtNDE5LDYgKzQyNywxMyBAQCB2b2lkIEhUTUxMaW5rRWxlbWVudDo6aGFuZGxlQ2xpY2so
RXZlbnQmIGV2ZW50KQogICAgIGZyYW1lLT5sb2FkZXIoKS51cmxTZWxlY3RlZCh1cmwsIHRhcmdl
dCgpLCBQYXNzUmVmUHRyPEV2ZW50PigmZXZlbnQpLCBMb2NrSGlzdG9yeTo6Tm8sIExvY2tCYWNr
Rm9yd2FyZExpc3Q6Ok5vLCBNYXliZVNlbmRSZWZlcnJlcik7CiB9CiAKK3ZvaWQgSFRNTExpbmtF
bGVtZW50OjpzZXRSZWwoY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSkgCit7CisgICAgaWYgKCFt
X3JlbExpc3QpIAorICAgICAgICBtX3JlbExpc3QgPSBzdGQ6Om1ha2VfdW5pcXVlPFJlbExpc3Q+
KCp0aGlzKTsKKyAgICBtX3JlbExpc3QuZ2V0KCktPnNldFJlbCh2YWx1ZSk7Cit9CisKIFVSTCBI
VE1MTGlua0VsZW1lbnQ6OmhyZWYoKSBjb25zdAogewogICAgIHJldHVybiBkb2N1bWVudCgpLmNv
bXBsZXRlVVJMKGdldEF0dHJpYnV0ZShocmVmQXR0cikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExp
bmtFbGVtZW50LmgKaW5kZXggY2RkN2I0NzdkYWVmM2M1MzBlOWQ0N2UyNWZiZmZmNTliZTkzM2Fi
Ni4uYmE2MDVlYWZmMzQxNTUzYmJkNDczMDZkMDBmMGQ5ZmI5YWIwMjU3YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxMaW5rRWxlbWVudC5oCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiTGlu
a0xvYWRlci5oIgogI2luY2x1ZGUgIkxpbmtMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJMaW5r
UmVsQXR0cmlidXRlLmgiCisjaW5jbHVkZSAiUmVsTGlzdC5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKQEAgLTcxLDYgKzcyLDggQEAgcHVibGljOgogICAgIHZvaWQgZGlzcGF0Y2hQZW5kaW5n
RXZlbnQoTGlua0V2ZW50U2VuZGVyKik7CiAgICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hQZW5kaW5n
TG9hZEV2ZW50cygpOwogCisgICAgRE9NVG9rZW5MaXN0JiByZWxMaXN0KCk7CisKIHByaXZhdGU6
CiAgICAgdmlydHVhbCB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBj
b25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKIApAQCAtMTAwLDYgKzEwMyw4IEBAIHByaXZh
dGU6CiAgICAgdmlydHVhbCB2b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKSBvdmVycmlk
ZTsKICAgICB2b2lkIGhhbmRsZUNsaWNrKEV2ZW50Jik7CiAKKyAgICB2b2lkIHNldFJlbChjb25z
dCBBdG9taWNTdHJpbmcmKTsKKwogcHJpdmF0ZToKICAgICBIVE1MTGlua0VsZW1lbnQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIERvY3VtZW50JiwgYm9vbCBjcmVhdGVkQnlQYXJzZXIpOwogCkBAIC0x
MzgsNiArMTQzLDggQEAgcHJpdmF0ZToKICAgICBib29sIG1fbG9hZGVkU2hlZXQ7CiAKICAgICBQ
ZW5kaW5nU2hlZXRUeXBlIG1fcGVuZGluZ1NoZWV0VHlwZTsKKworICAgIHN0ZDo6dW5pcXVlX3B0
cjxSZWxMaXN0PiBtX3JlbExpc3Q7CiB9OwogCiB9IC8vbmFtZXNwYWNlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxMaW5rRWxlbWVudC5pZGwKaW5kZXggMGE0ZTM0NzU5ZjU3ZDk4YThmYzBjMWJlYjcy
MWM5NzZkN2MwN2Y3Ni4uOTVhNjQxY2NmNWQ5MGEyODYyNmY3YjRiN2E0ZTAwNTg1YTMzMjAyMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmlkbApAQCAtNDAsNSArNDAsNyBA
QCBpbnRlcmZhY2UgSFRNTExpbmtFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgIC8vIE9iamVj
dGl2ZS1DIGV4dGVuc2lvbjoKICAgICByZWFkb25seSBhdHRyaWJ1dGUgVVJMIGFic29sdXRlTGlu
a1VSTDsKICNlbmRpZgorCisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVRva2VuTGlzdCByZWxM
aXN0OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9SZWxMaXN0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvUmVsTGlzdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDUzYTdkYmNjZWVh
MDQxOTFkNzViMTFlNmU4MTYwMDJmNjllMmNmNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvUmVsTGlzdC5jcHAKQEAgLTAsMCArMSw5NiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNCBEaGkgQXVycmFobWFuIDxkaW9yYWhtYW5Acm9ja3liYXJzLmNvbT4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJSZWxMaXN0LmgiCisKKyNpbmNs
dWRlICJFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiSFRNTFBh
cnNlcklkaW9tcy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgUmVsTGlzdDo6cmVm
KCkKK3sKKyAgICBtX2VsZW1lbnQucmVmKCk7Cit9CisKK3ZvaWQgUmVsTGlzdDo6ZGVyZWYoKQor
eworICAgIG1fZWxlbWVudC5kZXJlZigpOworfQorCit1bnNpZ25lZCBSZWxMaXN0OjpsZW5ndGgo
KSBjb25zdAoreworICAgIHJldHVybiBoYXNSZWwoKSA/IHJlbHMoKS5zaXplKCkgOiAwOworfQor
Citjb25zdCBBdG9taWNTdHJpbmcgUmVsTGlzdDo6aXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3QK
K3sKKyAgICBpZiAoaW5kZXggPj0gbGVuZ3RoKCkpCisgICAgICAgIHJldHVybiBBdG9taWNTdHJp
bmcoKTsKKyAgICByZXR1cm4gcmVscygpW2luZGV4XTsKK30KKworRWxlbWVudCogUmVsTGlzdDo6
ZWxlbWVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuICZtX2VsZW1lbnQ7Cit9CisKK3ZvaWQgUmVs
TGlzdDo6c2V0UmVsKGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCit7CisgICAgaWYgKCFoYXNS
ZWwoKSkgeworICAgICAgICBtX3JlbHMuY2xlYXIoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KyAgICBtX3JlbHMuc2V0KHZhbHVlLCBmYWxzZSk7Cit9CisKK2Jvb2wgUmVsTGlzdDo6Y29udGFp
bnNJbnRlcm5hbChjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuKSBjb25zdAoreworICAgIHJldHVy
biBoYXNSZWwoKSAmJiByZWxzKCkuY29udGFpbnModG9rZW4pOworfQorCitBdG9taWNTdHJpbmcg
UmVsTGlzdDo6dmFsdWUoKSBjb25zdAoreworICAgIHJldHVybiBtX2VsZW1lbnQuZ2V0QXR0cmli
dXRlKEhUTUxOYW1lczo6cmVsQXR0cik7Cit9CisKK3ZvaWQgUmVsTGlzdDo6c2V0VmFsdWUoY29u
c3QgQXRvbWljU3RyaW5nJiB2YWx1ZSkKK3sKKyAgICBtX2VsZW1lbnQuc2V0QXR0cmlidXRlKEhU
TUxOYW1lczo6cmVsQXR0ciwgdmFsdWUpOworfQorCitib29sIFJlbExpc3Q6Omhhc1JlbCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIG1fZWxlbWVudC5oYXNBdHRyaWJ1dGUoSFRNTE5hbWVzOjpyZWxB
dHRyKTsKK30KKworY29uc3QgU3BhY2VTcGxpdFN0cmluZyYgUmVsTGlzdDo6cmVscygpIGNvbnN0
Cit7CisgICAgcmV0dXJuIG1fcmVsczsgICAgCit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9SZWxMaXN0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL1JlbExpc3QuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNDMxYTI5OGE5ZDM1MTNkNDc0NzQxNDQ0
MGUyYjBlOWQwZDI5NTc3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9S
ZWxMaXN0LmgKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBEaGkg
QXVycmFobWFuIDxkaW9yYWhtYW5Acm9ja3liYXJzLmNvbT4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
ICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICog
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
UmVsTGlzdF9oCisjZGVmaW5lIFJlbExpc3RfaAorCisjaW5jbHVkZSAiRE9NVG9rZW5MaXN0Lmgi
CisjaW5jbHVkZSAiU3BhY2VTcGxpdFN0cmluZy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIEVsZW1lbnQ7CisKK2NsYXNzIFJlbExpc3QgZmluYWwgOiBwdWJsaWMgRE9NVG9rZW5M
aXN0IHsKK3B1YmxpYzoKKyAgICBSZWxMaXN0KEVsZW1lbnQmIGVsZW1lbnQpCisgICAgICAgIDog
bV9lbGVtZW50KGVsZW1lbnQpCisgICAgeworICAgIH0KKworICAgIHZpcnR1YWwgdm9pZCByZWYo
KSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGVyZWYoKSBvdmVycmlkZTsKKworICAgIHZp
cnR1YWwgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBjb25z
dCBBdG9taWNTdHJpbmcgaXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3Qgb3ZlcnJpZGU7CisKKyAg
ICB2aXJ0dWFsIEVsZW1lbnQqIGVsZW1lbnQoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lkIHNl
dFJlbChjb25zdCBBdG9taWNTdHJpbmcmKTsKKworcHJpdmF0ZToKKyAgICB2aXJ0dWFsIGJvb2wg
Y29udGFpbnNJbnRlcm5hbChjb25zdCBBdG9taWNTdHJpbmcmKSBjb25zdCBvdmVycmlkZTsKKyAg
ICB2aXJ0dWFsIEF0b21pY1N0cmluZyB2YWx1ZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1
YWwgdm9pZCBzZXRWYWx1ZShjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKKworICAgIGJv
b2wgaGFzUmVsKCkgY29uc3Q7CisgICAgY29uc3QgU3BhY2VTcGxpdFN0cmluZyYgcmVscygpIGNv
bnN0OworCisgICAgRWxlbWVudCYgbV9lbGVtZW50OworICAgIG11dGFibGUgU3BhY2VTcGxpdFN0
cmluZyBtX3JlbHM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBS
ZWxMaXN0X2gKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDUxOThjMGI0NGMzMDgwZDllOGMwNTY4Y2FjZTgwODI4MjcyNjM0
ZDEuLjY5OTZjNTUzYTU5ZDQyNDQ3YzVjNzY5ZWI0MDBkY2QzNTVjYjg1MDIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NiBAQAorMjAxNC0xMC0xOCAgRGhpIEF1cnJhaG1hbiAgPGRpb3JhaG1hbkByb2NreWJh
cnMuY29tPgorCisgICAgICAgIEFkZCByZWxMaXN0IHRvIHRoZSBhbmNob3IsIGFyZWEgYW5kIGxp
bmsgZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzNzg2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRlc3RzIHJlbExpc3QgYXNwZWN0cyBmb3IgYW5jaG9yLCBhcmVhIGFuZCBsaXN0IGVsZW1l
bnRzLgorCisgICAgICAgICogZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvcmVsLWxpc3QtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9y
ZWwtbGlzdC1nYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxB
bmNob3JFbGVtZW50L3JlbC1saXN0LWdjLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9t
L0hUTUxBbmNob3JFbGVtZW50L3JlbC1saXN0LXF1aXJrcy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L3JlbC1saXN0LXF1aXJrcy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9yZWwtbGlzdC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zY3JpcHQt
dGVzdHMvcmVsLWxpc3QtZ2MuanM6IEFkZGVkLgorICAgICAgICAoZ2MpOgorICAgICAgICAqIGZh
c3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L3NjcmlwdC10ZXN0cy9yZWwtbGlzdC5qczogQWRkZWQu
CisgICAgICAgIChjcmVhdGVFbGVtZW50KToKKyAgICAgICAgKHNob3VsZFRocm93RE9NRXhjZXB0
aW9uKToKKyAgICAgICAgKHNob3VsZEJlRXF1YWxUb1N0cmluZyk6CisgICAgICAgIChvYnNlcnZl
cik6CisgICAgICAgICogZmFzdC9kb20vSFRNTEFyZWFFbGVtZW50L3JlbC1saXN0LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEFyZWFFbGVtZW50L3JlbC1saXN0
LWdjLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEFyZWFFbGVt
ZW50L3JlbC1saXN0LWdjLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxBcmVh
RWxlbWVudC9yZWwtbGlzdC1xdWlya3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2RvbS9IVE1MQXJlYUVsZW1lbnQvcmVsLWxpc3QtcXVpcmtzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL0hUTUxBcmVhRWxlbWVudC9yZWwtbGlzdC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2RvbS9IVE1MQXJlYUVsZW1lbnQvc2NyaXB0LXRlc3RzL3JlbC1saXN0LWdj
LmpzOiBBZGRlZC4KKyAgICAgICAgKGdjKToKKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MQXJlYUVs
ZW1lbnQvc2NyaXB0LXRlc3RzL3JlbC1saXN0LmpzOiBBZGRlZC4KKyAgICAgICAgKGNyZWF0ZUVs
ZW1lbnQpOgorICAgICAgICAoc2hvdWxkVGhyb3dET01FeGNlcHRpb24pOgorICAgICAgICAoc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKToKKyAgICAgICAgKG9ic2VydmVyKToKKyAgICAgICAgKiBmYXN0
L2RvbS9IVE1MTGlua0VsZW1lbnQvcmVsLWxpc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcmVsLWxpc3QtZ2MtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcmVsLWxpc3QtZ2MuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTExpbmtFbGVtZW50L3JlbC1saXN0LXF1
aXJrcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxMaW5rRWxl
bWVudC9yZWwtbGlzdC1xdWlya3MuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRN
TExpbmtFbGVtZW50L3JlbC1saXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hU
TUxMaW5rRWxlbWVudC9zY3JpcHQtdGVzdHMvcmVsLWxpc3QtZ2MuanM6IEFkZGVkLgorICAgICAg
ICAoZ2MpOgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9zY3JpcHQtdGVzdHMv
cmVsLWxpc3QuanM6IEFkZGVkLgorICAgICAgICAoY3JlYXRlRWxlbWVudCk6CisgICAgICAgIChz
aG91bGRUaHJvd0RPTUV4Y2VwdGlvbik6CisgICAgICAgIChzaG91bGRCZUVxdWFsVG9TdHJpbmcp
OgorICAgICAgICAob2JzZXJ2ZXIpOgorICAgICAgICAqIGZhc3QvZG9tL3JlbC1saXN0LWFuY2hv
ci1hcmVhLWFuZC1saW5rLWVsZW1lbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2RvbS9yZWwtbGlzdC1hbmNob3ItYXJlYS1hbmQtbGluay1lbGVtZW50Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHBlcmYvcmVsLWxpc3QtcmVtb3ZlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogcGVyZi9yZWwtbGlzdC1yZW1vdmUuaHRtbDogQWRkZWQuCisKIDIwMTQtMTAtMTcg
IE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CiAKICAgICAgICAgRG9uJ3QgY3Jl
YXRlIGNhY2hlZCBmdW5jdGlvbnMgdGhhdCBhY2Nlc3MgbGV4aWNhbEdsb2JhbE9iamVjdCgpCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9yZWwtbGlz
dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9y
ZWwtbGlzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjdmYjk5Y2ZjY2Y5NWJkNTBhZjU3OTFh
ZGNiZDc2YTQ0OTI1Zjc4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L0hUTUxBbmNob3JFbGVtZW50L3JlbC1saXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExMyBA
QAorVGVzdHMgdGhlIHJlbExpc3QgYXR0cmlidXRlIGFuZCBpdHMgcHJvcGVydGllcy4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1Rlc3RzIGZyb20gaHR0cDovL3NpbW9uLmh0bWw1
Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0LworUEFTUyBTdHJpbmco
ZWxlbWVudC5yZWxMaXN0KSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAw
CitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMQorUEFTUyBlbGVtZW50LnJlbExpc3Qu
bGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1l
bnQucmVsIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbCBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWwg
aXMgInggIHgiCitQQVNTIGVsZW1lbnQucmVsIGlzICJ5IHgiCitQQVNTIGVsZW1lbnQucmVsIGlz
ICIiCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsIGlzICIgeSB5ICIK
K1BBU1MgZWxlbWVudC5yZWwgaXMgInkiCitFbnN1cmUgdGhhdCB3ZSBjYW4gaGFuZGxlIGVtcHR5
IGNsYXNzIG5hbWUgY29ycmVjdGx5CitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnKSBp
cyB0cnVlCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9n
Z2xlKCd4JykgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0LmNvbnRhaW5zKCd4JykgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzFdIGlz
IHVuZGVmaW5lZC4KK1Rlc3QgdG9nZ2xlIHdpdGggZm9yY2UgYXJndW1lbnQKK1BBU1MgZWxlbWVu
dC5yZWxMaXN0LnRvZ2dsZSgneCcsIHRydWUpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWwgaXMg
IngiCitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnLCB0cnVlKSBpcyB0cnVlCitQQVNT
IGVsZW1lbnQucmVsIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgZmFs
c2UpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsTGlz
dC50b2dnbGUoJ3gnLCBmYWxzZSkgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BB
U1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgnJywgdHJ1ZSkgdGhyZXcgZXhwZWN0ZWQgRE9NRXhj
ZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4IHknLCBm
YWxzZSkgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSA1CitUZXN0aW5nIGFk
ZCBpbiBwcmVzZW5jZSBvZiB0cmFpbGluZyB3aGl0ZSBzcGFjZXMuCitQQVNTIGVsZW1lbnQucmVs
IGlzICJ4IHkiCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4XHR5IgorUEFTUyBlbGVtZW50LnJlbCBp
cyAiIHkiCitUZXN0IGludmFsaWQgdG9rZW5zCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlu
cygnJykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVt
ZW50LnJlbExpc3QuY29udGFpbnMoJ3ggeScpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3
aXRoIGNvZGUgNQorUEFTUyBlbGVtZW50LnJlbExpc3QuYWRkKCcnKSB0aHJldyBleHBlY3RlZCBE
T01FeGNlcHRpb24gd2l0aCBjb2RlIDEyCitQQVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoJ3ggeScp
IHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgNQorUEFTUyBlbGVtZW50LnJl
bExpc3QucmVtb3ZlKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDEy
CitQQVNTIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoJ3ggeScpIHRocmV3IGV4cGVjdGVkIERPTUV4
Y2VwdGlvbiB3aXRoIGNvZGUgNQorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCcnKSB0aHJl
dyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDEyCitQQVNTIGVsZW1lbnQucmVsTGlz
dC50b2dnbGUoJ3ggeScpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgNQor
UEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
Tm90IGVub3VnaCBhcmd1bWVudHMuCitJbmRleGluZworUEFTUyBlbGVtZW50LnJlbExpc3RbMF0g
aXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5pdGVtKDApIGlzICJ4IgorUEFTUyBlbGVtZW50
LnJlbExpc3RbMV0gaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5pdGVtKDEpIGlzICJ4Igor
UEFTUyBlbGVtZW50LnJlbExpc3RbMV0gaXMgInkiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5pdGVt
KDEpIGlzICJ5IgorUEFTUyBlbGVtZW50LnJlbExpc3RbMF0gaXMgdW5kZWZpbmVkLgorUEFTUyBl
bGVtZW50LnJlbExpc3QuaXRlbSgwKSBpcyBudWxsCitQQVNTIGVsZW1lbnQucmVsTGlzdFs0XSBp
cyB1bmRlZmluZWQuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5pdGVtKDQpIGlzIG51bGwKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0Wy0xXSBpcyB1bmRlZmluZWQuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5p
dGVtKC0xKSBpcyBudWxsCitQQVNTIGVsZW1lbnQucmVsTGlzdC5pdGVtKCkgdGhyZXcgZXhjZXB0
aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitUZXN0IGNhc2Ugc2luY2UgRE9N
VG9rZW5MaXN0IGlzIGNhc2Ugc2Vuc2l0aXZlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlu
cygneCcpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCdYJykgaXMgZmFs
c2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzBdIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3Qu
Y29udGFpbnMoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50
cy4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCdYJykgaXMgdHJ1ZQorUEFTUyBlbGVt
ZW50LnJlbExpc3QuY29udGFpbnMoJ3gnKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3Rb
MF0gaXMgIlgiCitUZXN0aW5nIHdoaXRlc3BhY2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0
aCBpcyAyCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJl
bExpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNT
IGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMgorRE9NVG9rZW5MaXN0IHByZXNlbmNlIGFuZCB0
eXBlCitQQVNTICd1bmRlZmluZWQnICE9IHR5cGVvZiBET01Ub2tlbkxpc3QgaXMgdHJ1ZQorUEFT
UyB0eXBlb2YgRE9NVG9rZW5MaXN0LnByb3RvdHlwZSBpcyAib2JqZWN0IgorUEFTUyB0eXBlb2Yg
ZWxlbWVudC5yZWxMaXN0IGlzICJvYmplY3QiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb25zdHJ1
Y3RvciBpcyBET01Ub2tlbkxpc3QKK1BBU1MgZWxlbWVudC5yZWxMaXN0ID09PSBlbGVtZW50LnJl
bExpc3QgaXMgdHJ1ZQorVmFyaWFkaWMgY2FsbHMKK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiIK
K1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiBjIgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIGMg
bnVsbCBkIHVuZGVmaW5lZCAwIGZhbHNlIgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIgorUEFT
UyBlbGVtZW50LnJlbExpc3QuYWRkKCdhJywgJ2InLCAnJykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhj
ZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50
LnJlbExpc3QuYWRkKCdhJywgJ2InLCAnYyBkJykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9u
IHdpdGggY29kZSA1CitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsTGlz
dC5hZGQoImEiLCB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkgeyB0aHJvdyBuZXcgRXJyb3IoInVzZXIg
ZXJyb3IiKTsgfX0sICJiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiB1c2VyIGVycm9yLgorUEFT
UyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExpc3QuYWRkKCkgZGlkIG5vdCB0
aHJvdyBleGNlcHRpb24uCitQQVNTIG9ic2VydmVyLnRha2VSZWNvcmRzKCkubGVuZ3RoIGlzIDEK
K1BBU1MgZWxlbWVudC5yZWwgaXMgImIgZCAgIgorUEFTUyBlbGVtZW50LnJlbCBpcyAiZCAgIgor
UEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIGMiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUo
J2EnLCAnYicsICcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDEyCitQ
QVNTIGVsZW1lbnQucmVsIGlzICJhIGIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoImEi
LCB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkgeyB0aHJvdyBuZXcgRXJyb3IoInVzZXIgZXJyb3IiKTsg
fX0sICJiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiB1c2VyIGVycm9yLgorUEFTUyBlbGVtZW50
LnJlbCBpcyAiYSBiIgorUEFTUyBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCdhJywgJ2InLCAnYyBk
JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSA1CitQQVNTIGVsZW1lbnQu
cmVsIGlzICJhIGIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoKSBkaWQgbm90IHRocm93
IGV4Y2VwdGlvbi4KK1BBU1Mgb2JzZXJ2ZXIudGFrZVJlY29yZHMoKS5sZW5ndGggaXMgMQorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L3JlbC1saXN0LWdjLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L3JlbC1s
aXN0LWdjLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kODU0MmU3YjIyZDZlNWQ4ZWY1OWU2OWNj
ZTU3ODU4YTdiMTZkMGZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTEFuY2hvckVsZW1lbnQvcmVsLWxpc3QtZ2MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEg
QEAKK1RoaXMgdGVzdHMgdGhhdCBwcm9wZXJ0aWVzIG9uIHRoZSByZWxMaXN0IHBlcnNpc3RzIEdD
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBhLnJlbExpc3QubGlmZSBp
cyA0MgorUEFTUyBhLnJlbExpc3QubGlmZSBpcyA0MgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxBbmNob3JFbGVtZW50L3JlbC1saXN0LWdjLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9yZWwtbGlzdC1nYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRlNGJj
M2JjMzNhNGMwZmFlMWNjMDMxNDQzZDNlMmJlOTVkYWE5ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9yZWwtbGlzdC1nYy5odG1sCkBA
IC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3JlbC1saXN0LWdjLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxBbmNob3JFbGVtZW50L3JlbC1saXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MQW5jaG9yRWxlbWVudC9yZWwtbGlzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcxODRmYTc4NGU4
NzNlNGFjODljMGU5ZGM5NWQ5MTIzMmFhOWE3YzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9yZWwtbGlzdC5odG1sCkBAIC0wLDAgKzEs
MTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3JlbC1saXN0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zY3JpcHQtdGVzdHMvcmVsLWxp
c3QtZ2MuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zY3JpcHQt
dGVzdHMvcmVsLWxpc3QtZ2MuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWZmYjUzZmE5NzU0ODIwNzJlZjgwNzVm
MDUxMTMzMjNmZjIxMzFlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L0hUTUxBbmNob3JFbGVtZW50L3NjcmlwdC10ZXN0cy9yZWwtbGlzdC1nYy5qcwpAQCAtMCwwICsx
LDI4IEBACitkZXNjcmlwdGlvbignVGhpcyB0ZXN0cyB0aGF0IHByb3BlcnRpZXMgb24gdGhlIHJl
bExpc3QgcGVyc2lzdHMgR0MuJyk7CisKK2Z1bmN0aW9uIGdjKCkKK3sKKyAgICBpZiAod2luZG93
LkdDQ29udHJvbGxlcikKKyAgICAgICAgcmV0dXJuIEdDQ29udHJvbGxlci5jb2xsZWN0KCk7CisK
KyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwOyBpKyspIHsKKyAgICAgICAgdmFyIHMgPSBu
ZXcgU3RyaW5nOworICAgIH0KK30KKwordmFyIGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdh
Jyk7CisKKy8vIEVuc3VyZSB0aGUgY2xhc3NMaXN0IGlzIGNyZWF0ZWQuCit2YXIgcmVsTGlzdCA9
IGEucmVsTGlzdDsKKworLy8gU2V0IGEgY3VzdG9tIHByb3BlcnR5LgorYS5yZWxMaXN0LmxpZmUg
PSA0MjsKK3Nob3VsZEV2YWx1YXRlVG8oJ2EucmVsTGlzdC5saWZlJywgNDIpOworCisvLyBOdWxs
IG91dCByZWZlcmVuY2UgdG8gdGhlIGRhdGFzZXQuCityZWxMaXN0ID0gbnVsbDsKKworZ2MoKTsK
KworLy8gVGVzdCB0aGF0IHRoZSBjbGFzc0xpc3Qgd3JhcHBlciBwZXJzaXN0ZWQgdGhlIEdDIGFu
ZCBzdGlsbCBoYXMgdGhlIGN1c3RvbSBwcm9wZXJ0eS4KK3Nob3VsZEV2YWx1YXRlVG8oJ2EucmVs
TGlzdC5saWZlJywgNDIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFu
Y2hvckVsZW1lbnQvc2NyaXB0LXRlc3RzL3JlbC1saXN0LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vSFRNTEFuY2hvckVsZW1lbnQvc2NyaXB0LXRlc3RzL3JlbC1saXN0LmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2MTgzOGI3MjRiN2E0YTAwZmQwNDNjOTVlYTU4NGUzNGRmNGFlYTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zY3JpcHQtdGVzdHMv
cmVsLWxpc3QuanMKQEAgLTAsMCArMSwzNTMgQEAKK2Rlc2NyaXB0aW9uKCdUZXN0cyB0aGUgcmVs
TGlzdCBhdHRyaWJ1dGUgYW5kIGl0cyBwcm9wZXJ0aWVzLicpOworCit2YXIgZWxlbWVudDsKKwor
ZnVuY3Rpb24gY3JlYXRlRWxlbWVudChyZWwpCit7CisgICAgZWxlbWVudCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2EnKTsKKyAgICBlbGVtZW50LnJlbCA9IHJlbDsKK30KKworZGVidWcoJ1Rl
c3RzIGZyb20gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3Rpbmcv
RE9NVG9rZW5MaXN0LycpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9k
b20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3Qvc2V0dGluZy8wMDEuaHRtCisvLyBGaXJlZm94IHRo
cm93cyBoZXJlIGJ1dCBXZWJLaXQgZG9lcyBub3QgdGhyb3cgb24gc2V0dGluZyByZWFkb25seSBp
ZGwKKy8vIGF0dHJpYnV0ZXMuCitjcmVhdGVFbGVtZW50KCd4Jyk7Cit0cnkgeworICAgIGVsZW1l
bnQucmVsTGlzdCA9ICd5JzsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ1N0cmluZyhlbGVt
ZW50LnJlbExpc3QpJywgJ3gnKTsKK30gY2F0Y2ggKGV4KSB7CisgICAgdGVzdFBhc3NlZCgnVGhy
b3dpbmcgb24gc2V0IGlzIGFjY2VwdGFibGUnKTsKK30KKworLy8gaHR0cDovL3NpbW9uLmh0bWw1
Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDAxLmh0
bQorY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LnJlbExpc3Qu
bGVuZ3RoJywgMCk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9y
ZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwMi5odG0KK2NyZWF0ZUVsZW1lbnQoJ3gn
KTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAxKTsKKworLy8g
aHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5M
aXN0L2dldHRpbmcvMDAzLmh0bQorY3JlYXRlRWxlbWVudCgneCB4Jyk7CitzaG91bGRFdmFsdWF0
ZVRvKCdlbGVtZW50LnJlbExpc3QubGVuZ3RoJywgMik7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1s
NS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwNC5o
dG0KK2NyZWF0ZUVsZW1lbnQoJ3ggeScpOworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5yZWxM
aXN0Lmxlbmd0aCcsIDIpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9k
b20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDUuaHRtCitjcmVhdGVFbGVtZW50
KCcnKTsKK2VsZW1lbnQucmVsTGlzdC5hZGQoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygn
ZWxlbWVudC5yZWwnLCAneCcpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRt
bC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDYuaHRtCitjcmVhdGVFbGVt
ZW50KCd4Jyk7CitlbGVtZW50LnJlbExpc3QuYWRkKCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2VsZW1lbnQucmVsJywgJ3gnKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0
L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDA3Lmh0bQorY3JlYXRl
RWxlbWVudCgneCAgeCcpOworZWxlbWVudC5yZWxMaXN0LmFkZCgneCcpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICd4ICB4Jyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1s
NS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwOC5o
dG0KK2NyZWF0ZUVsZW1lbnQoJ3knKTsKK2VsZW1lbnQucmVsTGlzdC5hZGQoJ3gnKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAneSB4Jyk7CisKKy8vIGh0dHA6Ly9zaW1v
bi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5n
LzAwOS5odG0KK2NyZWF0ZUVsZW1lbnQoJycpOworZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgneCcp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICcnKTsKKworLy8gaHR0cDov
L3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dl
dHRpbmcvMDEwLmh0bQorY3JlYXRlRWxlbWVudCgneCcpOworZWxlbWVudC5yZWxMaXN0LnJlbW92
ZSgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICcnKTsKKworLy8g
aHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5M
aXN0L2dldHRpbmcvMDExLmh0bQorY3JlYXRlRWxlbWVudCgnIHkgeCAgeSAnKTsKK2VsZW1lbnQu
cmVsTGlzdC5yZW1vdmUoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwn
LCAnIHkgeSAnKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3Jl
ZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDEyLmh0bQorY3JlYXRlRWxlbWVudCgnIHgg
eSAgeCAnKTsKK2VsZW1lbnQucmVsTGlzdC5yZW1vdmUoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygnZWxlbWVudC5yZWwnLCAneScpOworCisKK2RlYnVnKCdFbnN1cmUgdGhhdCB3ZSBjYW4g
aGFuZGxlIGVtcHR5IGNsYXNzIG5hbWUgY29ycmVjdGx5Jyk7CitlbGVtZW50ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnYScpOworc2hvdWxkQmVUcnVlKCJlbGVtZW50LnJlbExpc3QudG9nZ2xl
KCd4JykiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAneCcpOworc2hv
dWxkQmVGYWxzZSgiZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcpIik7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJycpOworCitlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnYScpOworc2hvdWxkQmVGYWxzZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKFwn
eFwnKScpOworc2hvdWxkQmVVbmRlZmluZWQoJ2VsZW1lbnQucmVsTGlzdFsxXScpOworZWxlbWVu
dC5yZWxMaXN0LnJlbW92ZSgneCcpOworZWxlbWVudC5yZWxMaXN0LmFkZCgneCcpCisKKworZGVi
dWcoJ1Rlc3QgdG9nZ2xlIHdpdGggZm9yY2UgYXJndW1lbnQnKQorCitjcmVhdGVFbGVtZW50KCcn
KTsKK3Nob3VsZEJlVHJ1ZSgiZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcsIHRydWUpIik7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ3gnKTsKK3Nob3VsZEJlVHJ1ZSgi
ZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcsIHRydWUpIik7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2VsZW1lbnQucmVsJywgJ3gnKTsKK3Nob3VsZEJlRmFsc2UoImVsZW1lbnQucmVsTGlzdC50
b2dnbGUoJ3gnLCBmYWxzZSkiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwn
LCAnJyk7CitzaG91bGRCZUZhbHNlKCJlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgZmFsc2Up
Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJycpOworCitzaG91bGRU
aHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LnJlbExpc3QudG9nZ2xl
KCcnLCB0cnVlKTsKK30sIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKTsKKworc2hvdWxkVGhyb3dE
T01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCB5
JywgZmFsc2UpOworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQ0hBUkFDVEVSX0VSUik7CisKKwor
ZGVidWcoJ1Rlc3RpbmcgYWRkIGluIHByZXNlbmNlIG9mIHRyYWlsaW5nIHdoaXRlIHNwYWNlcy4n
KTsKKworY3JlYXRlRWxlbWVudCgneCAnKTsKK2VsZW1lbnQucmVsTGlzdC5hZGQoJ3knKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAneCB5Jyk7CisKK2NyZWF0ZUVsZW1l
bnQoJ3hcdCcpOworZWxlbWVudC5yZWxMaXN0LmFkZCgneScpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdlbGVtZW50LnJlbCcsICd4XHR5Jyk7CisKK2NyZWF0ZUVsZW1lbnQoJyAnKTsKK2VsZW1l
bnQucmVsTGlzdC5hZGQoJ3knKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwn
LCAnIHknKTsKKworCitkZWJ1ZygnVGVzdCBpbnZhbGlkIHRva2VucycpOworCisvLyBUZXN0aW5n
IGV4Y2VwdGlvbiBkdWUgdG8gaW52YWxpZCB0b2tlbgorCisvLyBzaG91bGRUaHJvdyBmcm9tIGpz
LXRlc3QtcHJlLmpzIGlzIG5vdCBzdWZmaWNpZW50LgorZnVuY3Rpb24gc2hvdWxkVGhyb3dET01F
eGNlcHRpb24oZiwgZWMpCit7CisgICAgdHJ5IHsKKyAgICAgICAgZigpOworICAgICAgICB0ZXN0
RmFpbGVkKCdFeHBlY3RlZCBhbiBleGNlcHRpb24nKTsKKyAgICB9IGNhdGNoIChleCkgeworICAg
ICAgICBpZiAoIShleCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbikpIHsKKyAgICAgICAgICAgIHRl
c3RGYWlsZWQoJ0V4Y2VwdGlvbiBpcyBub3QgYW4gaW5zdGFuY2Ugb2YgRE9NRXhjZXB0aW9uLCBm
b3VuZDogJyArCisgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC50b1N0cmluZy5jYWxsKGV4
KSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgaWYgKGVjICE9PSBl
eC5jb2RlKSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCdXcm9uZyBleGNlcHRpb24gY29kZTog
JyArIGV4LmNvZGUpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorICAg
IHZhciBmb3JtYXR0ZWRGdW5jdGlvbiA9IFN0cmluZyhmKS5yZXBsYWNlKC9eZnVuY3Rpb24uK1x7
XHMqL20sICcnKS4KKyAgICAgICAgcmVwbGFjZSgvOz9ccytcfS9tLCAnJyk7CisgICAgdGVzdFBh
c3NlZChmb3JtYXR0ZWRGdW5jdGlvbiArICcgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdp
dGggY29kZSAnICsgZWMpOworfQorCitjcmVhdGVFbGVtZW50KCd4Jyk7CitzaG91bGRUaHJvd0RP
TUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoJycp
OworfSwgRE9NRXhjZXB0aW9uLlNZTlRBWF9FUlIpOworCitjcmVhdGVFbGVtZW50KCd4IHknKTsK
K3Nob3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9uKCkgeworICAgIGVsZW1lbnQucmVsTGlz
dC5jb250YWlucygneCB5Jyk7Cit9LCBET01FeGNlcHRpb24uSU5WQUxJRF9DSEFSQUNURVJfRVJS
KTsKKworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlv
bigpIHsKKyAgICBlbGVtZW50LnJlbExpc3QuYWRkKCcnKTsKK30sIERPTUV4Y2VwdGlvbi5TWU5U
QVhfRVJSKTsKKworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihm
dW5jdGlvbigpIHsKKyAgICBlbGVtZW50LnJlbExpc3QuYWRkKCd4IHknKTsKK30sIERPTUV4Y2Vw
dGlvbi5JTlZBTElEX0NIQVJBQ1RFUl9FUlIpOworCitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3Vs
ZFRocm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9uKCkgeworICAgIGVsZW1lbnQucmVsTGlzdC5yZW1v
dmUoJycpOworfSwgRE9NRXhjZXB0aW9uLlNZTlRBWF9FUlIpOworCitjcmVhdGVFbGVtZW50KCcn
KTsKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9uKCkgeworICAgIGVsZW1lbnQucmVs
TGlzdC5yZW1vdmUoJ3ggeScpOworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQ0hBUkFDVEVSX0VS
Uik7CisKKworCitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1
bmN0aW9uKCkgeworICAgIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJycpOworfSwgRE9NRXhjZXB0
aW9uLlNZTlRBWF9FUlIpOworCitjcmVhdGVFbGVtZW50KCd4IHknKTsKK3Nob3VsZFRocm93RE9N
RXhjZXB0aW9uKGZ1bmN0aW9uKCkgeworICAgIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3ggeScp
OworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQ0hBUkFDVEVSX0VSUik7CisKK2NyZWF0ZUVsZW1l
bnQoJycpOworc2hvdWxkVGhyb3coImVsZW1lbnQucmVsTGlzdC50b2dnbGUoKSIpOworCitkZWJ1
ZygnSW5kZXhpbmcnKTsKKworY3JlYXRlRWxlbWVudCgneCcpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdlbGVtZW50LnJlbExpc3RbMF0nLCAneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdl
bGVtZW50LnJlbExpc3QuaXRlbSgwKScsICd4Jyk7CisKK2NyZWF0ZUVsZW1lbnQoJ3ggeCcpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbExpc3RbMV0nLCAneCcpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbExpc3QuaXRlbSgxKScsICd4Jyk7CisKK2NyZWF0
ZUVsZW1lbnQoJ3ggeScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbExpc3Rb
MV0nLCAneScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbExpc3QuaXRlbSgx
KScsICd5Jyk7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkQmVVbmRlZmluZWQoJ2VsZW1l
bnQucmVsTGlzdFswXScpOworc2hvdWxkQmVOdWxsKCdlbGVtZW50LnJlbExpc3QuaXRlbSgwKScp
OworCitjcmVhdGVFbGVtZW50KCd4IHkgeicpOworc2hvdWxkQmVVbmRlZmluZWQoJ2VsZW1lbnQu
cmVsTGlzdFs0XScpOworc2hvdWxkQmVOdWxsKCdlbGVtZW50LnJlbExpc3QuaXRlbSg0KScpOwor
c2hvdWxkQmVVbmRlZmluZWQoJ2VsZW1lbnQucmVsTGlzdFstMV0nKTsgIC8vIE5vdCBhIHZhbGlk
IGluZGV4IHNvIHNob3VsZCBub3QgdHJpZ2dlciBpdGVtKCkuCitzaG91bGRCZU51bGwoJ2VsZW1l
bnQucmVsTGlzdC5pdGVtKC0xKScpOworc2hvdWxkVGhyb3coJ2VsZW1lbnQucmVsTGlzdC5pdGVt
KCknKTsKKworZGVidWcoJ1Rlc3QgY2FzZSBzaW5jZSBET01Ub2tlbkxpc3QgaXMgY2FzZSBzZW5z
aXRpdmUnKTsKKworY3JlYXRlRWxlbWVudCgneCcpOworc2hvdWxkQmVUcnVlKCdlbGVtZW50LnJl
bExpc3QuY29udGFpbnMoXCd4XCcpJyk7CitzaG91bGRCZUZhbHNlKCdlbGVtZW50LnJlbExpc3Qu
Y29udGFpbnMoXCdYXCcpJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsTGlz
dFswXScsICd4Jyk7CitzaG91bGRUaHJvdygnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCknKTsK
KworY3JlYXRlRWxlbWVudCgnWCcpOworc2hvdWxkQmVUcnVlKCdlbGVtZW50LnJlbExpc3QuY29u
dGFpbnMoXCdYXCcpJyk7CitzaG91bGRCZUZhbHNlKCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMo
XCd4XCcpJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsTGlzdFswXScsICdY
Jyk7CisKKworZGVidWcoJ1Rlc3Rpbmcgd2hpdGVzcGFjZScpOworLy8gVSswMDIwIFNQQUNFLCBV
KzAwMDkgQ0hBUkFDVEVSIFRBQlVMQVRJT04gKHRhYiksIFUrMDAwQSBMSU5FIEZFRUQgKExGKSwK
Ky8vIFUrMDAwQyBGT1JNIEZFRUQgKEZGKSwgYW5kIFUrMDAwRCBDQVJSSUFHRSBSRVRVUk4gKENS
KQorCitjcmVhdGVFbGVtZW50KCd4XHUwMDIweScpOworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVu
dC5yZWxMaXN0Lmxlbmd0aCcsIDIpOworCitjcmVhdGVFbGVtZW50KCd4XHUwMDA5eScpOworc2hv
dWxkRXZhbHVhdGVUbygnZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCcsIDIpOworCitjcmVhdGVFbGVt
ZW50KCd4XHUwMDBBeScpOworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5yZWxMaXN0Lmxlbmd0
aCcsIDIpOworCitjcmVhdGVFbGVtZW50KCd4XHUwMDBDeScpOworc2hvdWxkRXZhbHVhdGVUbygn
ZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCcsIDIpOworCitjcmVhdGVFbGVtZW50KCd4XHUwMDBEeScp
Oworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCcsIDIpOworCisKK2Rl
YnVnKCdET01Ub2tlbkxpc3QgcHJlc2VuY2UgYW5kIHR5cGUnKTsKKworCisvLyBTYWZhcmkgcmV0
dXJucyBvYmplY3QKKy8vIEZpcmVmb3ggcmV0dXJucyBvYmplY3QKKy8vIElFOCByZXR1cm5zIG9i
amVjdAorLy8gQ2hyb21lIHJldHVybnMgZnVuY3Rpb24KKy8vIGFzc2VydEVxdWFscygnb2JqZWN0
JywgdHlwZW9mIERPTVRva2VuTGlzdCk7CitzaG91bGRCZVRydWUoJ1wndW5kZWZpbmVkXCcgIT0g
dHlwZW9mIERPTVRva2VuTGlzdCcpOworCitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3R5cGVvZiBE
T01Ub2tlbkxpc3QucHJvdG90eXBlJywgJ29iamVjdCcpOworCitjcmVhdGVFbGVtZW50KCd4Jyk7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3R5cGVvZiBlbGVtZW50LnJlbExpc3QnLCAnb2JqZWN0
Jyk7CisKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQucmVsTGlzdC5jb25zdHJ1Y3RvcicsICdE
T01Ub2tlbkxpc3QnKTsKKworc2hvdWxkQmVUcnVlKCdlbGVtZW50LnJlbExpc3QgPT09IGVsZW1l
bnQucmVsTGlzdCcpOworCisvLyBWYXJpYWRpYworCitkZWJ1ZygnVmFyaWFkaWMgY2FsbHMnKTsK
KworY3JlYXRlRWxlbWVudCgnJyk7CitlbGVtZW50LnJlbExpc3QuYWRkKCdhJywgJ2InKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnYSBiJyk7CisKK2VsZW1lbnQucmVs
TGlzdC5hZGQoJ2EnLCAnYicsICdjJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQu
cmVsJywgJ2EgYiBjJyk7CisKK2VsZW1lbnQucmVsTGlzdC5hZGQobnVsbCwge3RvU3RyaW5nOiBm
dW5jdGlvbigpIHsgcmV0dXJuICdkJyB9fSwgdW5kZWZpbmVkLCAwLCBmYWxzZSk7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ2EgYiBjIG51bGwgZCB1bmRlZmluZWQgMCBm
YWxzZScpOworCitjcmVhdGVFbGVtZW50KCcnKTsKK2VsZW1lbnQucmVsTGlzdC5hZGQoJ2EnLCAn
YicsICdhJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ2EgYicpOwor
CitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9uKCkg
eworICAgIGVsZW1lbnQucmVsTGlzdC5hZGQoJ2EnLCAnYicsICcnKTsKK30sIERPTUV4Y2VwdGlv
bi5TWU5UQVhfRVJSKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnJyk7
CisKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9uKCkgeworICAgIGVsZW1lbnQucmVs
TGlzdC5hZGQoJ2EnLCAnYicsICdjIGQnKTsKK30sIERPTUV4Y2VwdGlvbi5JTlZBTElEX0NIQVJB
Q1RFUl9FUlIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICcnKTsKKwor
c2hvdWxkVGhyb3coJ2VsZW1lbnQucmVsTGlzdC5hZGQoImEiLCB7dG9TdHJpbmc6IGZ1bmN0aW9u
KCkgeyB0aHJvdyBuZXcgRXJyb3IoInVzZXIgZXJyb3IiKTsgfX0sICJiIiknLCAnIkVycm9yOiB1
c2VyIGVycm9yIicpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICcnKTsK
KworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGROb3RUaHJvdygnZWxlbWVudC5yZWxMaXN0LmFk
ZCgpJyk7CisKK2NyZWF0ZUVsZW1lbnQoJycpOwordmFyIG9ic2VydmVyID0gbmV3IFdlYktpdE11
dGF0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oKSB7fSk7CitvYnNlcnZlci5vYnNlcnZlKGVsZW1lbnQs
IHthdHRyaWJ1dGVzOiB0cnVlfSk7CitlbGVtZW50LnJlbExpc3QuYWRkKCdhJywgJ2MnKTsKK3No
b3VsZEJlKCdvYnNlcnZlci50YWtlUmVjb3JkcygpLmxlbmd0aCcsICcxJyk7CisKKworY3JlYXRl
RWxlbWVudCgnYSBiIGMgZCAgJyk7CitlbGVtZW50LnJlbExpc3QucmVtb3ZlKCdhJywgJ2MnKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnYiBkICAnKTsKKworZWxlbWVu
dC5yZWxMaXN0LnJlbW92ZSgnYicsICdiJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1l
bnQucmVsJywgJ2QgICcpOworCitjcmVhdGVFbGVtZW50KCdhIGIgYyBudWxsIGQgdW5kZWZpbmVk
IDAgZmFsc2UnKTsKK2VsZW1lbnQucmVsTGlzdC5yZW1vdmUobnVsbCwge3RvU3RyaW5nOiBmdW5j
dGlvbigpIHsgcmV0dXJuICdkJyB9fSwgdW5kZWZpbmVkLCAwLCBmYWxzZSk7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ2EgYiBjJyk7CisKK2NyZWF0ZUVsZW1lbnQoJ2Eg
YicpOworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5y
ZWxMaXN0LnJlbW92ZSgnYScsICdiJywgJycpOworfSwgRE9NRXhjZXB0aW9uLlNZTlRBWF9FUlIp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICdhIGInKTsKKworc2hvdWxk
VGhyb3coJ2VsZW1lbnQucmVsTGlzdC5yZW1vdmUoImEiLCB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkg
eyB0aHJvdyBuZXcgRXJyb3IoInVzZXIgZXJyb3IiKTsgfX0sICJiIiknLCAnIkVycm9yOiB1c2Vy
IGVycm9yIicpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICdhIGInKTsK
Kworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5yZWxM
aXN0LnJlbW92ZSgnYScsICdiJywgJ2MgZCcpOworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQ0hB
UkFDVEVSX0VSUik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ2EgYicp
OworCitzaG91bGROb3RUaHJvdygnZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgpJyk7CisKK2NyZWF0
ZUVsZW1lbnQoJ2EgYiBjJyk7CitvYnNlcnZlciA9IG5ldyBXZWJLaXRNdXRhdGlvbk9ic2VydmVy
KGZ1bmN0aW9uKCkge30pOworb2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50LCB7YXR0cmlidXRlczog
dHJ1ZX0pOworZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgnYScsICdjJyk7CitzaG91bGRCZSgnb2Jz
ZXJ2ZXIudGFrZVJlY29yZHMoKS5sZW5ndGgnLCAnMScpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTEFyZWFFbGVtZW50L3JlbC1saXN0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL0hUTUxBcmVhRWxlbWVudC9yZWwtbGlzdC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjdmYjk5Y2ZjY2Y5NWJkNTBhZjU3OTFhZGNiZDc2YTQ0OTI1Zjc4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBcmVhRWxlbWVudC9yZWwtbGlz
dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMTMgQEAKK1Rlc3RzIHRoZSByZWxMaXN0IGF0dHJp
YnV0ZSBhbmQgaXRzIHByb3BlcnRpZXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitUZXN0cyBmcm9tIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0
aW5nL0RPTVRva2VuTGlzdC8KK1BBU1MgU3RyaW5nKGVsZW1lbnQucmVsTGlzdCkgaXMgIngiCitQ
QVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMAorUEFTUyBlbGVtZW50LnJlbExpc3QubGVu
Z3RoIGlzIDEKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbCBpcyAieCIKK1BBU1MgZWxlbWVu
dC5yZWwgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4ICB4IgorUEFTUyBlbGVtZW50LnJl
bCBpcyAieSB4IgorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbCBpcyAi
IgorUEFTUyBlbGVtZW50LnJlbCBpcyAiIHkgeSAiCitQQVNTIGVsZW1lbnQucmVsIGlzICJ5Igor
RW5zdXJlIHRoYXQgd2UgY2FuIGhhbmRsZSBlbXB0eSBjbGFzcyBuYW1lIGNvcnJlY3RseQorUEFT
UyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JykgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbCBp
cyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcpIGlzIGZhbHNlCitQQVNTIGVs
ZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygneCcpIGlzIGZh
bHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdFsxXSBpcyB1bmRlZmluZWQuCitUZXN0IHRvZ2dsZSB3
aXRoIGZvcmNlIGFyZ3VtZW50CitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnLCB0cnVl
KSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3Qu
dG9nZ2xlKCd4JywgdHJ1ZSkgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbCBpcyAieCIKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcsIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50
LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgZmFsc2UpIGlzIGZh
bHNlCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUo
JycsIHRydWUpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgMTIKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCB5JywgZmFsc2UpIHRocmV3IGV4cGVjdGVkIERPTUV4
Y2VwdGlvbiB3aXRoIGNvZGUgNQorVGVzdGluZyBhZGQgaW4gcHJlc2VuY2Ugb2YgdHJhaWxpbmcg
d2hpdGUgc3BhY2VzLgorUEFTUyBlbGVtZW50LnJlbCBpcyAieCB5IgorUEFTUyBlbGVtZW50LnJl
bCBpcyAieFx0eSIKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiB5IgorVGVzdCBpbnZhbGlkIHRva2Vu
cworUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoJycpIHRocmV3IGV4cGVjdGVkIERPTUV4
Y2VwdGlvbiB3aXRoIGNvZGUgMTIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCd4IHkn
KSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0LmFkZCgnJykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSAxMgor
UEFTUyBlbGVtZW50LnJlbExpc3QuYWRkKCd4IHknKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRp
b24gd2l0aCBjb2RlIDUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgnJykgdGhyZXcgZXhw
ZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVtZW50LnJlbExpc3QucmVt
b3ZlKCd4IHknKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgnJykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdp
dGggY29kZSAxMgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4IHknKSB0aHJldyBleHBl
Y3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2ds
ZSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorSW5k
ZXhpbmcKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzBdIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExp
c3QuaXRlbSgwKSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzFdIGlzICJ4IgorUEFTUyBl
bGVtZW50LnJlbExpc3QuaXRlbSgxKSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzFdIGlz
ICJ5IgorUEFTUyBlbGVtZW50LnJlbExpc3QuaXRlbSgxKSBpcyAieSIKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0WzBdIGlzIHVuZGVmaW5lZC4KK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0oMCkgaXMg
bnVsbAorUEFTUyBlbGVtZW50LnJlbExpc3RbNF0gaXMgdW5kZWZpbmVkLgorUEFTUyBlbGVtZW50
LnJlbExpc3QuaXRlbSg0KSBpcyBudWxsCitQQVNTIGVsZW1lbnQucmVsTGlzdFstMV0gaXMgdW5k
ZWZpbmVkLgorUEFTUyBlbGVtZW50LnJlbExpc3QuaXRlbSgtMSkgaXMgbnVsbAorUEFTUyBlbGVt
ZW50LnJlbExpc3QuaXRlbSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2gg
YXJndW1lbnRzLgorVGVzdCBjYXNlIHNpbmNlIERPTVRva2VuTGlzdCBpcyBjYXNlIHNlbnNpdGl2
ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoJ3gnKSBpcyB0cnVlCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5jb250YWlucygnWCcpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdFsw
XSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCkgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5j
b250YWlucygnWCcpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCd4Jykg
aXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzBdIGlzICJYIgorVGVzdGluZyB3aGl0ZXNw
YWNlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbExp
c3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVs
ZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlz
IDIKK0RPTVRva2VuTGlzdCBwcmVzZW5jZSBhbmQgdHlwZQorUEFTUyAndW5kZWZpbmVkJyAhPSB0
eXBlb2YgRE9NVG9rZW5MaXN0IGlzIHRydWUKK1BBU1MgdHlwZW9mIERPTVRva2VuTGlzdC5wcm90
b3R5cGUgaXMgIm9iamVjdCIKK1BBU1MgdHlwZW9mIGVsZW1lbnQucmVsTGlzdCBpcyAib2JqZWN0
IgorUEFTUyBlbGVtZW50LnJlbExpc3QuY29uc3RydWN0b3IgaXMgRE9NVG9rZW5MaXN0CitQQVNT
IGVsZW1lbnQucmVsTGlzdCA9PT0gZWxlbWVudC5yZWxMaXN0IGlzIHRydWUKK1ZhcmlhZGljIGNh
bGxzCitQQVNTIGVsZW1lbnQucmVsIGlzICJhIGIiCitQQVNTIGVsZW1lbnQucmVsIGlzICJhIGIg
YyIKK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiBjIG51bGwgZCB1bmRlZmluZWQgMCBmYWxzZSIK
K1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmFkZCgnYScs
ICdiJywgJycpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgMTIKK1BBU1Mg
ZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmFkZCgnYScsICdiJywgJ2Mg
ZCcpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgNQorUEFTUyBlbGVtZW50
LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExpc3QuYWRkKCJhIiwge3RvU3RyaW5nOiBmdW5j
dGlvbigpIHsgdGhyb3cgbmV3IEVycm9yKCJ1c2VyIGVycm9yIik7IH19LCAiYiIpIHRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogdXNlciBlcnJvci4KK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0LmFkZCgpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBvYnNl
cnZlci50YWtlUmVjb3JkcygpLmxlbmd0aCBpcyAxCitQQVNTIGVsZW1lbnQucmVsIGlzICJiIGQg
ICIKK1BBU1MgZWxlbWVudC5yZWwgaXMgImQgICIKK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiBj
IgorUEFTUyBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCdhJywgJ2InLCAnJykgdGhyZXcgZXhwZWN0
ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIgor
UEFTUyBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCJhIiwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHsg
dGhyb3cgbmV3IEVycm9yKCJ1c2VyIGVycm9yIik7IH19LCAiYiIpIHRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogdXNlciBlcnJvci4KK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVu
dC5yZWxMaXN0LnJlbW92ZSgnYScsICdiJywgJ2MgZCcpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2Vw
dGlvbiB3aXRoIGNvZGUgNQorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIgorUEFTUyBlbGVtZW50
LnJlbExpc3QucmVtb3ZlKCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG9ic2VydmVy
LnRha2VSZWNvcmRzKCkubGVuZ3RoIGlzIDEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9I
VE1MQXJlYUVsZW1lbnQvcmVsLWxpc3QtZ2MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTEFyZWFFbGVtZW50L3JlbC1saXN0LWdjLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zMzE2YWVlOTZhMWUzN2ZmNzY3MDUwNjQ2NWRiNmUxMTNjOWUwZDQzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFyZWFFbGVtZW50L3JlbC1saXN0LWdjLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitUaGlzIHRlc3RzIHRoYXQgcHJvcGVydGllcyBv
biB0aGUgcmVsTGlzdCBwZXJzaXN0cyBHQy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1MgYXJlYS5yZWxMaXN0LmxpZmUgaXMgNDIKK1BBU1MgYXJlYS5yZWxMaXN0LmxpZmUg
aXMgNDIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQXJlYUVsZW1lbnQvcmVsLWxp
c3QtZ2MuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBcmVhRWxlbWVudC9yZWwtbGlz
dC1nYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRlNGJjM2JjMzNhNGMwZmFlMWNjMDMxNDQzZDNlMmJlOTVk
YWE5ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQXJlYUVs
ZW1lbnQvcmVsLWxpc3QtZ2MuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InNjcmlwdC10
ZXN0cy9yZWwtbGlzdC1nYy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQXJlYUVsZW1lbnQvcmVsLWxpc3QuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBcmVhRWxlbWVudC9yZWwtbGlzdC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjcxODRmYTc4NGU4NzNlNGFjODljMGU5ZGM5NWQ5MTIzMmFhOWE3YzIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQXJlYUVsZW1lbnQvcmVsLWxp
c3QuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9yZWwtbGlzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFyZWFFbGVtZW50L3Nj
cmlwdC10ZXN0cy9yZWwtbGlzdC1nYy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBcmVh
RWxlbWVudC9zY3JpcHQtdGVzdHMvcmVsLWxpc3QtZ2MuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODUxMWY4NjY5
NzA2MDc5ODA1Y2ZlZDRhYWQ5OWY0MDEwYzczOGVjZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL0hUTUxBcmVhRWxlbWVudC9zY3JpcHQtdGVzdHMvcmVsLWxpc3QtZ2Mu
anMKQEAgLTAsMCArMSwyOCBAQAorZGVzY3JpcHRpb24oJ1RoaXMgdGVzdHMgdGhhdCBwcm9wZXJ0
aWVzIG9uIHRoZSByZWxMaXN0IHBlcnNpc3RzIEdDLicpOworCitmdW5jdGlvbiBnYygpCit7Cisg
ICAgaWYgKHdpbmRvdy5HQ0NvbnRyb2xsZXIpCisgICAgICAgIHJldHVybiBHQ0NvbnRyb2xsZXIu
Y29sbGVjdCgpOworCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsgaSsrKSB7CisgICAg
ICAgIHZhciBzID0gbmV3IFN0cmluZzsKKyAgICB9Cit9CisKK3ZhciBhcmVhID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnYXJlYScpOworCisvLyBFbnN1cmUgdGhlIGNsYXNzTGlzdCBpcyBjcmVh
dGVkLgordmFyIHJlbExpc3QgPSBhcmVhLnJlbExpc3Q7CisKKy8vIFNldCBhIGN1c3RvbSBwcm9w
ZXJ0eS4KK2FyZWEucmVsTGlzdC5saWZlID0gNDI7CitzaG91bGRFdmFsdWF0ZVRvKCdhcmVhLnJl
bExpc3QubGlmZScsIDQyKTsKKworLy8gTnVsbCBvdXQgcmVmZXJlbmNlIHRvIHRoZSBkYXRhc2V0
LgorcmVsTGlzdCA9IG51bGw7CisKK2djKCk7CisKKy8vIFRlc3QgdGhhdCB0aGUgY2xhc3NMaXN0
IHdyYXBwZXIgcGVyc2lzdGVkIHRoZSBHQyBhbmQgc3RpbGwgaGFzIHRoZSBjdXN0b20gcHJvcGVy
dHkuCitzaG91bGRFdmFsdWF0ZVRvKCdhcmVhLnJlbExpc3QubGlmZScsIDQyKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBcmVhRWxlbWVudC9zY3JpcHQtdGVzdHMvcmVs
LWxpc3QuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQXJlYUVsZW1lbnQvc2NyaXB0LXRl
c3RzL3JlbC1saXN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFiODk2NDA5ZTBkMDg3M2M1ZjQyODdmNDUxODNh
N2FjNTZlNDU0NjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
QXJlYUVsZW1lbnQvc2NyaXB0LXRlc3RzL3JlbC1saXN0LmpzCkBAIC0wLDAgKzEsMzUzIEBACitk
ZXNjcmlwdGlvbignVGVzdHMgdGhlIHJlbExpc3QgYXR0cmlidXRlIGFuZCBpdHMgcHJvcGVydGll
cy4nKTsKKwordmFyIGVsZW1lbnQ7CisKK2Z1bmN0aW9uIGNyZWF0ZUVsZW1lbnQocmVsKQorewor
ICAgIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhcmVhJyk7CisgICAgZWxlbWVu
dC5yZWwgPSByZWw7Cit9CisKK2RlYnVnKCdUZXN0cyBmcm9tIGh0dHA6Ly9zaW1vbi5odG1sNS5v
cmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC8nKTsKKworLy8gaHR0cDov
L3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L3Nl
dHRpbmcvMDAxLmh0bQorLy8gRmlyZWZveCB0aHJvd3MgaGVyZSBidXQgV2ViS2l0IGRvZXMgbm90
IHRocm93IG9uIHNldHRpbmcgcmVhZG9ubHkgaWRsCisvLyBhdHRyaWJ1dGVzLgorY3JlYXRlRWxl
bWVudCgneCcpOwordHJ5IHsKKyAgICBlbGVtZW50LnJlbExpc3QgPSAneSc7CisgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdTdHJpbmcoZWxlbWVudC5yZWxMaXN0KScsICd4Jyk7Cit9IGNhdGNo
IChleCkgeworICAgIHRlc3RQYXNzZWQoJ1Rocm93aW5nIG9uIHNldCBpcyBhY2NlcHRhYmxlJyk7
Cit9CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5n
L0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwMS5odG0KK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxk
RXZhbHVhdGVUbygnZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCcsIDApOworCisvLyBodHRwOi8vc2lt
b24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGlu
Zy8wMDIuaHRtCitjcmVhdGVFbGVtZW50KCd4Jyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50
LnJlbExpc3QubGVuZ3RoJywgMSk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9o
dG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwMy5odG0KK2NyZWF0ZUVs
ZW1lbnQoJ3ggeCcpOworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCcs
IDIpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGlu
Zy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDQuaHRtCitjcmVhdGVFbGVtZW50KCd4IHknKTsKK3No
b3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAyKTsKKworLy8gaHR0cDov
L3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dl
dHRpbmcvMDA1Lmh0bQorY3JlYXRlRWxlbWVudCgnJyk7CitlbGVtZW50LnJlbExpc3QuYWRkKCd4
Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ3gnKTsKKworLy8gaHR0
cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0
L2dldHRpbmcvMDA2Lmh0bQorY3JlYXRlRWxlbWVudCgneCcpOworZWxlbWVudC5yZWxMaXN0LmFk
ZCgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICd4Jyk7CisKKy8v
IGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2Vu
TGlzdC9nZXR0aW5nLzAwNy5odG0KK2NyZWF0ZUVsZW1lbnQoJ3ggIHgnKTsKK2VsZW1lbnQucmVs
TGlzdC5hZGQoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAneCAg
eCcpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGlu
Zy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDguaHRtCitjcmVhdGVFbGVtZW50KCd5Jyk7CitlbGVt
ZW50LnJlbExpc3QuYWRkKCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVs
JywgJ3kgeCcpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVm
bGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDkuaHRtCitjcmVhdGVFbGVtZW50KCcnKTsK
K2VsZW1lbnQucmVsTGlzdC5yZW1vdmUoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxl
bWVudC5yZWwnLCAnJyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2Rv
bS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAxMC5odG0KK2NyZWF0ZUVsZW1lbnQo
J3gnKTsKK2VsZW1lbnQucmVsTGlzdC5yZW1vdmUoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZWxlbWVudC5yZWwnLCAnJyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9o
dG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAxMS5odG0KK2NyZWF0ZUVs
ZW1lbnQoJyB5IHggIHkgJyk7CitlbGVtZW50LnJlbExpc3QucmVtb3ZlKCd4Jyk7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJyB5IHkgJyk7CisKKy8vIGh0dHA6Ly9zaW1v
bi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5n
LzAxMi5odG0KK2NyZWF0ZUVsZW1lbnQoJyB4IHkgIHggJyk7CitlbGVtZW50LnJlbExpc3QucmVt
b3ZlKCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ3knKTsKKwor
CitkZWJ1ZygnRW5zdXJlIHRoYXQgd2UgY2FuIGhhbmRsZSBlbXB0eSBjbGFzcyBuYW1lIGNvcnJl
Y3RseScpOworZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKK3Nob3VsZEJl
VHJ1ZSgiZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcpIik7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2VsZW1lbnQucmVsJywgJ3gnKTsKK3Nob3VsZEJlRmFsc2UoImVsZW1lbnQucmVsTGlzdC50
b2dnbGUoJ3gnKSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICcnKTsK
KworZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKK3Nob3VsZEJlRmFsc2Uo
J2VsZW1lbnQucmVsTGlzdC5jb250YWlucyhcJ3hcJyknKTsKK3Nob3VsZEJlVW5kZWZpbmVkKCdl
bGVtZW50LnJlbExpc3RbMV0nKTsKK2VsZW1lbnQucmVsTGlzdC5yZW1vdmUoJ3gnKTsKK2VsZW1l
bnQucmVsTGlzdC5hZGQoJ3gnKQorCisKK2RlYnVnKCdUZXN0IHRvZ2dsZSB3aXRoIGZvcmNlIGFy
Z3VtZW50JykKKworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRCZVRydWUoImVsZW1lbnQucmVs
TGlzdC50b2dnbGUoJ3gnLCB0cnVlKSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50
LnJlbCcsICd4Jyk7CitzaG91bGRCZVRydWUoImVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnLCB0
cnVlKSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICd4Jyk7CitzaG91
bGRCZUZhbHNlKCJlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgZmFsc2UpIik7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJycpOworc2hvdWxkQmVGYWxzZSgiZWxlbWVu
dC5yZWxMaXN0LnRvZ2dsZSgneCcsIGZhbHNlKSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdl
bGVtZW50LnJlbCcsICcnKTsKKworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7
CisgICAgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgnJywgdHJ1ZSk7Cit9LCBET01FeGNlcHRpb24u
U1lOVEFYX0VSUik7CisKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9uKCkgeworICAg
IGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3ggeScsIGZhbHNlKTsKK30sIERPTUV4Y2VwdGlvbi5J
TlZBTElEX0NIQVJBQ1RFUl9FUlIpOworCisKK2RlYnVnKCdUZXN0aW5nIGFkZCBpbiBwcmVzZW5j
ZSBvZiB0cmFpbGluZyB3aGl0ZSBzcGFjZXMuJyk7CisKK2NyZWF0ZUVsZW1lbnQoJ3ggJyk7Citl
bGVtZW50LnJlbExpc3QuYWRkKCd5Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQu
cmVsJywgJ3ggeScpOworCitjcmVhdGVFbGVtZW50KCd4XHQnKTsKK2VsZW1lbnQucmVsTGlzdC5h
ZGQoJ3knKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAneFx0eScpOwor
CitjcmVhdGVFbGVtZW50KCcgJyk7CitlbGVtZW50LnJlbExpc3QuYWRkKCd5Jyk7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJyB5Jyk7CisKKworZGVidWcoJ1Rlc3QgaW52
YWxpZCB0b2tlbnMnKTsKKworLy8gVGVzdGluZyBleGNlcHRpb24gZHVlIHRvIGludmFsaWQgdG9r
ZW4KKworLy8gc2hvdWxkVGhyb3cgZnJvbSBqcy10ZXN0LXByZS5qcyBpcyBub3Qgc3VmZmljaWVu
dC4KK2Z1bmN0aW9uIHNob3VsZFRocm93RE9NRXhjZXB0aW9uKGYsIGVjKQoreworICAgIHRyeSB7
CisgICAgICAgIGYoKTsKKyAgICAgICAgdGVzdEZhaWxlZCgnRXhwZWN0ZWQgYW4gZXhjZXB0aW9u
Jyk7CisgICAgfSBjYXRjaCAoZXgpIHsKKyAgICAgICAgaWYgKCEoZXggaW5zdGFuY2VvZiBET01F
eGNlcHRpb24pKSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCdFeGNlcHRpb24gaXMgbm90IGFu
IGluc3RhbmNlIG9mIERPTUV4Y2VwdGlvbiwgZm91bmQ6ICcgKworICAgICAgICAgICAgICAgICAg
ICAgICBPYmplY3QudG9TdHJpbmcuY2FsbChleCkpOworICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB9CisgICAgICAgIGlmIChlYyAhPT0gZXguY29kZSkgeworICAgICAgICAgICAgdGVzdEZh
aWxlZCgnV3JvbmcgZXhjZXB0aW9uIGNvZGU6ICcgKyBleC5jb2RlKTsKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgfQorICAgIH0KKyAgICB2YXIgZm9ybWF0dGVkRnVuY3Rpb24gPSBTdHJp
bmcoZikucmVwbGFjZSgvXmZ1bmN0aW9uLitce1xzKi9tLCAnJykuCisgICAgICAgIHJlcGxhY2Uo
Lzs/XHMrXH0vbSwgJycpOworICAgIHRlc3RQYXNzZWQoZm9ybWF0dGVkRnVuY3Rpb24gKyAnIHRo
cmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgJyArIGVjKTsKK30KKworY3JlYXRl
RWxlbWVudCgneCcpOworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAg
ZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCcnKTsKK30sIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJS
KTsKKworY3JlYXRlRWxlbWVudCgneCB5Jyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5j
dGlvbigpIHsKKyAgICBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoJ3ggeScpOworfSwgRE9NRXhj
ZXB0aW9uLklOVkFMSURfQ0hBUkFDVEVSX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hv
dWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5yZWxMaXN0LmFk
ZCgnJyk7Cit9LCBET01FeGNlcHRpb24uU1lOVEFYX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJycp
Oworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5yZWxM
aXN0LmFkZCgneCB5Jyk7Cit9LCBET01FeGNlcHRpb24uSU5WQUxJRF9DSEFSQUNURVJfRVJSKTsK
KworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigp
IHsKKyAgICBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCcnKTsKK30sIERPTUV4Y2VwdGlvbi5TWU5U
QVhfRVJSKTsKKworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihm
dW5jdGlvbigpIHsKKyAgICBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCd4IHknKTsKK30sIERPTUV4
Y2VwdGlvbi5JTlZBTElEX0NIQVJBQ1RFUl9FUlIpOworCisKKworY3JlYXRlRWxlbWVudCgnJyk7
CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LnJlbExp
c3QudG9nZ2xlKCcnKTsKK30sIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKTsKKworY3JlYXRlRWxl
bWVudCgneCB5Jyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBl
bGVtZW50LnJlbExpc3QudG9nZ2xlKCd4IHknKTsKK30sIERPTUV4Y2VwdGlvbi5JTlZBTElEX0NI
QVJBQ1RFUl9FUlIpOworCitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3VsZFRocm93KCJlbGVtZW50
LnJlbExpc3QudG9nZ2xlKCkiKTsKKworZGVidWcoJ0luZGV4aW5nJyk7CisKK2NyZWF0ZUVsZW1l
bnQoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWxMaXN0WzBdJywgJ3gn
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWxMaXN0Lml0ZW0oMCknLCAneCcp
OworCitjcmVhdGVFbGVtZW50KCd4IHgnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVu
dC5yZWxMaXN0WzFdJywgJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWxM
aXN0Lml0ZW0oMSknLCAneCcpOworCitjcmVhdGVFbGVtZW50KCd4IHknKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygnZWxlbWVudC5yZWxMaXN0WzFdJywgJ3knKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygnZWxlbWVudC5yZWxMaXN0Lml0ZW0oMSknLCAneScpOworCitjcmVhdGVFbGVtZW50KCcn
KTsKK3Nob3VsZEJlVW5kZWZpbmVkKCdlbGVtZW50LnJlbExpc3RbMF0nKTsKK3Nob3VsZEJlTnVs
bCgnZWxlbWVudC5yZWxMaXN0Lml0ZW0oMCknKTsKKworY3JlYXRlRWxlbWVudCgneCB5IHonKTsK
K3Nob3VsZEJlVW5kZWZpbmVkKCdlbGVtZW50LnJlbExpc3RbNF0nKTsKK3Nob3VsZEJlTnVsbCgn
ZWxlbWVudC5yZWxMaXN0Lml0ZW0oNCknKTsKK3Nob3VsZEJlVW5kZWZpbmVkKCdlbGVtZW50LnJl
bExpc3RbLTFdJyk7ICAvLyBOb3QgYSB2YWxpZCBpbmRleCBzbyBzaG91bGQgbm90IHRyaWdnZXIg
aXRlbSgpLgorc2hvdWxkQmVOdWxsKCdlbGVtZW50LnJlbExpc3QuaXRlbSgtMSknKTsKK3Nob3Vs
ZFRocm93KCdlbGVtZW50LnJlbExpc3QuaXRlbSgpJyk7CisKK2RlYnVnKCdUZXN0IGNhc2Ugc2lu
Y2UgRE9NVG9rZW5MaXN0IGlzIGNhc2Ugc2Vuc2l0aXZlJyk7CisKK2NyZWF0ZUVsZW1lbnQoJ3gn
KTsKK3Nob3VsZEJlVHJ1ZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKFwneFwnKScpOworc2hv
dWxkQmVGYWxzZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKFwnWFwnKScpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbExpc3RbMF0nLCAneCcpOworc2hvdWxkVGhyb3coJ2Vs
ZW1lbnQucmVsTGlzdC5jb250YWlucygpJyk7CisKK2NyZWF0ZUVsZW1lbnQoJ1gnKTsKK3Nob3Vs
ZEJlVHJ1ZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKFwnWFwnKScpOworc2hvdWxkQmVGYWxz
ZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKFwneFwnKScpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdlbGVtZW50LnJlbExpc3RbMF0nLCAnWCcpOworCisKK2RlYnVnKCdUZXN0aW5nIHdoaXRl
c3BhY2UnKTsKKy8vIFUrMDAyMCBTUEFDRSwgVSswMDA5IENIQVJBQ1RFUiBUQUJVTEFUSU9OICh0
YWIpLCBVKzAwMEEgTElORSBGRUVEIChMRiksCisvLyBVKzAwMEMgRk9STSBGRUVEIChGRiksIGFu
ZCBVKzAwMEQgQ0FSUklBR0UgUkVUVVJOIChDUikKKworY3JlYXRlRWxlbWVudCgneFx1MDAyMHkn
KTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAyKTsKKworY3Jl
YXRlRWxlbWVudCgneFx1MDAwOXknKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQucmVsTGlz
dC5sZW5ndGgnLCAyKTsKKworY3JlYXRlRWxlbWVudCgneFx1MDAwQXknKTsKK3Nob3VsZEV2YWx1
YXRlVG8oJ2VsZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAyKTsKKworY3JlYXRlRWxlbWVudCgneFx1
MDAwQ3knKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAyKTsK
KworY3JlYXRlRWxlbWVudCgneFx1MDAwRHknKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQu
cmVsTGlzdC5sZW5ndGgnLCAyKTsKKworCitkZWJ1ZygnRE9NVG9rZW5MaXN0IHByZXNlbmNlIGFu
ZCB0eXBlJyk7CisKKworLy8gU2FmYXJpIHJldHVybnMgb2JqZWN0CisvLyBGaXJlZm94IHJldHVy
bnMgb2JqZWN0CisvLyBJRTggcmV0dXJucyBvYmplY3QKKy8vIENocm9tZSByZXR1cm5zIGZ1bmN0
aW9uCisvLyBhc3NlcnRFcXVhbHMoJ29iamVjdCcsIHR5cGVvZiBET01Ub2tlbkxpc3QpOworc2hv
dWxkQmVUcnVlKCdcJ3VuZGVmaW5lZFwnICE9IHR5cGVvZiBET01Ub2tlbkxpc3QnKTsKKworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCd0eXBlb2YgRE9NVG9rZW5MaXN0LnByb3RvdHlwZScsICdvYmpl
Y3QnKTsKKworY3JlYXRlRWxlbWVudCgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0eXBl
b2YgZWxlbWVudC5yZWxMaXN0JywgJ29iamVjdCcpOworCitzaG91bGRFdmFsdWF0ZVRvKCdlbGVt
ZW50LnJlbExpc3QuY29uc3RydWN0b3InLCAnRE9NVG9rZW5MaXN0Jyk7CisKK3Nob3VsZEJlVHJ1
ZSgnZWxlbWVudC5yZWxMaXN0ID09PSBlbGVtZW50LnJlbExpc3QnKTsKKworLy8gVmFyaWFkaWMK
KworZGVidWcoJ1ZhcmlhZGljIGNhbGxzJyk7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworZWxlbWVu
dC5yZWxMaXN0LmFkZCgnYScsICdiJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQu
cmVsJywgJ2EgYicpOworCitlbGVtZW50LnJlbExpc3QuYWRkKCdhJywgJ2InLCAnYycpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICdhIGIgYycpOworCitlbGVtZW50LnJl
bExpc3QuYWRkKG51bGwsIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7IHJldHVybiAnZCcgfX0sIHVu
ZGVmaW5lZCwgMCwgZmFsc2UpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcs
ICdhIGIgYyBudWxsIGQgdW5kZWZpbmVkIDAgZmFsc2UnKTsKKworY3JlYXRlRWxlbWVudCgnJyk7
CitlbGVtZW50LnJlbExpc3QuYWRkKCdhJywgJ2InLCAnYScpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdlbGVtZW50LnJlbCcsICdhIGInKTsKKworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRU
aHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LnJlbExpc3QuYWRkKCdh
JywgJ2InLCAnJyk7Cit9LCBET01FeGNlcHRpb24uU1lOVEFYX0VSUik7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJycpOworCitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihm
dW5jdGlvbigpIHsKKyAgICBlbGVtZW50LnJlbExpc3QuYWRkKCdhJywgJ2InLCAnYyBkJyk7Cit9
LCBET01FeGNlcHRpb24uSU5WQUxJRF9DSEFSQUNURVJfRVJSKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygnZWxlbWVudC5yZWwnLCAnJyk7CisKK3Nob3VsZFRocm93KCdlbGVtZW50LnJlbExpc3Qu
YWRkKCJhIiwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHsgdGhyb3cgbmV3IEVycm9yKCJ1c2VyIGVy
cm9yIik7IH19LCAiYiIpJywgJyJFcnJvcjogdXNlciBlcnJvciInKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygnZWxlbWVudC5yZWwnLCAnJyk7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxk
Tm90VGhyb3coJ2VsZW1lbnQucmVsTGlzdC5hZGQoKScpOworCitjcmVhdGVFbGVtZW50KCcnKTsK
K3ZhciBvYnNlcnZlciA9IG5ldyBXZWJLaXRNdXRhdGlvbk9ic2VydmVyKGZ1bmN0aW9uKCkge30p
Oworb2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50LCB7YXR0cmlidXRlczogdHJ1ZX0pOworZWxlbWVu
dC5yZWxMaXN0LmFkZCgnYScsICdjJyk7CitzaG91bGRCZSgnb2JzZXJ2ZXIudGFrZVJlY29yZHMo
KS5sZW5ndGgnLCAnMScpOworCisKK2NyZWF0ZUVsZW1lbnQoJ2EgYiBjIGQgICcpOworZWxlbWVu
dC5yZWxMaXN0LnJlbW92ZSgnYScsICdjJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1l
bnQucmVsJywgJ2IgZCAgJyk7CisKK2VsZW1lbnQucmVsTGlzdC5yZW1vdmUoJ2InLCAnYicpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICdkICAnKTsKKworY3JlYXRlRWxl
bWVudCgnYSBiIGMgbnVsbCBkIHVuZGVmaW5lZCAwIGZhbHNlJyk7CitlbGVtZW50LnJlbExpc3Qu
cmVtb3ZlKG51bGwsIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7IHJldHVybiAnZCcgfX0sIHVuZGVm
aW5lZCwgMCwgZmFsc2UpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICdh
IGIgYycpOworCitjcmVhdGVFbGVtZW50KCdhIGInKTsKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9u
KGZ1bmN0aW9uKCkgeworICAgIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoJ2EnLCAnYicsICcnKTsK
K30sIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxl
bWVudC5yZWwnLCAnYSBiJyk7CisKK3Nob3VsZFRocm93KCdlbGVtZW50LnJlbExpc3QucmVtb3Zl
KCJhIiwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHsgdGhyb3cgbmV3IEVycm9yKCJ1c2VyIGVycm9y
Iik7IH19LCAiYiIpJywgJyJFcnJvcjogdXNlciBlcnJvciInKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygnZWxlbWVudC5yZWwnLCAnYSBiJyk7CisKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1
bmN0aW9uKCkgeworICAgIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoJ2EnLCAnYicsICdjIGQnKTsK
K30sIERPTUV4Y2VwdGlvbi5JTlZBTElEX0NIQVJBQ1RFUl9FUlIpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdlbGVtZW50LnJlbCcsICdhIGInKTsKKworc2hvdWxkTm90VGhyb3coJ2VsZW1lbnQu
cmVsTGlzdC5yZW1vdmUoKScpOworCitjcmVhdGVFbGVtZW50KCdhIGIgYycpOworb2JzZXJ2ZXIg
PSBuZXcgV2ViS2l0TXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbigpIHt9KTsKK29ic2VydmVyLm9i
c2VydmUoZWxlbWVudCwge2F0dHJpYnV0ZXM6IHRydWV9KTsKK2VsZW1lbnQucmVsTGlzdC5yZW1v
dmUoJ2EnLCAnYycpOworc2hvdWxkQmUoJ29ic2VydmVyLnRha2VSZWNvcmRzKCkubGVuZ3RoJywg
JzEnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9y
ZWwtbGlzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTGlua0VsZW1l
bnQvcmVsLWxpc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI3ZmI5OWNmY2NmOTViZDUwYWY1
NzkxYWRjYmQ3NmE0NDkyNWY3ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9IVE1MTGlua0VsZW1lbnQvcmVsLWxpc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEz
IEBACitUZXN0cyB0aGUgcmVsTGlzdCBhdHRyaWJ1dGUgYW5kIGl0cyBwcm9wZXJ0aWVzLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworVGVzdHMgZnJvbSBodHRwOi8vc2ltb24uaHRt
bDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvCitQQVNTIFN0cmlu
ZyhlbGVtZW50LnJlbExpc3QpIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlz
IDAKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAxCitQQVNTIGVsZW1lbnQucmVsTGlz
dC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxl
bWVudC5yZWwgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4IgorUEFTUyBlbGVtZW50LnJl
bCBpcyAieCAgeCIKK1BBU1MgZWxlbWVudC5yZWwgaXMgInkgeCIKK1BBU1MgZWxlbWVudC5yZWwg
aXMgIiIKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiB5IHkg
IgorUEFTUyBlbGVtZW50LnJlbCBpcyAieSIKK0Vuc3VyZSB0aGF0IHdlIGNhbiBoYW5kbGUgZW1w
dHkgY2xhc3MgbmFtZSBjb3JyZWN0bHkKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcp
IGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWwgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlzdC50
b2dnbGUoJ3gnKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50
LnJlbExpc3QuY29udGFpbnMoJ3gnKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3RbMV0g
aXMgdW5kZWZpbmVkLgorVGVzdCB0b2dnbGUgd2l0aCBmb3JjZSBhcmd1bWVudAorUEFTUyBlbGVt
ZW50LnJlbExpc3QudG9nZ2xlKCd4JywgdHJ1ZSkgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbCBp
cyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcsIHRydWUpIGlzIHRydWUKK1BB
U1MgZWxlbWVudC5yZWwgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnLCBm
YWxzZSkgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxM
aXN0LnRvZ2dsZSgneCcsIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgor
UEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCcnLCB0cnVlKSB0aHJldyBleHBlY3RlZCBET01F
eGNlcHRpb24gd2l0aCBjb2RlIDEyCitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3ggeScs
IGZhbHNlKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK1Rlc3Rpbmcg
YWRkIGluIHByZXNlbmNlIG9mIHRyYWlsaW5nIHdoaXRlIHNwYWNlcy4KK1BBU1MgZWxlbWVudC5y
ZWwgaXMgInggeSIKK1BBU1MgZWxlbWVudC5yZWwgaXMgInhcdHkiCitQQVNTIGVsZW1lbnQucmVs
IGlzICIgeSIKK1Rlc3QgaW52YWxpZCB0b2tlbnMKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRh
aW5zKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDEyCitQQVNTIGVs
ZW1lbnQucmVsTGlzdC5jb250YWlucygneCB5JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9u
IHdpdGggY29kZSA1CitQQVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoJycpIHRocmV3IGV4cGVjdGVk
IERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgMTIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmFkZCgneCB5
JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSA1CitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5yZW1vdmUoJycpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUg
MTIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgneCB5JykgdGhyZXcgZXhwZWN0ZWQgRE9N
RXhjZXB0aW9uIHdpdGggY29kZSA1CitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJycpIHRo
cmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgMTIKK1BBU1MgZWxlbWVudC5yZWxM
aXN0LnRvZ2dsZSgneCB5JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSA1
CitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK0luZGV4aW5nCitQQVNTIGVsZW1lbnQucmVsTGlzdFsw
XSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0oMCkgaXMgIngiCitQQVNTIGVsZW1l
bnQucmVsTGlzdFsxXSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0oMSkgaXMgIngi
CitQQVNTIGVsZW1lbnQucmVsTGlzdFsxXSBpcyAieSIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0
ZW0oMSkgaXMgInkiCitQQVNTIGVsZW1lbnQucmVsTGlzdFswXSBpcyB1bmRlZmluZWQuCitQQVNT
IGVsZW1lbnQucmVsTGlzdC5pdGVtKDApIGlzIG51bGwKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzRd
IGlzIHVuZGVmaW5lZC4KK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0oNCkgaXMgbnVsbAorUEFT
UyBlbGVtZW50LnJlbExpc3RbLTFdIGlzIHVuZGVmaW5lZC4KK1BBU1MgZWxlbWVudC5yZWxMaXN0
Lml0ZW0oLTEpIGlzIG51bGwKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0oKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1Rlc3QgY2FzZSBzaW5jZSBE
T01Ub2tlbkxpc3QgaXMgY2FzZSBzZW5zaXRpdmUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRh
aW5zKCd4JykgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoJ1gnKSBpcyBm
YWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3RbMF0gaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlz
dC5jb250YWlucygpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1l
bnRzLgorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoJ1gnKSBpcyB0cnVlCitQQVNTIGVs
ZW1lbnQucmVsTGlzdC5jb250YWlucygneCcpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlz
dFswXSBpcyAiWCIKK1Rlc3Rpbmcgd2hpdGVzcGFjZQorUEFTUyBlbGVtZW50LnJlbExpc3QubGVu
Z3RoIGlzIDIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDIKK1BB
U1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitET01Ub2tlbkxpc3QgcHJlc2VuY2UgYW5k
IHR5cGUKK1BBU1MgJ3VuZGVmaW5lZCcgIT0gdHlwZW9mIERPTVRva2VuTGlzdCBpcyB0cnVlCitQ
QVNTIHR5cGVvZiBET01Ub2tlbkxpc3QucHJvdG90eXBlIGlzICJvYmplY3QiCitQQVNTIHR5cGVv
ZiBlbGVtZW50LnJlbExpc3QgaXMgIm9iamVjdCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnN0
cnVjdG9yIGlzIERPTVRva2VuTGlzdAorUEFTUyBlbGVtZW50LnJlbExpc3QgPT09IGVsZW1lbnQu
cmVsTGlzdCBpcyB0cnVlCitWYXJpYWRpYyBjYWxscworUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBi
IgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIGMiCitQQVNTIGVsZW1lbnQucmVsIGlzICJhIGIg
YyBudWxsIGQgdW5kZWZpbmVkIDAgZmFsc2UiCitQQVNTIGVsZW1lbnQucmVsIGlzICJhIGIiCitQ
QVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoJ2EnLCAnYicsICcnKSB0aHJldyBleHBlY3RlZCBET01F
eGNlcHRpb24gd2l0aCBjb2RlIDEyCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5hZGQoJ2EnLCAnYicsICdjIGQnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRp
b24gd2l0aCBjb2RlIDUKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxM
aXN0LmFkZCgiYSIsIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7IHRocm93IG5ldyBFcnJvcigidXNl
ciBlcnJvciIpOyB9fSwgImIiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IHVzZXIgZXJyb3IuCitQ
QVNTIGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoKSBkaWQgbm90
IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgb2JzZXJ2ZXIudGFrZVJlY29yZHMoKS5sZW5ndGggaXMg
MQorUEFTUyBlbGVtZW50LnJlbCBpcyAiYiBkICAiCitQQVNTIGVsZW1lbnQucmVsIGlzICJkICAi
CitQQVNTIGVsZW1lbnQucmVsIGlzICJhIGIgYyIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92
ZSgnYScsICdiJywgJycpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgMTIK
K1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgi
YSIsIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7IHRocm93IG5ldyBFcnJvcigidXNlciBlcnJvciIp
OyB9fSwgImIiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IHVzZXIgZXJyb3IuCitQQVNTIGVsZW1l
bnQucmVsIGlzICJhIGIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoJ2EnLCAnYicsICdj
IGQnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK1BBU1MgZWxlbWVu
dC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgpIGRpZCBub3QgdGhy
b3cgZXhjZXB0aW9uLgorUEFTUyBvYnNlcnZlci50YWtlUmVjb3JkcygpLmxlbmd0aCBpcyAxCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTExpbmtFbGVtZW50L3JlbC1saXN0LWdjLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9yZWwtbGlz
dC1nYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWE4NzlmN2JhZjliODM1MjU4YjBhNzEzMjY5
M2RjYmM1YTliZWMxOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxMaW5rRWxlbWVudC9yZWwtbGlzdC1nYy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAor
VGhpcyB0ZXN0cyB0aGF0IHByb3BlcnRpZXMgb24gdGhlIHJlbExpc3QgcGVyc2lzdHMgR0MuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGxpbmsucmVsTGlzdC5saWZlIGlz
IDQyCitQQVNTIGxpbmsucmVsTGlzdC5saWZlIGlzIDQyCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTExpbmtFbGVtZW50L3JlbC1saXN0LWdjLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9IVE1MTGlua0VsZW1lbnQvcmVsLWxpc3QtZ2MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZTRiYzNi
YzMzYTRjMGZhZTFjYzAzMTQ0M2QzZTJiZTk1ZGFhOWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTExpbmtFbGVtZW50L3JlbC1saXN0LWdjLmh0bWwKQEAgLTAs
MCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvcmVsLWxpc3QtZ2MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTExpbmtFbGVtZW50L3JlbC1saXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
TGlua0VsZW1lbnQvcmVsLWxpc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MTg0ZmE3ODRlODczZTRhYzg5
YzBlOWRjOTVkOTEyMzJhYTlhN2MyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTExpbmtFbGVtZW50L3JlbC1saXN0Lmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQg
c3JjPSJzY3JpcHQtdGVzdHMvcmVsLWxpc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9zY3JpcHQtdGVzdHMvcmVsLWxpc3QtZ2MuanMgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvc2NyaXB0LXRlc3RzL3JlbC1saXN0
LWdjLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmQxNTNiODNlNGMzZDA2ZWYxYmVjM2YxZTJlMjBhM2QzY2QxNTI4
YmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTGlua0VsZW1l
bnQvc2NyaXB0LXRlc3RzL3JlbC1saXN0LWdjLmpzCkBAIC0wLDAgKzEsMjggQEAKK2Rlc2NyaXB0
aW9uKCdUaGlzIHRlc3RzIHRoYXQgcHJvcGVydGllcyBvbiB0aGUgcmVsTGlzdCBwZXJzaXN0cyBH
Qy4nKTsKKworZnVuY3Rpb24gZ2MoKQoreworICAgIGlmICh3aW5kb3cuR0NDb250cm9sbGVyKQor
ICAgICAgICByZXR1cm4gR0NDb250cm9sbGVyLmNvbGxlY3QoKTsKKworICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgMTAwMDA7IGkrKykgeworICAgICAgICB2YXIgcyA9IG5ldyBTdHJpbmc7CisgICAg
fQorfQorCit2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTsKKworLy8g
RW5zdXJlIHRoZSBjbGFzc0xpc3QgaXMgY3JlYXRlZC4KK3ZhciByZWxMaXN0ID0gbGluay5yZWxM
aXN0OworCisvLyBTZXQgYSBjdXN0b20gcHJvcGVydHkuCitsaW5rLnJlbExpc3QubGlmZSA9IDQy
Oworc2hvdWxkRXZhbHVhdGVUbygnbGluay5yZWxMaXN0LmxpZmUnLCA0Mik7CisKKy8vIE51bGwg
b3V0IHJlZmVyZW5jZSB0byB0aGUgZGF0YXNldC4KK3JlbExpc3QgPSBudWxsOworCitnYygpOwor
CisvLyBUZXN0IHRoYXQgdGhlIGNsYXNzTGlzdCB3cmFwcGVyIHBlcnNpc3RlZCB0aGUgR0MgYW5k
IHN0aWxsIGhhcyB0aGUgY3VzdG9tIHByb3BlcnR5Lgorc2hvdWxkRXZhbHVhdGVUbygnbGluay5y
ZWxMaXN0LmxpZmUnLCA0Mik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
TGlua0VsZW1lbnQvc2NyaXB0LXRlc3RzL3JlbC1saXN0LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vSFRNTExpbmtFbGVtZW50L3NjcmlwdC10ZXN0cy9yZWwtbGlzdC5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
ZmVhYTUwNDMzMTY4ZDY3NjZhMzIwYzM5N2Q1MTZhMThhMzlmYWUxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTExpbmtFbGVtZW50L3NjcmlwdC10ZXN0cy9yZWwt
bGlzdC5qcwpAQCAtMCwwICsxLDM1MyBAQAorZGVzY3JpcHRpb24oJ1Rlc3RzIHRoZSByZWxMaXN0
IGF0dHJpYnV0ZSBhbmQgaXRzIHByb3BlcnRpZXMuJyk7CisKK3ZhciBlbGVtZW50OworCitmdW5j
dGlvbiBjcmVhdGVFbGVtZW50KHJlbCkKK3sKKyAgICBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnbGluaycpOworICAgIGVsZW1lbnQucmVsID0gcmVsOworfQorCitkZWJ1ZygnVGVz
dHMgZnJvbSBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9E
T01Ub2tlbkxpc3QvJyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2Rv
bS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9zZXR0aW5nLzAwMS5odG0KKy8vIEZpcmVmb3ggdGhy
b3dzIGhlcmUgYnV0IFdlYktpdCBkb2VzIG5vdCB0aHJvdyBvbiBzZXR0aW5nIHJlYWRvbmx5IGlk
bAorLy8gYXR0cmlidXRlcy4KK2NyZWF0ZUVsZW1lbnQoJ3gnKTsKK3RyeSB7CisgICAgZWxlbWVu
dC5yZWxMaXN0ID0gJ3knOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnU3RyaW5nKGVsZW1l
bnQucmVsTGlzdCknLCAneCcpOworfSBjYXRjaCAoZXgpIHsKKyAgICB0ZXN0UGFzc2VkKCdUaHJv
d2luZyBvbiBzZXQgaXMgYWNjZXB0YWJsZScpOworfQorCisvLyBodHRwOi8vc2ltb24uaHRtbDUu
b3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDEuaHRt
CitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQucmVsTGlzdC5s
ZW5ndGgnLCAwKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3Jl
ZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDAyLmh0bQorY3JlYXRlRWxlbWVudCgneCcp
Oworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCcsIDEpOworCisvLyBo
dHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxp
c3QvZ2V0dGluZy8wMDMuaHRtCitjcmVhdGVFbGVtZW50KCd4IHgnKTsKK3Nob3VsZEV2YWx1YXRl
VG8oJ2VsZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAyKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1
Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDA0Lmh0
bQorY3JlYXRlRWxlbWVudCgneCB5Jyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LnJlbExp
c3QubGVuZ3RoJywgMik7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2Rv
bS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwNS5odG0KK2NyZWF0ZUVsZW1lbnQo
JycpOworZWxlbWVudC5yZWxMaXN0LmFkZCgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdl
bGVtZW50LnJlbCcsICd4Jyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1s
L2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwNi5odG0KK2NyZWF0ZUVsZW1l
bnQoJ3gnKTsKK2VsZW1lbnQucmVsTGlzdC5hZGQoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZWxlbWVudC5yZWwnLCAneCcpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3Qv
aHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDcuaHRtCitjcmVhdGVF
bGVtZW50KCd4ICB4Jyk7CitlbGVtZW50LnJlbExpc3QuYWRkKCd4Jyk7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ3ggIHgnKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1
Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDA4Lmh0
bQorY3JlYXRlRWxlbWVudCgneScpOworZWxlbWVudC5yZWxMaXN0LmFkZCgneCcpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICd5IHgnKTsKKworLy8gaHR0cDovL3NpbW9u
Lmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcv
MDA5Lmh0bQorY3JlYXRlRWxlbWVudCgnJyk7CitlbGVtZW50LnJlbExpc3QucmVtb3ZlKCd4Jyk7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJycpOworCisvLyBodHRwOi8v
c2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0
dGluZy8wMTAuaHRtCitjcmVhdGVFbGVtZW50KCd4Jyk7CitlbGVtZW50LnJlbExpc3QucmVtb3Zl
KCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJycpOworCisvLyBo
dHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxp
c3QvZ2V0dGluZy8wMTEuaHRtCitjcmVhdGVFbGVtZW50KCcgeSB4ICB5ICcpOworZWxlbWVudC5y
ZWxMaXN0LnJlbW92ZSgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcs
ICcgeSB5ICcpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVm
bGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMTIuaHRtCitjcmVhdGVFbGVtZW50KCcgeCB5
ICB4ICcpOworZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgneCcpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdlbGVtZW50LnJlbCcsICd5Jyk7CisKKworZGVidWcoJ0Vuc3VyZSB0aGF0IHdlIGNhbiBo
YW5kbGUgZW1wdHkgY2xhc3MgbmFtZSBjb3JyZWN0bHknKTsKK2VsZW1lbnQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdhJyk7CitzaG91bGRCZVRydWUoImVsZW1lbnQucmVsTGlzdC50b2dnbGUo
J3gnKSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICd4Jyk7CitzaG91
bGRCZUZhbHNlKCJlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JykiKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygnZWxlbWVudC5yZWwnLCAnJyk7CisKK2VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdhJyk7CitzaG91bGRCZUZhbHNlKCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMoXCd4
XCcpJyk7CitzaG91bGRCZVVuZGVmaW5lZCgnZWxlbWVudC5yZWxMaXN0WzFdJyk7CitlbGVtZW50
LnJlbExpc3QucmVtb3ZlKCd4Jyk7CitlbGVtZW50LnJlbExpc3QuYWRkKCd4JykKKworCitkZWJ1
ZygnVGVzdCB0b2dnbGUgd2l0aCBmb3JjZSBhcmd1bWVudCcpCisKK2NyZWF0ZUVsZW1lbnQoJycp
Oworc2hvdWxkQmVUcnVlKCJlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgdHJ1ZSkiKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAneCcpOworc2hvdWxkQmVUcnVlKCJl
bGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgdHJ1ZSkiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZWxlbWVudC5yZWwnLCAneCcpOworc2hvdWxkQmVGYWxzZSgiZWxlbWVudC5yZWxMaXN0LnRv
Z2dsZSgneCcsIGZhbHNlKSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcs
ICcnKTsKK3Nob3VsZEJlRmFsc2UoImVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnLCBmYWxzZSki
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnJyk7CisKK3Nob3VsZFRo
cm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9uKCkgeworICAgIGVsZW1lbnQucmVsTGlzdC50b2dnbGUo
JycsIHRydWUpOworfSwgRE9NRXhjZXB0aW9uLlNZTlRBWF9FUlIpOworCitzaG91bGRUaHJvd0RP
TUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4IHkn
LCBmYWxzZSk7Cit9LCBET01FeGNlcHRpb24uSU5WQUxJRF9DSEFSQUNURVJfRVJSKTsKKworCitk
ZWJ1ZygnVGVzdGluZyBhZGQgaW4gcHJlc2VuY2Ugb2YgdHJhaWxpbmcgd2hpdGUgc3BhY2VzLicp
OworCitjcmVhdGVFbGVtZW50KCd4ICcpOworZWxlbWVudC5yZWxMaXN0LmFkZCgneScpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICd4IHknKTsKKworY3JlYXRlRWxlbWVu
dCgneFx0Jyk7CitlbGVtZW50LnJlbExpc3QuYWRkKCd5Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2VsZW1lbnQucmVsJywgJ3hcdHknKTsKKworY3JlYXRlRWxlbWVudCgnICcpOworZWxlbWVu
dC5yZWxMaXN0LmFkZCgneScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcs
ICcgeScpOworCisKK2RlYnVnKCdUZXN0IGludmFsaWQgdG9rZW5zJyk7CisKKy8vIFRlc3Rpbmcg
ZXhjZXB0aW9uIGR1ZSB0byBpbnZhbGlkIHRva2VuCisKKy8vIHNob3VsZFRocm93IGZyb20ganMt
dGVzdC1wcmUuanMgaXMgbm90IHN1ZmZpY2llbnQuCitmdW5jdGlvbiBzaG91bGRUaHJvd0RPTUV4
Y2VwdGlvbihmLCBlYykKK3sKKyAgICB0cnkgeworICAgICAgICBmKCk7CisgICAgICAgIHRlc3RG
YWlsZWQoJ0V4cGVjdGVkIGFuIGV4Y2VwdGlvbicpOworICAgIH0gY2F0Y2ggKGV4KSB7CisgICAg
ICAgIGlmICghKGV4IGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uKSkgeworICAgICAgICAgICAgdGVz
dEZhaWxlZCgnRXhjZXB0aW9uIGlzIG5vdCBhbiBpbnN0YW5jZSBvZiBET01FeGNlcHRpb24sIGZv
dW5kOiAnICsKKyAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnRvU3RyaW5nLmNhbGwoZXgp
KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBpZiAoZWMgIT09IGV4
LmNvZGUpIHsKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoJ1dyb25nIGV4Y2VwdGlvbiBjb2RlOiAn
ICsgZXguY29kZSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9CisgICAg
dmFyIGZvcm1hdHRlZEZ1bmN0aW9uID0gU3RyaW5nKGYpLnJlcGxhY2UoL15mdW5jdGlvbi4rXHtc
cyovbSwgJycpLgorICAgICAgICByZXBsYWNlKC87P1xzK1x9L20sICcnKTsKKyAgICB0ZXN0UGFz
c2VkKGZvcm1hdHRlZEZ1bmN0aW9uICsgJyB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0
aCBjb2RlICcgKyBlYyk7Cit9CisKK2NyZWF0ZUVsZW1lbnQoJ3gnKTsKK3Nob3VsZFRocm93RE9N
RXhjZXB0aW9uKGZ1bmN0aW9uKCkgeworICAgIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygnJyk7
Cit9LCBET01FeGNlcHRpb24uU1lOVEFYX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJ3ggeScpOwor
c2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5yZWxMaXN0
LmNvbnRhaW5zKCd4IHknKTsKK30sIERPTUV4Y2VwdGlvbi5JTlZBTElEX0NIQVJBQ1RFUl9FUlIp
OworCitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9u
KCkgeworICAgIGVsZW1lbnQucmVsTGlzdC5hZGQoJycpOworfSwgRE9NRXhjZXB0aW9uLlNZTlRB
WF9FUlIpOworCitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1
bmN0aW9uKCkgeworICAgIGVsZW1lbnQucmVsTGlzdC5hZGQoJ3ggeScpOworfSwgRE9NRXhjZXB0
aW9uLklOVkFMSURfQ0hBUkFDVEVSX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxk
VGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5yZWxMaXN0LnJlbW92
ZSgnJyk7Cit9LCBET01FeGNlcHRpb24uU1lOVEFYX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJycp
Oworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5yZWxM
aXN0LnJlbW92ZSgneCB5Jyk7Cit9LCBET01FeGNlcHRpb24uSU5WQUxJRF9DSEFSQUNURVJfRVJS
KTsKKworCisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVu
Y3Rpb24oKSB7CisgICAgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgnJyk7Cit9LCBET01FeGNlcHRp
b24uU1lOVEFYX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJ3ggeScpOworc2hvdWxkVGhyb3dET01F
eGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCB5Jyk7
Cit9LCBET01FeGNlcHRpb24uSU5WQUxJRF9DSEFSQUNURVJfRVJSKTsKKworY3JlYXRlRWxlbWVu
dCgnJyk7CitzaG91bGRUaHJvdygiZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgpIik7CisKK2RlYnVn
KCdJbmRleGluZycpOworCitjcmVhdGVFbGVtZW50KCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2VsZW1lbnQucmVsTGlzdFswXScsICd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2Vs
ZW1lbnQucmVsTGlzdC5pdGVtKDApJywgJ3gnKTsKKworY3JlYXRlRWxlbWVudCgneCB4Jyk7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsTGlzdFsxXScsICd4Jyk7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsTGlzdC5pdGVtKDEpJywgJ3gnKTsKKworY3JlYXRl
RWxlbWVudCgneCB5Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsTGlzdFsx
XScsICd5Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsTGlzdC5pdGVtKDEp
JywgJ3knKTsKKworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRCZVVuZGVmaW5lZCgnZWxlbWVu
dC5yZWxMaXN0WzBdJyk7CitzaG91bGRCZU51bGwoJ2VsZW1lbnQucmVsTGlzdC5pdGVtKDApJyk7
CisKK2NyZWF0ZUVsZW1lbnQoJ3ggeSB6Jyk7CitzaG91bGRCZVVuZGVmaW5lZCgnZWxlbWVudC5y
ZWxMaXN0WzRdJyk7CitzaG91bGRCZU51bGwoJ2VsZW1lbnQucmVsTGlzdC5pdGVtKDQpJyk7Citz
aG91bGRCZVVuZGVmaW5lZCgnZWxlbWVudC5yZWxMaXN0Wy0xXScpOyAgLy8gTm90IGEgdmFsaWQg
aW5kZXggc28gc2hvdWxkIG5vdCB0cmlnZ2VyIGl0ZW0oKS4KK3Nob3VsZEJlTnVsbCgnZWxlbWVu
dC5yZWxMaXN0Lml0ZW0oLTEpJyk7CitzaG91bGRUaHJvdygnZWxlbWVudC5yZWxMaXN0Lml0ZW0o
KScpOworCitkZWJ1ZygnVGVzdCBjYXNlIHNpbmNlIERPTVRva2VuTGlzdCBpcyBjYXNlIHNlbnNp
dGl2ZScpOworCitjcmVhdGVFbGVtZW50KCd4Jyk7CitzaG91bGRCZVRydWUoJ2VsZW1lbnQucmVs
TGlzdC5jb250YWlucyhcJ3hcJyknKTsKK3Nob3VsZEJlRmFsc2UoJ2VsZW1lbnQucmVsTGlzdC5j
b250YWlucyhcJ1hcJyknKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWxMaXN0
WzBdJywgJ3gnKTsKK3Nob3VsZFRocm93KCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMoKScpOwor
CitjcmVhdGVFbGVtZW50KCdYJyk7CitzaG91bGRCZVRydWUoJ2VsZW1lbnQucmVsTGlzdC5jb250
YWlucyhcJ1hcJyknKTsKK3Nob3VsZEJlRmFsc2UoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucyhc
J3hcJyknKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWxMaXN0WzBdJywgJ1gn
KTsKKworCitkZWJ1ZygnVGVzdGluZyB3aGl0ZXNwYWNlJyk7CisvLyBVKzAwMjAgU1BBQ0UsIFUr
MDAwOSBDSEFSQUNURVIgVEFCVUxBVElPTiAodGFiKSwgVSswMDBBIExJTkUgRkVFRCAoTEYpLAor
Ly8gVSswMDBDIEZPUk0gRkVFRCAoRkYpLCBhbmQgVSswMDBEIENBUlJJQUdFIFJFVFVSTiAoQ1Ip
CisKK2NyZWF0ZUVsZW1lbnQoJ3hcdTAwMjB5Jyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50
LnJlbExpc3QubGVuZ3RoJywgMik7CisKK2NyZWF0ZUVsZW1lbnQoJ3hcdTAwMDl5Jyk7CitzaG91
bGRFdmFsdWF0ZVRvKCdlbGVtZW50LnJlbExpc3QubGVuZ3RoJywgMik7CisKK2NyZWF0ZUVsZW1l
bnQoJ3hcdTAwMEF5Jyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LnJlbExpc3QubGVuZ3Ro
JywgMik7CisKK2NyZWF0ZUVsZW1lbnQoJ3hcdTAwMEN5Jyk7CitzaG91bGRFdmFsdWF0ZVRvKCdl
bGVtZW50LnJlbExpc3QubGVuZ3RoJywgMik7CisKK2NyZWF0ZUVsZW1lbnQoJ3hcdTAwMER5Jyk7
CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LnJlbExpc3QubGVuZ3RoJywgMik7CisKKworZGVi
dWcoJ0RPTVRva2VuTGlzdCBwcmVzZW5jZSBhbmQgdHlwZScpOworCisKKy8vIFNhZmFyaSByZXR1
cm5zIG9iamVjdAorLy8gRmlyZWZveCByZXR1cm5zIG9iamVjdAorLy8gSUU4IHJldHVybnMgb2Jq
ZWN0CisvLyBDaHJvbWUgcmV0dXJucyBmdW5jdGlvbgorLy8gYXNzZXJ0RXF1YWxzKCdvYmplY3Qn
LCB0eXBlb2YgRE9NVG9rZW5MaXN0KTsKK3Nob3VsZEJlVHJ1ZSgnXCd1bmRlZmluZWRcJyAhPSB0
eXBlb2YgRE9NVG9rZW5MaXN0Jyk7CisKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndHlwZW9mIERP
TVRva2VuTGlzdC5wcm90b3R5cGUnLCAnb2JqZWN0Jyk7CisKK2NyZWF0ZUVsZW1lbnQoJ3gnKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygndHlwZW9mIGVsZW1lbnQucmVsTGlzdCcsICdvYmplY3Qn
KTsKKworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5yZWxMaXN0LmNvbnN0cnVjdG9yJywgJ0RP
TVRva2VuTGlzdCcpOworCitzaG91bGRCZVRydWUoJ2VsZW1lbnQucmVsTGlzdCA9PT0gZWxlbWVu
dC5yZWxMaXN0Jyk7CisKKy8vIFZhcmlhZGljCisKK2RlYnVnKCdWYXJpYWRpYyBjYWxscycpOwor
CitjcmVhdGVFbGVtZW50KCcnKTsKK2VsZW1lbnQucmVsTGlzdC5hZGQoJ2EnLCAnYicpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICdhIGInKTsKKworZWxlbWVudC5yZWxM
aXN0LmFkZCgnYScsICdiJywgJ2MnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5y
ZWwnLCAnYSBiIGMnKTsKKworZWxlbWVudC5yZWxMaXN0LmFkZChudWxsLCB7dG9TdHJpbmc6IGZ1
bmN0aW9uKCkgeyByZXR1cm4gJ2QnIH19LCB1bmRlZmluZWQsIDAsIGZhbHNlKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnYSBiIGMgbnVsbCBkIHVuZGVmaW5lZCAwIGZh
bHNlJyk7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworZWxlbWVudC5yZWxMaXN0LmFkZCgnYScsICdi
JywgJ2EnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnYSBiJyk7CisK
K2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7
CisgICAgZWxlbWVudC5yZWxMaXN0LmFkZCgnYScsICdiJywgJycpOworfSwgRE9NRXhjZXB0aW9u
LlNZTlRBWF9FUlIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICcnKTsK
Kworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5yZWxM
aXN0LmFkZCgnYScsICdiJywgJ2MgZCcpOworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQ0hBUkFD
VEVSX0VSUik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJycpOworCitz
aG91bGRUaHJvdygnZWxlbWVudC5yZWxMaXN0LmFkZCgiYSIsIHt0b1N0cmluZzogZnVuY3Rpb24o
KSB7IHRocm93IG5ldyBFcnJvcigidXNlciBlcnJvciIpOyB9fSwgImIiKScsICciRXJyb3I6IHVz
ZXIgZXJyb3IiJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJycpOwor
CitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3VsZE5vdFRocm93KCdlbGVtZW50LnJlbExpc3QuYWRk
KCknKTsKKworY3JlYXRlRWxlbWVudCgnJyk7Cit2YXIgb2JzZXJ2ZXIgPSBuZXcgV2ViS2l0TXV0
YXRpb25PYnNlcnZlcihmdW5jdGlvbigpIHt9KTsKK29ic2VydmVyLm9ic2VydmUoZWxlbWVudCwg
e2F0dHJpYnV0ZXM6IHRydWV9KTsKK2VsZW1lbnQucmVsTGlzdC5hZGQoJ2EnLCAnYycpOworc2hv
dWxkQmUoJ29ic2VydmVyLnRha2VSZWNvcmRzKCkubGVuZ3RoJywgJzEnKTsKKworCitjcmVhdGVF
bGVtZW50KCdhIGIgYyBkICAnKTsKK2VsZW1lbnQucmVsTGlzdC5yZW1vdmUoJ2EnLCAnYycpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICdiIGQgICcpOworCitlbGVtZW50
LnJlbExpc3QucmVtb3ZlKCdiJywgJ2InKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVu
dC5yZWwnLCAnZCAgJyk7CisKK2NyZWF0ZUVsZW1lbnQoJ2EgYiBjIG51bGwgZCB1bmRlZmluZWQg
MCBmYWxzZScpOworZWxlbWVudC5yZWxMaXN0LnJlbW92ZShudWxsLCB7dG9TdHJpbmc6IGZ1bmN0
aW9uKCkgeyByZXR1cm4gJ2QnIH19LCB1bmRlZmluZWQsIDAsIGZhbHNlKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnYSBiIGMnKTsKKworY3JlYXRlRWxlbWVudCgnYSBi
Jyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LnJl
bExpc3QucmVtb3ZlKCdhJywgJ2InLCAnJyk7Cit9LCBET01FeGNlcHRpb24uU1lOVEFYX0VSUik7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ2EgYicpOworCitzaG91bGRU
aHJvdygnZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgiYSIsIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7
IHRocm93IG5ldyBFcnJvcigidXNlciBlcnJvciIpOyB9fSwgImIiKScsICciRXJyb3I6IHVzZXIg
ZXJyb3IiJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ2EgYicpOwor
CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LnJlbExp
c3QucmVtb3ZlKCdhJywgJ2InLCAnYyBkJyk7Cit9LCBET01FeGNlcHRpb24uSU5WQUxJRF9DSEFS
QUNURVJfRVJSKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnYSBiJyk7
CisKK3Nob3VsZE5vdFRocm93KCdlbGVtZW50LnJlbExpc3QucmVtb3ZlKCknKTsKKworY3JlYXRl
RWxlbWVudCgnYSBiIGMnKTsKK29ic2VydmVyID0gbmV3IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIo
ZnVuY3Rpb24oKSB7fSk7CitvYnNlcnZlci5vYnNlcnZlKGVsZW1lbnQsIHthdHRyaWJ1dGVzOiB0
cnVlfSk7CitlbGVtZW50LnJlbExpc3QucmVtb3ZlKCdhJywgJ2MnKTsKK3Nob3VsZEJlKCdvYnNl
cnZlci50YWtlUmVjb3JkcygpLmxlbmd0aCcsICcxJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9yZWwtbGlzdC1hbmNob3ItYXJlYS1hbmQtbGluay1lbGVtZW50LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3JlbC1saXN0LWFuY2hvci1hcmVhLWFuZC1saW5r
LWVsZW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlMmI2ZmQxNDAzNzQ2NDA2MTdmNTRk
MDA4MDRhMjg0ZjRkMjIzOTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9yZWwtbGlzdC1hbmNob3ItYXJlYS1hbmQtbGluay1lbGVtZW50LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDgxIEBACitUZXN0cyB0aGF0IHJlbExpc3Qgd29ya3Mgb24gYW5jaG9yLCBhcmVhIGFu
ZCBsaW5rIGVsZW1lbnRzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitUZXN0IHN0
YXRpYyBhbmNob3IgZWxlbWVudAorUEFTUyBlbGVtZW50LnJlbExpc3QgPT0gbnVsbCBpcyBmYWxz
ZQorUEFTUyBlbGVtZW50LnJlbExpc3QgPT0gdW5kZWZpbmVkIGlzIGZhbHNlCitQQVNTIGVsZW1l
bnQucmVsTGlzdCBpbnN0YW5jZW9mIERPTVRva2VuTGlzdCBpcyB0cnVlCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5sZW5ndGggaXMgMworUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImEiKSBp
cyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiYiIpIGlzIHRydWUKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJjIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExp
c3QuY29udGFpbnMoImQiKSBpcyBmYWxzZQorVGVzdCBzdGF0aWMgYXJlYSBlbGVtZW50CitQQVNT
IGVsZW1lbnQucmVsTGlzdCA9PSBudWxsIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdCA9
PSB1bmRlZmluZWQgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0IGluc3RhbmNlb2YgRE9N
VG9rZW5MaXN0IGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAzCitQQVNT
IGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiYSIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxM
aXN0LmNvbnRhaW5zKCJiIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMo
ImMiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiZCIpIGlzIGZhbHNl
CitUZXN0IHN0YXRpYyBsaW5rIGVsZW1lbnQKK1BBU1MgZWxlbWVudC5yZWxMaXN0ID09IG51bGwg
aXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0ID09IHVuZGVmaW5lZCBpcyBmYWxzZQorUEFT
UyBlbGVtZW50LnJlbExpc3QgaW5zdGFuY2VvZiBET01Ub2tlbkxpc3QgaXMgdHJ1ZQorUEFTUyBl
bGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDMKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5z
KCJhIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImIiKSBpcyB0cnVl
CitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiYyIpIGlzIHRydWUKK1BBU1MgZWxlbWVu
dC5yZWxMaXN0LmNvbnRhaW5zKCJkIikgaXMgZmFsc2UKK1Rlc3QgZHluYW1pYyBhbmNob3IgZWxl
bWVudAorUEFTUyBlbGVtZW50LnJlbExpc3QgPT0gbnVsbCBpcyBmYWxzZQorUEFTUyBlbGVtZW50
LnJlbExpc3QgPT0gdW5kZWZpbmVkIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdCBpbnN0
YW5jZW9mIERPTVRva2VuTGlzdCBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGgg
aXMgMworUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImZvbyIpIGlzIHRydWUKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJiYXIiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVs
TGlzdC5jb250YWlucygiY2hvY29sYXRlIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3Qu
Y29udGFpbnMoIm9yYW5nZSIpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGgg
aXMgMAorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDAKK1BBU1MgZWxlbWVudC5yZWxM
aXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygibWFyc2htYWxs
b3ciKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiY2hpcHMiKSBpcyB0
cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygib3JhbmdlIikgaXMgZmFsc2UKK1Rl
c3QgZHluYW1pYyBhcmVhIGVsZW1lbnQKK1BBU1MgZWxlbWVudC5yZWxMaXN0ID09IG51bGwgaXMg
ZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0ID09IHVuZGVmaW5lZCBpcyBmYWxzZQorUEFTUyBl
bGVtZW50LnJlbExpc3QgaW5zdGFuY2VvZiBET01Ub2tlbkxpc3QgaXMgdHJ1ZQorUEFTUyBlbGVt
ZW50LnJlbExpc3QubGVuZ3RoIGlzIDMKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJm
b28iKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiYmFyIikgaXMgdHJ1
ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImNob2NvbGF0ZSIpIGlzIHRydWUKK1BB
U1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJvcmFuZ2UiKSBpcyBmYWxzZQorUEFTUyBlbGVt
ZW50LnJlbExpc3QubGVuZ3RoIGlzIDAKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAw
CitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbExpc3Qu
Y29udGFpbnMoIm1hcnNobWFsbG93IikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29u
dGFpbnMoImNoaXBzIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIm9y
YW5nZSIpIGlzIGZhbHNlCitUZXN0IGR5bmFtaWMgbGluayBlbGVtZW50CitQQVNTIGVsZW1lbnQu
cmVsTGlzdCA9PSBudWxsIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdCA9PSB1bmRlZmlu
ZWQgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0IGluc3RhbmNlb2YgRE9NVG9rZW5MaXN0
IGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAzCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5jb250YWlucygiZm9vIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29u
dGFpbnMoImJhciIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJjaG9j
b2xhdGUiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygib3JhbmdlIikg
aXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAwCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5sZW5ndGggaXMgMAorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDIKK1BB
U1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJtYXJzaG1hbGxvdyIpIGlzIHRydWUKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJjaGlwcyIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0LmNvbnRhaW5zKCJvcmFuZ2UiKSBpcyBmYWxzZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3JlbC1saXN0LWFuY2hvci1hcmVhLWFuZC1saW5rLWVsZW1lbnQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3JlbC1saXN0LWFuY2hvci1hcmVhLWFuZC1saW5rLWVsZW1lbnQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42ZmNkMWJjYjViM2Y5ODI2ODc0OWViOThiOGIyZTA2ODVjYmE3YmFhCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVsLWxpc3QtYW5jaG9yLWFy
ZWEtYW5kLWxpbmstZWxlbWVudC5odG1sCkBAIC0wLDAgKzEsNzQgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGEgaWQ9ImEiIHJlbD0iYSBiIGMiPjwvYT4KKzxh
cmVhIGlkPSJhcmVhIiByZWw9ImEgYiBjIj48L2FyZWE+Cis8bGluayBpZD0ibGluayIgcmVsPSJh
IGIgYyI+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgcmVsTGlzdCB3b3JrcyBv
biBhbmNob3IsIGFyZWEgYW5kIGxpbmsgZWxlbWVudHMnKTsKKwordmFyIGVsZW1lbnQ7CisKK2Z1
bmN0aW9uIHRlc3RTdGF0aWMoKQoreworICAgIHNob3VsZEJlRmFsc2UoJ2VsZW1lbnQucmVsTGlz
dCA9PSBudWxsJyk7CisgICAgc2hvdWxkQmVGYWxzZSgnZWxlbWVudC5yZWxMaXN0ID09IHVuZGVm
aW5lZCcpOworICAgIHNob3VsZEJlVHJ1ZSgnZWxlbWVudC5yZWxMaXN0IGluc3RhbmNlb2YgRE9N
VG9rZW5MaXN0Jyk7CisgICAgc2hvdWxkQmUoJ2VsZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAnMycp
OworICAgIHNob3VsZEJlVHJ1ZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJhIiknKTsKKyAg
ICBzaG91bGRCZVRydWUoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygiYiIpJyk7CisgICAgc2hv
dWxkQmVUcnVlKCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImMiKScpOworICAgIHNob3VsZEJl
RmFsc2UoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygiZCIpJyk7Cit9CisKK2Z1bmN0aW9uIHRl
c3REeW5hbWljKCkgCit7ICAgIAorICAgIHNob3VsZEJlRmFsc2UoJ2VsZW1lbnQucmVsTGlzdCA9
PSBudWxsJyk7CisgICAgc2hvdWxkQmVGYWxzZSgnZWxlbWVudC5yZWxMaXN0ID09IHVuZGVmaW5l
ZCcpOworICAgIHNob3VsZEJlVHJ1ZSgnZWxlbWVudC5yZWxMaXN0IGluc3RhbmNlb2YgRE9NVG9r
ZW5MaXN0Jyk7CisgICAgCisgICAgZWxlbWVudC5yZWwgPSAiZm9vIGJhciBjaG9jb2xhdGUiOwor
ICAgIHNob3VsZEJlKCdlbGVtZW50LnJlbExpc3QubGVuZ3RoJywgJzMnKTsKKyAgICBzaG91bGRC
ZVRydWUoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygiZm9vIiknKTsKKyAgICBzaG91bGRCZVRy
dWUoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygiYmFyIiknKTsKKyAgICBzaG91bGRCZVRydWUo
J2VsZW1lbnQucmVsTGlzdC5jb250YWlucygiY2hvY29sYXRlIiknKTsKKyAgICBzaG91bGRCZUZh
bHNlKCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIm9yYW5nZSIpJyk7CisKKyAgICBlbGVtZW50
LnJlbW92ZUF0dHJpYnV0ZSgncmVsJyk7CisgICAgc2hvdWxkQmUoJ2VsZW1lbnQucmVsTGlzdC5s
ZW5ndGgnLCAnMCcpOworICAgIAorICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdyZWwnLCAnJyk7
CisgICAgc2hvdWxkQmUoJ2VsZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAnMCcpOworCisgICAgZWxl
bWVudC5zZXRBdHRyaWJ1dGUoJ3JlbCcsICdtYXJzaG1hbGxvdyBjaGlwcycpOworICAgIHNob3Vs
ZEJlKCdlbGVtZW50LnJlbExpc3QubGVuZ3RoJywgJzInKTsKKyAgICBzaG91bGRCZVRydWUoJ2Vs
ZW1lbnQucmVsTGlzdC5jb250YWlucygibWFyc2htYWxsb3ciKScpOworICAgIHNob3VsZEJlVHJ1
ZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJjaGlwcyIpJyk7CisgICAgc2hvdWxkQmVGYWxz
ZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJvcmFuZ2UiKScpOworfQorCitlbGVtZW50ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2EnKTsKK2RlYnVnKCdUZXN0IHN0YXRpYyBhbmNob3Ig
ZWxlbWVudCcpOwordGVzdFN0YXRpYygpOworZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdhcmVhJyk7CitkZWJ1ZygnVGVzdCBzdGF0aWMgYXJlYSBlbGVtZW50Jyk7Cit0ZXN0U3Rh
dGljKCk7CitlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xpbmsnKTsKK2RlYnVn
KCdUZXN0IHN0YXRpYyBsaW5rIGVsZW1lbnQnKTsKK3Rlc3RTdGF0aWMoKTsKKworZWxlbWVudCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKK2RlYnVnKCdUZXN0IGR5bmFtaWMgYW5jaG9y
IGVsZW1lbnQnKTsKK3Rlc3REeW5hbWljKCk7CitlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnYXJlYScpOworZGVidWcoJ1Rlc3QgZHluYW1pYyBhcmVhIGVsZW1lbnQnKTsKK3Rlc3RE
eW5hbWljKCk7CitlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpOworZGVi
dWcoJ1Rlc3QgZHluYW1pYyBsaW5rIGVsZW1lbnQnKTsKK3Rlc3REeW5hbWljKCk7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGVyZi9yZWwtbGlzdC1yZW1v
dmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGVyZi9yZWwtbGlzdC1yZW1vdmUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjBhOTc2ODczODJmZWMzODczNWFjNzFjNjJmYmQzOTk2NmZmNWMw
ZWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmL3JlbC1saXN0LXJlbW92ZS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACitUZXN0cyB0aGF0IHJlbExpc3QgcmVtb3ZlIGlz
IGxpbmVhci4KK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGVyZi9yZWwtbGlzdC1yZW1vdmUuaHRtbCBiL0xheW91dFRlc3RzL3Bl
cmYvcmVsLWxpc3QtcmVtb3ZlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTUzN2QyMDlhOTZiZTZiY2EwOTRj
NGI2ZGIxNGMzMDMxYmFkZjZlZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BlcmYv
cmVsLWxpc3QtcmVtb3ZlLmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9tYWduaXR1ZGUtcGVyZi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCit2YXIgZWxl
bWVudCwgcmVsLCByZWxUb1JlbW92ZSwgdHlwZTsKKworLy8gVGVzdCAxIHRlc3RzIHRoYXQgcmVt
b3ZlIGlzIGxpbmVhciB3aGVuIHRoZXJlIGFyZSBOIGNsYXNzIG5hbWVzLgorCitmdW5jdGlvbiBz
ZXR1cEZ1bmN0aW9uMShtYWduaXR1ZGUpCit7CisgICAgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodHlwZSk7CisgICAgcmVsVG9SZW1vdmUgPSAnYic7CisgICAgcmVsID0gQXJyYXko
bWFnbml0dWRlKS5qb2luKCdhICcpICsgcmVsVG9SZW1vdmU7Cit9CisKKy8vIFRlc3QgMiB0ZXN0
cyB0aGF0IHJlbW92ZSBpcyBsaW5lYXIgd2hlbiB0aGUgbGVuZ3RoIG9mIHRoZSBjbGFzcyBuYW1l
IGlzIE4uCisKK2Z1bmN0aW9uIHNldHVwRnVuY3Rpb24yKG1hZ25pdHVkZSkKK3sKKyAgICBlbGVt
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0eXBlKTsKKyAgICByZWxUb1JlbW92ZSA9IEFy
cmF5KG1hZ25pdHVkZSArIDEpLmpvaW4oJ2EnKTsKKyAgICByZWwgPSByZWxUb1JlbW92ZTsKK30K
KworZnVuY3Rpb24gdGVzdChtYWduaXR1ZGUpCit7CisgICAgZWxlbWVudC5yZWwgPSByZWw7Cisg
ICAgZWxlbWVudC5yZWxMaXN0LnJlbW92ZShyZWxUb1JlbW92ZSk7Cit9CisKK01hZ25pdHVkZS5k
ZXNjcmlwdGlvbignVGVzdHMgdGhhdCByZWxMaXN0IHJlbW92ZSBpcyBsaW5lYXIuJyk7Cit0eXBl
ID0gJ2EnCitNYWduaXR1ZGUucnVuKHNldHVwRnVuY3Rpb24xLCB0ZXN0LCBNYWduaXR1ZGUuTElO
RUFSKTsKK01hZ25pdHVkZS5ydW4oc2V0dXBGdW5jdGlvbjIsIHRlc3QsIE1hZ25pdHVkZS5MSU5F
QVIpOwordHlwZSA9ICdhcmVhJworTWFnbml0dWRlLnJ1bihzZXR1cEZ1bmN0aW9uMSwgdGVzdCwg
TWFnbml0dWRlLkxJTkVBUik7CitNYWduaXR1ZGUucnVuKHNldHVwRnVuY3Rpb24yLCB0ZXN0LCBN
YWduaXR1ZGUuTElORUFSKTsKK3R5cGUgPSAnbGluaycKK01hZ25pdHVkZS5ydW4oc2V0dXBGdW5j
dGlvbjEsIHRlc3QsIE1hZ25pdHVkZS5MSU5FQVIpOworTWFnbml0dWRlLnJ1bihzZXR1cEZ1bmN0
aW9uMiwgdGVzdCwgTWFnbml0dWRlLkxJTkVBUik7CisKKzwvc2NyaXB0PgorPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240082</attachid>
            <date>2014-10-18 20:37:10 -0700</date>
            <delta_ts>2014-10-19 22:30:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137860-20141019103713.patch</filename>
            <type>text/plain</type>
            <size>90113</size>
            <attacher name="Dhi Aurrahman">diorahman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0ODU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTdkMThhNzg5Mzc4MzBh
ZTc1NTQ2MGZjMzE4NWUzMWI2MWY0YTM0ZS4uZWNmMmFkMGE4NWIwZTcyMzExNGEwNTkxMDAxZTdk
ZTgxZmE5OWQwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDE0LTEwLTE4ICBEaGkg
QXVycmFobWFuICA8ZGlvcmFobWFuQHJvY2t5YmFycy5jb20+CisKKyAgICAgICAgQWRkIHJlbExp
c3QgdG8gdGhlIGFuY2hvciwgYXJlYSBhbmQgbGluayBlbGVtZW50cworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3ODYwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHJlbExpc3QgdG8gcmVmbGVjdCB0
aGUgcmVsIGNvbnRlbnQgYXR0cmlidXRlIGZvciBhbmNob3JbMV0sIAorICAgICAgICBhcmVhWzJd
IGFuZCBsaW5rWzNdIGVsZW1lbnRzLgorCisgICAgICAgIFsxXSBodHRwczovL2h0bWwuc3BlYy53
aGF0d2cub3JnL211bHRpcGFnZS9zZW1hbnRpY3MuaHRtbCNkb20tYS1yZWxsaXN0CisgICAgICAg
IFsyXSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9lbWJlZGRlZC1jb250
ZW50Lmh0bWwjZG9tLWFyZWEtcmVsbGlzdAorICAgICAgICBbM10gaHR0cHM6Ly9odG1sLnNwZWMu
d2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc2VtYW50aWNzLmh0bWwjZG9tLWxpbmstcmVsbGlzdAorCisg
ICAgICAgIFRlc3RzOiBmYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9yZWwtbGlzdC1nYy5odG1s
CisgICAgICAgICAgICAgICBmYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9yZWwtbGlzdC1xdWly
a3MuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvcmVsLWxp
c3QuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20vSFRNTEFyZWFFbGVtZW50L3JlbC1saXN0
LWdjLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL0hUTUxBcmVhRWxlbWVudC9yZWwtbGlz
dC1xdWlya3MuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9kb20vSFRNTEFyZWFFbGVtZW50L3Jl
bC1saXN0Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9yZWwt
bGlzdC1nYy5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcmVs
LWxpc3QtcXVpcmtzLmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVu
dC9yZWwtbGlzdC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2RvbS9yZWwtbGlzdC1hbmNob3It
YXJlYS1hbmQtbGluay1lbGVtZW50Lmh0bWwKKyAgICAgICAgICAgICAgIHBlcmYvcmVsLWxpc3Qt
cmVtb3ZlLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIFdlYkNv
cmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2o6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dl
YkNvcmUudmN4cHJvai5maWx0ZXJzOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBodG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxBbmNob3JFbGVtZW50OjpzZXRSZWwpOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTEFuY2hvckVsZW1lbnQ6OnJlbExpc3QpOgorICAgICAgICAqIGh0bWwvSFRNTEFuY2hv
ckVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbDoKKyAgICAg
ICAgKiBodG1sL0hUTUxBcmVhRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MTGlua0Vs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExpbmtFbGVtZW50OjpwYXJzZUF0dHJp
YnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTGlua0VsZW1lbnQ6OnJlbExpc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6SFRNTExpbmtFbGVtZW50OjpzZXRSZWwpOgorICAgICAgICAqIGh0bWwv
SFRNTExpbmtFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1MTGlua0VsZW1lbnQuaWRsOgor
ICAgICAgICAqIGh0bWwvUmVsTGlzdC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVs
TGlzdDo6cmVmKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbExpc3Q6OmRlcmVmKToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbExpc3Q6Omxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpSZWxMaXN0Ojpp
dGVtKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbExpc3Q6OmVsZW1lbnQpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVsTGlzdDo6c2V0UmVsKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbExpc3Q6OmNvbnRh
aW5zSW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6UmVsTGlzdDo6dmFsdWUpOgorICAgICAg
ICAoV2ViQ29yZTo6UmVsTGlzdDo6c2V0VmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6UmVsTGlz
dDo6aGFzUmVsKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbExpc3Q6OnJlbHMpOgorICAgICAgICAq
IGh0bWwvUmVsTGlzdC5oOiBBZGRlZC4KKwogMjAxNC0xMC0xNiAgUm9nZXIgRm9uZyAgPHJvZ2Vy
X2ZvbmdAYXBwbGUuY29tPgogCiAgICAgICAgIENhbGxpbmcgZ2xSZWFkUGl4ZWxzIHdpdGggQkdS
QSBmb3JtYXQgb24gYW4gTlZJRElBIG1hY2hpbmUgd2l0aCBhbiBvcGFxdWUgY29udGV4dCByZXR1
cm5zIHRoZSB3cm9uZyBhbHBoYSB2YWx1ZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDY3ZDIx
OGIyZGRlZTI1ODIwY2E4YjhkZmMyZTY5Y2Y2NzJlZjMwMWYuLjMyYzc2NWRlM2ViOTAwNWI0MGI3
NDI2ODJmYjVhZjBjYzcwNDA1MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xNjc2LDYgKzE2
NzYsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaHRtbC9SYWRpb0lucHV0VHlwZS5jcHAK
ICAgICBodG1sL1JhZGlvTm9kZUxpc3QuY3BwCiAgICAgaHRtbC9SYW5nZUlucHV0VHlwZS5jcHAK
KyAgICBodG1sL1JlbExpc3QuY3BwCiAgICAgaHRtbC9SZXNldElucHV0VHlwZS5jcHAKICAgICBo
dG1sL1NlYXJjaElucHV0VHlwZS5jcHAKICAgICBodG1sL1N0ZXBSYW5nZS5jcHAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCmluZGV4IDJiODdjODI0
ZmJkODA5NTE1ZGQyYzE4NWQzZWZhZmQ5MzAyODJjOWMuLjliMWVkNDdlMTBjMjRkOTg0NGQ4NjUy
Yzg3ODM4Zjk2ZDhlNWRiMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4
cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvagpAQCAtMTYwNjIsNiArMTYwNjIsNyBAQAogICAgIDxDbENvbXBpbGUg
SW5jbHVkZT0iLi5caHRtbFxSYWRpb0lucHV0VHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJ
bmNsdWRlPSIuLlxodG1sXFJhZGlvTm9kZUxpc3QuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5caHRtbFxSYW5nZUlucHV0VHlwZS5jcHAiIC8+CisgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxodG1sXFJlbExpc3QuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
aHRtbFxSZXNldElucHV0VHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxo
dG1sXFNlYXJjaElucHV0VHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxo
dG1sXFN0ZXBSYW5nZS5jcHAiIC8+CkBAIC0yMDg0Miw2ICsyMDg0Myw3IEBACiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxodG1sXFJhZGlvSW5wdXRUeXBlLmgiIC8+CiAgICAgPENsSW5jbHVk
ZSBJbmNsdWRlPSIuLlxodG1sXFJhZGlvTm9kZUxpc3QuaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXGh0bWxcUmFuZ2VJbnB1dFR5cGUuaCIgLz4KKyAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGh0bWxcUmVsTGlzdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRt
bFxSZXNldElucHV0VHlwZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxT
ZWFyY2hJbnB1dFR5cGUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxcU3Rl
cFJhbmdlLmgiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ov
V2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ov
V2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggMWU4MTk0NjI5ZmJhNTIzMjhiZTgxYzRkNTc1
Y2RhOWI4NjM1MGFmYS4uM2MyNTQwYjNhNDlmMjI3MjAwZTk3YWU4ODNiNmUyMWMxNWEyOWRjYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ai5maWx0ZXJzCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZj
eHByb2ouZmlsdGVycwpAQCAtNDA1Myw2ICs0MDUzLDkgQEAKICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXGh0bWxcUmFuZ2VJbnB1dFR5cGUuY3BwIj4KICAgICAgIDxGaWx0ZXI+aHRtbDwvRmls
dGVyPgogICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxS
ZWxMaXN0LmNwcCI+CisgICAgICA8RmlsdGVyPmh0bWw8L0ZpbHRlcj4KKyAgICA8L0NsQ29tcGls
ZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcUmVzZXRJbnB1dFR5cGUuY3BwIj4K
ICAgICAgIDxGaWx0ZXI+aHRtbDwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtMTEyMTcs
NiArMTEyMjAsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxSYW5nZUlucHV0
VHlwZS5oIj4KICAgICAgIDxGaWx0ZXI+aHRtbDwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgor
ICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxSZWxMaXN0LmgiPgorICAgICAgPEZpbHRl
cj5odG1sPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxodG1sXFJlc2V0SW5wdXRUeXBlLmgiPgogICAgICAgPEZpbHRlcj5odG1sPC9GaWx0ZXI+
CiAgICAgPC9DbEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKaW5kZXggNGNkNDVlNzAwYzRkZWQ1NGM0YTQ4ZjRmYzBhZjVmMGRl
ZGQyZTE3Yi4uOTVhOGUyN2Y5MjAzZTJkMGIxMTkyNjIyZDU0OGU2MTM1ZmFmMWY3ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAt
NDY5OCw2ICs0Njk4LDggQEAKIAkJQjJFRDk3NzEwQjFGNTVDRTAwMjU3RDBGIC8qIEdyYXBoaWNz
Q29udGV4dENHLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEIyRUQ5NzcwMEIxRjU1Q0UwMDI1N0QwRiAvKiBHcmFwaGljc0NvbnRleHRDRy5jcHAgKi87
IH07CiAJCUIyRjM0RkU2MEU4MkY4MTQwMEY2MjdDRCAvKiBETlMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyRjM0RkU1MEU4MkY4MTQwMEY2MjdDRCAv
KiBETlMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlCMkYzNEZFOTBFODJGODI3MDBGNjI3Q0QgLyogRE5TQ0ZOZXQuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJGMzRGRTgwRTgyRjgyNzAwRjYyN0NE
IC8qIEROU0NGTmV0LmNwcCAqLzsgfTsKKwkJQjJGNzhDRkQxOUYyRjAyRDAwNDk2OTZDIC8qIFJl
bExpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QjJGNzhDRkIxOUYyRjAyRDAwNDk2OTZDIC8qIFJlbExpc3QuY3BwICovOyB9OworCQlCMkY3OENG
RTE5RjJGMDJEMDA0OTY5NkMgLyogUmVsTGlzdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQjJGNzhDRkMxOUYyRjAyRDAwNDk2OTZDIC8qIFJlbExpc3Qu
aCAqLzsgfTsKIAkJQjJGQTNEMzYwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZUNvbG9y
RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBCMkZBM0M0RTBBQjc1QTZFMDAwRTVBQzQgLyogSlNTVkdBbmltYXRlQ29sb3JFbGVtZW50LmNw
cCAqLzsgfTsKIAkJQjJGQTNEMzcwQUI3NUE2RjAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZUNvbG9y
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QjJGQTNDNEYwQUI3NUE2RTAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudC5oICov
OyB9OwogCQlCMkZBM0QzODBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdBbmltYXRlZEFuZ2xlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyRkEzQzUw
MEFCNzVBNkUwMDBFNUFDNCAvKiBKU1NWR0FuaW1hdGVkQW5nbGUuY3BwICovOyB9OwpAQCAtMTIw
NzYsNiArMTIwNzgsOCBAQAogCQlCMkVEOTc3MDBCMUY1NUNFMDAyNTdEMEYgLyogR3JhcGhpY3ND
b250ZXh0Q0cuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdyYXBo
aWNzQ29udGV4dENHLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjJGMzRGRTUw
RTgyRjgxNDAwRjYyN0NEIC8qIEROUy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBETlMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjJGMzRGRTgwRTgyRjgyNzAw
RjYyN0NEIC8qIEROU0NGTmV0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEROU0NGTmV0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjJGNzhDRkIx
OUYyRjAyRDAwNDk2OTZDIC8qIFJlbExpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gUmVsTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUIy
Rjc4Q0ZDMTlGMkYwMkQwMDQ5Njk2QyAvKiBSZWxMaXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFJlbExpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjJG
QTNDNEUwQUI3NUE2RTAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTVkdBbmltYXRlQ29sb3JFbGVt
ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjJGQTNDNEYwQUI3NUE2RTAw
MEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNTVkdBbmltYXRlQ29sb3JFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUIyRkEzQzUwMEFCNzVBNkUwMDBFNUFDNCAvKiBKU1NWR0FuaW1hdGVk
QW5nbGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1ZHQW5p
bWF0ZWRBbmdsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzkyOCw2ICsx
NzkzMiw4IEBACiAJCQkJQjY1OEZGQTQxNTIyRUZBQTAwREQ1NTk1IC8qIFJhZGlvTm9kZUxpc3Qu
aCAqLywKIAkJCQlGNTVCM0Q5OTEyNTFGMTJEMDAzRUYyNjkgLyogUmFuZ2VJbnB1dFR5cGUuY3Bw
ICovLAogCQkJCUY1NUIzRDlBMTI1MUYxMkQwMDNFRjI2OSAvKiBSYW5nZUlucHV0VHlwZS5oICov
LAorCQkJCUIyRjc4Q0ZCMTlGMkYwMkQwMDQ5Njk2QyAvKiBSZWxMaXN0LmNwcCAqLywKKwkJCQlC
MkY3OENGQzE5RjJGMDJEMDA0OTY5NkMgLyogUmVsTGlzdC5oICovLAogCQkJCUY1NUIzRDlCMTI1
MUYxMkQwMDNFRjI2OSAvKiBSZXNldElucHV0VHlwZS5jcHAgKi8sCiAJCQkJRjU1QjNEOUMxMjUx
RjEyRDAwM0VGMjY5IC8qIFJlc2V0SW5wdXRUeXBlLmggKi8sCiAJCQkJRjU1QjNEOUQxMjUxRjEy
RDAwM0VGMjY5IC8qIFNlYXJjaElucHV0VHlwZS5jcHAgKi8sCkBAIC0yNDY4OCw2ICsyNDY5NCw3
IEBACiAJCQkJRTE1N0E4RjExODE4NTQyNTAwOUY4MjFEIC8qIEpTQ3J5cHRvQWxnb3JpdGhtQnVp
bGRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFDNjU3MTMxODE1RjlERDAwMjU2Q0REIC8qIEpT
Q3J5cHRvQWxnb3JpdGhtRGljdGlvbmFyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE1N0E4RTEx
ODE3MzMxQzAwOUY4MjFEIC8qIEpTQ3J5cHRvS2V5LmggaW4gSGVhZGVycyAqLywKKwkJCQlCMkY3
OENGRTE5RjJGMDJEMDA0OTY5NkMgLyogUmVsTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFG
ODBCOEUxODMxNzJCNTAwNzg4NUMzIC8qIEpTQ3J5cHRvS2V5UGFpci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTEyNUY4NTIxODI4M0E1NjAwRDg0Q0Q5IC8qIEpTQ3J5cHRvS2V5U2VyaWFsaXphdGlv
bkpXSy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyNUY4M0UxODI0MTFFNzAwRDg0Q0Q5IC8qIEpT
Q3J5cHRvT3BlcmF0aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzQxOSw2ICsyNzQyNiw3
IEBACiAJCQkJQ0VDQURGQzYxNTM3NzhGRjAwRTM3MDY4IC8qIERpY3RhdGlvbkFsdGVybmF0aXZl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNFQ0FERkM4MTUzNzc4RkYwMEUzNzA2OCAvKiBEaWN0
YXRpb25Db21tYW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUQwQkQ0RjVDMTQwODg1MEYwMDY4
MzlCNiAvKiBEaWN0YXRpb25Db21tYW5kSU9TLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUIyRjc4
Q0ZEMTlGMkYwMkQwMDQ5Njk2QyAvKiBSZWxMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTMx
MkQ2N0IxMTUzNTY5MUYwMDU2M0QwRCAvKiBEaWN0aW9uYXJ5LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUZEQUYxOTk4MTUxM0QxMzEwMDhEQjBDMyAvKiBEaXJlY3RDb252b2x2ZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNDlGQzdBNTAxNDQ0QUY1RjAwQTVEODY0IC8qIERpc3BsYXlSZWZyZXNo
TW9uaXRvci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9y
RWxlbWVudC5jcHAKaW5kZXggMjFlMTM5M2IzODllMjA5MjRkMDE0ZDYxMzIxMGJmM2IxNDVkMjI3
ZC4uMzUyMjdkZWEwM2M1ZmFiYWViNzNiNTMyZTM3YmNkN2Q2NmY4MjFhYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAKQEAgLTMxNCw2ICszMTQsMTYgQEAgdm9p
ZCBIVE1MQW5jaG9yRWxlbWVudDo6c2V0UmVsKGNvbnN0IFN0cmluZyYgdmFsdWUpCiB7CiAgICAg
aWYgKFNwYWNlU3BsaXRTdHJpbmc6OnNwYWNlU3BsaXRTdHJpbmdDb250YWluc1ZhbHVlKHZhbHVl
LCAibm9yZWZlcnJlciIsIHRydWUpKQogICAgICAgICBtX2xpbmtSZWxhdGlvbnMgfD0gUmVsYXRp
b25Ob1JlZmVycmVyOworICAgIGlmICghbV9yZWxMaXN0KSAKKyAgICAgICAgbV9yZWxMaXN0ID0g
c3RkOjptYWtlX3VuaXF1ZTxSZWxMaXN0PigqdGhpcyk7CisgICAgbV9yZWxMaXN0LmdldCgpLT5z
ZXRSZWwodmFsdWUpOworfQorCitET01Ub2tlbkxpc3QmIEhUTUxBbmNob3JFbGVtZW50OjpyZWxM
aXN0KCkKK3sKKyAgICBpZiAoIW1fcmVsTGlzdCkgCisgICAgICAgIG1fcmVsTGlzdCA9IHN0ZDo6
bWFrZV91bmlxdWU8UmVsTGlzdD4oKnRoaXMpOworICAgIHJldHVybiAqKG1fcmVsTGlzdC5nZXQo
KSk7CiB9CiAKIGNvbnN0IEF0b21pY1N0cmluZyYgSFRNTEFuY2hvckVsZW1lbnQ6Om5hbWUoKSBj
b25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oCmluZGV4IDE5NzQxMDc0
MWJkZDBlODM4OGMwZDM4NWY0OGE0MTE4NWE1OTZhMTIuLmJjNjIzMGY5MmMyNWNhNzhlNmYwZmMx
YjQ3YmFjMjU2MmM2MzRiOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFu
Y2hvckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50
LmgKQEAgLTI3LDYgKzI3LDcgQEAKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgogI2luY2x1ZGUg
IkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkxpbmtIYXNoLmgiCisjaW5jbHVkZSAiUmVsTGlzdC5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTEwMiw2ICsxMDMsOCBAQCBwdWJsaWM6CiAg
ICAgTGlua0hhc2ggdmlzaXRlZExpbmtIYXNoKCkgY29uc3Q7CiAgICAgdm9pZCBpbnZhbGlkYXRl
Q2FjaGVkVmlzaXRlZExpbmtIYXNoKCkgeyBtX2NhY2hlZFZpc2l0ZWRMaW5rSGFzaCA9IDA7IH0K
IAorICAgIERPTVRva2VuTGlzdCYgcmVsTGlzdCgpOworCiBwcm90ZWN0ZWQ6CiAgICAgSFRNTEFu
Y2hvckVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jik7CiAKQEAgLTE0MCw2
ICsxNDMsOCBAQCBwcml2YXRlOgogICAgIGJvb2wgbV93YXNTaGlmdEtleURvd25Pbk1vdXNlRG93
biA6IDE7CiAgICAgdWludDMyX3QgbV9saW5rUmVsYXRpb25zIDogMzA7CiAgICAgbXV0YWJsZSBM
aW5rSGFzaCBtX2NhY2hlZFZpc2l0ZWRMaW5rSGFzaDsKKworICAgIHN0ZDo6dW5pcXVlX3B0cjxS
ZWxMaXN0PiBtX3JlbExpc3Q7CiB9OwogCiBpbmxpbmUgTGlua0hhc2ggSFRNTEFuY2hvckVsZW1l
bnQ6OnZpc2l0ZWRMaW5rSGFzaCgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hv
ckVsZW1lbnQuaWRsCmluZGV4IGRmNjgzNjI4MmZmNmU0OTM5YzMxMzUxYzdmNDM4ZTc4NGViOGUy
ZWMuLjVmMzdlZjkzM2ZiMzc1NzY2Nzc5OGIzMzA4ZWNhMTVjZDFkNDUyZGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRsCkBAIC02Niw1ICs2Niw3IEBAIGludGVy
ZmFjZSBIVE1MQW5jaG9yRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgICAvLyBPYmplY3RpdmUt
QyBleHRlbnNpb246CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFVSTCBhYnNvbHV0ZUxpbmtVUkw7
CiAjZW5kaWYKKworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01Ub2tlbkxpc3QgcmVsTGlzdDsK
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50Lmlk
bCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmlkbAppbmRleCBkMDI1MDUy
OWIxNmFkOWZlOTdiMDFkYWE1OGY4YmY2NzVlYzVhNGU0Li44ZjNmMzMwNGJlZGI1ZjdiYmJjYTQ2
Mzg1MTAyY2ExMDA2ZDMwYTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxB
cmVhRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXJlYUVsZW1lbnQu
aWRsCkBAIC0yNCw2ICsyNCw3IEBAIGludGVyZmFjZSBIVE1MQXJlYUVsZW1lbnQgOiBIVE1MRWxl
bWVudCB7CiAgICAgW1JlZmxlY3QsIFVSTF0gYXR0cmlidXRlIERPTVN0cmluZyBocmVmOwogICAg
IFtSZWZsZWN0XSBhdHRyaWJ1dGUgYm9vbGVhbiBub0hyZWY7CiAgICAgW1JlZmxlY3RdIGF0dHJp
YnV0ZSBET01TdHJpbmcgcGluZzsKKyAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBy
ZWw7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgc2hhcGU7CiAgICAgW1JlZmxl
Y3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgdGFyZ2V0OwogCkBAIC00Myw1ICs0NCw3IEBAIGludGVy
ZmFjZSBIVE1MQXJlYUVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgLy8gT2JqZWN0aXZlLUMg
ZXh0ZW5zaW9uOgogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBVUkwgYWJzb2x1dGVMaW5rVVJMOwog
I2VuZGlmCisKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NVG9rZW5MaXN0IHJlbExpc3Q7CiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAKaW5kZXggZmE3NTgxMTU3
ZmM1MzYzZThiNDljZTMyNjU1ZmE3ZjA4MTA2OWI3OS4uOTcxYjgxNTcxYzFmMjFmYjE0YmVkMDdh
ZGFjYzQyOGEzMTBlZDUyOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlu
a0VsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNw
cApAQCAtMTM4LDYgKzEzOCw3IEBAIHZvaWQgSFRNTExpbmtFbGVtZW50OjpwYXJzZUF0dHJpYnV0
ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpCiB7CiAgICAgaWYg
KG5hbWUgPT0gcmVsQXR0cikgewogICAgICAgICBtX3JlbEF0dHJpYnV0ZSA9IExpbmtSZWxBdHRy
aWJ1dGUodmFsdWUpOworICAgICAgICBzZXRSZWwodmFsdWUpOwogICAgICAgICBwcm9jZXNzKCk7
CiAgICAgfSBlbHNlIGlmIChuYW1lID09IGhyZWZBdHRyKSB7CiAgICAgICAgIHByb2Nlc3MoKTsK
QEAgLTM3Niw2ICszNzcsMTMgQEAgdm9pZCBIVE1MTGlua0VsZW1lbnQ6OmRpc3BhdGNoUGVuZGlu
Z0V2ZW50KExpbmtFdmVudFNlbmRlciogZXZlbnRTZW5kZXIpCiAgICAgICAgIGxpbmtMb2FkaW5n
RXJyb3JlZCgpOwogfQogCitET01Ub2tlbkxpc3QmIEhUTUxMaW5rRWxlbWVudDo6cmVsTGlzdCgp
Cit7CisgICAgaWYgKCFtX3JlbExpc3QpIAorICAgICAgICBtX3JlbExpc3QgPSBzdGQ6Om1ha2Vf
dW5pcXVlPFJlbExpc3Q+KCp0aGlzKTsKKyAgICByZXR1cm4gKihtX3JlbExpc3QuZ2V0KCkpOwor
fQorCiB2b2lkIEhUTUxMaW5rRWxlbWVudDo6bm90aWZ5TG9hZGVkU2hlZXRBbmRBbGxDcml0aWNh
bFN1YnJlc291cmNlcyhib29sIGVycm9yT2NjdXJyZWQpCiB7CiAgICAgaWYgKG1fZmlyZWRMb2Fk
KQpAQCAtNDE5LDYgKzQyNywxMyBAQCB2b2lkIEhUTUxMaW5rRWxlbWVudDo6aGFuZGxlQ2xpY2so
RXZlbnQmIGV2ZW50KQogICAgIGZyYW1lLT5sb2FkZXIoKS51cmxTZWxlY3RlZCh1cmwsIHRhcmdl
dCgpLCBQYXNzUmVmUHRyPEV2ZW50PigmZXZlbnQpLCBMb2NrSGlzdG9yeTo6Tm8sIExvY2tCYWNr
Rm9yd2FyZExpc3Q6Ok5vLCBNYXliZVNlbmRSZWZlcnJlcik7CiB9CiAKK3ZvaWQgSFRNTExpbmtF
bGVtZW50OjpzZXRSZWwoY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSkgCit7CisgICAgaWYgKCFt
X3JlbExpc3QpIAorICAgICAgICBtX3JlbExpc3QgPSBzdGQ6Om1ha2VfdW5pcXVlPFJlbExpc3Q+
KCp0aGlzKTsKKyAgICBtX3JlbExpc3QuZ2V0KCktPnNldFJlbCh2YWx1ZSk7Cit9CisKIFVSTCBI
VE1MTGlua0VsZW1lbnQ6OmhyZWYoKSBjb25zdAogewogICAgIHJldHVybiBkb2N1bWVudCgpLmNv
bXBsZXRlVVJMKGdldEF0dHJpYnV0ZShocmVmQXR0cikpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExp
bmtFbGVtZW50LmgKaW5kZXggY2RkN2I0NzdkYWVmM2M1MzBlOWQ0N2UyNWZiZmZmNTliZTkzM2Fi
Ni4uYmE2MDVlYWZmMzQxNTUzYmJkNDczMDZkMDBmMGQ5ZmI5YWIwMjU3YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxMaW5rRWxlbWVudC5oCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiTGlu
a0xvYWRlci5oIgogI2luY2x1ZGUgIkxpbmtMb2FkZXJDbGllbnQuaCIKICNpbmNsdWRlICJMaW5r
UmVsQXR0cmlidXRlLmgiCisjaW5jbHVkZSAiUmVsTGlzdC5oIgogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKQEAgLTcxLDYgKzcyLDggQEAgcHVibGljOgogICAgIHZvaWQgZGlzcGF0Y2hQZW5kaW5n
RXZlbnQoTGlua0V2ZW50U2VuZGVyKik7CiAgICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hQZW5kaW5n
TG9hZEV2ZW50cygpOwogCisgICAgRE9NVG9rZW5MaXN0JiByZWxMaXN0KCk7CisKIHByaXZhdGU6
CiAgICAgdmlydHVhbCB2b2lkIHBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBj
b25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKIApAQCAtMTAwLDYgKzEwMyw4IEBAIHByaXZh
dGU6CiAgICAgdmlydHVhbCB2b2lkIGRlZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKSBvdmVycmlk
ZTsKICAgICB2b2lkIGhhbmRsZUNsaWNrKEV2ZW50Jik7CiAKKyAgICB2b2lkIHNldFJlbChjb25z
dCBBdG9taWNTdHJpbmcmKTsKKwogcHJpdmF0ZToKICAgICBIVE1MTGlua0VsZW1lbnQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYsIERvY3VtZW50JiwgYm9vbCBjcmVhdGVkQnlQYXJzZXIpOwogCkBAIC0x
MzgsNiArMTQzLDggQEAgcHJpdmF0ZToKICAgICBib29sIG1fbG9hZGVkU2hlZXQ7CiAKICAgICBQ
ZW5kaW5nU2hlZXRUeXBlIG1fcGVuZGluZ1NoZWV0VHlwZTsKKworICAgIHN0ZDo6dW5pcXVlX3B0
cjxSZWxMaXN0PiBtX3JlbExpc3Q7CiB9OwogCiB9IC8vbmFtZXNwYWNlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxMaW5rRWxlbWVudC5pZGwKaW5kZXggMGE0ZTM0NzU5ZjU3ZDk4YThmYzBjMWJlYjcy
MWM5NzZkN2MwN2Y3Ni4uOTVhNjQxY2NmNWQ5MGEyODYyNmY3YjRiN2E0ZTAwNTg1YTMzMjAyMyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaWRsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmlkbApAQCAtNDAsNSArNDAsNyBA
QCBpbnRlcmZhY2UgSFRNTExpbmtFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgIC8vIE9iamVj
dGl2ZS1DIGV4dGVuc2lvbjoKICAgICByZWFkb25seSBhdHRyaWJ1dGUgVVJMIGFic29sdXRlTGlu
a1VSTDsKICNlbmRpZgorCisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVRva2VuTGlzdCByZWxM
aXN0OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9SZWxMaXN0LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvUmVsTGlzdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDUzYTdkYmNjZWVh
MDQxOTFkNzViMTFlNmU4MTYwMDJmNjllMmNmNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvUmVsTGlzdC5jcHAKQEAgLTAsMCArMSw5NiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNCBEaGkgQXVycmFobWFuIDxkaW9yYWhtYW5Acm9ja3liYXJzLmNvbT4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJSZWxMaXN0LmgiCisKKyNpbmNs
dWRlICJFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiSFRNTFBh
cnNlcklkaW9tcy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgUmVsTGlzdDo6cmVm
KCkKK3sKKyAgICBtX2VsZW1lbnQucmVmKCk7Cit9CisKK3ZvaWQgUmVsTGlzdDo6ZGVyZWYoKQor
eworICAgIG1fZWxlbWVudC5kZXJlZigpOworfQorCit1bnNpZ25lZCBSZWxMaXN0OjpsZW5ndGgo
KSBjb25zdAoreworICAgIHJldHVybiBoYXNSZWwoKSA/IHJlbHMoKS5zaXplKCkgOiAwOworfQor
Citjb25zdCBBdG9taWNTdHJpbmcgUmVsTGlzdDo6aXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3QK
K3sKKyAgICBpZiAoaW5kZXggPj0gbGVuZ3RoKCkpCisgICAgICAgIHJldHVybiBBdG9taWNTdHJp
bmcoKTsKKyAgICByZXR1cm4gcmVscygpW2luZGV4XTsKK30KKworRWxlbWVudCogUmVsTGlzdDo6
ZWxlbWVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuICZtX2VsZW1lbnQ7Cit9CisKK3ZvaWQgUmVs
TGlzdDo6c2V0UmVsKGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCit7CisgICAgaWYgKCFoYXNS
ZWwoKSkgeworICAgICAgICBtX3JlbHMuY2xlYXIoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KyAgICBtX3JlbHMuc2V0KHZhbHVlLCBmYWxzZSk7Cit9CisKK2Jvb2wgUmVsTGlzdDo6Y29udGFp
bnNJbnRlcm5hbChjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuKSBjb25zdAoreworICAgIHJldHVy
biBoYXNSZWwoKSAmJiByZWxzKCkuY29udGFpbnModG9rZW4pOworfQorCitBdG9taWNTdHJpbmcg
UmVsTGlzdDo6dmFsdWUoKSBjb25zdAoreworICAgIHJldHVybiBtX2VsZW1lbnQuZ2V0QXR0cmli
dXRlKEhUTUxOYW1lczo6cmVsQXR0cik7Cit9CisKK3ZvaWQgUmVsTGlzdDo6c2V0VmFsdWUoY29u
c3QgQXRvbWljU3RyaW5nJiB2YWx1ZSkKK3sKKyAgICBtX2VsZW1lbnQuc2V0QXR0cmlidXRlKEhU
TUxOYW1lczo6cmVsQXR0ciwgdmFsdWUpOworfQorCitib29sIFJlbExpc3Q6Omhhc1JlbCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIG1fZWxlbWVudC5oYXNBdHRyaWJ1dGUoSFRNTE5hbWVzOjpyZWxB
dHRyKTsKK30KKworY29uc3QgU3BhY2VTcGxpdFN0cmluZyYgUmVsTGlzdDo6cmVscygpIGNvbnN0
Cit7CisgICAgcmV0dXJuIG1fcmVsczsgICAgCit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9SZWxMaXN0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL1JlbExpc3QuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNDMxYTI5OGE5ZDM1MTNkNDc0NzQxNDQ0
MGUyYjBlOWQwZDI5NTc3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9S
ZWxMaXN0LmgKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBEaGkg
QXVycmFobWFuIDxkaW9yYWhtYW5Acm9ja3liYXJzLmNvbT4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
ICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICog
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
UmVsTGlzdF9oCisjZGVmaW5lIFJlbExpc3RfaAorCisjaW5jbHVkZSAiRE9NVG9rZW5MaXN0Lmgi
CisjaW5jbHVkZSAiU3BhY2VTcGxpdFN0cmluZy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIEVsZW1lbnQ7CisKK2NsYXNzIFJlbExpc3QgZmluYWwgOiBwdWJsaWMgRE9NVG9rZW5M
aXN0IHsKK3B1YmxpYzoKKyAgICBSZWxMaXN0KEVsZW1lbnQmIGVsZW1lbnQpCisgICAgICAgIDog
bV9lbGVtZW50KGVsZW1lbnQpCisgICAgeworICAgIH0KKworICAgIHZpcnR1YWwgdm9pZCByZWYo
KSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgZGVyZWYoKSBvdmVycmlkZTsKKworICAgIHZp
cnR1YWwgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBjb25z
dCBBdG9taWNTdHJpbmcgaXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3Qgb3ZlcnJpZGU7CisKKyAg
ICB2aXJ0dWFsIEVsZW1lbnQqIGVsZW1lbnQoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2b2lkIHNl
dFJlbChjb25zdCBBdG9taWNTdHJpbmcmKTsKKworcHJpdmF0ZToKKyAgICB2aXJ0dWFsIGJvb2wg
Y29udGFpbnNJbnRlcm5hbChjb25zdCBBdG9taWNTdHJpbmcmKSBjb25zdCBvdmVycmlkZTsKKyAg
ICB2aXJ0dWFsIEF0b21pY1N0cmluZyB2YWx1ZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1
YWwgdm9pZCBzZXRWYWx1ZShjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlkZTsKKworICAgIGJv
b2wgaGFzUmVsKCkgY29uc3Q7CisgICAgY29uc3QgU3BhY2VTcGxpdFN0cmluZyYgcmVscygpIGNv
bnN0OworCisgICAgRWxlbWVudCYgbV9lbGVtZW50OworICAgIG11dGFibGUgU3BhY2VTcGxpdFN0
cmluZyBtX3JlbHM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBS
ZWxMaXN0X2gKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDUxOThjMGI0NGMzMDgwZDllOGMwNTY4Y2FjZTgwODI4MjcyNjM0
ZDEuLjY5OTZjNTUzYTU5ZDQyNDQ3YzVjNzY5ZWI0MDBkY2QzNTVjYjg1MDIgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw1NiBAQAorMjAxNC0xMC0xOCAgRGhpIEF1cnJhaG1hbiAgPGRpb3JhaG1hbkByb2NreWJh
cnMuY29tPgorCisgICAgICAgIEFkZCByZWxMaXN0IHRvIHRoZSBhbmNob3IsIGFyZWEgYW5kIGxp
bmsgZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTEzNzg2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFRlc3RzIHJlbExpc3QgYXNwZWN0cyBmb3IgYW5jaG9yLCBhcmVhIGFuZCBsaXN0IGVsZW1l
bnRzLgorCisgICAgICAgICogZmFzdC9kb20vSFRNTEFuY2hvckVsZW1lbnQvcmVsLWxpc3QtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9y
ZWwtbGlzdC1nYy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxB
bmNob3JFbGVtZW50L3JlbC1saXN0LWdjLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9t
L0hUTUxBbmNob3JFbGVtZW50L3JlbC1saXN0LXF1aXJrcy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L3JlbC1saXN0LXF1aXJrcy5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9yZWwtbGlzdC5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zY3JpcHQt
dGVzdHMvcmVsLWxpc3QtZ2MuanM6IEFkZGVkLgorICAgICAgICAoZ2MpOgorICAgICAgICAqIGZh
c3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L3NjcmlwdC10ZXN0cy9yZWwtbGlzdC5qczogQWRkZWQu
CisgICAgICAgIChjcmVhdGVFbGVtZW50KToKKyAgICAgICAgKHNob3VsZFRocm93RE9NRXhjZXB0
aW9uKToKKyAgICAgICAgKHNob3VsZEJlRXF1YWxUb1N0cmluZyk6CisgICAgICAgIChvYnNlcnZl
cik6CisgICAgICAgICogZmFzdC9kb20vSFRNTEFyZWFFbGVtZW50L3JlbC1saXN0LWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEFyZWFFbGVtZW50L3JlbC1saXN0
LWdjLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTEFyZWFFbGVt
ZW50L3JlbC1saXN0LWdjLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxBcmVh
RWxlbWVudC9yZWwtbGlzdC1xdWlya3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2RvbS9IVE1MQXJlYUVsZW1lbnQvcmVsLWxpc3QtcXVpcmtzLmh0bWw6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL0hUTUxBcmVhRWxlbWVudC9yZWwtbGlzdC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBmYXN0L2RvbS9IVE1MQXJlYUVsZW1lbnQvc2NyaXB0LXRlc3RzL3JlbC1saXN0LWdj
LmpzOiBBZGRlZC4KKyAgICAgICAgKGdjKToKKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MQXJlYUVs
ZW1lbnQvc2NyaXB0LXRlc3RzL3JlbC1saXN0LmpzOiBBZGRlZC4KKyAgICAgICAgKGNyZWF0ZUVs
ZW1lbnQpOgorICAgICAgICAoc2hvdWxkVGhyb3dET01FeGNlcHRpb24pOgorICAgICAgICAoc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKToKKyAgICAgICAgKG9ic2VydmVyKToKKyAgICAgICAgKiBmYXN0
L2RvbS9IVE1MTGlua0VsZW1lbnQvcmVsLWxpc3QtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcmVsLWxpc3QtZ2MtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvcmVsLWxpc3QtZ2MuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRNTExpbmtFbGVtZW50L3JlbC1saXN0LXF1
aXJrcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxMaW5rRWxl
bWVudC9yZWwtbGlzdC1xdWlya3MuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vSFRN
TExpbmtFbGVtZW50L3JlbC1saXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL0hU
TUxMaW5rRWxlbWVudC9zY3JpcHQtdGVzdHMvcmVsLWxpc3QtZ2MuanM6IEFkZGVkLgorICAgICAg
ICAoZ2MpOgorICAgICAgICAqIGZhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9zY3JpcHQtdGVzdHMv
cmVsLWxpc3QuanM6IEFkZGVkLgorICAgICAgICAoY3JlYXRlRWxlbWVudCk6CisgICAgICAgIChz
aG91bGRUaHJvd0RPTUV4Y2VwdGlvbik6CisgICAgICAgIChzaG91bGRCZUVxdWFsVG9TdHJpbmcp
OgorICAgICAgICAob2JzZXJ2ZXIpOgorICAgICAgICAqIGZhc3QvZG9tL3JlbC1saXN0LWFuY2hv
ci1hcmVhLWFuZC1saW5rLWVsZW1lbnQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L2RvbS9yZWwtbGlzdC1hbmNob3ItYXJlYS1hbmQtbGluay1lbGVtZW50Lmh0bWw6IEFkZGVk
LgorICAgICAgICAqIHBlcmYvcmVsLWxpc3QtcmVtb3ZlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogcGVyZi9yZWwtbGlzdC1yZW1vdmUuaHRtbDogQWRkZWQuCisKIDIwMTQtMTAtMTcg
IE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CiAKICAgICAgICAgRG9uJ3QgY3Jl
YXRlIGNhY2hlZCBmdW5jdGlvbnMgdGhhdCBhY2Nlc3MgbGV4aWNhbEdsb2JhbE9iamVjdCgpCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9yZWwtbGlz
dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9y
ZWwtbGlzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjdmYjk5Y2ZjY2Y5NWJkNTBhZjU3OTFh
ZGNiZDc2YTQ0OTI1Zjc4NwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L0hUTUxBbmNob3JFbGVtZW50L3JlbC1saXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDExMyBA
QAorVGVzdHMgdGhlIHJlbExpc3QgYXR0cmlidXRlIGFuZCBpdHMgcHJvcGVydGllcy4KKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1Rlc3RzIGZyb20gaHR0cDovL3NpbW9uLmh0bWw1
Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0LworUEFTUyBTdHJpbmco
ZWxlbWVudC5yZWxMaXN0KSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAw
CitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMQorUEFTUyBlbGVtZW50LnJlbExpc3Qu
bGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1l
bnQucmVsIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbCBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWwg
aXMgInggIHgiCitQQVNTIGVsZW1lbnQucmVsIGlzICJ5IHgiCitQQVNTIGVsZW1lbnQucmVsIGlz
ICIiCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsIGlzICIgeSB5ICIK
K1BBU1MgZWxlbWVudC5yZWwgaXMgInkiCitFbnN1cmUgdGhhdCB3ZSBjYW4gaGFuZGxlIGVtcHR5
IGNsYXNzIG5hbWUgY29ycmVjdGx5CitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnKSBp
cyB0cnVlCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9n
Z2xlKCd4JykgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0LmNvbnRhaW5zKCd4JykgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzFdIGlz
IHVuZGVmaW5lZC4KK1Rlc3QgdG9nZ2xlIHdpdGggZm9yY2UgYXJndW1lbnQKK1BBU1MgZWxlbWVu
dC5yZWxMaXN0LnRvZ2dsZSgneCcsIHRydWUpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWwgaXMg
IngiCitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnLCB0cnVlKSBpcyB0cnVlCitQQVNT
IGVsZW1lbnQucmVsIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgZmFs
c2UpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsTGlz
dC50b2dnbGUoJ3gnLCBmYWxzZSkgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BB
U1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgnJywgdHJ1ZSkgdGhyZXcgZXhwZWN0ZWQgRE9NRXhj
ZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4IHknLCBm
YWxzZSkgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSA1CitUZXN0aW5nIGFk
ZCBpbiBwcmVzZW5jZSBvZiB0cmFpbGluZyB3aGl0ZSBzcGFjZXMuCitQQVNTIGVsZW1lbnQucmVs
IGlzICJ4IHkiCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4XHR5IgorUEFTUyBlbGVtZW50LnJlbCBp
cyAiIHkiCitUZXN0IGludmFsaWQgdG9rZW5zCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlu
cygnJykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVt
ZW50LnJlbExpc3QuY29udGFpbnMoJ3ggeScpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3
aXRoIGNvZGUgNQorUEFTUyBlbGVtZW50LnJlbExpc3QuYWRkKCcnKSB0aHJldyBleHBlY3RlZCBE
T01FeGNlcHRpb24gd2l0aCBjb2RlIDEyCitQQVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoJ3ggeScp
IHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgNQorUEFTUyBlbGVtZW50LnJl
bExpc3QucmVtb3ZlKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDEy
CitQQVNTIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoJ3ggeScpIHRocmV3IGV4cGVjdGVkIERPTUV4
Y2VwdGlvbiB3aXRoIGNvZGUgNQorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCcnKSB0aHJl
dyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDEyCitQQVNTIGVsZW1lbnQucmVsTGlz
dC50b2dnbGUoJ3ggeScpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgNQor
UEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
Tm90IGVub3VnaCBhcmd1bWVudHMuCitJbmRleGluZworUEFTUyBlbGVtZW50LnJlbExpc3RbMF0g
aXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5pdGVtKDApIGlzICJ4IgorUEFTUyBlbGVtZW50
LnJlbExpc3RbMV0gaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5pdGVtKDEpIGlzICJ4Igor
UEFTUyBlbGVtZW50LnJlbExpc3RbMV0gaXMgInkiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5pdGVt
KDEpIGlzICJ5IgorUEFTUyBlbGVtZW50LnJlbExpc3RbMF0gaXMgdW5kZWZpbmVkLgorUEFTUyBl
bGVtZW50LnJlbExpc3QuaXRlbSgwKSBpcyBudWxsCitQQVNTIGVsZW1lbnQucmVsTGlzdFs0XSBp
cyB1bmRlZmluZWQuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5pdGVtKDQpIGlzIG51bGwKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0Wy0xXSBpcyB1bmRlZmluZWQuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5p
dGVtKC0xKSBpcyBudWxsCitQQVNTIGVsZW1lbnQucmVsTGlzdC5pdGVtKCkgdGhyZXcgZXhjZXB0
aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitUZXN0IGNhc2Ugc2luY2UgRE9N
VG9rZW5MaXN0IGlzIGNhc2Ugc2Vuc2l0aXZlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlu
cygneCcpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCdYJykgaXMgZmFs
c2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzBdIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3Qu
Y29udGFpbnMoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50
cy4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCdYJykgaXMgdHJ1ZQorUEFTUyBlbGVt
ZW50LnJlbExpc3QuY29udGFpbnMoJ3gnKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3Rb
MF0gaXMgIlgiCitUZXN0aW5nIHdoaXRlc3BhY2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0
aCBpcyAyCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJl
bExpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNT
IGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMgorRE9NVG9rZW5MaXN0IHByZXNlbmNlIGFuZCB0
eXBlCitQQVNTICd1bmRlZmluZWQnICE9IHR5cGVvZiBET01Ub2tlbkxpc3QgaXMgdHJ1ZQorUEFT
UyB0eXBlb2YgRE9NVG9rZW5MaXN0LnByb3RvdHlwZSBpcyAib2JqZWN0IgorUEFTUyB0eXBlb2Yg
ZWxlbWVudC5yZWxMaXN0IGlzICJvYmplY3QiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb25zdHJ1
Y3RvciBpcyBET01Ub2tlbkxpc3QKK1BBU1MgZWxlbWVudC5yZWxMaXN0ID09PSBlbGVtZW50LnJl
bExpc3QgaXMgdHJ1ZQorVmFyaWFkaWMgY2FsbHMKK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiIK
K1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiBjIgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIGMg
bnVsbCBkIHVuZGVmaW5lZCAwIGZhbHNlIgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIgorUEFT
UyBlbGVtZW50LnJlbExpc3QuYWRkKCdhJywgJ2InLCAnJykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhj
ZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50
LnJlbExpc3QuYWRkKCdhJywgJ2InLCAnYyBkJykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9u
IHdpdGggY29kZSA1CitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsTGlz
dC5hZGQoImEiLCB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkgeyB0aHJvdyBuZXcgRXJyb3IoInVzZXIg
ZXJyb3IiKTsgfX0sICJiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiB1c2VyIGVycm9yLgorUEFT
UyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExpc3QuYWRkKCkgZGlkIG5vdCB0
aHJvdyBleGNlcHRpb24uCitQQVNTIG9ic2VydmVyLnRha2VSZWNvcmRzKCkubGVuZ3RoIGlzIDEK
K1BBU1MgZWxlbWVudC5yZWwgaXMgImIgZCAgIgorUEFTUyBlbGVtZW50LnJlbCBpcyAiZCAgIgor
UEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIGMiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUo
J2EnLCAnYicsICcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDEyCitQ
QVNTIGVsZW1lbnQucmVsIGlzICJhIGIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoImEi
LCB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkgeyB0aHJvdyBuZXcgRXJyb3IoInVzZXIgZXJyb3IiKTsg
fX0sICJiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiB1c2VyIGVycm9yLgorUEFTUyBlbGVtZW50
LnJlbCBpcyAiYSBiIgorUEFTUyBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCdhJywgJ2InLCAnYyBk
JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSA1CitQQVNTIGVsZW1lbnQu
cmVsIGlzICJhIGIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoKSBkaWQgbm90IHRocm93
IGV4Y2VwdGlvbi4KK1BBU1Mgb2JzZXJ2ZXIudGFrZVJlY29yZHMoKS5sZW5ndGggaXMgMQorUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L3JlbC1saXN0LWdjLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBbmNob3JFbGVtZW50L3JlbC1s
aXN0LWdjLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kODU0MmU3YjIyZDZlNWQ4ZWY1OWU2OWNj
ZTU3ODU4YTdiMTZkMGZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTEFuY2hvckVsZW1lbnQvcmVsLWxpc3QtZ2MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEg
QEAKK1RoaXMgdGVzdHMgdGhhdCBwcm9wZXJ0aWVzIG9uIHRoZSByZWxMaXN0IHBlcnNpc3RzIEdD
LgorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2Vz
LCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBhLnJlbExpc3QubGlmZSBp
cyA0MgorUEFTUyBhLnJlbExpc3QubGlmZSBpcyA0MgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxBbmNob3JFbGVtZW50L3JlbC1saXN0LWdjLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9yZWwtbGlzdC1nYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRlNGJj
M2JjMzNhNGMwZmFlMWNjMDMxNDQzZDNlMmJlOTVkYWE5ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9yZWwtbGlzdC1nYy5odG1sCkBA
IC0wLDAgKzEsMTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3JlbC1saXN0LWdjLmpzIj48L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxBbmNob3JFbGVtZW50L3JlbC1saXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MQW5jaG9yRWxlbWVudC9yZWwtbGlzdC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcxODRmYTc4NGU4
NzNlNGFjODljMGU5ZGM5NWQ5MTIzMmFhOWE3YzIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9yZWwtbGlzdC5odG1sCkBAIC0wLDAgKzEs
MTAgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+
Cis8c2NyaXB0IHNyYz0ic2NyaXB0LXRlc3RzL3JlbC1saXN0LmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zY3JpcHQtdGVzdHMvcmVsLWxp
c3QtZ2MuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zY3JpcHQt
dGVzdHMvcmVsLWxpc3QtZ2MuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWZmYjUzZmE5NzU0ODIwNzJlZjgwNzVm
MDUxMTMzMjNmZjIxMzFlMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9t
L0hUTUxBbmNob3JFbGVtZW50L3NjcmlwdC10ZXN0cy9yZWwtbGlzdC1nYy5qcwpAQCAtMCwwICsx
LDI4IEBACitkZXNjcmlwdGlvbignVGhpcyB0ZXN0cyB0aGF0IHByb3BlcnRpZXMgb24gdGhlIHJl
bExpc3QgcGVyc2lzdHMgR0MuJyk7CisKK2Z1bmN0aW9uIGdjKCkKK3sKKyAgICBpZiAod2luZG93
LkdDQ29udHJvbGxlcikKKyAgICAgICAgcmV0dXJuIEdDQ29udHJvbGxlci5jb2xsZWN0KCk7CisK
KyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwOyBpKyspIHsKKyAgICAgICAgdmFyIHMgPSBu
ZXcgU3RyaW5nOworICAgIH0KK30KKwordmFyIGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdh
Jyk7CisKKy8vIEVuc3VyZSB0aGUgY2xhc3NMaXN0IGlzIGNyZWF0ZWQuCit2YXIgcmVsTGlzdCA9
IGEucmVsTGlzdDsKKworLy8gU2V0IGEgY3VzdG9tIHByb3BlcnR5LgorYS5yZWxMaXN0LmxpZmUg
PSA0MjsKK3Nob3VsZEV2YWx1YXRlVG8oJ2EucmVsTGlzdC5saWZlJywgNDIpOworCisvLyBOdWxs
IG91dCByZWZlcmVuY2UgdG8gdGhlIGRhdGFzZXQuCityZWxMaXN0ID0gbnVsbDsKKworZ2MoKTsK
KworLy8gVGVzdCB0aGF0IHRoZSBjbGFzc0xpc3Qgd3JhcHBlciBwZXJzaXN0ZWQgdGhlIEdDIGFu
ZCBzdGlsbCBoYXMgdGhlIGN1c3RvbSBwcm9wZXJ0eS4KK3Nob3VsZEV2YWx1YXRlVG8oJ2EucmVs
TGlzdC5saWZlJywgNDIpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFu
Y2hvckVsZW1lbnQvc2NyaXB0LXRlc3RzL3JlbC1saXN0LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vSFRNTEFuY2hvckVsZW1lbnQvc2NyaXB0LXRlc3RzL3JlbC1saXN0LmpzCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU2MTgzOGI3MjRiN2E0YTAwZmQwNDNjOTVlYTU4NGUzNGRmNGFlYTMKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQW5jaG9yRWxlbWVudC9zY3JpcHQtdGVzdHMv
cmVsLWxpc3QuanMKQEAgLTAsMCArMSwzNTMgQEAKK2Rlc2NyaXB0aW9uKCdUZXN0cyB0aGUgcmVs
TGlzdCBhdHRyaWJ1dGUgYW5kIGl0cyBwcm9wZXJ0aWVzLicpOworCit2YXIgZWxlbWVudDsKKwor
ZnVuY3Rpb24gY3JlYXRlRWxlbWVudChyZWwpCit7CisgICAgZWxlbWVudCA9IGRvY3VtZW50LmNy
ZWF0ZUVsZW1lbnQoJ2EnKTsKKyAgICBlbGVtZW50LnJlbCA9IHJlbDsKK30KKworZGVidWcoJ1Rl
c3RzIGZyb20gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3Rpbmcv
RE9NVG9rZW5MaXN0LycpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9k
b20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3Qvc2V0dGluZy8wMDEuaHRtCisvLyBGaXJlZm94IHRo
cm93cyBoZXJlIGJ1dCBXZWJLaXQgZG9lcyBub3QgdGhyb3cgb24gc2V0dGluZyByZWFkb25seSBp
ZGwKKy8vIGF0dHJpYnV0ZXMuCitjcmVhdGVFbGVtZW50KCd4Jyk7Cit0cnkgeworICAgIGVsZW1l
bnQucmVsTGlzdCA9ICd5JzsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ1N0cmluZyhlbGVt
ZW50LnJlbExpc3QpJywgJ3gnKTsKK30gY2F0Y2ggKGV4KSB7CisgICAgdGVzdFBhc3NlZCgnVGhy
b3dpbmcgb24gc2V0IGlzIGFjY2VwdGFibGUnKTsKK30KKworLy8gaHR0cDovL3NpbW9uLmh0bWw1
Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDAxLmh0
bQorY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LnJlbExpc3Qu
bGVuZ3RoJywgMCk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9y
ZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwMi5odG0KK2NyZWF0ZUVsZW1lbnQoJ3gn
KTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAxKTsKKworLy8g
aHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5M
aXN0L2dldHRpbmcvMDAzLmh0bQorY3JlYXRlRWxlbWVudCgneCB4Jyk7CitzaG91bGRFdmFsdWF0
ZVRvKCdlbGVtZW50LnJlbExpc3QubGVuZ3RoJywgMik7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1s
NS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwNC5o
dG0KK2NyZWF0ZUVsZW1lbnQoJ3ggeScpOworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5yZWxM
aXN0Lmxlbmd0aCcsIDIpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9k
b20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDUuaHRtCitjcmVhdGVFbGVtZW50
KCcnKTsKK2VsZW1lbnQucmVsTGlzdC5hZGQoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygn
ZWxlbWVudC5yZWwnLCAneCcpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRt
bC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDYuaHRtCitjcmVhdGVFbGVt
ZW50KCd4Jyk7CitlbGVtZW50LnJlbExpc3QuYWRkKCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2VsZW1lbnQucmVsJywgJ3gnKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0
L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDA3Lmh0bQorY3JlYXRl
RWxlbWVudCgneCAgeCcpOworZWxlbWVudC5yZWxMaXN0LmFkZCgneCcpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICd4ICB4Jyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1s
NS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwOC5o
dG0KK2NyZWF0ZUVsZW1lbnQoJ3knKTsKK2VsZW1lbnQucmVsTGlzdC5hZGQoJ3gnKTsKK3Nob3Vs
ZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAneSB4Jyk7CisKKy8vIGh0dHA6Ly9zaW1v
bi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5n
LzAwOS5odG0KK2NyZWF0ZUVsZW1lbnQoJycpOworZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgneCcp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICcnKTsKKworLy8gaHR0cDov
L3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dl
dHRpbmcvMDEwLmh0bQorY3JlYXRlRWxlbWVudCgneCcpOworZWxlbWVudC5yZWxMaXN0LnJlbW92
ZSgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICcnKTsKKworLy8g
aHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5M
aXN0L2dldHRpbmcvMDExLmh0bQorY3JlYXRlRWxlbWVudCgnIHkgeCAgeSAnKTsKK2VsZW1lbnQu
cmVsTGlzdC5yZW1vdmUoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwn
LCAnIHkgeSAnKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3Jl
ZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDEyLmh0bQorY3JlYXRlRWxlbWVudCgnIHgg
eSAgeCAnKTsKK2VsZW1lbnQucmVsTGlzdC5yZW1vdmUoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygnZWxlbWVudC5yZWwnLCAneScpOworCisKK2RlYnVnKCdFbnN1cmUgdGhhdCB3ZSBjYW4g
aGFuZGxlIGVtcHR5IGNsYXNzIG5hbWUgY29ycmVjdGx5Jyk7CitlbGVtZW50ID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnYScpOworc2hvdWxkQmVUcnVlKCJlbGVtZW50LnJlbExpc3QudG9nZ2xl
KCd4JykiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAneCcpOworc2hv
dWxkQmVGYWxzZSgiZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcpIik7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJycpOworCitlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnYScpOworc2hvdWxkQmVGYWxzZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKFwn
eFwnKScpOworc2hvdWxkQmVVbmRlZmluZWQoJ2VsZW1lbnQucmVsTGlzdFsxXScpOworZWxlbWVu
dC5yZWxMaXN0LnJlbW92ZSgneCcpOworZWxlbWVudC5yZWxMaXN0LmFkZCgneCcpCisKKworZGVi
dWcoJ1Rlc3QgdG9nZ2xlIHdpdGggZm9yY2UgYXJndW1lbnQnKQorCitjcmVhdGVFbGVtZW50KCcn
KTsKK3Nob3VsZEJlVHJ1ZSgiZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcsIHRydWUpIik7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ3gnKTsKK3Nob3VsZEJlVHJ1ZSgi
ZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcsIHRydWUpIik7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2VsZW1lbnQucmVsJywgJ3gnKTsKK3Nob3VsZEJlRmFsc2UoImVsZW1lbnQucmVsTGlzdC50
b2dnbGUoJ3gnLCBmYWxzZSkiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwn
LCAnJyk7CitzaG91bGRCZUZhbHNlKCJlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgZmFsc2Up
Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJycpOworCitzaG91bGRU
aHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LnJlbExpc3QudG9nZ2xl
KCcnLCB0cnVlKTsKK30sIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKTsKKworc2hvdWxkVGhyb3dE
T01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCB5
JywgZmFsc2UpOworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQ0hBUkFDVEVSX0VSUik7CisKKwor
ZGVidWcoJ1Rlc3RpbmcgYWRkIGluIHByZXNlbmNlIG9mIHRyYWlsaW5nIHdoaXRlIHNwYWNlcy4n
KTsKKworY3JlYXRlRWxlbWVudCgneCAnKTsKK2VsZW1lbnQucmVsTGlzdC5hZGQoJ3knKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAneCB5Jyk7CisKK2NyZWF0ZUVsZW1l
bnQoJ3hcdCcpOworZWxlbWVudC5yZWxMaXN0LmFkZCgneScpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdlbGVtZW50LnJlbCcsICd4XHR5Jyk7CisKK2NyZWF0ZUVsZW1lbnQoJyAnKTsKK2VsZW1l
bnQucmVsTGlzdC5hZGQoJ3knKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwn
LCAnIHknKTsKKworCitkZWJ1ZygnVGVzdCBpbnZhbGlkIHRva2VucycpOworCisvLyBUZXN0aW5n
IGV4Y2VwdGlvbiBkdWUgdG8gaW52YWxpZCB0b2tlbgorCisvLyBzaG91bGRUaHJvdyBmcm9tIGpz
LXRlc3QtcHJlLmpzIGlzIG5vdCBzdWZmaWNpZW50LgorZnVuY3Rpb24gc2hvdWxkVGhyb3dET01F
eGNlcHRpb24oZiwgZWMpCit7CisgICAgdHJ5IHsKKyAgICAgICAgZigpOworICAgICAgICB0ZXN0
RmFpbGVkKCdFeHBlY3RlZCBhbiBleGNlcHRpb24nKTsKKyAgICB9IGNhdGNoIChleCkgeworICAg
ICAgICBpZiAoIShleCBpbnN0YW5jZW9mIERPTUV4Y2VwdGlvbikpIHsKKyAgICAgICAgICAgIHRl
c3RGYWlsZWQoJ0V4Y2VwdGlvbiBpcyBub3QgYW4gaW5zdGFuY2Ugb2YgRE9NRXhjZXB0aW9uLCBm
b3VuZDogJyArCisgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC50b1N0cmluZy5jYWxsKGV4
KSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgaWYgKGVjICE9PSBl
eC5jb2RlKSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCdXcm9uZyBleGNlcHRpb24gY29kZTog
JyArIGV4LmNvZGUpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgfQorICAg
IHZhciBmb3JtYXR0ZWRGdW5jdGlvbiA9IFN0cmluZyhmKS5yZXBsYWNlKC9eZnVuY3Rpb24uK1x7
XHMqL20sICcnKS4KKyAgICAgICAgcmVwbGFjZSgvOz9ccytcfS9tLCAnJyk7CisgICAgdGVzdFBh
c3NlZChmb3JtYXR0ZWRGdW5jdGlvbiArICcgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdp
dGggY29kZSAnICsgZWMpOworfQorCitjcmVhdGVFbGVtZW50KCd4Jyk7CitzaG91bGRUaHJvd0RP
TUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoJycp
OworfSwgRE9NRXhjZXB0aW9uLlNZTlRBWF9FUlIpOworCitjcmVhdGVFbGVtZW50KCd4IHknKTsK
K3Nob3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9uKCkgeworICAgIGVsZW1lbnQucmVsTGlz
dC5jb250YWlucygneCB5Jyk7Cit9LCBET01FeGNlcHRpb24uSU5WQUxJRF9DSEFSQUNURVJfRVJS
KTsKKworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlv
bigpIHsKKyAgICBlbGVtZW50LnJlbExpc3QuYWRkKCcnKTsKK30sIERPTUV4Y2VwdGlvbi5TWU5U
QVhfRVJSKTsKKworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihm
dW5jdGlvbigpIHsKKyAgICBlbGVtZW50LnJlbExpc3QuYWRkKCd4IHknKTsKK30sIERPTUV4Y2Vw
dGlvbi5JTlZBTElEX0NIQVJBQ1RFUl9FUlIpOworCitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3Vs
ZFRocm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9uKCkgeworICAgIGVsZW1lbnQucmVsTGlzdC5yZW1v
dmUoJycpOworfSwgRE9NRXhjZXB0aW9uLlNZTlRBWF9FUlIpOworCitjcmVhdGVFbGVtZW50KCcn
KTsKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9uKCkgeworICAgIGVsZW1lbnQucmVs
TGlzdC5yZW1vdmUoJ3ggeScpOworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQ0hBUkFDVEVSX0VS
Uik7CisKKworCitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1
bmN0aW9uKCkgeworICAgIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJycpOworfSwgRE9NRXhjZXB0
aW9uLlNZTlRBWF9FUlIpOworCitjcmVhdGVFbGVtZW50KCd4IHknKTsKK3Nob3VsZFRocm93RE9N
RXhjZXB0aW9uKGZ1bmN0aW9uKCkgeworICAgIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3ggeScp
OworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQ0hBUkFDVEVSX0VSUik7CisKK2NyZWF0ZUVsZW1l
bnQoJycpOworc2hvdWxkVGhyb3coImVsZW1lbnQucmVsTGlzdC50b2dnbGUoKSIpOworCitkZWJ1
ZygnSW5kZXhpbmcnKTsKKworY3JlYXRlRWxlbWVudCgneCcpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdlbGVtZW50LnJlbExpc3RbMF0nLCAneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdl
bGVtZW50LnJlbExpc3QuaXRlbSgwKScsICd4Jyk7CisKK2NyZWF0ZUVsZW1lbnQoJ3ggeCcpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbExpc3RbMV0nLCAneCcpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbExpc3QuaXRlbSgxKScsICd4Jyk7CisKK2NyZWF0
ZUVsZW1lbnQoJ3ggeScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbExpc3Rb
MV0nLCAneScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbExpc3QuaXRlbSgx
KScsICd5Jyk7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkQmVVbmRlZmluZWQoJ2VsZW1l
bnQucmVsTGlzdFswXScpOworc2hvdWxkQmVOdWxsKCdlbGVtZW50LnJlbExpc3QuaXRlbSgwKScp
OworCitjcmVhdGVFbGVtZW50KCd4IHkgeicpOworc2hvdWxkQmVVbmRlZmluZWQoJ2VsZW1lbnQu
cmVsTGlzdFs0XScpOworc2hvdWxkQmVOdWxsKCdlbGVtZW50LnJlbExpc3QuaXRlbSg0KScpOwor
c2hvdWxkQmVVbmRlZmluZWQoJ2VsZW1lbnQucmVsTGlzdFstMV0nKTsgIC8vIE5vdCBhIHZhbGlk
IGluZGV4IHNvIHNob3VsZCBub3QgdHJpZ2dlciBpdGVtKCkuCitzaG91bGRCZU51bGwoJ2VsZW1l
bnQucmVsTGlzdC5pdGVtKC0xKScpOworc2hvdWxkVGhyb3coJ2VsZW1lbnQucmVsTGlzdC5pdGVt
KCknKTsKKworZGVidWcoJ1Rlc3QgY2FzZSBzaW5jZSBET01Ub2tlbkxpc3QgaXMgY2FzZSBzZW5z
aXRpdmUnKTsKKworY3JlYXRlRWxlbWVudCgneCcpOworc2hvdWxkQmVUcnVlKCdlbGVtZW50LnJl
bExpc3QuY29udGFpbnMoXCd4XCcpJyk7CitzaG91bGRCZUZhbHNlKCdlbGVtZW50LnJlbExpc3Qu
Y29udGFpbnMoXCdYXCcpJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsTGlz
dFswXScsICd4Jyk7CitzaG91bGRUaHJvdygnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCknKTsK
KworY3JlYXRlRWxlbWVudCgnWCcpOworc2hvdWxkQmVUcnVlKCdlbGVtZW50LnJlbExpc3QuY29u
dGFpbnMoXCdYXCcpJyk7CitzaG91bGRCZUZhbHNlKCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMo
XCd4XCcpJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsTGlzdFswXScsICdY
Jyk7CisKKworZGVidWcoJ1Rlc3Rpbmcgd2hpdGVzcGFjZScpOworLy8gVSswMDIwIFNQQUNFLCBV
KzAwMDkgQ0hBUkFDVEVSIFRBQlVMQVRJT04gKHRhYiksIFUrMDAwQSBMSU5FIEZFRUQgKExGKSwK
Ky8vIFUrMDAwQyBGT1JNIEZFRUQgKEZGKSwgYW5kIFUrMDAwRCBDQVJSSUFHRSBSRVRVUk4gKENS
KQorCitjcmVhdGVFbGVtZW50KCd4XHUwMDIweScpOworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVu
dC5yZWxMaXN0Lmxlbmd0aCcsIDIpOworCitjcmVhdGVFbGVtZW50KCd4XHUwMDA5eScpOworc2hv
dWxkRXZhbHVhdGVUbygnZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCcsIDIpOworCitjcmVhdGVFbGVt
ZW50KCd4XHUwMDBBeScpOworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5yZWxMaXN0Lmxlbmd0
aCcsIDIpOworCitjcmVhdGVFbGVtZW50KCd4XHUwMDBDeScpOworc2hvdWxkRXZhbHVhdGVUbygn
ZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCcsIDIpOworCitjcmVhdGVFbGVtZW50KCd4XHUwMDBEeScp
Oworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCcsIDIpOworCisKK2Rl
YnVnKCdET01Ub2tlbkxpc3QgcHJlc2VuY2UgYW5kIHR5cGUnKTsKKworCisvLyBTYWZhcmkgcmV0
dXJucyBvYmplY3QKKy8vIEZpcmVmb3ggcmV0dXJucyBvYmplY3QKKy8vIElFOCByZXR1cm5zIG9i
amVjdAorLy8gQ2hyb21lIHJldHVybnMgZnVuY3Rpb24KKy8vIGFzc2VydEVxdWFscygnb2JqZWN0
JywgdHlwZW9mIERPTVRva2VuTGlzdCk7CitzaG91bGRCZVRydWUoJ1wndW5kZWZpbmVkXCcgIT0g
dHlwZW9mIERPTVRva2VuTGlzdCcpOworCitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3R5cGVvZiBE
T01Ub2tlbkxpc3QucHJvdG90eXBlJywgJ29iamVjdCcpOworCitjcmVhdGVFbGVtZW50KCd4Jyk7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3R5cGVvZiBlbGVtZW50LnJlbExpc3QnLCAnb2JqZWN0
Jyk7CisKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQucmVsTGlzdC5jb25zdHJ1Y3RvcicsICdE
T01Ub2tlbkxpc3QnKTsKKworc2hvdWxkQmVUcnVlKCdlbGVtZW50LnJlbExpc3QgPT09IGVsZW1l
bnQucmVsTGlzdCcpOworCisvLyBWYXJpYWRpYworCitkZWJ1ZygnVmFyaWFkaWMgY2FsbHMnKTsK
KworY3JlYXRlRWxlbWVudCgnJyk7CitlbGVtZW50LnJlbExpc3QuYWRkKCdhJywgJ2InKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnYSBiJyk7CisKK2VsZW1lbnQucmVs
TGlzdC5hZGQoJ2EnLCAnYicsICdjJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQu
cmVsJywgJ2EgYiBjJyk7CisKK2VsZW1lbnQucmVsTGlzdC5hZGQobnVsbCwge3RvU3RyaW5nOiBm
dW5jdGlvbigpIHsgcmV0dXJuICdkJyB9fSwgdW5kZWZpbmVkLCAwLCBmYWxzZSk7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ2EgYiBjIG51bGwgZCB1bmRlZmluZWQgMCBm
YWxzZScpOworCitjcmVhdGVFbGVtZW50KCcnKTsKK2VsZW1lbnQucmVsTGlzdC5hZGQoJ2EnLCAn
YicsICdhJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ2EgYicpOwor
CitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9uKCkg
eworICAgIGVsZW1lbnQucmVsTGlzdC5hZGQoJ2EnLCAnYicsICcnKTsKK30sIERPTUV4Y2VwdGlv
bi5TWU5UQVhfRVJSKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnJyk7
CisKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9uKCkgeworICAgIGVsZW1lbnQucmVs
TGlzdC5hZGQoJ2EnLCAnYicsICdjIGQnKTsKK30sIERPTUV4Y2VwdGlvbi5JTlZBTElEX0NIQVJB
Q1RFUl9FUlIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICcnKTsKKwor
c2hvdWxkVGhyb3coJ2VsZW1lbnQucmVsTGlzdC5hZGQoImEiLCB7dG9TdHJpbmc6IGZ1bmN0aW9u
KCkgeyB0aHJvdyBuZXcgRXJyb3IoInVzZXIgZXJyb3IiKTsgfX0sICJiIiknLCAnIkVycm9yOiB1
c2VyIGVycm9yIicpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICcnKTsK
KworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGROb3RUaHJvdygnZWxlbWVudC5yZWxMaXN0LmFk
ZCgpJyk7CisKK2NyZWF0ZUVsZW1lbnQoJycpOwordmFyIG9ic2VydmVyID0gbmV3IFdlYktpdE11
dGF0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oKSB7fSk7CitvYnNlcnZlci5vYnNlcnZlKGVsZW1lbnQs
IHthdHRyaWJ1dGVzOiB0cnVlfSk7CitlbGVtZW50LnJlbExpc3QuYWRkKCdhJywgJ2MnKTsKK3No
b3VsZEJlKCdvYnNlcnZlci50YWtlUmVjb3JkcygpLmxlbmd0aCcsICcxJyk7CisKKworY3JlYXRl
RWxlbWVudCgnYSBiIGMgZCAgJyk7CitlbGVtZW50LnJlbExpc3QucmVtb3ZlKCdhJywgJ2MnKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnYiBkICAnKTsKKworZWxlbWVu
dC5yZWxMaXN0LnJlbW92ZSgnYicsICdiJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1l
bnQucmVsJywgJ2QgICcpOworCitjcmVhdGVFbGVtZW50KCdhIGIgYyBudWxsIGQgdW5kZWZpbmVk
IDAgZmFsc2UnKTsKK2VsZW1lbnQucmVsTGlzdC5yZW1vdmUobnVsbCwge3RvU3RyaW5nOiBmdW5j
dGlvbigpIHsgcmV0dXJuICdkJyB9fSwgdW5kZWZpbmVkLCAwLCBmYWxzZSk7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ2EgYiBjJyk7CisKK2NyZWF0ZUVsZW1lbnQoJ2Eg
YicpOworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5y
ZWxMaXN0LnJlbW92ZSgnYScsICdiJywgJycpOworfSwgRE9NRXhjZXB0aW9uLlNZTlRBWF9FUlIp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICdhIGInKTsKKworc2hvdWxk
VGhyb3coJ2VsZW1lbnQucmVsTGlzdC5yZW1vdmUoImEiLCB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkg
eyB0aHJvdyBuZXcgRXJyb3IoInVzZXIgZXJyb3IiKTsgfX0sICJiIiknLCAnIkVycm9yOiB1c2Vy
IGVycm9yIicpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICdhIGInKTsK
Kworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5yZWxM
aXN0LnJlbW92ZSgnYScsICdiJywgJ2MgZCcpOworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQ0hB
UkFDVEVSX0VSUik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ2EgYicp
OworCitzaG91bGROb3RUaHJvdygnZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgpJyk7CisKK2NyZWF0
ZUVsZW1lbnQoJ2EgYiBjJyk7CitvYnNlcnZlciA9IG5ldyBXZWJLaXRNdXRhdGlvbk9ic2VydmVy
KGZ1bmN0aW9uKCkge30pOworb2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50LCB7YXR0cmlidXRlczog
dHJ1ZX0pOworZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgnYScsICdjJyk7CitzaG91bGRCZSgnb2Jz
ZXJ2ZXIudGFrZVJlY29yZHMoKS5sZW5ndGgnLCAnMScpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTEFyZWFFbGVtZW50L3JlbC1saXN0LWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL0hUTUxBcmVhRWxlbWVudC9yZWwtbGlzdC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjdmYjk5Y2ZjY2Y5NWJkNTBhZjU3OTFhZGNiZDc2YTQ0OTI1Zjc4NwotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBcmVhRWxlbWVudC9yZWwtbGlz
dC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMTMgQEAKK1Rlc3RzIHRoZSByZWxMaXN0IGF0dHJp
YnV0ZSBhbmQgaXRzIHByb3BlcnRpZXMuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNl
cmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKwor
CitUZXN0cyBmcm9tIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0
aW5nL0RPTVRva2VuTGlzdC8KK1BBU1MgU3RyaW5nKGVsZW1lbnQucmVsTGlzdCkgaXMgIngiCitQ
QVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMAorUEFTUyBlbGVtZW50LnJlbExpc3QubGVu
Z3RoIGlzIDEKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbCBpcyAieCIKK1BBU1MgZWxlbWVu
dC5yZWwgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4ICB4IgorUEFTUyBlbGVtZW50LnJl
bCBpcyAieSB4IgorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbCBpcyAi
IgorUEFTUyBlbGVtZW50LnJlbCBpcyAiIHkgeSAiCitQQVNTIGVsZW1lbnQucmVsIGlzICJ5Igor
RW5zdXJlIHRoYXQgd2UgY2FuIGhhbmRsZSBlbXB0eSBjbGFzcyBuYW1lIGNvcnJlY3RseQorUEFT
UyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JykgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbCBp
cyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcpIGlzIGZhbHNlCitQQVNTIGVs
ZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygneCcpIGlzIGZh
bHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdFsxXSBpcyB1bmRlZmluZWQuCitUZXN0IHRvZ2dsZSB3
aXRoIGZvcmNlIGFyZ3VtZW50CitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnLCB0cnVl
KSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3Qu
dG9nZ2xlKCd4JywgdHJ1ZSkgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbCBpcyAieCIKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcsIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50
LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgZmFsc2UpIGlzIGZh
bHNlCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUo
JycsIHRydWUpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgMTIKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCB5JywgZmFsc2UpIHRocmV3IGV4cGVjdGVkIERPTUV4
Y2VwdGlvbiB3aXRoIGNvZGUgNQorVGVzdGluZyBhZGQgaW4gcHJlc2VuY2Ugb2YgdHJhaWxpbmcg
d2hpdGUgc3BhY2VzLgorUEFTUyBlbGVtZW50LnJlbCBpcyAieCB5IgorUEFTUyBlbGVtZW50LnJl
bCBpcyAieFx0eSIKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiB5IgorVGVzdCBpbnZhbGlkIHRva2Vu
cworUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoJycpIHRocmV3IGV4cGVjdGVkIERPTUV4
Y2VwdGlvbiB3aXRoIGNvZGUgMTIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCd4IHkn
KSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0LmFkZCgnJykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSAxMgor
UEFTUyBlbGVtZW50LnJlbExpc3QuYWRkKCd4IHknKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRp
b24gd2l0aCBjb2RlIDUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgnJykgdGhyZXcgZXhw
ZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVtZW50LnJlbExpc3QucmVt
b3ZlKCd4IHknKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgnJykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdp
dGggY29kZSAxMgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4IHknKSB0aHJldyBleHBl
Y3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2ds
ZSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1lbnRzLgorSW5k
ZXhpbmcKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzBdIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExp
c3QuaXRlbSgwKSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzFdIGlzICJ4IgorUEFTUyBl
bGVtZW50LnJlbExpc3QuaXRlbSgxKSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzFdIGlz
ICJ5IgorUEFTUyBlbGVtZW50LnJlbExpc3QuaXRlbSgxKSBpcyAieSIKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0WzBdIGlzIHVuZGVmaW5lZC4KK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0oMCkgaXMg
bnVsbAorUEFTUyBlbGVtZW50LnJlbExpc3RbNF0gaXMgdW5kZWZpbmVkLgorUEFTUyBlbGVtZW50
LnJlbExpc3QuaXRlbSg0KSBpcyBudWxsCitQQVNTIGVsZW1lbnQucmVsTGlzdFstMV0gaXMgdW5k
ZWZpbmVkLgorUEFTUyBlbGVtZW50LnJlbExpc3QuaXRlbSgtMSkgaXMgbnVsbAorUEFTUyBlbGVt
ZW50LnJlbExpc3QuaXRlbSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2gg
YXJndW1lbnRzLgorVGVzdCBjYXNlIHNpbmNlIERPTVRva2VuTGlzdCBpcyBjYXNlIHNlbnNpdGl2
ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoJ3gnKSBpcyB0cnVlCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5jb250YWlucygnWCcpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdFsw
XSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCkgdGhyZXcgZXhjZXB0aW9u
IFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5j
b250YWlucygnWCcpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCd4Jykg
aXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzBdIGlzICJYIgorVGVzdGluZyB3aGl0ZXNw
YWNlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbExp
c3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVs
ZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlz
IDIKK0RPTVRva2VuTGlzdCBwcmVzZW5jZSBhbmQgdHlwZQorUEFTUyAndW5kZWZpbmVkJyAhPSB0
eXBlb2YgRE9NVG9rZW5MaXN0IGlzIHRydWUKK1BBU1MgdHlwZW9mIERPTVRva2VuTGlzdC5wcm90
b3R5cGUgaXMgIm9iamVjdCIKK1BBU1MgdHlwZW9mIGVsZW1lbnQucmVsTGlzdCBpcyAib2JqZWN0
IgorUEFTUyBlbGVtZW50LnJlbExpc3QuY29uc3RydWN0b3IgaXMgRE9NVG9rZW5MaXN0CitQQVNT
IGVsZW1lbnQucmVsTGlzdCA9PT0gZWxlbWVudC5yZWxMaXN0IGlzIHRydWUKK1ZhcmlhZGljIGNh
bGxzCitQQVNTIGVsZW1lbnQucmVsIGlzICJhIGIiCitQQVNTIGVsZW1lbnQucmVsIGlzICJhIGIg
YyIKK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiBjIG51bGwgZCB1bmRlZmluZWQgMCBmYWxzZSIK
K1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmFkZCgnYScs
ICdiJywgJycpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgMTIKK1BBU1Mg
ZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmFkZCgnYScsICdiJywgJ2Mg
ZCcpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgNQorUEFTUyBlbGVtZW50
LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExpc3QuYWRkKCJhIiwge3RvU3RyaW5nOiBmdW5j
dGlvbigpIHsgdGhyb3cgbmV3IEVycm9yKCJ1c2VyIGVycm9yIik7IH19LCAiYiIpIHRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogdXNlciBlcnJvci4KK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0LmFkZCgpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBvYnNl
cnZlci50YWtlUmVjb3JkcygpLmxlbmd0aCBpcyAxCitQQVNTIGVsZW1lbnQucmVsIGlzICJiIGQg
ICIKK1BBU1MgZWxlbWVudC5yZWwgaXMgImQgICIKK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiBj
IgorUEFTUyBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCdhJywgJ2InLCAnJykgdGhyZXcgZXhwZWN0
ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSAxMgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIgor
UEFTUyBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCJhIiwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHsg
dGhyb3cgbmV3IEVycm9yKCJ1c2VyIGVycm9yIik7IH19LCAiYiIpIHRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogdXNlciBlcnJvci4KK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVu
dC5yZWxMaXN0LnJlbW92ZSgnYScsICdiJywgJ2MgZCcpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2Vw
dGlvbiB3aXRoIGNvZGUgNQorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIgorUEFTUyBlbGVtZW50
LnJlbExpc3QucmVtb3ZlKCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG9ic2VydmVy
LnRha2VSZWNvcmRzKCkubGVuZ3RoIGlzIDEKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9I
VE1MQXJlYUVsZW1lbnQvcmVsLWxpc3QtZ2MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTEFyZWFFbGVtZW50L3JlbC1saXN0LWdjLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4zMzE2YWVlOTZhMWUzN2ZmNzY3MDUwNjQ2NWRiNmUxMTNjOWUwZDQzCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFyZWFFbGVtZW50L3JlbC1saXN0LWdjLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDExIEBACitUaGlzIHRlc3RzIHRoYXQgcHJvcGVydGllcyBv
biB0aGUgcmVsTGlzdCBwZXJzaXN0cyBHQy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgor
CisKK1BBU1MgYXJlYS5yZWxMaXN0LmxpZmUgaXMgNDIKK1BBU1MgYXJlYS5yZWxMaXN0LmxpZmUg
aXMgNDIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQXJlYUVsZW1lbnQvcmVsLWxp
c3QtZ2MuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBcmVhRWxlbWVudC9yZWwtbGlz
dC1nYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRlNGJjM2JjMzNhNGMwZmFlMWNjMDMxNDQzZDNlMmJlOTVk
YWE5ZmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQXJlYUVs
ZW1lbnQvcmVsLWxpc3QtZ2MuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4K
KzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InNjcmlwdC10
ZXN0cy9yZWwtbGlzdC1nYy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVz
b3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQXJlYUVsZW1lbnQvcmVsLWxpc3QuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBcmVhRWxlbWVudC9yZWwtbGlzdC5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjcxODRmYTc4NGU4NzNlNGFjODljMGU5ZGM5NWQ5MTIzMmFhOWE3YzIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQXJlYUVsZW1lbnQvcmVsLWxp
c3QuaHRtbApAQCAtMCwwICsxLDEwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Njcmlw
dD4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9yZWwtbGlzdC5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEFyZWFFbGVtZW50L3Nj
cmlwdC10ZXN0cy9yZWwtbGlzdC1nYy5qcyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBcmVh
RWxlbWVudC9zY3JpcHQtdGVzdHMvcmVsLWxpc3QtZ2MuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODUxMWY4NjY5
NzA2MDc5ODA1Y2ZlZDRhYWQ5OWY0MDEwYzczOGVjZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL0hUTUxBcmVhRWxlbWVudC9zY3JpcHQtdGVzdHMvcmVsLWxpc3QtZ2Mu
anMKQEAgLTAsMCArMSwyOCBAQAorZGVzY3JpcHRpb24oJ1RoaXMgdGVzdHMgdGhhdCBwcm9wZXJ0
aWVzIG9uIHRoZSByZWxMaXN0IHBlcnNpc3RzIEdDLicpOworCitmdW5jdGlvbiBnYygpCit7Cisg
ICAgaWYgKHdpbmRvdy5HQ0NvbnRyb2xsZXIpCisgICAgICAgIHJldHVybiBHQ0NvbnRyb2xsZXIu
Y29sbGVjdCgpOworCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsgaSsrKSB7CisgICAg
ICAgIHZhciBzID0gbmV3IFN0cmluZzsKKyAgICB9Cit9CisKK3ZhciBhcmVhID0gZG9jdW1lbnQu
Y3JlYXRlRWxlbWVudCgnYXJlYScpOworCisvLyBFbnN1cmUgdGhlIGNsYXNzTGlzdCBpcyBjcmVh
dGVkLgordmFyIHJlbExpc3QgPSBhcmVhLnJlbExpc3Q7CisKKy8vIFNldCBhIGN1c3RvbSBwcm9w
ZXJ0eS4KK2FyZWEucmVsTGlzdC5saWZlID0gNDI7CitzaG91bGRFdmFsdWF0ZVRvKCdhcmVhLnJl
bExpc3QubGlmZScsIDQyKTsKKworLy8gTnVsbCBvdXQgcmVmZXJlbmNlIHRvIHRoZSBkYXRhc2V0
LgorcmVsTGlzdCA9IG51bGw7CisKK2djKCk7CisKKy8vIFRlc3QgdGhhdCB0aGUgY2xhc3NMaXN0
IHdyYXBwZXIgcGVyc2lzdGVkIHRoZSBHQyBhbmQgc3RpbGwgaGFzIHRoZSBjdXN0b20gcHJvcGVy
dHkuCitzaG91bGRFdmFsdWF0ZVRvKCdhcmVhLnJlbExpc3QubGlmZScsIDQyKTsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxBcmVhRWxlbWVudC9zY3JpcHQtdGVzdHMvcmVs
LWxpc3QuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MQXJlYUVsZW1lbnQvc2NyaXB0LXRl
c3RzL3JlbC1saXN0LmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFiODk2NDA5ZTBkMDg3M2M1ZjQyODdmNDUxODNh
N2FjNTZlNDU0NjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
QXJlYUVsZW1lbnQvc2NyaXB0LXRlc3RzL3JlbC1saXN0LmpzCkBAIC0wLDAgKzEsMzUzIEBACitk
ZXNjcmlwdGlvbignVGVzdHMgdGhlIHJlbExpc3QgYXR0cmlidXRlIGFuZCBpdHMgcHJvcGVydGll
cy4nKTsKKwordmFyIGVsZW1lbnQ7CisKK2Z1bmN0aW9uIGNyZWF0ZUVsZW1lbnQocmVsKQorewor
ICAgIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhcmVhJyk7CisgICAgZWxlbWVu
dC5yZWwgPSByZWw7Cit9CisKK2RlYnVnKCdUZXN0cyBmcm9tIGh0dHA6Ly9zaW1vbi5odG1sNS5v
cmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC8nKTsKKworLy8gaHR0cDov
L3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L3Nl
dHRpbmcvMDAxLmh0bQorLy8gRmlyZWZveCB0aHJvd3MgaGVyZSBidXQgV2ViS2l0IGRvZXMgbm90
IHRocm93IG9uIHNldHRpbmcgcmVhZG9ubHkgaWRsCisvLyBhdHRyaWJ1dGVzLgorY3JlYXRlRWxl
bWVudCgneCcpOwordHJ5IHsKKyAgICBlbGVtZW50LnJlbExpc3QgPSAneSc7CisgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdTdHJpbmcoZWxlbWVudC5yZWxMaXN0KScsICd4Jyk7Cit9IGNhdGNo
IChleCkgeworICAgIHRlc3RQYXNzZWQoJ1Rocm93aW5nIG9uIHNldCBpcyBhY2NlcHRhYmxlJyk7
Cit9CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5n
L0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwMS5odG0KK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxk
RXZhbHVhdGVUbygnZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCcsIDApOworCisvLyBodHRwOi8vc2lt
b24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGlu
Zy8wMDIuaHRtCitjcmVhdGVFbGVtZW50KCd4Jyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50
LnJlbExpc3QubGVuZ3RoJywgMSk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9o
dG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwMy5odG0KK2NyZWF0ZUVs
ZW1lbnQoJ3ggeCcpOworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCcs
IDIpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGlu
Zy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDQuaHRtCitjcmVhdGVFbGVtZW50KCd4IHknKTsKK3No
b3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAyKTsKKworLy8gaHR0cDov
L3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dl
dHRpbmcvMDA1Lmh0bQorY3JlYXRlRWxlbWVudCgnJyk7CitlbGVtZW50LnJlbExpc3QuYWRkKCd4
Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ3gnKTsKKworLy8gaHR0
cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0
L2dldHRpbmcvMDA2Lmh0bQorY3JlYXRlRWxlbWVudCgneCcpOworZWxlbWVudC5yZWxMaXN0LmFk
ZCgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICd4Jyk7CisKKy8v
IGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2Vu
TGlzdC9nZXR0aW5nLzAwNy5odG0KK2NyZWF0ZUVsZW1lbnQoJ3ggIHgnKTsKK2VsZW1lbnQucmVs
TGlzdC5hZGQoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAneCAg
eCcpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGlu
Zy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDguaHRtCitjcmVhdGVFbGVtZW50KCd5Jyk7CitlbGVt
ZW50LnJlbExpc3QuYWRkKCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVs
JywgJ3kgeCcpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVm
bGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDkuaHRtCitjcmVhdGVFbGVtZW50KCcnKTsK
K2VsZW1lbnQucmVsTGlzdC5yZW1vdmUoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxl
bWVudC5yZWwnLCAnJyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2Rv
bS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAxMC5odG0KK2NyZWF0ZUVsZW1lbnQo
J3gnKTsKK2VsZW1lbnQucmVsTGlzdC5yZW1vdmUoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZWxlbWVudC5yZWwnLCAnJyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9o
dG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAxMS5odG0KK2NyZWF0ZUVs
ZW1lbnQoJyB5IHggIHkgJyk7CitlbGVtZW50LnJlbExpc3QucmVtb3ZlKCd4Jyk7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJyB5IHkgJyk7CisKKy8vIGh0dHA6Ly9zaW1v
bi5odG1sNS5vcmcvdGVzdC9odG1sL2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5n
LzAxMi5odG0KK2NyZWF0ZUVsZW1lbnQoJyB4IHkgIHggJyk7CitlbGVtZW50LnJlbExpc3QucmVt
b3ZlKCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ3knKTsKKwor
CitkZWJ1ZygnRW5zdXJlIHRoYXQgd2UgY2FuIGhhbmRsZSBlbXB0eSBjbGFzcyBuYW1lIGNvcnJl
Y3RseScpOworZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKK3Nob3VsZEJl
VHJ1ZSgiZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcpIik7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2VsZW1lbnQucmVsJywgJ3gnKTsKK3Nob3VsZEJlRmFsc2UoImVsZW1lbnQucmVsTGlzdC50
b2dnbGUoJ3gnKSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICcnKTsK
KworZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKK3Nob3VsZEJlRmFsc2Uo
J2VsZW1lbnQucmVsTGlzdC5jb250YWlucyhcJ3hcJyknKTsKK3Nob3VsZEJlVW5kZWZpbmVkKCdl
bGVtZW50LnJlbExpc3RbMV0nKTsKK2VsZW1lbnQucmVsTGlzdC5yZW1vdmUoJ3gnKTsKK2VsZW1l
bnQucmVsTGlzdC5hZGQoJ3gnKQorCisKK2RlYnVnKCdUZXN0IHRvZ2dsZSB3aXRoIGZvcmNlIGFy
Z3VtZW50JykKKworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRCZVRydWUoImVsZW1lbnQucmVs
TGlzdC50b2dnbGUoJ3gnLCB0cnVlKSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50
LnJlbCcsICd4Jyk7CitzaG91bGRCZVRydWUoImVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnLCB0
cnVlKSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICd4Jyk7CitzaG91
bGRCZUZhbHNlKCJlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgZmFsc2UpIik7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJycpOworc2hvdWxkQmVGYWxzZSgiZWxlbWVu
dC5yZWxMaXN0LnRvZ2dsZSgneCcsIGZhbHNlKSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdl
bGVtZW50LnJlbCcsICcnKTsKKworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7
CisgICAgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgnJywgdHJ1ZSk7Cit9LCBET01FeGNlcHRpb24u
U1lOVEFYX0VSUik7CisKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9uKCkgeworICAg
IGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3ggeScsIGZhbHNlKTsKK30sIERPTUV4Y2VwdGlvbi5J
TlZBTElEX0NIQVJBQ1RFUl9FUlIpOworCisKK2RlYnVnKCdUZXN0aW5nIGFkZCBpbiBwcmVzZW5j
ZSBvZiB0cmFpbGluZyB3aGl0ZSBzcGFjZXMuJyk7CisKK2NyZWF0ZUVsZW1lbnQoJ3ggJyk7Citl
bGVtZW50LnJlbExpc3QuYWRkKCd5Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQu
cmVsJywgJ3ggeScpOworCitjcmVhdGVFbGVtZW50KCd4XHQnKTsKK2VsZW1lbnQucmVsTGlzdC5h
ZGQoJ3knKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAneFx0eScpOwor
CitjcmVhdGVFbGVtZW50KCcgJyk7CitlbGVtZW50LnJlbExpc3QuYWRkKCd5Jyk7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJyB5Jyk7CisKKworZGVidWcoJ1Rlc3QgaW52
YWxpZCB0b2tlbnMnKTsKKworLy8gVGVzdGluZyBleGNlcHRpb24gZHVlIHRvIGludmFsaWQgdG9r
ZW4KKworLy8gc2hvdWxkVGhyb3cgZnJvbSBqcy10ZXN0LXByZS5qcyBpcyBub3Qgc3VmZmljaWVu
dC4KK2Z1bmN0aW9uIHNob3VsZFRocm93RE9NRXhjZXB0aW9uKGYsIGVjKQoreworICAgIHRyeSB7
CisgICAgICAgIGYoKTsKKyAgICAgICAgdGVzdEZhaWxlZCgnRXhwZWN0ZWQgYW4gZXhjZXB0aW9u
Jyk7CisgICAgfSBjYXRjaCAoZXgpIHsKKyAgICAgICAgaWYgKCEoZXggaW5zdGFuY2VvZiBET01F
eGNlcHRpb24pKSB7CisgICAgICAgICAgICB0ZXN0RmFpbGVkKCdFeGNlcHRpb24gaXMgbm90IGFu
IGluc3RhbmNlIG9mIERPTUV4Y2VwdGlvbiwgZm91bmQ6ICcgKworICAgICAgICAgICAgICAgICAg
ICAgICBPYmplY3QudG9TdHJpbmcuY2FsbChleCkpOworICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB9CisgICAgICAgIGlmIChlYyAhPT0gZXguY29kZSkgeworICAgICAgICAgICAgdGVzdEZh
aWxlZCgnV3JvbmcgZXhjZXB0aW9uIGNvZGU6ICcgKyBleC5jb2RlKTsKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgfQorICAgIH0KKyAgICB2YXIgZm9ybWF0dGVkRnVuY3Rpb24gPSBTdHJp
bmcoZikucmVwbGFjZSgvXmZ1bmN0aW9uLitce1xzKi9tLCAnJykuCisgICAgICAgIHJlcGxhY2Uo
Lzs/XHMrXH0vbSwgJycpOworICAgIHRlc3RQYXNzZWQoZm9ybWF0dGVkRnVuY3Rpb24gKyAnIHRo
cmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgJyArIGVjKTsKK30KKworY3JlYXRl
RWxlbWVudCgneCcpOworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAg
ZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCcnKTsKK30sIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJS
KTsKKworY3JlYXRlRWxlbWVudCgneCB5Jyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5j
dGlvbigpIHsKKyAgICBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoJ3ggeScpOworfSwgRE9NRXhj
ZXB0aW9uLklOVkFMSURfQ0hBUkFDVEVSX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hv
dWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5yZWxMaXN0LmFk
ZCgnJyk7Cit9LCBET01FeGNlcHRpb24uU1lOVEFYX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJycp
Oworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5yZWxM
aXN0LmFkZCgneCB5Jyk7Cit9LCBET01FeGNlcHRpb24uSU5WQUxJRF9DSEFSQUNURVJfRVJSKTsK
KworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigp
IHsKKyAgICBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCcnKTsKK30sIERPTUV4Y2VwdGlvbi5TWU5U
QVhfRVJSKTsKKworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihm
dW5jdGlvbigpIHsKKyAgICBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCd4IHknKTsKK30sIERPTUV4
Y2VwdGlvbi5JTlZBTElEX0NIQVJBQ1RFUl9FUlIpOworCisKKworY3JlYXRlRWxlbWVudCgnJyk7
CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LnJlbExp
c3QudG9nZ2xlKCcnKTsKK30sIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKTsKKworY3JlYXRlRWxl
bWVudCgneCB5Jyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBl
bGVtZW50LnJlbExpc3QudG9nZ2xlKCd4IHknKTsKK30sIERPTUV4Y2VwdGlvbi5JTlZBTElEX0NI
QVJBQ1RFUl9FUlIpOworCitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3VsZFRocm93KCJlbGVtZW50
LnJlbExpc3QudG9nZ2xlKCkiKTsKKworZGVidWcoJ0luZGV4aW5nJyk7CisKK2NyZWF0ZUVsZW1l
bnQoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWxMaXN0WzBdJywgJ3gn
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWxMaXN0Lml0ZW0oMCknLCAneCcp
OworCitjcmVhdGVFbGVtZW50KCd4IHgnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVu
dC5yZWxMaXN0WzFdJywgJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWxM
aXN0Lml0ZW0oMSknLCAneCcpOworCitjcmVhdGVFbGVtZW50KCd4IHknKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygnZWxlbWVudC5yZWxMaXN0WzFdJywgJ3knKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygnZWxlbWVudC5yZWxMaXN0Lml0ZW0oMSknLCAneScpOworCitjcmVhdGVFbGVtZW50KCcn
KTsKK3Nob3VsZEJlVW5kZWZpbmVkKCdlbGVtZW50LnJlbExpc3RbMF0nKTsKK3Nob3VsZEJlTnVs
bCgnZWxlbWVudC5yZWxMaXN0Lml0ZW0oMCknKTsKKworY3JlYXRlRWxlbWVudCgneCB5IHonKTsK
K3Nob3VsZEJlVW5kZWZpbmVkKCdlbGVtZW50LnJlbExpc3RbNF0nKTsKK3Nob3VsZEJlTnVsbCgn
ZWxlbWVudC5yZWxMaXN0Lml0ZW0oNCknKTsKK3Nob3VsZEJlVW5kZWZpbmVkKCdlbGVtZW50LnJl
bExpc3RbLTFdJyk7ICAvLyBOb3QgYSB2YWxpZCBpbmRleCBzbyBzaG91bGQgbm90IHRyaWdnZXIg
aXRlbSgpLgorc2hvdWxkQmVOdWxsKCdlbGVtZW50LnJlbExpc3QuaXRlbSgtMSknKTsKK3Nob3Vs
ZFRocm93KCdlbGVtZW50LnJlbExpc3QuaXRlbSgpJyk7CisKK2RlYnVnKCdUZXN0IGNhc2Ugc2lu
Y2UgRE9NVG9rZW5MaXN0IGlzIGNhc2Ugc2Vuc2l0aXZlJyk7CisKK2NyZWF0ZUVsZW1lbnQoJ3gn
KTsKK3Nob3VsZEJlVHJ1ZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKFwneFwnKScpOworc2hv
dWxkQmVGYWxzZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKFwnWFwnKScpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbExpc3RbMF0nLCAneCcpOworc2hvdWxkVGhyb3coJ2Vs
ZW1lbnQucmVsTGlzdC5jb250YWlucygpJyk7CisKK2NyZWF0ZUVsZW1lbnQoJ1gnKTsKK3Nob3Vs
ZEJlVHJ1ZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKFwnWFwnKScpOworc2hvdWxkQmVGYWxz
ZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKFwneFwnKScpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdlbGVtZW50LnJlbExpc3RbMF0nLCAnWCcpOworCisKK2RlYnVnKCdUZXN0aW5nIHdoaXRl
c3BhY2UnKTsKKy8vIFUrMDAyMCBTUEFDRSwgVSswMDA5IENIQVJBQ1RFUiBUQUJVTEFUSU9OICh0
YWIpLCBVKzAwMEEgTElORSBGRUVEIChMRiksCisvLyBVKzAwMEMgRk9STSBGRUVEIChGRiksIGFu
ZCBVKzAwMEQgQ0FSUklBR0UgUkVUVVJOIChDUikKKworY3JlYXRlRWxlbWVudCgneFx1MDAyMHkn
KTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAyKTsKKworY3Jl
YXRlRWxlbWVudCgneFx1MDAwOXknKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQucmVsTGlz
dC5sZW5ndGgnLCAyKTsKKworY3JlYXRlRWxlbWVudCgneFx1MDAwQXknKTsKK3Nob3VsZEV2YWx1
YXRlVG8oJ2VsZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAyKTsKKworY3JlYXRlRWxlbWVudCgneFx1
MDAwQ3knKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAyKTsK
KworY3JlYXRlRWxlbWVudCgneFx1MDAwRHknKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQu
cmVsTGlzdC5sZW5ndGgnLCAyKTsKKworCitkZWJ1ZygnRE9NVG9rZW5MaXN0IHByZXNlbmNlIGFu
ZCB0eXBlJyk7CisKKworLy8gU2FmYXJpIHJldHVybnMgb2JqZWN0CisvLyBGaXJlZm94IHJldHVy
bnMgb2JqZWN0CisvLyBJRTggcmV0dXJucyBvYmplY3QKKy8vIENocm9tZSByZXR1cm5zIGZ1bmN0
aW9uCisvLyBhc3NlcnRFcXVhbHMoJ29iamVjdCcsIHR5cGVvZiBET01Ub2tlbkxpc3QpOworc2hv
dWxkQmVUcnVlKCdcJ3VuZGVmaW5lZFwnICE9IHR5cGVvZiBET01Ub2tlbkxpc3QnKTsKKworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCd0eXBlb2YgRE9NVG9rZW5MaXN0LnByb3RvdHlwZScsICdvYmpl
Y3QnKTsKKworY3JlYXRlRWxlbWVudCgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0eXBl
b2YgZWxlbWVudC5yZWxMaXN0JywgJ29iamVjdCcpOworCitzaG91bGRFdmFsdWF0ZVRvKCdlbGVt
ZW50LnJlbExpc3QuY29uc3RydWN0b3InLCAnRE9NVG9rZW5MaXN0Jyk7CisKK3Nob3VsZEJlVHJ1
ZSgnZWxlbWVudC5yZWxMaXN0ID09PSBlbGVtZW50LnJlbExpc3QnKTsKKworLy8gVmFyaWFkaWMK
KworZGVidWcoJ1ZhcmlhZGljIGNhbGxzJyk7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworZWxlbWVu
dC5yZWxMaXN0LmFkZCgnYScsICdiJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQu
cmVsJywgJ2EgYicpOworCitlbGVtZW50LnJlbExpc3QuYWRkKCdhJywgJ2InLCAnYycpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICdhIGIgYycpOworCitlbGVtZW50LnJl
bExpc3QuYWRkKG51bGwsIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7IHJldHVybiAnZCcgfX0sIHVu
ZGVmaW5lZCwgMCwgZmFsc2UpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcs
ICdhIGIgYyBudWxsIGQgdW5kZWZpbmVkIDAgZmFsc2UnKTsKKworY3JlYXRlRWxlbWVudCgnJyk7
CitlbGVtZW50LnJlbExpc3QuYWRkKCdhJywgJ2InLCAnYScpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdlbGVtZW50LnJlbCcsICdhIGInKTsKKworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRU
aHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LnJlbExpc3QuYWRkKCdh
JywgJ2InLCAnJyk7Cit9LCBET01FeGNlcHRpb24uU1lOVEFYX0VSUik7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJycpOworCitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihm
dW5jdGlvbigpIHsKKyAgICBlbGVtZW50LnJlbExpc3QuYWRkKCdhJywgJ2InLCAnYyBkJyk7Cit9
LCBET01FeGNlcHRpb24uSU5WQUxJRF9DSEFSQUNURVJfRVJSKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygnZWxlbWVudC5yZWwnLCAnJyk7CisKK3Nob3VsZFRocm93KCdlbGVtZW50LnJlbExpc3Qu
YWRkKCJhIiwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHsgdGhyb3cgbmV3IEVycm9yKCJ1c2VyIGVy
cm9yIik7IH19LCAiYiIpJywgJyJFcnJvcjogdXNlciBlcnJvciInKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygnZWxlbWVudC5yZWwnLCAnJyk7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxk
Tm90VGhyb3coJ2VsZW1lbnQucmVsTGlzdC5hZGQoKScpOworCitjcmVhdGVFbGVtZW50KCcnKTsK
K3ZhciBvYnNlcnZlciA9IG5ldyBXZWJLaXRNdXRhdGlvbk9ic2VydmVyKGZ1bmN0aW9uKCkge30p
Oworb2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50LCB7YXR0cmlidXRlczogdHJ1ZX0pOworZWxlbWVu
dC5yZWxMaXN0LmFkZCgnYScsICdjJyk7CitzaG91bGRCZSgnb2JzZXJ2ZXIudGFrZVJlY29yZHMo
KS5sZW5ndGgnLCAnMScpOworCisKK2NyZWF0ZUVsZW1lbnQoJ2EgYiBjIGQgICcpOworZWxlbWVu
dC5yZWxMaXN0LnJlbW92ZSgnYScsICdjJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1l
bnQucmVsJywgJ2IgZCAgJyk7CisKK2VsZW1lbnQucmVsTGlzdC5yZW1vdmUoJ2InLCAnYicpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICdkICAnKTsKKworY3JlYXRlRWxl
bWVudCgnYSBiIGMgbnVsbCBkIHVuZGVmaW5lZCAwIGZhbHNlJyk7CitlbGVtZW50LnJlbExpc3Qu
cmVtb3ZlKG51bGwsIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7IHJldHVybiAnZCcgfX0sIHVuZGVm
aW5lZCwgMCwgZmFsc2UpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICdh
IGIgYycpOworCitjcmVhdGVFbGVtZW50KCdhIGInKTsKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9u
KGZ1bmN0aW9uKCkgeworICAgIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoJ2EnLCAnYicsICcnKTsK
K30sIERPTUV4Y2VwdGlvbi5TWU5UQVhfRVJSKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxl
bWVudC5yZWwnLCAnYSBiJyk7CisKK3Nob3VsZFRocm93KCdlbGVtZW50LnJlbExpc3QucmVtb3Zl
KCJhIiwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHsgdGhyb3cgbmV3IEVycm9yKCJ1c2VyIGVycm9y
Iik7IH19LCAiYiIpJywgJyJFcnJvcjogdXNlciBlcnJvciInKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygnZWxlbWVudC5yZWwnLCAnYSBiJyk7CisKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1
bmN0aW9uKCkgeworICAgIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoJ2EnLCAnYicsICdjIGQnKTsK
K30sIERPTUV4Y2VwdGlvbi5JTlZBTElEX0NIQVJBQ1RFUl9FUlIpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdlbGVtZW50LnJlbCcsICdhIGInKTsKKworc2hvdWxkTm90VGhyb3coJ2VsZW1lbnQu
cmVsTGlzdC5yZW1vdmUoKScpOworCitjcmVhdGVFbGVtZW50KCdhIGIgYycpOworb2JzZXJ2ZXIg
PSBuZXcgV2ViS2l0TXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbigpIHt9KTsKK29ic2VydmVyLm9i
c2VydmUoZWxlbWVudCwge2F0dHJpYnV0ZXM6IHRydWV9KTsKK2VsZW1lbnQucmVsTGlzdC5yZW1v
dmUoJ2EnLCAnYycpOworc2hvdWxkQmUoJ29ic2VydmVyLnRha2VSZWNvcmRzKCkubGVuZ3RoJywg
JzEnKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9y
ZWwtbGlzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTGlua0VsZW1l
bnQvcmVsLWxpc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI3ZmI5OWNmY2NmOTViZDUwYWY1
NzkxYWRjYmQ3NmE0NDkyNWY3ODcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9IVE1MTGlua0VsZW1lbnQvcmVsLWxpc3QtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTEz
IEBACitUZXN0cyB0aGUgcmVsTGlzdCBhdHRyaWJ1dGUgYW5kIGl0cyBwcm9wZXJ0aWVzLgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworVGVzdHMgZnJvbSBodHRwOi8vc2ltb24uaHRt
bDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvCitQQVNTIFN0cmlu
ZyhlbGVtZW50LnJlbExpc3QpIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlz
IDAKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAxCitQQVNTIGVsZW1lbnQucmVsTGlz
dC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxl
bWVudC5yZWwgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4IgorUEFTUyBlbGVtZW50LnJl
bCBpcyAieCAgeCIKK1BBU1MgZWxlbWVudC5yZWwgaXMgInkgeCIKK1BBU1MgZWxlbWVudC5yZWwg
aXMgIiIKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiB5IHkg
IgorUEFTUyBlbGVtZW50LnJlbCBpcyAieSIKK0Vuc3VyZSB0aGF0IHdlIGNhbiBoYW5kbGUgZW1w
dHkgY2xhc3MgbmFtZSBjb3JyZWN0bHkKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcp
IGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWwgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlzdC50
b2dnbGUoJ3gnKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50
LnJlbExpc3QuY29udGFpbnMoJ3gnKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3RbMV0g
aXMgdW5kZWZpbmVkLgorVGVzdCB0b2dnbGUgd2l0aCBmb3JjZSBhcmd1bWVudAorUEFTUyBlbGVt
ZW50LnJlbExpc3QudG9nZ2xlKCd4JywgdHJ1ZSkgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbCBp
cyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcsIHRydWUpIGlzIHRydWUKK1BB
U1MgZWxlbWVudC5yZWwgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnLCBm
YWxzZSkgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxM
aXN0LnRvZ2dsZSgneCcsIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgor
UEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCcnLCB0cnVlKSB0aHJldyBleHBlY3RlZCBET01F
eGNlcHRpb24gd2l0aCBjb2RlIDEyCitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3ggeScs
IGZhbHNlKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK1Rlc3Rpbmcg
YWRkIGluIHByZXNlbmNlIG9mIHRyYWlsaW5nIHdoaXRlIHNwYWNlcy4KK1BBU1MgZWxlbWVudC5y
ZWwgaXMgInggeSIKK1BBU1MgZWxlbWVudC5yZWwgaXMgInhcdHkiCitQQVNTIGVsZW1lbnQucmVs
IGlzICIgeSIKK1Rlc3QgaW52YWxpZCB0b2tlbnMKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRh
aW5zKCcnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDEyCitQQVNTIGVs
ZW1lbnQucmVsTGlzdC5jb250YWlucygneCB5JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9u
IHdpdGggY29kZSA1CitQQVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoJycpIHRocmV3IGV4cGVjdGVk
IERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgMTIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmFkZCgneCB5
JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSA1CitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5yZW1vdmUoJycpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUg
MTIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgneCB5JykgdGhyZXcgZXhwZWN0ZWQgRE9N
RXhjZXB0aW9uIHdpdGggY29kZSA1CitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJycpIHRo
cmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgMTIKK1BBU1MgZWxlbWVudC5yZWxM
aXN0LnRvZ2dsZSgneCB5JykgdGhyZXcgZXhwZWN0ZWQgRE9NRXhjZXB0aW9uIHdpdGggY29kZSA1
CitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK0luZGV4aW5nCitQQVNTIGVsZW1lbnQucmVsTGlzdFsw
XSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0oMCkgaXMgIngiCitQQVNTIGVsZW1l
bnQucmVsTGlzdFsxXSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0oMSkgaXMgIngi
CitQQVNTIGVsZW1lbnQucmVsTGlzdFsxXSBpcyAieSIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0
ZW0oMSkgaXMgInkiCitQQVNTIGVsZW1lbnQucmVsTGlzdFswXSBpcyB1bmRlZmluZWQuCitQQVNT
IGVsZW1lbnQucmVsTGlzdC5pdGVtKDApIGlzIG51bGwKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzRd
IGlzIHVuZGVmaW5lZC4KK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0oNCkgaXMgbnVsbAorUEFT
UyBlbGVtZW50LnJlbExpc3RbLTFdIGlzIHVuZGVmaW5lZC4KK1BBU1MgZWxlbWVudC5yZWxMaXN0
Lml0ZW0oLTEpIGlzIG51bGwKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0oKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1Rlc3QgY2FzZSBzaW5jZSBE
T01Ub2tlbkxpc3QgaXMgY2FzZSBzZW5zaXRpdmUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRh
aW5zKCd4JykgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoJ1gnKSBpcyBm
YWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3RbMF0gaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlz
dC5jb250YWlucygpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1l
bnRzLgorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoJ1gnKSBpcyB0cnVlCitQQVNTIGVs
ZW1lbnQucmVsTGlzdC5jb250YWlucygneCcpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlz
dFswXSBpcyAiWCIKK1Rlc3Rpbmcgd2hpdGVzcGFjZQorUEFTUyBlbGVtZW50LnJlbExpc3QubGVu
Z3RoIGlzIDIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDIKK1BB
U1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitET01Ub2tlbkxpc3QgcHJlc2VuY2UgYW5k
IHR5cGUKK1BBU1MgJ3VuZGVmaW5lZCcgIT0gdHlwZW9mIERPTVRva2VuTGlzdCBpcyB0cnVlCitQ
QVNTIHR5cGVvZiBET01Ub2tlbkxpc3QucHJvdG90eXBlIGlzICJvYmplY3QiCitQQVNTIHR5cGVv
ZiBlbGVtZW50LnJlbExpc3QgaXMgIm9iamVjdCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnN0
cnVjdG9yIGlzIERPTVRva2VuTGlzdAorUEFTUyBlbGVtZW50LnJlbExpc3QgPT09IGVsZW1lbnQu
cmVsTGlzdCBpcyB0cnVlCitWYXJpYWRpYyBjYWxscworUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBi
IgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIGMiCitQQVNTIGVsZW1lbnQucmVsIGlzICJhIGIg
YyBudWxsIGQgdW5kZWZpbmVkIDAgZmFsc2UiCitQQVNTIGVsZW1lbnQucmVsIGlzICJhIGIiCitQ
QVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoJ2EnLCAnYicsICcnKSB0aHJldyBleHBlY3RlZCBET01F
eGNlcHRpb24gd2l0aCBjb2RlIDEyCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5hZGQoJ2EnLCAnYicsICdjIGQnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRp
b24gd2l0aCBjb2RlIDUKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxM
aXN0LmFkZCgiYSIsIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7IHRocm93IG5ldyBFcnJvcigidXNl
ciBlcnJvciIpOyB9fSwgImIiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IHVzZXIgZXJyb3IuCitQ
QVNTIGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoKSBkaWQgbm90
IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgb2JzZXJ2ZXIudGFrZVJlY29yZHMoKS5sZW5ndGggaXMg
MQorUEFTUyBlbGVtZW50LnJlbCBpcyAiYiBkICAiCitQQVNTIGVsZW1lbnQucmVsIGlzICJkICAi
CitQQVNTIGVsZW1lbnQucmVsIGlzICJhIGIgYyIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92
ZSgnYScsICdiJywgJycpIHRocmV3IGV4cGVjdGVkIERPTUV4Y2VwdGlvbiB3aXRoIGNvZGUgMTIK
K1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgi
YSIsIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7IHRocm93IG5ldyBFcnJvcigidXNlciBlcnJvciIp
OyB9fSwgImIiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IHVzZXIgZXJyb3IuCitQQVNTIGVsZW1l
bnQucmVsIGlzICJhIGIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoJ2EnLCAnYicsICdj
IGQnKSB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0aCBjb2RlIDUKK1BBU1MgZWxlbWVu
dC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgpIGRpZCBub3QgdGhy
b3cgZXhjZXB0aW9uLgorUEFTUyBvYnNlcnZlci50YWtlUmVjb3JkcygpLmxlbmd0aCBpcyAxCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTExpbmtFbGVtZW50L3JlbC1saXN0LWdjLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9yZWwtbGlz
dC1nYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWE4NzlmN2JhZjliODM1MjU4YjBhNzEzMjY5
M2RjYmM1YTliZWMxOQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hU
TUxMaW5rRWxlbWVudC9yZWwtbGlzdC1nYy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMSBAQAor
VGhpcyB0ZXN0cyB0aGF0IHByb3BlcnRpZXMgb24gdGhlIHJlbExpc3QgcGVyc2lzdHMgR0MuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIGxpbmsucmVsTGlzdC5saWZlIGlz
IDQyCitQQVNTIGxpbmsucmVsTGlzdC5saWZlIGlzIDQyCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTExpbmtFbGVtZW50L3JlbC1saXN0LWdjLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9IVE1MTGlua0VsZW1lbnQvcmVsLWxpc3QtZ2MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZTRiYzNi
YzMzYTRjMGZhZTFjYzAzMTQ0M2QzZTJiZTk1ZGFhOWZiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTExpbmtFbGVtZW50L3JlbC1saXN0LWdjLmh0bWwKQEAgLTAs
MCArMSwxMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8
Ym9keT4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvcmVsLWxpc3QtZ2MuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20v
SFRNTExpbmtFbGVtZW50L3JlbC1saXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
TGlua0VsZW1lbnQvcmVsLWxpc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MTg0ZmE3ODRlODczZTRhYzg5
YzBlOWRjOTVkOTEyMzJhYTlhN2MyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vSFRNTExpbmtFbGVtZW50L3JlbC1saXN0Lmh0bWwKQEAgLTAsMCArMSwxMCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxzY3JpcHQg
c3JjPSJzY3JpcHQtdGVzdHMvcmVsLWxpc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4u
Ly4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0hUTUxMaW5rRWxlbWVudC9zY3JpcHQtdGVzdHMvcmVsLWxpc3QtZ2MuanMgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTGlua0VsZW1lbnQvc2NyaXB0LXRlc3RzL3JlbC1saXN0
LWdjLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmQxNTNiODNlNGMzZDA2ZWYxYmVjM2YxZTJlMjBhM2QzY2QxNTI4
YmMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MTGlua0VsZW1l
bnQvc2NyaXB0LXRlc3RzL3JlbC1saXN0LWdjLmpzCkBAIC0wLDAgKzEsMjggQEAKK2Rlc2NyaXB0
aW9uKCdUaGlzIHRlc3RzIHRoYXQgcHJvcGVydGllcyBvbiB0aGUgcmVsTGlzdCBwZXJzaXN0cyBH
Qy4nKTsKKworZnVuY3Rpb24gZ2MoKQoreworICAgIGlmICh3aW5kb3cuR0NDb250cm9sbGVyKQor
ICAgICAgICByZXR1cm4gR0NDb250cm9sbGVyLmNvbGxlY3QoKTsKKworICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgMTAwMDA7IGkrKykgeworICAgICAgICB2YXIgcyA9IG5ldyBTdHJpbmc7CisgICAg
fQorfQorCit2YXIgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2xpbmsnKTsKKworLy8g
RW5zdXJlIHRoZSBjbGFzc0xpc3QgaXMgY3JlYXRlZC4KK3ZhciByZWxMaXN0ID0gbGluay5yZWxM
aXN0OworCisvLyBTZXQgYSBjdXN0b20gcHJvcGVydHkuCitsaW5rLnJlbExpc3QubGlmZSA9IDQy
Oworc2hvdWxkRXZhbHVhdGVUbygnbGluay5yZWxMaXN0LmxpZmUnLCA0Mik7CisKKy8vIE51bGwg
b3V0IHJlZmVyZW5jZSB0byB0aGUgZGF0YXNldC4KK3JlbExpc3QgPSBudWxsOworCitnYygpOwor
CisvLyBUZXN0IHRoYXQgdGhlIGNsYXNzTGlzdCB3cmFwcGVyIHBlcnNpc3RlZCB0aGUgR0MgYW5k
IHN0aWxsIGhhcyB0aGUgY3VzdG9tIHByb3BlcnR5Lgorc2hvdWxkRXZhbHVhdGVUbygnbGluay5y
ZWxMaXN0LmxpZmUnLCA0Mik7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
TGlua0VsZW1lbnQvc2NyaXB0LXRlc3RzL3JlbC1saXN0LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9k
b20vSFRNTExpbmtFbGVtZW50L3NjcmlwdC10ZXN0cy9yZWwtbGlzdC5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5j
ZmVhYTUwNDMzMTY4ZDY3NjZhMzIwYzM5N2Q1MTZhMThhMzlmYWUxCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTExpbmtFbGVtZW50L3NjcmlwdC10ZXN0cy9yZWwt
bGlzdC5qcwpAQCAtMCwwICsxLDM1MyBAQAorZGVzY3JpcHRpb24oJ1Rlc3RzIHRoZSByZWxMaXN0
IGF0dHJpYnV0ZSBhbmQgaXRzIHByb3BlcnRpZXMuJyk7CisKK3ZhciBlbGVtZW50OworCitmdW5j
dGlvbiBjcmVhdGVFbGVtZW50KHJlbCkKK3sKKyAgICBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnbGluaycpOworICAgIGVsZW1lbnQucmVsID0gcmVsOworfQorCitkZWJ1ZygnVGVz
dHMgZnJvbSBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9E
T01Ub2tlbkxpc3QvJyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2Rv
bS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9zZXR0aW5nLzAwMS5odG0KKy8vIEZpcmVmb3ggdGhy
b3dzIGhlcmUgYnV0IFdlYktpdCBkb2VzIG5vdCB0aHJvdyBvbiBzZXR0aW5nIHJlYWRvbmx5IGlk
bAorLy8gYXR0cmlidXRlcy4KK2NyZWF0ZUVsZW1lbnQoJ3gnKTsKK3RyeSB7CisgICAgZWxlbWVu
dC5yZWxMaXN0ID0gJ3knOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnU3RyaW5nKGVsZW1l
bnQucmVsTGlzdCknLCAneCcpOworfSBjYXRjaCAoZXgpIHsKKyAgICB0ZXN0UGFzc2VkKCdUaHJv
d2luZyBvbiBzZXQgaXMgYWNjZXB0YWJsZScpOworfQorCisvLyBodHRwOi8vc2ltb24uaHRtbDUu
b3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDEuaHRt
CitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQucmVsTGlzdC5s
ZW5ndGgnLCAwKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3Jl
ZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDAyLmh0bQorY3JlYXRlRWxlbWVudCgneCcp
Oworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCcsIDEpOworCisvLyBo
dHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxp
c3QvZ2V0dGluZy8wMDMuaHRtCitjcmVhdGVFbGVtZW50KCd4IHgnKTsKK3Nob3VsZEV2YWx1YXRl
VG8oJ2VsZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAyKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1
Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDA0Lmh0
bQorY3JlYXRlRWxlbWVudCgneCB5Jyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LnJlbExp
c3QubGVuZ3RoJywgMik7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1sL2Rv
bS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwNS5odG0KK2NyZWF0ZUVsZW1lbnQo
JycpOworZWxlbWVudC5yZWxMaXN0LmFkZCgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdl
bGVtZW50LnJlbCcsICd4Jyk7CisKKy8vIGh0dHA6Ly9zaW1vbi5odG1sNS5vcmcvdGVzdC9odG1s
L2RvbS9yZWZsZWN0aW5nL0RPTVRva2VuTGlzdC9nZXR0aW5nLzAwNi5odG0KK2NyZWF0ZUVsZW1l
bnQoJ3gnKTsKK2VsZW1lbnQucmVsTGlzdC5hZGQoJ3gnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZWxlbWVudC5yZWwnLCAneCcpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3Qv
aHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMDcuaHRtCitjcmVhdGVF
bGVtZW50KCd4ICB4Jyk7CitlbGVtZW50LnJlbExpc3QuYWRkKCd4Jyk7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ3ggIHgnKTsKKworLy8gaHR0cDovL3NpbW9uLmh0bWw1
Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcvMDA4Lmh0
bQorY3JlYXRlRWxlbWVudCgneScpOworZWxlbWVudC5yZWxMaXN0LmFkZCgneCcpOworc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICd5IHgnKTsKKworLy8gaHR0cDovL3NpbW9u
Lmh0bWw1Lm9yZy90ZXN0L2h0bWwvZG9tL3JlZmxlY3RpbmcvRE9NVG9rZW5MaXN0L2dldHRpbmcv
MDA5Lmh0bQorY3JlYXRlRWxlbWVudCgnJyk7CitlbGVtZW50LnJlbExpc3QucmVtb3ZlKCd4Jyk7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJycpOworCisvLyBodHRwOi8v
c2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0
dGluZy8wMTAuaHRtCitjcmVhdGVFbGVtZW50KCd4Jyk7CitlbGVtZW50LnJlbExpc3QucmVtb3Zl
KCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJycpOworCisvLyBo
dHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVmbGVjdGluZy9ET01Ub2tlbkxp
c3QvZ2V0dGluZy8wMTEuaHRtCitjcmVhdGVFbGVtZW50KCcgeSB4ICB5ICcpOworZWxlbWVudC5y
ZWxMaXN0LnJlbW92ZSgneCcpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcs
ICcgeSB5ICcpOworCisvLyBodHRwOi8vc2ltb24uaHRtbDUub3JnL3Rlc3QvaHRtbC9kb20vcmVm
bGVjdGluZy9ET01Ub2tlbkxpc3QvZ2V0dGluZy8wMTIuaHRtCitjcmVhdGVFbGVtZW50KCcgeCB5
ICB4ICcpOworZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgneCcpOworc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdlbGVtZW50LnJlbCcsICd5Jyk7CisKKworZGVidWcoJ0Vuc3VyZSB0aGF0IHdlIGNhbiBo
YW5kbGUgZW1wdHkgY2xhc3MgbmFtZSBjb3JyZWN0bHknKTsKK2VsZW1lbnQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCdhJyk7CitzaG91bGRCZVRydWUoImVsZW1lbnQucmVsTGlzdC50b2dnbGUo
J3gnKSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICd4Jyk7CitzaG91
bGRCZUZhbHNlKCJlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JykiKTsKK3Nob3VsZEJlRXF1YWxU
b1N0cmluZygnZWxlbWVudC5yZWwnLCAnJyk7CisKK2VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCdhJyk7CitzaG91bGRCZUZhbHNlKCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMoXCd4
XCcpJyk7CitzaG91bGRCZVVuZGVmaW5lZCgnZWxlbWVudC5yZWxMaXN0WzFdJyk7CitlbGVtZW50
LnJlbExpc3QucmVtb3ZlKCd4Jyk7CitlbGVtZW50LnJlbExpc3QuYWRkKCd4JykKKworCitkZWJ1
ZygnVGVzdCB0b2dnbGUgd2l0aCBmb3JjZSBhcmd1bWVudCcpCisKK2NyZWF0ZUVsZW1lbnQoJycp
Oworc2hvdWxkQmVUcnVlKCJlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgdHJ1ZSkiKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAneCcpOworc2hvdWxkQmVUcnVlKCJl
bGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgdHJ1ZSkiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZWxlbWVudC5yZWwnLCAneCcpOworc2hvdWxkQmVGYWxzZSgiZWxlbWVudC5yZWxMaXN0LnRv
Z2dsZSgneCcsIGZhbHNlKSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcs
ICcnKTsKK3Nob3VsZEJlRmFsc2UoImVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnLCBmYWxzZSki
KTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnJyk7CisKK3Nob3VsZFRo
cm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9uKCkgeworICAgIGVsZW1lbnQucmVsTGlzdC50b2dnbGUo
JycsIHRydWUpOworfSwgRE9NRXhjZXB0aW9uLlNZTlRBWF9FUlIpOworCitzaG91bGRUaHJvd0RP
TUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4IHkn
LCBmYWxzZSk7Cit9LCBET01FeGNlcHRpb24uSU5WQUxJRF9DSEFSQUNURVJfRVJSKTsKKworCitk
ZWJ1ZygnVGVzdGluZyBhZGQgaW4gcHJlc2VuY2Ugb2YgdHJhaWxpbmcgd2hpdGUgc3BhY2VzLicp
OworCitjcmVhdGVFbGVtZW50KCd4ICcpOworZWxlbWVudC5yZWxMaXN0LmFkZCgneScpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICd4IHknKTsKKworY3JlYXRlRWxlbWVu
dCgneFx0Jyk7CitlbGVtZW50LnJlbExpc3QuYWRkKCd5Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2VsZW1lbnQucmVsJywgJ3hcdHknKTsKKworY3JlYXRlRWxlbWVudCgnICcpOworZWxlbWVu
dC5yZWxMaXN0LmFkZCgneScpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcs
ICcgeScpOworCisKK2RlYnVnKCdUZXN0IGludmFsaWQgdG9rZW5zJyk7CisKKy8vIFRlc3Rpbmcg
ZXhjZXB0aW9uIGR1ZSB0byBpbnZhbGlkIHRva2VuCisKKy8vIHNob3VsZFRocm93IGZyb20ganMt
dGVzdC1wcmUuanMgaXMgbm90IHN1ZmZpY2llbnQuCitmdW5jdGlvbiBzaG91bGRUaHJvd0RPTUV4
Y2VwdGlvbihmLCBlYykKK3sKKyAgICB0cnkgeworICAgICAgICBmKCk7CisgICAgICAgIHRlc3RG
YWlsZWQoJ0V4cGVjdGVkIGFuIGV4Y2VwdGlvbicpOworICAgIH0gY2F0Y2ggKGV4KSB7CisgICAg
ICAgIGlmICghKGV4IGluc3RhbmNlb2YgRE9NRXhjZXB0aW9uKSkgeworICAgICAgICAgICAgdGVz
dEZhaWxlZCgnRXhjZXB0aW9uIGlzIG5vdCBhbiBpbnN0YW5jZSBvZiBET01FeGNlcHRpb24sIGZv
dW5kOiAnICsKKyAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LnRvU3RyaW5nLmNhbGwoZXgp
KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICBpZiAoZWMgIT09IGV4
LmNvZGUpIHsKKyAgICAgICAgICAgIHRlc3RGYWlsZWQoJ1dyb25nIGV4Y2VwdGlvbiBjb2RlOiAn
ICsgZXguY29kZSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9CisgICAg
dmFyIGZvcm1hdHRlZEZ1bmN0aW9uID0gU3RyaW5nKGYpLnJlcGxhY2UoL15mdW5jdGlvbi4rXHtc
cyovbSwgJycpLgorICAgICAgICByZXBsYWNlKC87P1xzK1x9L20sICcnKTsKKyAgICB0ZXN0UGFz
c2VkKGZvcm1hdHRlZEZ1bmN0aW9uICsgJyB0aHJldyBleHBlY3RlZCBET01FeGNlcHRpb24gd2l0
aCBjb2RlICcgKyBlYyk7Cit9CisKK2NyZWF0ZUVsZW1lbnQoJ3gnKTsKK3Nob3VsZFRocm93RE9N
RXhjZXB0aW9uKGZ1bmN0aW9uKCkgeworICAgIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygnJyk7
Cit9LCBET01FeGNlcHRpb24uU1lOVEFYX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJ3ggeScpOwor
c2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5yZWxMaXN0
LmNvbnRhaW5zKCd4IHknKTsKK30sIERPTUV4Y2VwdGlvbi5JTlZBTElEX0NIQVJBQ1RFUl9FUlIp
OworCitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1bmN0aW9u
KCkgeworICAgIGVsZW1lbnQucmVsTGlzdC5hZGQoJycpOworfSwgRE9NRXhjZXB0aW9uLlNZTlRB
WF9FUlIpOworCitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3VsZFRocm93RE9NRXhjZXB0aW9uKGZ1
bmN0aW9uKCkgeworICAgIGVsZW1lbnQucmVsTGlzdC5hZGQoJ3ggeScpOworfSwgRE9NRXhjZXB0
aW9uLklOVkFMSURfQ0hBUkFDVEVSX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxk
VGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5yZWxMaXN0LnJlbW92
ZSgnJyk7Cit9LCBET01FeGNlcHRpb24uU1lOVEFYX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJycp
Oworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5yZWxM
aXN0LnJlbW92ZSgneCB5Jyk7Cit9LCBET01FeGNlcHRpb24uSU5WQUxJRF9DSEFSQUNURVJfRVJS
KTsKKworCisKK2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVu
Y3Rpb24oKSB7CisgICAgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgnJyk7Cit9LCBET01FeGNlcHRp
b24uU1lOVEFYX0VSUik7CisKK2NyZWF0ZUVsZW1lbnQoJ3ggeScpOworc2hvdWxkVGhyb3dET01F
eGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCB5Jyk7
Cit9LCBET01FeGNlcHRpb24uSU5WQUxJRF9DSEFSQUNURVJfRVJSKTsKKworY3JlYXRlRWxlbWVu
dCgnJyk7CitzaG91bGRUaHJvdygiZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgpIik7CisKK2RlYnVn
KCdJbmRleGluZycpOworCitjcmVhdGVFbGVtZW50KCd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2VsZW1lbnQucmVsTGlzdFswXScsICd4Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2Vs
ZW1lbnQucmVsTGlzdC5pdGVtKDApJywgJ3gnKTsKKworY3JlYXRlRWxlbWVudCgneCB4Jyk7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsTGlzdFsxXScsICd4Jyk7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsTGlzdC5pdGVtKDEpJywgJ3gnKTsKKworY3JlYXRl
RWxlbWVudCgneCB5Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsTGlzdFsx
XScsICd5Jyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsTGlzdC5pdGVtKDEp
JywgJ3knKTsKKworY3JlYXRlRWxlbWVudCgnJyk7CitzaG91bGRCZVVuZGVmaW5lZCgnZWxlbWVu
dC5yZWxMaXN0WzBdJyk7CitzaG91bGRCZU51bGwoJ2VsZW1lbnQucmVsTGlzdC5pdGVtKDApJyk7
CisKK2NyZWF0ZUVsZW1lbnQoJ3ggeSB6Jyk7CitzaG91bGRCZVVuZGVmaW5lZCgnZWxlbWVudC5y
ZWxMaXN0WzRdJyk7CitzaG91bGRCZU51bGwoJ2VsZW1lbnQucmVsTGlzdC5pdGVtKDQpJyk7Citz
aG91bGRCZVVuZGVmaW5lZCgnZWxlbWVudC5yZWxMaXN0Wy0xXScpOyAgLy8gTm90IGEgdmFsaWQg
aW5kZXggc28gc2hvdWxkIG5vdCB0cmlnZ2VyIGl0ZW0oKS4KK3Nob3VsZEJlTnVsbCgnZWxlbWVu
dC5yZWxMaXN0Lml0ZW0oLTEpJyk7CitzaG91bGRUaHJvdygnZWxlbWVudC5yZWxMaXN0Lml0ZW0o
KScpOworCitkZWJ1ZygnVGVzdCBjYXNlIHNpbmNlIERPTVRva2VuTGlzdCBpcyBjYXNlIHNlbnNp
dGl2ZScpOworCitjcmVhdGVFbGVtZW50KCd4Jyk7CitzaG91bGRCZVRydWUoJ2VsZW1lbnQucmVs
TGlzdC5jb250YWlucyhcJ3hcJyknKTsKK3Nob3VsZEJlRmFsc2UoJ2VsZW1lbnQucmVsTGlzdC5j
b250YWlucyhcJ1hcJyknKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWxMaXN0
WzBdJywgJ3gnKTsKK3Nob3VsZFRocm93KCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMoKScpOwor
CitjcmVhdGVFbGVtZW50KCdYJyk7CitzaG91bGRCZVRydWUoJ2VsZW1lbnQucmVsTGlzdC5jb250
YWlucyhcJ1hcJyknKTsKK3Nob3VsZEJlRmFsc2UoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucyhc
J3hcJyknKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWxMaXN0WzBdJywgJ1gn
KTsKKworCitkZWJ1ZygnVGVzdGluZyB3aGl0ZXNwYWNlJyk7CisvLyBVKzAwMjAgU1BBQ0UsIFUr
MDAwOSBDSEFSQUNURVIgVEFCVUxBVElPTiAodGFiKSwgVSswMDBBIExJTkUgRkVFRCAoTEYpLAor
Ly8gVSswMDBDIEZPUk0gRkVFRCAoRkYpLCBhbmQgVSswMDBEIENBUlJJQUdFIFJFVFVSTiAoQ1Ip
CisKK2NyZWF0ZUVsZW1lbnQoJ3hcdTAwMjB5Jyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50
LnJlbExpc3QubGVuZ3RoJywgMik7CisKK2NyZWF0ZUVsZW1lbnQoJ3hcdTAwMDl5Jyk7CitzaG91
bGRFdmFsdWF0ZVRvKCdlbGVtZW50LnJlbExpc3QubGVuZ3RoJywgMik7CisKK2NyZWF0ZUVsZW1l
bnQoJ3hcdTAwMEF5Jyk7CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LnJlbExpc3QubGVuZ3Ro
JywgMik7CisKK2NyZWF0ZUVsZW1lbnQoJ3hcdTAwMEN5Jyk7CitzaG91bGRFdmFsdWF0ZVRvKCdl
bGVtZW50LnJlbExpc3QubGVuZ3RoJywgMik7CisKK2NyZWF0ZUVsZW1lbnQoJ3hcdTAwMER5Jyk7
CitzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LnJlbExpc3QubGVuZ3RoJywgMik7CisKKworZGVi
dWcoJ0RPTVRva2VuTGlzdCBwcmVzZW5jZSBhbmQgdHlwZScpOworCisKKy8vIFNhZmFyaSByZXR1
cm5zIG9iamVjdAorLy8gRmlyZWZveCByZXR1cm5zIG9iamVjdAorLy8gSUU4IHJldHVybnMgb2Jq
ZWN0CisvLyBDaHJvbWUgcmV0dXJucyBmdW5jdGlvbgorLy8gYXNzZXJ0RXF1YWxzKCdvYmplY3Qn
LCB0eXBlb2YgRE9NVG9rZW5MaXN0KTsKK3Nob3VsZEJlVHJ1ZSgnXCd1bmRlZmluZWRcJyAhPSB0
eXBlb2YgRE9NVG9rZW5MaXN0Jyk7CisKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygndHlwZW9mIERP
TVRva2VuTGlzdC5wcm90b3R5cGUnLCAnb2JqZWN0Jyk7CisKK2NyZWF0ZUVsZW1lbnQoJ3gnKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygndHlwZW9mIGVsZW1lbnQucmVsTGlzdCcsICdvYmplY3Qn
KTsKKworc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5yZWxMaXN0LmNvbnN0cnVjdG9yJywgJ0RP
TVRva2VuTGlzdCcpOworCitzaG91bGRCZVRydWUoJ2VsZW1lbnQucmVsTGlzdCA9PT0gZWxlbWVu
dC5yZWxMaXN0Jyk7CisKKy8vIFZhcmlhZGljCisKK2RlYnVnKCdWYXJpYWRpYyBjYWxscycpOwor
CitjcmVhdGVFbGVtZW50KCcnKTsKK2VsZW1lbnQucmVsTGlzdC5hZGQoJ2EnLCAnYicpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICdhIGInKTsKKworZWxlbWVudC5yZWxM
aXN0LmFkZCgnYScsICdiJywgJ2MnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5y
ZWwnLCAnYSBiIGMnKTsKKworZWxlbWVudC5yZWxMaXN0LmFkZChudWxsLCB7dG9TdHJpbmc6IGZ1
bmN0aW9uKCkgeyByZXR1cm4gJ2QnIH19LCB1bmRlZmluZWQsIDAsIGZhbHNlKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnYSBiIGMgbnVsbCBkIHVuZGVmaW5lZCAwIGZh
bHNlJyk7CisKK2NyZWF0ZUVsZW1lbnQoJycpOworZWxlbWVudC5yZWxMaXN0LmFkZCgnYScsICdi
JywgJ2EnKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnYSBiJyk7CisK
K2NyZWF0ZUVsZW1lbnQoJycpOworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7
CisgICAgZWxlbWVudC5yZWxMaXN0LmFkZCgnYScsICdiJywgJycpOworfSwgRE9NRXhjZXB0aW9u
LlNZTlRBWF9FUlIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICcnKTsK
Kworc2hvdWxkVGhyb3dET01FeGNlcHRpb24oZnVuY3Rpb24oKSB7CisgICAgZWxlbWVudC5yZWxM
aXN0LmFkZCgnYScsICdiJywgJ2MgZCcpOworfSwgRE9NRXhjZXB0aW9uLklOVkFMSURfQ0hBUkFD
VEVSX0VSUik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJycpOworCitz
aG91bGRUaHJvdygnZWxlbWVudC5yZWxMaXN0LmFkZCgiYSIsIHt0b1N0cmluZzogZnVuY3Rpb24o
KSB7IHRocm93IG5ldyBFcnJvcigidXNlciBlcnJvciIpOyB9fSwgImIiKScsICciRXJyb3I6IHVz
ZXIgZXJyb3IiJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJycpOwor
CitjcmVhdGVFbGVtZW50KCcnKTsKK3Nob3VsZE5vdFRocm93KCdlbGVtZW50LnJlbExpc3QuYWRk
KCknKTsKKworY3JlYXRlRWxlbWVudCgnJyk7Cit2YXIgb2JzZXJ2ZXIgPSBuZXcgV2ViS2l0TXV0
YXRpb25PYnNlcnZlcihmdW5jdGlvbigpIHt9KTsKK29ic2VydmVyLm9ic2VydmUoZWxlbWVudCwg
e2F0dHJpYnV0ZXM6IHRydWV9KTsKK2VsZW1lbnQucmVsTGlzdC5hZGQoJ2EnLCAnYycpOworc2hv
dWxkQmUoJ29ic2VydmVyLnRha2VSZWNvcmRzKCkubGVuZ3RoJywgJzEnKTsKKworCitjcmVhdGVF
bGVtZW50KCdhIGIgYyBkICAnKTsKK2VsZW1lbnQucmVsTGlzdC5yZW1vdmUoJ2EnLCAnYycpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICdiIGQgICcpOworCitlbGVtZW50
LnJlbExpc3QucmVtb3ZlKCdiJywgJ2InKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVu
dC5yZWwnLCAnZCAgJyk7CisKK2NyZWF0ZUVsZW1lbnQoJ2EgYiBjIG51bGwgZCB1bmRlZmluZWQg
MCBmYWxzZScpOworZWxlbWVudC5yZWxMaXN0LnJlbW92ZShudWxsLCB7dG9TdHJpbmc6IGZ1bmN0
aW9uKCkgeyByZXR1cm4gJ2QnIH19LCB1bmRlZmluZWQsIDAsIGZhbHNlKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnYSBiIGMnKTsKKworY3JlYXRlRWxlbWVudCgnYSBi
Jyk7CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LnJl
bExpc3QucmVtb3ZlKCdhJywgJ2InLCAnJyk7Cit9LCBET01FeGNlcHRpb24uU1lOVEFYX0VSUik7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ2EgYicpOworCitzaG91bGRU
aHJvdygnZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgiYSIsIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7
IHRocm93IG5ldyBFcnJvcigidXNlciBlcnJvciIpOyB9fSwgImIiKScsICciRXJyb3I6IHVzZXIg
ZXJyb3IiJyk7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ2EgYicpOwor
CitzaG91bGRUaHJvd0RPTUV4Y2VwdGlvbihmdW5jdGlvbigpIHsKKyAgICBlbGVtZW50LnJlbExp
c3QucmVtb3ZlKCdhJywgJ2InLCAnYyBkJyk7Cit9LCBET01FeGNlcHRpb24uSU5WQUxJRF9DSEFS
QUNURVJfRVJSKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnYSBiJyk7
CisKK3Nob3VsZE5vdFRocm93KCdlbGVtZW50LnJlbExpc3QucmVtb3ZlKCknKTsKKworY3JlYXRl
RWxlbWVudCgnYSBiIGMnKTsKK29ic2VydmVyID0gbmV3IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIo
ZnVuY3Rpb24oKSB7fSk7CitvYnNlcnZlci5vYnNlcnZlKGVsZW1lbnQsIHthdHRyaWJ1dGVzOiB0
cnVlfSk7CitlbGVtZW50LnJlbExpc3QucmVtb3ZlKCdhJywgJ2MnKTsKK3Nob3VsZEJlKCdvYnNl
cnZlci50YWtlUmVjb3JkcygpLmxlbmd0aCcsICcxJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9yZWwtbGlzdC1hbmNob3ItYXJlYS1hbmQtbGluay1lbGVtZW50LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3JlbC1saXN0LWFuY2hvci1hcmVhLWFuZC1saW5r
LWVsZW1lbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlMmI2ZmQxNDAzNzQ2NDA2MTdmNTRk
MDA4MDRhMjg0ZjRkMjIzOTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9yZWwtbGlzdC1hbmNob3ItYXJlYS1hbmQtbGluay1lbGVtZW50LWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDgxIEBACitUZXN0cyB0aGF0IHJlbExpc3Qgd29ya3Mgb24gYW5jaG9yLCBhcmVhIGFu
ZCBsaW5rIGVsZW1lbnRzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitUZXN0IHN0
YXRpYyBhbmNob3IgZWxlbWVudAorUEFTUyBlbGVtZW50LnJlbExpc3QgPT0gbnVsbCBpcyBmYWxz
ZQorUEFTUyBlbGVtZW50LnJlbExpc3QgPT0gdW5kZWZpbmVkIGlzIGZhbHNlCitQQVNTIGVsZW1l
bnQucmVsTGlzdCBpbnN0YW5jZW9mIERPTVRva2VuTGlzdCBpcyB0cnVlCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5sZW5ndGggaXMgMworUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImEiKSBp
cyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiYiIpIGlzIHRydWUKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJjIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExp
c3QuY29udGFpbnMoImQiKSBpcyBmYWxzZQorVGVzdCBzdGF0aWMgYXJlYSBlbGVtZW50CitQQVNT
IGVsZW1lbnQucmVsTGlzdCA9PSBudWxsIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdCA9
PSB1bmRlZmluZWQgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0IGluc3RhbmNlb2YgRE9N
VG9rZW5MaXN0IGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAzCitQQVNT
IGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiYSIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxM
aXN0LmNvbnRhaW5zKCJiIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMo
ImMiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiZCIpIGlzIGZhbHNl
CitUZXN0IHN0YXRpYyBsaW5rIGVsZW1lbnQKK1BBU1MgZWxlbWVudC5yZWxMaXN0ID09IG51bGwg
aXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0ID09IHVuZGVmaW5lZCBpcyBmYWxzZQorUEFT
UyBlbGVtZW50LnJlbExpc3QgaW5zdGFuY2VvZiBET01Ub2tlbkxpc3QgaXMgdHJ1ZQorUEFTUyBl
bGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDMKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5z
KCJhIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImIiKSBpcyB0cnVl
CitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiYyIpIGlzIHRydWUKK1BBU1MgZWxlbWVu
dC5yZWxMaXN0LmNvbnRhaW5zKCJkIikgaXMgZmFsc2UKK1Rlc3QgZHluYW1pYyBhbmNob3IgZWxl
bWVudAorUEFTUyBlbGVtZW50LnJlbExpc3QgPT0gbnVsbCBpcyBmYWxzZQorUEFTUyBlbGVtZW50
LnJlbExpc3QgPT0gdW5kZWZpbmVkIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdCBpbnN0
YW5jZW9mIERPTVRva2VuTGlzdCBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGgg
aXMgMworUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImZvbyIpIGlzIHRydWUKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJiYXIiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVs
TGlzdC5jb250YWlucygiY2hvY29sYXRlIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3Qu
Y29udGFpbnMoIm9yYW5nZSIpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGgg
aXMgMAorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDAKK1BBU1MgZWxlbWVudC5yZWxM
aXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygibWFyc2htYWxs
b3ciKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiY2hpcHMiKSBpcyB0
cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygib3JhbmdlIikgaXMgZmFsc2UKK1Rl
c3QgZHluYW1pYyBhcmVhIGVsZW1lbnQKK1BBU1MgZWxlbWVudC5yZWxMaXN0ID09IG51bGwgaXMg
ZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0ID09IHVuZGVmaW5lZCBpcyBmYWxzZQorUEFTUyBl
bGVtZW50LnJlbExpc3QgaW5zdGFuY2VvZiBET01Ub2tlbkxpc3QgaXMgdHJ1ZQorUEFTUyBlbGVt
ZW50LnJlbExpc3QubGVuZ3RoIGlzIDMKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJm
b28iKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiYmFyIikgaXMgdHJ1
ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImNob2NvbGF0ZSIpIGlzIHRydWUKK1BB
U1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJvcmFuZ2UiKSBpcyBmYWxzZQorUEFTUyBlbGVt
ZW50LnJlbExpc3QubGVuZ3RoIGlzIDAKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAw
CitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbExpc3Qu
Y29udGFpbnMoIm1hcnNobWFsbG93IikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29u
dGFpbnMoImNoaXBzIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIm9y
YW5nZSIpIGlzIGZhbHNlCitUZXN0IGR5bmFtaWMgbGluayBlbGVtZW50CitQQVNTIGVsZW1lbnQu
cmVsTGlzdCA9PSBudWxsIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdCA9PSB1bmRlZmlu
ZWQgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0IGluc3RhbmNlb2YgRE9NVG9rZW5MaXN0
IGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAzCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5jb250YWlucygiZm9vIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29u
dGFpbnMoImJhciIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJjaG9j
b2xhdGUiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygib3JhbmdlIikg
aXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAwCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5sZW5ndGggaXMgMAorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDIKK1BB
U1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJtYXJzaG1hbGxvdyIpIGlzIHRydWUKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJjaGlwcyIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0LmNvbnRhaW5zKCJvcmFuZ2UiKSBpcyBmYWxzZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3JlbC1saXN0LWFuY2hvci1hcmVhLWFuZC1saW5rLWVsZW1lbnQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3JlbC1saXN0LWFuY2hvci1hcmVhLWFuZC1saW5rLWVsZW1lbnQuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi42ZmNkMWJjYjViM2Y5ODI2ODc0OWViOThiOGIyZTA2ODVjYmE3YmFhCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVsLWxpc3QtYW5jaG9yLWFy
ZWEtYW5kLWxpbmstZWxlbWVudC5odG1sCkBAIC0wLDAgKzEsNzQgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGEgaWQ9ImEiIHJlbD0iYSBiIGMiPjwvYT4KKzxh
cmVhIGlkPSJhcmVhIiByZWw9ImEgYiBjIj48L2FyZWE+Cis8bGluayBpZD0ibGluayIgcmVsPSJh
IGIgYyI+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgcmVsTGlzdCB3b3JrcyBv
biBhbmNob3IsIGFyZWEgYW5kIGxpbmsgZWxlbWVudHMnKTsKKwordmFyIGVsZW1lbnQ7CisKK2Z1
bmN0aW9uIHRlc3RTdGF0aWMoKQoreworICAgIHNob3VsZEJlRmFsc2UoJ2VsZW1lbnQucmVsTGlz
dCA9PSBudWxsJyk7CisgICAgc2hvdWxkQmVGYWxzZSgnZWxlbWVudC5yZWxMaXN0ID09IHVuZGVm
aW5lZCcpOworICAgIHNob3VsZEJlVHJ1ZSgnZWxlbWVudC5yZWxMaXN0IGluc3RhbmNlb2YgRE9N
VG9rZW5MaXN0Jyk7CisgICAgc2hvdWxkQmUoJ2VsZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAnMycp
OworICAgIHNob3VsZEJlVHJ1ZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJhIiknKTsKKyAg
ICBzaG91bGRCZVRydWUoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygiYiIpJyk7CisgICAgc2hv
dWxkQmVUcnVlKCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImMiKScpOworICAgIHNob3VsZEJl
RmFsc2UoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygiZCIpJyk7Cit9CisKK2Z1bmN0aW9uIHRl
c3REeW5hbWljKCkgCit7ICAgIAorICAgIHNob3VsZEJlRmFsc2UoJ2VsZW1lbnQucmVsTGlzdCA9
PSBudWxsJyk7CisgICAgc2hvdWxkQmVGYWxzZSgnZWxlbWVudC5yZWxMaXN0ID09IHVuZGVmaW5l
ZCcpOworICAgIHNob3VsZEJlVHJ1ZSgnZWxlbWVudC5yZWxMaXN0IGluc3RhbmNlb2YgRE9NVG9r
ZW5MaXN0Jyk7CisgICAgCisgICAgZWxlbWVudC5yZWwgPSAiZm9vIGJhciBjaG9jb2xhdGUiOwor
ICAgIHNob3VsZEJlKCdlbGVtZW50LnJlbExpc3QubGVuZ3RoJywgJzMnKTsKKyAgICBzaG91bGRC
ZVRydWUoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygiZm9vIiknKTsKKyAgICBzaG91bGRCZVRy
dWUoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygiYmFyIiknKTsKKyAgICBzaG91bGRCZVRydWUo
J2VsZW1lbnQucmVsTGlzdC5jb250YWlucygiY2hvY29sYXRlIiknKTsKKyAgICBzaG91bGRCZUZh
bHNlKCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIm9yYW5nZSIpJyk7CisKKyAgICBlbGVtZW50
LnJlbW92ZUF0dHJpYnV0ZSgncmVsJyk7CisgICAgc2hvdWxkQmUoJ2VsZW1lbnQucmVsTGlzdC5s
ZW5ndGgnLCAnMCcpOworICAgIAorICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdyZWwnLCAnJyk7
CisgICAgc2hvdWxkQmUoJ2VsZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAnMCcpOworCisgICAgZWxl
bWVudC5zZXRBdHRyaWJ1dGUoJ3JlbCcsICdtYXJzaG1hbGxvdyBjaGlwcycpOworICAgIHNob3Vs
ZEJlKCdlbGVtZW50LnJlbExpc3QubGVuZ3RoJywgJzInKTsKKyAgICBzaG91bGRCZVRydWUoJ2Vs
ZW1lbnQucmVsTGlzdC5jb250YWlucygibWFyc2htYWxsb3ciKScpOworICAgIHNob3VsZEJlVHJ1
ZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJjaGlwcyIpJyk7CisgICAgc2hvdWxkQmVGYWxz
ZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJvcmFuZ2UiKScpOworfQorCitlbGVtZW50ID0g
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2EnKTsKK2RlYnVnKCdUZXN0IHN0YXRpYyBhbmNob3Ig
ZWxlbWVudCcpOwordGVzdFN0YXRpYygpOworZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdhcmVhJyk7CitkZWJ1ZygnVGVzdCBzdGF0aWMgYXJlYSBlbGVtZW50Jyk7Cit0ZXN0U3Rh
dGljKCk7CitlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2xpbmsnKTsKK2RlYnVn
KCdUZXN0IHN0YXRpYyBsaW5rIGVsZW1lbnQnKTsKK3Rlc3RTdGF0aWMoKTsKKworZWxlbWVudCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTsKK2RlYnVnKCdUZXN0IGR5bmFtaWMgYW5jaG9y
IGVsZW1lbnQnKTsKK3Rlc3REeW5hbWljKCk7CitlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgnYXJlYScpOworZGVidWcoJ1Rlc3QgZHluYW1pYyBhcmVhIGVsZW1lbnQnKTsKK3Rlc3RE
eW5hbWljKCk7CitlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnbGluaycpOworZGVi
dWcoJ1Rlc3QgZHluYW1pYyBsaW5rIGVsZW1lbnQnKTsKK3Rlc3REeW5hbWljKCk7CisKKzwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGVyZi9yZWwtbGlzdC1yZW1v
dmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGVyZi9yZWwtbGlzdC1yZW1vdmUtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjBhOTc2ODczODJmZWMzODczNWFjNzFjNjJmYmQzOTk2NmZmNWMw
ZWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmL3JlbC1saXN0LXJlbW92ZS1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACitUZXN0cyB0aGF0IHJlbExpc3QgcmVtb3ZlIGlz
IGxpbmVhci4KK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGVyZi9yZWwtbGlzdC1yZW1vdmUuaHRtbCBiL0xheW91dFRlc3RzL3Bl
cmYvcmVsLWxpc3QtcmVtb3ZlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTUzN2QyMDlhOTZiZTZiY2EwOTRj
NGI2ZGIxNGMzMDMxYmFkZjZlZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BlcmYv
cmVsLWxpc3QtcmVtb3ZlLmh0bWwKQEAgLTAsMCArMSw0MiBAQAorPHNjcmlwdCBzcmM9Ii4uL3Jl
c291cmNlcy9tYWduaXR1ZGUtcGVyZi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCit2YXIgZWxl
bWVudCwgcmVsLCByZWxUb1JlbW92ZSwgdHlwZTsKKworLy8gVGVzdCAxIHRlc3RzIHRoYXQgcmVt
b3ZlIGlzIGxpbmVhciB3aGVuIHRoZXJlIGFyZSBOIGNsYXNzIG5hbWVzLgorCitmdW5jdGlvbiBz
ZXR1cEZ1bmN0aW9uMShtYWduaXR1ZGUpCit7CisgICAgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodHlwZSk7CisgICAgcmVsVG9SZW1vdmUgPSAnYic7CisgICAgcmVsID0gQXJyYXko
bWFnbml0dWRlKS5qb2luKCdhICcpICsgcmVsVG9SZW1vdmU7Cit9CisKKy8vIFRlc3QgMiB0ZXN0
cyB0aGF0IHJlbW92ZSBpcyBsaW5lYXIgd2hlbiB0aGUgbGVuZ3RoIG9mIHRoZSBjbGFzcyBuYW1l
IGlzIE4uCisKK2Z1bmN0aW9uIHNldHVwRnVuY3Rpb24yKG1hZ25pdHVkZSkKK3sKKyAgICBlbGVt
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0eXBlKTsKKyAgICByZWxUb1JlbW92ZSA9IEFy
cmF5KG1hZ25pdHVkZSArIDEpLmpvaW4oJ2EnKTsKKyAgICByZWwgPSByZWxUb1JlbW92ZTsKK30K
KworZnVuY3Rpb24gdGVzdChtYWduaXR1ZGUpCit7CisgICAgZWxlbWVudC5yZWwgPSByZWw7Cisg
ICAgZWxlbWVudC5yZWxMaXN0LnJlbW92ZShyZWxUb1JlbW92ZSk7Cit9CisKK01hZ25pdHVkZS5k
ZXNjcmlwdGlvbignVGVzdHMgdGhhdCByZWxMaXN0IHJlbW92ZSBpcyBsaW5lYXIuJyk7Cit0eXBl
ID0gJ2EnCitNYWduaXR1ZGUucnVuKHNldHVwRnVuY3Rpb24xLCB0ZXN0LCBNYWduaXR1ZGUuTElO
RUFSKTsKK01hZ25pdHVkZS5ydW4oc2V0dXBGdW5jdGlvbjIsIHRlc3QsIE1hZ25pdHVkZS5MSU5F
QVIpOwordHlwZSA9ICdhcmVhJworTWFnbml0dWRlLnJ1bihzZXR1cEZ1bmN0aW9uMSwgdGVzdCwg
TWFnbml0dWRlLkxJTkVBUik7CitNYWduaXR1ZGUucnVuKHNldHVwRnVuY3Rpb24yLCB0ZXN0LCBN
YWduaXR1ZGUuTElORUFSKTsKK3R5cGUgPSAnbGluaycKK01hZ25pdHVkZS5ydW4oc2V0dXBGdW5j
dGlvbjEsIHRlc3QsIE1hZ25pdHVkZS5MSU5FQVIpOworTWFnbml0dWRlLnJ1bihzZXR1cEZ1bmN0
aW9uMiwgdGVzdCwgTWFnbml0dWRlLkxJTkVBUik7CisKKzwvc2NyaXB0PgorPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240100</attachid>
            <date>2014-10-19 22:30:59 -0700</date>
            <delta_ts>2014-10-20 15:45:40 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137860-20141020123103.patch</filename>
            <type>text/plain</type>
            <size>53365</size>
            <attacher name="Dhi Aurrahman">diorahman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0ODU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTdkMThhNzg5Mzc4MzBh
ZTc1NTQ2MGZjMzE4NWUzMWI2MWY0YTM0ZS4uMzVjZThmYjE0NjdhMDY5ZjNkOGQ2NDY4OWFiOTc0
YTkxZmJlYmY4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDE0LTEwLTE5ICBEaGkg
QXVycmFobWFuICA8ZGlvcmFobWFuQHJvY2t5YmFycy5jb20+CisKKyAgICAgICAgQWRkIHJlbExp
c3QgdG8gdGhlIGFuY2hvciwgYXJlYSBhbmQgbGluayBlbGVtZW50cworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3ODYwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHJlbExpc3QgdG8gcmVmbGVjdCB0
aGUgcmVsIGNvbnRlbnQgYXR0cmlidXRlIGZvciBhbmNob3JbMV0sCisgICAgICAgIGFyZWFbMl0g
YW5kIGxpbmtbM10gZWxlbWVudHMuCisKKyAgICAgICAgWzFdIGh0dHBzOi8vaHRtbC5zcGVjLndo
YXR3Zy5vcmcvbXVsdGlwYWdlL3NlbWFudGljcy5odG1sI2RvbS1hLXJlbGxpc3QgCisgICAgICAg
IFsyXSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9lbWJlZGRlZC1jb250
ZW50Lmh0bWwjZG9tLWFyZWEtcmVsbGlzdAorICAgICAgICBbM10gaHR0cHM6Ly9odG1sLnNwZWMu
d2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc2VtYW50aWNzLmh0bWwjZG9tLWxpbmstcmVsbGlzdAorCisg
ICAgICAgIFRlc3RzOiBmYXN0L2RvbS9yZWwtbGlzdC1nYy5odG1sCisgICAgICAgICAgICAgICBm
YXN0L2RvbS9yZWwtbGlzdC5odG1sCisgICAgICAgICAgICAgICBwZXJmL3JlbC1saXN0LXJlbW92
ZS5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogZG9tL1NwYWNlU3BsaXRTdHJpbmcuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U3BhY2VTcGxpdFN0cmluZzo6c2V0KToKKyAgICAgICAgKiBodG1sL0hUTUxBbmNob3JF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBbmNob3JFbGVtZW50OjpzZXRSZWwp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTEFuY2hvckVsZW1lbnQ6OnJlbExpc3QpOgorICAgICAg
ICAqIGh0bWwvSFRNTEFuY2hvckVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxBbmNob3JF
bGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxBcmVhRWxlbWVudC5pZGw6CisgICAgICAg
ICogaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExpbmtF
bGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTGlua0VsZW1l
bnQ6OnJlbExpc3QpOgorICAgICAgICAqIGh0bWwvSFRNTExpbmtFbGVtZW50Lmg6CisgICAgICAg
ICogaHRtbC9IVE1MTGlua0VsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvUmVsTGlzdC5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVsTGlzdDo6UmVsTGlzdCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZWxMaXN0OjpyZWYpOgorICAgICAgICAoV2ViQ29yZTo6UmVsTGlzdDo6ZGVyZWYp
OgorICAgICAgICAoV2ViQ29yZTo6UmVsTGlzdDo6bGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbExpc3Q6Oml0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6UmVsTGlzdDo6ZWxlbWVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZWxMaXN0OjpzZXRSZWwpOgorICAgICAgICAoV2ViQ29yZTo6UmVs
TGlzdDo6Y29udGFpbnNJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpSZWxMaXN0Ojp2YWx1
ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZWxMaXN0OjpzZXRWYWx1ZSk6CisgICAgICAgICogaHRt
bC9SZWxMaXN0Lmg6IEFkZGVkLgorCiAyMDE0LTEwLTE2ICBSb2dlciBGb25nICA8cm9nZXJfZm9u
Z0BhcHBsZS5jb20+CiAKICAgICAgICAgQ2FsbGluZyBnbFJlYWRQaXhlbHMgd2l0aCBCR1JBIGZv
cm1hdCBvbiBhbiBOVklESUEgbWFjaGluZSB3aXRoIGFuIG9wYXF1ZSBjb250ZXh0IHJldHVybnMg
dGhlIHdyb25nIGFscGhhIHZhbHVlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNjdkMjE4YjJk
ZGVlMjU4MjBjYThiOGRmYzJlNjljZjY3MmVmMzAxZi4uMzJjNzY1ZGUzZWI5MDA1YjQwYjc0MjY4
MmZiNWFmMGNjNzA0MDUyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE2NzYsNiArMTY3Niw3
IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBodG1sL1JhZGlvSW5wdXRUeXBlLmNwcAogICAg
IGh0bWwvUmFkaW9Ob2RlTGlzdC5jcHAKICAgICBodG1sL1JhbmdlSW5wdXRUeXBlLmNwcAorICAg
IGh0bWwvUmVsTGlzdC5jcHAKICAgICBodG1sL1Jlc2V0SW5wdXRUeXBlLmNwcAogICAgIGh0bWwv
U2VhcmNoSW5wdXRUeXBlLmNwcAogICAgIGh0bWwvU3RlcFJhbmdlLmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggMmI4N2M4MjRmYmQ4
MDk1MTVkZDJjMTg1ZDNlZmFmZDkzMDI4MmM5Yy4uOWIxZWQ0N2UxMGMyNGQ5ODQ0ZDg2NTJjODc4
MzhmOTZkOGU1ZGIyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2Vi
Q29yZS52Y3hwcm9qCkBAIC0xNjA2Miw2ICsxNjA2Miw3IEBACiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxodG1sXFJhZGlvSW5wdXRUeXBlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXGh0bWxcUmFkaW9Ob2RlTGlzdC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlxodG1sXFJhbmdlSW5wdXRUeXBlLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXGh0bWxcUmVsTGlzdC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1s
XFJlc2V0SW5wdXRUeXBlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxc
U2VhcmNoSW5wdXRUeXBlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxc
U3RlcFJhbmdlLmNwcCIgLz4KQEAgLTIwODQyLDYgKzIwODQzLDcgQEAKICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGh0bWxcUmFkaW9JbnB1dFR5cGUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXGh0bWxcUmFkaW9Ob2RlTGlzdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5caHRtbFxSYW5nZUlucHV0VHlwZS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5caHRtbFxSZWxMaXN0LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXFJl
c2V0SW5wdXRUeXBlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXFNlYXJj
aElucHV0VHlwZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxTdGVwUmFu
Z2UuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ouZmlsdGVycwppbmRleCAxZTgxOTQ2MjlmYmE1MjMyOGJlODFjNGQ1NzVjZGE5
Yjg2MzUwYWZhLi4zYzI1NDBiM2E0OWYyMjcyMDBlOTdhZTg4M2I2ZTIxYzE1YTI5ZGNhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ai5maWx0ZXJzCkBAIC00MDUzLDYgKzQwNTMsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5caHRtbFxSYW5nZUlucHV0VHlwZS5jcHAiPgogICAgICAgPEZpbHRlcj5odG1sPC9GaWx0ZXI+
CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXFJlbExp
c3QuY3BwIj4KKyAgICAgIDxGaWx0ZXI+aHRtbDwvRmlsdGVyPgorICAgIDwvQ2xDb21waWxlPgog
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxSZXNldElucHV0VHlwZS5jcHAiPgogICAg
ICAgPEZpbHRlcj5odG1sPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC0xMTIxNyw2ICsx
MTIyMCw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXFJhbmdlSW5wdXRUeXBl
LmgiPgogICAgICAgPEZpbHRlcj5odG1sPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CisgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXFJlbExpc3QuaCI+CisgICAgICA8RmlsdGVyPmh0
bWw8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGh0bWxcUmVzZXRJbnB1dFR5cGUuaCI+CiAgICAgICA8RmlsdGVyPmh0bWw8L0ZpbHRlcj4KICAg
ICA8L0NsSW5jbHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCA0Y2Q0NWU3MDBjNGRlZDU0YzRhNDhmNGZjMGFmNWYwZGVkZDJl
MTdiLi45NWE4ZTI3ZjkyMDNlMmQwYjExOTI2MjJkNTQ4ZTYxMzVmYWYxZjdlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00Njk4
LDYgKzQ2OTgsOCBAQAogCQlCMkVEOTc3MTBCMUY1NUNFMDAyNTdEMEYgLyogR3JhcGhpY3NDb250
ZXh0Q0cuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QjJFRDk3NzAwQjFGNTVDRTAwMjU3RDBGIC8qIEdyYXBoaWNzQ29udGV4dENHLmNwcCAqLzsgfTsK
IAkJQjJGMzRGRTYwRTgyRjgxNDAwRjYyN0NEIC8qIEROUy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJGMzRGRTUwRTgyRjgxNDAwRjYyN0NEIC8qIERO
Uy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUIy
RjM0RkU5MEU4MkY4MjcwMEY2MjdDRCAvKiBETlNDRk5ldC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkYzNEZFODBFODJGODI3MDBGNjI3Q0QgLyog
RE5TQ0ZOZXQuY3BwICovOyB9OworCQlCMkY3OENGRDE5RjJGMDJEMDA0OTY5NkMgLyogUmVsTGlz
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkY3
OENGQjE5RjJGMDJEMDA0OTY5NkMgLyogUmVsTGlzdC5jcHAgKi87IH07CisJCUIyRjc4Q0ZFMTlG
MkYwMkQwMDQ5Njk2QyAvKiBSZWxMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCMkY3OENGQzE5RjJGMDJEMDA0OTY5NkMgLyogUmVsTGlzdC5oICov
OyB9OwogCQlCMkZBM0QzNjBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdBbmltYXRlQ29sb3JFbGVt
ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIy
RkEzQzRFMEFCNzVBNkUwMDBFNUFDNCAvKiBKU1NWR0FuaW1hdGVDb2xvckVsZW1lbnQuY3BwICov
OyB9OwogCQlCMkZBM0QzNzBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdBbmltYXRlQ29sb3JFbGVt
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkZB
M0M0RjBBQjc1QTZFMDAwRTVBQzQgLyogSlNTVkdBbmltYXRlQ29sb3JFbGVtZW50LmggKi87IH07
CiAJCUIyRkEzRDM4MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0FuaW1hdGVkQW5nbGUuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJGQTNDNTAwQUI3
NUE2RTAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZWRBbmdsZS5jcHAgKi87IH07CkBAIC0xMjA3Niw2
ICsxMjA3OCw4IEBACiAJCUIyRUQ5NzcwMEIxRjU1Q0UwMDI1N0QwRiAvKiBHcmFwaGljc0NvbnRl
eHRDRy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR3JhcGhpY3ND
b250ZXh0Q0cuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMkYzNEZFNTBFODJG
ODE0MDBGNjI3Q0QgLyogRE5TLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERO
Uy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMkYzNEZFODBFODJGODI3MDBGNjI3
Q0QgLyogRE5TQ0ZOZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RE5TQ0ZOZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMkY3OENGQjE5RjJG
MDJEMDA0OTY5NkMgLyogUmVsTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBSZWxMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjJGNzhD
RkMxOUYyRjAyRDAwNDk2OTZDIC8qIFJlbExpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUmVsTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMkZBM0M0
RTBBQjc1QTZFMDAwRTVBQzQgLyogSlNTVkdBbmltYXRlQ29sb3JFbGVtZW50LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1NWR0FuaW1hdGVDb2xvckVsZW1lbnQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMkZBM0M0RjBBQjc1QTZFMDAwRTVB
QzQgLyogSlNTVkdBbmltYXRlQ29sb3JFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU1NWR0FuaW1hdGVDb2xvckVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQjJGQTNDNTAwQUI3NUE2RTAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZWRBbmds
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTVkdBbmltYXRl
ZEFuZ2xlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3OTI4LDYgKzE3OTMy
LDggQEAKIAkJCQlCNjU4RkZBNDE1MjJFRkFBMDBERDU1OTUgLyogUmFkaW9Ob2RlTGlzdC5oICov
LAogCQkJCUY1NUIzRDk5MTI1MUYxMkQwMDNFRjI2OSAvKiBSYW5nZUlucHV0VHlwZS5jcHAgKi8s
CiAJCQkJRjU1QjNEOUExMjUxRjEyRDAwM0VGMjY5IC8qIFJhbmdlSW5wdXRUeXBlLmggKi8sCisJ
CQkJQjJGNzhDRkIxOUYyRjAyRDAwNDk2OTZDIC8qIFJlbExpc3QuY3BwICovLAorCQkJCUIyRjc4
Q0ZDMTlGMkYwMkQwMDQ5Njk2QyAvKiBSZWxMaXN0LmggKi8sCiAJCQkJRjU1QjNEOUIxMjUxRjEy
RDAwM0VGMjY5IC8qIFJlc2V0SW5wdXRUeXBlLmNwcCAqLywKIAkJCQlGNTVCM0Q5QzEyNTFGMTJE
MDAzRUYyNjkgLyogUmVzZXRJbnB1dFR5cGUuaCAqLywKIAkJCQlGNTVCM0Q5RDEyNTFGMTJEMDAz
RUYyNjkgLyogU2VhcmNoSW5wdXRUeXBlLmNwcCAqLywKQEAgLTI0Njg4LDYgKzI0Njk0LDcgQEAK
IAkJCQlFMTU3QThGMTE4MTg1NDI1MDA5RjgyMUQgLyogSlNDcnlwdG9BbGdvcml0aG1CdWlsZGVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUM2NTcxMzE4MTVGOUREMDAyNTZDREQgLyogSlNDcnlw
dG9BbGdvcml0aG1EaWN0aW9uYXJ5LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTU3QThFMTE4MTcz
MzFDMDA5RjgyMUQgLyogSlNDcnlwdG9LZXkuaCBpbiBIZWFkZXJzICovLAorCQkJCUIyRjc4Q0ZF
MTlGMkYwMkQwMDQ5Njk2QyAvKiBSZWxMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUY4MEI4
RTE4MzE3MkI1MDA3ODg1QzMgLyogSlNDcnlwdG9LZXlQYWlyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFMTI1Rjg1MjE4MjgzQTU2MDBEODRDRDkgLyogSlNDcnlwdG9LZXlTZXJpYWxpemF0aW9uSldL
LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTI1RjgzRTE4MjQxMUU3MDBEODRDRDkgLyogSlNDcnlw
dG9PcGVyYXRpb25EYXRhLmggaW4gSGVhZGVycyAqLywKQEAgLTI3NDE5LDYgKzI3NDI2LDcgQEAK
IAkJCQlDRUNBREZDNjE1Mzc3OEZGMDBFMzcwNjggLyogRGljdGF0aW9uQWx0ZXJuYXRpdmUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQ0VDQURGQzgxNTM3NzhGRjAwRTM3MDY4IC8qIERpY3RhdGlv
bkNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRDBCRDRGNUMxNDA4ODUwRjAwNjgzOUI2
IC8qIERpY3RhdGlvbkNvbW1hbmRJT1MuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjJGNzhDRkQx
OUYyRjAyRDAwNDk2OTZDIC8qIFJlbExpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzEyRDY3
QjExNTM1NjkxRjAwNTYzRDBEIC8qIERpY3Rpb25hcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
RkRBRjE5OTgxNTEzRDEzMTAwOERCMEMzIC8qIERpcmVjdENvbnZvbHZlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk0OUZDN0E1MDE0NDRBRjVGMDBBNUQ4NjQgLyogRGlzcGxheVJlZnJlc2hNb25p
dG9yLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Nw
YWNlU3BsaXRTdHJpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcu
Y3BwCmluZGV4IDYyMmE3ZjJkODVhMjE3NmQ5OTI4NzU2NWI4YTE2MTVkMWJmYzgxOGYuLmFhZWFh
MTNlNGFlMjIzMWU4ZTIyYWJhMjc0OWZjNDUxZDk0NzIwZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
U3BhY2VTcGxpdFN0cmluZy5jcHAKQEAgLTk0LDYgKzk0LDEwIEBAIHN0YXRpYyBTcGFjZVNwbGl0
U3RyaW5nVGFibGUmIHNwYWNlU3BsaXRTdHJpbmdUYWJsZSgpCiAKIHZvaWQgU3BhY2VTcGxpdFN0
cmluZzo6c2V0KGNvbnN0IEF0b21pY1N0cmluZyYgaW5wdXRTdHJpbmcsIGJvb2wgc2hvdWxkRm9s
ZENhc2UpCiB7CisgICAgaWYgKGlucHV0U3RyaW5nLmlzTnVsbCgpKSB7CisgICAgICAgIGNsZWFy
KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAgICAgbV9kYXRhID0gU3BhY2VTcGxpdFN0cmlu
Z0RhdGE6OmNyZWF0ZShzaG91bGRGb2xkQ2FzZSA/IGlucHV0U3RyaW5nLmNvbnZlcnRUb0FTQ0lJ
TG93ZXJjYXNlKCkgOiBpbnB1dFN0cmluZyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
QW5jaG9yRWxlbWVudC5jcHAKaW5kZXggMjFlMTM5M2IzODllMjA5MjRkMDE0ZDYxMzIxMGJmM2Ix
NDVkMjI3ZC4uZTA3Yzg1OWFjNDkzNTA2MmM2NmJjMjg3YTA4ZTUxNmZlNDY1OTM1NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAKQEAgLTQxLDYgKzQxLDcgQEAK
ICNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAiUGluZ0xvYWRlci5oIgogI2luY2x1
ZGUgIlBsYXRmb3JtTW91c2VFdmVudC5oIgorI2luY2x1ZGUgIlJlbExpc3QuaCIKICNpbmNsdWRl
ICJSZW5kZXJJbWFnZS5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUg
IlNWR0ltYWdlLmgiCkBAIC0zMTQsNiArMzE1LDE1IEBAIHZvaWQgSFRNTEFuY2hvckVsZW1lbnQ6
OnNldFJlbChjb25zdCBTdHJpbmcmIHZhbHVlKQogewogICAgIGlmIChTcGFjZVNwbGl0U3RyaW5n
OjpzcGFjZVNwbGl0U3RyaW5nQ29udGFpbnNWYWx1ZSh2YWx1ZSwgIm5vcmVmZXJyZXIiLCB0cnVl
KSkKICAgICAgICAgbV9saW5rUmVsYXRpb25zIHw9IFJlbGF0aW9uTm9SZWZlcnJlcjsKKyAgICBp
ZiAobV9yZWxMaXN0KQorICAgICAgICBtX3JlbExpc3QtPnNldFJlbCh2YWx1ZSk7Cit9CisKK0RP
TVRva2VuTGlzdCYgSFRNTEFuY2hvckVsZW1lbnQ6OnJlbExpc3QoKQoreworICAgIGlmICghbV9y
ZWxMaXN0KSAKKyAgICAgICAgbV9yZWxMaXN0ID0gc3RkOjptYWtlX3VuaXF1ZTxSZWxMaXN0Pigq
dGhpcyk7CisgICAgcmV0dXJuICptX3JlbExpc3Q7CiB9CiAKIGNvbnN0IEF0b21pY1N0cmluZyYg
SFRNTEFuY2hvckVsZW1lbnQ6Om5hbWUoKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5j
aG9yRWxlbWVudC5oCmluZGV4IDE5NzQxMDc0MWJkZDBlODM4OGMwZDM4NWY0OGE0MTE4NWE1OTZh
MTIuLjNkZTUxY2Y4ZWM2NjA0YmUwMzQwYjEzNWM1YjA4NjZlNzQ5MDJlMzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmgKQEAgLTMwLDYgKzMwLDggQEAKIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCitjbGFzcyBSZWxMaXN0OworCiAvLyBMaW5rIHJlbGF0aW9uIGJpdG1h
c2sgdmFsdWVzLgogLy8gRklYTUU6IFVuY29tbWVudCBhcyB0aGUgdmFyaW91cyBsaW5rIHJlbGF0
aW9ucyBhcmUgaW1wbGVtZW50ZWQuCiBlbnVtIHsKQEAgLTk3LDE1ICs5OSwxNyBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCBib29sIHdpbGxSZXNwb25kVG9Nb3VzZUNsaWNrRXZlbnRzKCkgb3ZlcnJp
ZGU7CiAKICAgICBib29sIGhhc1JlbCh1aW50MzJfdCByZWxhdGlvbikgY29uc3Q7Ci0gICAgdm9p
ZCBzZXRSZWwoY29uc3QgU3RyaW5nJik7CiAgICAgCiAgICAgTGlua0hhc2ggdmlzaXRlZExpbmtI
YXNoKCkgY29uc3Q7CiAgICAgdm9pZCBpbnZhbGlkYXRlQ2FjaGVkVmlzaXRlZExpbmtIYXNoKCkg
eyBtX2NhY2hlZFZpc2l0ZWRMaW5rSGFzaCA9IDA7IH0KIAorICAgIERPTVRva2VuTGlzdCYgcmVs
TGlzdCgpOworCiBwcm90ZWN0ZWQ6CiAgICAgSFRNTEFuY2hvckVsZW1lbnQoY29uc3QgUXVhbGlm
aWVkTmFtZSYsIERvY3VtZW50Jik7CiAKICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VBdHRyaWJ1dGUo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOworICAg
IHZvaWQgc2V0UmVsKGNvbnN0IFN0cmluZyYpOwogCiBwcml2YXRlOgogICAgIHZpcnR1YWwgYm9v
bCBzdXBwb3J0c0ZvY3VzKCkgY29uc3Qgb3ZlcnJpZGU7CkBAIC0xNDAsNiArMTQ0LDggQEAgcHJp
dmF0ZToKICAgICBib29sIG1fd2FzU2hpZnRLZXlEb3duT25Nb3VzZURvd24gOiAxOwogICAgIHVp
bnQzMl90IG1fbGlua1JlbGF0aW9ucyA6IDMwOwogICAgIG11dGFibGUgTGlua0hhc2ggbV9jYWNo
ZWRWaXNpdGVkTGlua0hhc2g7CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVsTGlzdD4gbV9yZWxM
aXN0OwogfTsKIAogaW5saW5lIExpbmtIYXNoIEhUTUxBbmNob3JFbGVtZW50Ojp2aXNpdGVkTGlu
a0hhc2goKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9y
RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbApp
bmRleCBkZjY4MzYyODJmZjZlNDkzOWMzMTM1MWM3ZjQzOGU3ODRlYjhlMmVjLi41ZjM3ZWY5MzNm
YjM3NTc2Njc3OThiMzMwOGVjYTE1Y2QxZDQ1MmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBbmNob3JFbGVtZW50LmlkbApAQCAtNjYsNSArNjYsNyBAQCBpbnRlcmZhY2UgSFRNTEFuY2hv
ckVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgLy8gT2JqZWN0aXZlLUMgZXh0ZW5zaW9uOgog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBVUkwgYWJzb2x1dGVMaW5rVVJMOwogI2VuZGlmCisKKyAg
ICByZWFkb25seSBhdHRyaWJ1dGUgRE9NVG9rZW5MaXN0IHJlbExpc3Q7CiB9OwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcmVhRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxBcmVhRWxlbWVudC5pZGwKaW5kZXggZDAyNTA1MjliMTZhZDlmZTk3YjAx
ZGFhNThmOGJmNjc1ZWM1YTRlNC4uOGYzZjMzMDRiZWRiNWY3YmJiY2E0NjM4NTEwMmNhMTAwNmQz
MGE5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXJlYUVsZW1lbnQuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmlkbApAQCAtMjQsNiAr
MjQsNyBAQCBpbnRlcmZhY2UgSFRNTEFyZWFFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgIFtS
ZWZsZWN0LCBVUkxdIGF0dHJpYnV0ZSBET01TdHJpbmcgaHJlZjsKICAgICBbUmVmbGVjdF0gYXR0
cmlidXRlIGJvb2xlYW4gbm9IcmVmOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5n
IHBpbmc7CisgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVsOwogICAgIFtSZWZs
ZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNoYXBlOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHRhcmdldDsKIApAQCAtNDMsNSArNDQsNyBAQCBpbnRlcmZhY2UgSFRNTEFyZWFF
bGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgIC8vIE9iamVjdGl2ZS1DIGV4dGVuc2lvbjoKICAg
ICByZWFkb25seSBhdHRyaWJ1dGUgVVJMIGFic29sdXRlTGlua1VSTDsKICNlbmRpZgorCisgICAg
cmVhZG9ubHkgYXR0cmlidXRlIERPTVRva2VuTGlzdCByZWxMaXN0OwogfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwCmluZGV4IGZhNzU4MTE1N2ZjNTM2M2U4YjQ5Y2Uz
MjY1NWZhN2YwODEwNjliNzkuLjY3ZWM0YzEyNzdiZGEyMjY0NDAxMDkxYTk2MzlhZDhlMmRlYWJj
ODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAKQEAgLTQ1LDYgKzQ1
LDcgQEAKICNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiTW91c2VF
dmVudC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJSZWxMaXN0LmgiCiAjaW5jbHVk
ZSAiUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUg
IlNldHRpbmdzLmgiCkBAIC0xMzgsNiArMTM5LDggQEAgdm9pZCBIVE1MTGlua0VsZW1lbnQ6OnBh
cnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmkK
IHsKICAgICBpZiAobmFtZSA9PSByZWxBdHRyKSB7CiAgICAgICAgIG1fcmVsQXR0cmlidXRlID0g
TGlua1JlbEF0dHJpYnV0ZSh2YWx1ZSk7CisgICAgICAgIGlmIChtX3JlbExpc3QpCisgICAgICAg
ICAgICBtX3JlbExpc3QtPnNldFJlbCh2YWx1ZSk7CiAgICAgICAgIHByb2Nlc3MoKTsKICAgICB9
IGVsc2UgaWYgKG5hbWUgPT0gaHJlZkF0dHIpIHsKICAgICAgICAgcHJvY2VzcygpOwpAQCAtMzc2
LDYgKzM3OSwxMyBAQCB2b2lkIEhUTUxMaW5rRWxlbWVudDo6ZGlzcGF0Y2hQZW5kaW5nRXZlbnQo
TGlua0V2ZW50U2VuZGVyKiBldmVudFNlbmRlcikKICAgICAgICAgbGlua0xvYWRpbmdFcnJvcmVk
KCk7CiB9CiAKK0RPTVRva2VuTGlzdCYgSFRNTExpbmtFbGVtZW50OjpyZWxMaXN0KCkKK3sKKyAg
ICBpZiAoIW1fcmVsTGlzdCkgCisgICAgICAgIG1fcmVsTGlzdCA9IHN0ZDo6bWFrZV91bmlxdWU8
UmVsTGlzdD4oKnRoaXMpOworICAgIHJldHVybiAqbV9yZWxMaXN0OworfQorCiB2b2lkIEhUTUxM
aW5rRWxlbWVudDo6bm90aWZ5TG9hZGVkU2hlZXRBbmRBbGxDcml0aWNhbFN1YnJlc291cmNlcyhi
b29sIGVycm9yT2NjdXJyZWQpCiB7CiAgICAgaWYgKG1fZmlyZWRMb2FkKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTExpbmtFbGVtZW50LmgKaW5kZXggY2RkN2I0NzdkYWVmM2M1MzBlOWQ0N2UyNWZiZmZm
NTliZTkzM2FiNi4uMzIxM2ViZjJjZDczZjNiOWIzNjg1NGZjZjI5NzJjYmRiZTBlYTRmNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5oCkBAIC0zNyw2ICszNyw3IEBACiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxMaW5rRWxlbWVudDsKK2NsYXNzIFJlbExpc3Q7
CiBjbGFzcyBVUkw7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIEV2ZW50U2VuZGVyOwpA
QCAtNzEsNiArNzIsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaXNwYXRjaFBlbmRpbmdFdmVudChM
aW5rRXZlbnRTZW5kZXIqKTsKICAgICBzdGF0aWMgdm9pZCBkaXNwYXRjaFBlbmRpbmdMb2FkRXZl
bnRzKCk7CiAKKyAgICBET01Ub2tlbkxpc3QmIHJlbExpc3QoKTsKKwogcHJpdmF0ZToKICAgICB2
aXJ0dWFsIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0
b21pY1N0cmluZyYpIG92ZXJyaWRlOwogCkBAIC0xMDAsNyArMTAzLDYgQEAgcHJpdmF0ZToKICAg
ICB2aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCopIG92ZXJyaWRlOwogICAg
IHZvaWQgaGFuZGxlQ2xpY2soRXZlbnQmKTsKIAotcHJpdmF0ZToKICAgICBIVE1MTGlua0VsZW1l
bnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50JiwgYm9vbCBjcmVhdGVkQnlQYXJzZXIp
OwogCiAgICAgdmlydHVhbCB2b2lkIGFkZFN1YnJlc291cmNlQXR0cmlidXRlVVJMcyhMaXN0SGFz
aFNldDxVUkw+JikgY29uc3Qgb3ZlcnJpZGU7CkBAIC0xMzgsNiArMTQwLDggQEAgcHJpdmF0ZToK
ICAgICBib29sIG1fbG9hZGVkU2hlZXQ7CiAKICAgICBQZW5kaW5nU2hlZXRUeXBlIG1fcGVuZGlu
Z1NoZWV0VHlwZTsKKworICAgIHN0ZDo6dW5pcXVlX3B0cjxSZWxMaXN0PiBtX3JlbExpc3Q7CiB9
OwogCiB9IC8vbmFtZXNwYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxM
aW5rRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5pZGwK
aW5kZXggMGE0ZTM0NzU5ZjU3ZDk4YThmYzBjMWJlYjcyMWM5NzZkN2MwN2Y3Ni4uOTVhNjQxY2Nm
NWQ5MGEyODYyNmY3YjRiN2E0ZTAwNTg1YTMzMjAyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TExpbmtFbGVtZW50LmlkbApAQCAtNDAsNSArNDAsNyBAQCBpbnRlcmZhY2UgSFRNTExpbmtFbGVt
ZW50IDogSFRNTEVsZW1lbnQgewogICAgIC8vIE9iamVjdGl2ZS1DIGV4dGVuc2lvbjoKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgVVJMIGFic29sdXRlTGlua1VSTDsKICNlbmRpZgorCisgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVRva2VuTGlzdCByZWxMaXN0OwogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9SZWxMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvUmVs
TGlzdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTJmNWVmODRkMzRlNDM5OWE0NjEyNTk1NjEwOGNlYjdmODFl
ZDUyMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvUmVsTGlzdC5jcHAK
QEAgLTAsMCArMSw4OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBEaGkgQXVycmFobWFu
IDxkaW9yYWhtYW5Acm9ja3liYXJzLmNvbT4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICog
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJSZWxMaXN0LmgiCisKKyNpbmNsdWRlICJFbGVtZW50LmgiCisjaW5jbHVk
ZSAiSFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK1JlbExpc3Q6OlJlbExpc3QoRWxlbWVudCYgZWxlbWVudCkgCisgICAg
OiBtX2VsZW1lbnQoZWxlbWVudCkgCit7CisgICAgc2V0UmVsKHZhbHVlKCkpOworfQorCit2b2lk
IFJlbExpc3Q6OnJlZigpCit7CisgICAgbV9lbGVtZW50LnJlZigpOworfQorCit2b2lkIFJlbExp
c3Q6OmRlcmVmKCkKK3sKKyAgICBtX2VsZW1lbnQuZGVyZWYoKTsKK30KKwordW5zaWduZWQgUmVs
TGlzdDo6bGVuZ3RoKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9yZWxzLnNpemUoKTsKK30KKwor
Y29uc3QgQXRvbWljU3RyaW5nIFJlbExpc3Q6Oml0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0Cit7
CisgICAgaWYgKGluZGV4ID49IGxlbmd0aCgpKQorICAgICAgICByZXR1cm4gbnVsbEF0b207Cisg
ICAgcmV0dXJuIG1fcmVsc1tpbmRleF07Cit9CisKK0VsZW1lbnQqIFJlbExpc3Q6OmVsZW1lbnQo
KSBjb25zdAoreworICAgIHJldHVybiAmbV9lbGVtZW50OworfQorCit2b2lkIFJlbExpc3Q6OnNl
dFJlbChjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKQoreworICAgIG1fcmVscy5zZXQodmFsdWUs
IGZhbHNlKTsKK30KKworYm9vbCBSZWxMaXN0Ojpjb250YWluc0ludGVybmFsKGNvbnN0IEF0b21p
Y1N0cmluZyYgdG9rZW4pIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fcmVscy5jb250YWlucyh0b2tl
bik7Cit9CisKK0F0b21pY1N0cmluZyBSZWxMaXN0Ojp2YWx1ZSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fZWxlbWVudC5mYXN0R2V0QXR0cmlidXRlKEhUTUxOYW1lczo6cmVsQXR0cik7Cit9CisK
K3ZvaWQgUmVsTGlzdDo6c2V0VmFsdWUoY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSkKK3sKKyAg
ICBtX2VsZW1lbnQuc2V0QXR0cmlidXRlKEhUTUxOYW1lczo6cmVsQXR0ciwgdmFsdWUpOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvUmVsTGlzdC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9SZWxMaXN0LmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YmIwYjdjMjZiNDQxY2I2NjRmYWQyNTg2Mjc0NjU4ZTNiMzdhZmI4MQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvUmVsTGlzdC5oCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTQgRGhpIEF1cnJhaG1hbiA8ZGlvcmFobWFuQHJvY2t5YmFycy5j
b20+CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQor
ICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
CisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaWZuZGVmIFJlbExpc3RfaAorI2RlZmluZSBSZWxMaXN0X2gKKwor
I2luY2x1ZGUgIkRPTVRva2VuTGlzdC5oIgorI2luY2x1ZGUgIlNwYWNlU3BsaXRTdHJpbmcuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBFbGVtZW50OworCitjbGFzcyBSZWxMaXN0
IGZpbmFsIDogcHVibGljIERPTVRva2VuTGlzdCB7CitwdWJsaWM6CisgICAgUmVsTGlzdChFbGVt
ZW50Jik7CisgICAgdm9pZCBzZXRSZWwoY29uc3QgQXRvbWljU3RyaW5nJik7CisKK3ByaXZhdGU6
CisgICAgdmlydHVhbCB2b2lkIHJlZigpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkZXJl
ZigpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3Qgb3ZlcnJp
ZGU7CisgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcgaXRlbSh1bnNpZ25lZCBpbmRleCkg
Y29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBFbGVtZW50KiBlbGVtZW50KCkgY29uc3Qgb3Zl
cnJpZGU7CisgICAgdmlydHVhbCBib29sIGNvbnRhaW5zSW50ZXJuYWwoY29uc3QgQXRvbWljU3Ry
aW5nJikgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCBBdG9taWNTdHJpbmcgdmFsdWUoKSBj
b25zdCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWUoY29uc3QgQXRvbWljU3Ry
aW5nJikgb3ZlcnJpZGU7CisgICAgCisgICAgRWxlbWVudCYgbV9lbGVtZW50OworICAgIG11dGFi
bGUgU3BhY2VTcGxpdFN0cmluZyBtX3JlbHM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZiAvLyBSZWxMaXN0X2gKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDUxOThjMGI0NGMzMDgwZDllOGMwNTY4
Y2FjZTgwODI4MjcyNjM0ZDEuLjUxYzQ5ODI5MDkxZTdkMmE5NjI0ZTk5OGFjNmVkYTc1MzQ5Yzcw
NzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxNC0xMC0xOSAgRGhpIEF1cnJhaG1hbiAgPGRp
b3JhaG1hbkByb2NreWJhcnMuY29tPgorCisgICAgICAgIEFkZCByZWxMaXN0IHRvIHRoZSBhbmNo
b3IsIGFyZWEgYW5kIGxpbmsgZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEzNzg2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFRlc3RzIHJlbExpc3QgYXNwZWN0cyBmb3IgYW5jaG9yLCBhcmVh
IGFuZCBsaXN0IGVsZW1lbnRzLgorCisgICAgICAgICogZmFzdC9kb20vcmVsLWxpc3QtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9yZWwtbGlzdC1nYy1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3JlbC1saXN0LWdjLmh0bWw6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZG9tL3JlbC1saXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmYv
cmVsLWxpc3QtcmVtb3ZlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZi9yZWwt
bGlzdC1yZW1vdmUuaHRtbDogQWRkZWQuCisKIDIwMTQtMTAtMTcgIE1pY2hhZWwgU2Fib2ZmICA8
bXNhYm9mZkBhcHBsZS5jb20+CiAKICAgICAgICAgRG9uJ3QgY3JlYXRlIGNhY2hlZCBmdW5jdGlv
bnMgdGhhdCBhY2Nlc3MgbGV4aWNhbEdsb2JhbE9iamVjdCgpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9yZWwtbGlzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9yZWwtbGlzdC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDEwZTkwNzAyZjMzYzk1NTdkNjU3
ZGJkMzFkODA2YzRiYjM2MGM3NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3JlbC1saXN0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM3OCBAQAorVGVzdHMgdGhhdCBy
ZWxMaXN0IHdvcmtzIG9uIGFuY2hvciwgYXJlYSBhbmQgbGluayBlbGVtZW50cworCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworVGVzdHMgcmVsTGlzdCBmb3IgYW5jaG9yIGVsZW1lbnQK
K1BBU1MgZWxlbWVudC5yZWxMaXN0ID09IG51bGwgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxM
aXN0ID09IHVuZGVmaW5lZCBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3QgaW5zdGFuY2Vv
ZiBET01Ub2tlbkxpc3QgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDMK
K1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJhIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50
LnJlbExpc3QuY29udGFpbnMoImIiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250
YWlucygiYyIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJkIikgaXMg
ZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAzCitQQVNTIGVsZW1lbnQucmVs
TGlzdC5jb250YWlucygiZm9vIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFp
bnMoImJhciIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJjaG9jb2xh
dGUiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygib3JhbmdlIikgaXMg
ZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAwCitQQVNTIGVsZW1lbnQucmVs
TGlzdC5sZW5ndGggaXMgMAorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDIKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJtYXJzaG1hbGxvdyIpIGlzIHRydWUKK1BBU1MgZWxl
bWVudC5yZWxMaXN0LmNvbnRhaW5zKCJjaGlwcyIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxM
aXN0LmNvbnRhaW5zKCJvcmFuZ2UiKSBpcyBmYWxzZQorUEFTUyBTdHJpbmcoZWxlbWVudC5yZWxM
aXN0KSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAwCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5sZW5ndGggaXMgMQorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDIK
K1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4
IgorUEFTUyBlbGVtZW50LnJlbCBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWwgaXMgInggIHgiCitQ
QVNTIGVsZW1lbnQucmVsIGlzICJ5IHgiCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVs
ZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsIGlzICIgeSB5ICIKK1BBU1MgZWxlbWVu
dC5yZWwgaXMgInkiCitFbnN1cmUgdGhhdCB3ZSBjYW4gaGFuZGxlIGVtcHR5IHJlbCBjb3JyZWN0
bHkKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcpIGlzIHRydWUKK1BBU1MgZWxlbWVu
dC5yZWwgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnKSBpcyBmYWxzZQor
UEFTUyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIngi
KSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3RbMV0gaXMgdW5kZWZpbmVkLgorUEFTUyBl
bGVtZW50LnJlbExpc3QuY29udGFpbnMoIngiKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExp
c3QuY29udGFpbnMoIngiKSBpcyB0cnVlCitUZXN0IHRvZ2dsZSB3aXRoIGZvcmNlIGFyZ3VtZW50
CitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnLCB0cnVlKSBpcyB0cnVlCitQQVNTIGVs
ZW1lbnQucmVsIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgdHJ1ZSkg
aXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbCBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRv
Z2dsZSgneCcsIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBl
bGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQu
cmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoIiIsIHRydWUpIHRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIGVsZW1l
bnQucmVsTGlzdC50b2dnbGUoInggeSIsIGZhbHNlKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElu
dmFsaWRDaGFyYWN0ZXJFcnJvcjogRE9NIEV4Y2VwdGlvbiA1LgorVGVzdGluZyBhZGQgaW4gcHJl
c2VuY2Ugb2YgdHJhaWxpbmcgd2hpdGUgc3BhY2VzLgorUEFTUyBlbGVtZW50LnJlbCBpcyAieCB5
IgorUEFTUyBlbGVtZW50LnJlbCBpcyAieFx0eSIKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiB5Igor
VGVzdCBpbnZhbGlkIHRva2VucworUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIiIpIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitQQVNT
IGVsZW1lbnQucmVsTGlzdC5jb250YWlucygieCB5IikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJ
bnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRpb24gNS4KK1BBU1MgZWxlbWVudC5yZWxM
aXN0LmFkZCgiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhFcnJvcjogRE9NIEV4Y2Vw
dGlvbiAxMi4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LmFkZCgieCB5IikgdGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBJbnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRpb24gNS4KK1BBU1MgZWxl
bWVudC5yZWxMaXN0LnJlbW92ZSgiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhFcnJv
cjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgieCB5Iikg
dGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRp
b24gNS4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgiIikgdGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBTeW50YXhFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMi4KK0luZGV4aW5nCitQQVNTIGVsZW1l
bnQucmVsTGlzdFswXSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0oMCkgaXMgIngi
CitQQVNTIGVsZW1lbnQucmVsTGlzdFsxXSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0
ZW0oMSkgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlzdFsxXSBpcyAieSIKK1BBU1MgZWxlbWVu
dC5yZWxMaXN0Lml0ZW0oMSkgaXMgInkiCitQQVNTIGVsZW1lbnQucmVsTGlzdFswXSBpcyB1bmRl
ZmluZWQuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5pdGVtKDApIGlzIG51bGwKK1BBU1MgZWxlbWVu
dC5yZWxMaXN0WzRdIGlzIHVuZGVmaW5lZC4KK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0oNCkg
aXMgbnVsbAorUEFTUyBlbGVtZW50LnJlbExpc3RbLTFdIGlzIHVuZGVmaW5lZC4KK1BBU1MgZWxl
bWVudC5yZWxMaXN0Lml0ZW0oLTEpIGlzIG51bGwKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0o
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1Rlc3Qg
Y2FzZSBzaW5jZSBET01Ub2tlbkxpc3QgaXMgY2FzZSBzZW5zaXRpdmUKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0LmNvbnRhaW5zKCJ4IikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFp
bnMoIlgiKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3RbMF0gaXMgIngiCitQQVNTIGVs
ZW1lbnQucmVsTGlzdC5jb250YWlucygpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBl
bm91Z2ggYXJndW1lbnRzLgorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIlgiKSBpcyB0
cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygieCIpIGlzIGZhbHNlCitQQVNTIGVs
ZW1lbnQucmVsTGlzdFswXSBpcyAiWCIKK1Rlc3Rpbmcgd2hpdGVzcGFjZQorUEFTUyBlbGVtZW50
LnJlbExpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQ
QVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbExpc3QubGVu
Z3RoIGlzIDIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitET01Ub2tlbkxpc3Qg
cHJlc2VuY2UgYW5kIHR5cGUKK1BBU1MgJ3VuZGVmaW5lZCcgIT0gdHlwZW9mIERPTVRva2VuTGlz
dCBpcyB0cnVlCitQQVNTIHR5cGVvZiBET01Ub2tlbkxpc3QucHJvdG90eXBlIGlzICJvYmplY3Qi
CitQQVNTIHR5cGVvZiBlbGVtZW50LnJlbExpc3QgaXMgIm9iamVjdCIKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0LmNvbnN0cnVjdG9yIGlzIERPTVRva2VuTGlzdAorUEFTUyBlbGVtZW50LnJlbExpc3Qg
PT09IGVsZW1lbnQucmVsTGlzdCBpcyB0cnVlCitWYXJpYWRpYyBjYWxscworUEFTUyBlbGVtZW50
LnJlbCBpcyAiYSBiIgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIGMiCitQQVNTIGVsZW1lbnQu
cmVsIGlzICJhIGIgYyBudWxsIGQgdW5kZWZpbmVkIDAgZmFsc2UiCitQQVNTIGVsZW1lbnQucmVs
IGlzICJhIGIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoImEiLCAiYiIsICIiKSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBlbGVt
ZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExpc3QuYWRkKCJhIiwgImIiLCAiYyBkIikg
dGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRp
b24gNS4KK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmFkZCgi
YSIsIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7IHRocm93IG5ldyBFcnJvcigidXNlciBlcnJvciIp
OyB9fSwgImIiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IHVzZXIgZXJyb3IuCitQQVNTIGVsZW1l
bnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoKSBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KK1BBU1Mgb2JzZXJ2ZXIudGFrZVJlY29yZHMoKS5sZW5ndGggaXMgMQorUEFTUyBl
bGVtZW50LnJlbCBpcyAiYiBkICAiCitQQVNTIGVsZW1lbnQucmVsIGlzICJkICAiCitQQVNTIGVs
ZW1lbnQucmVsIGlzICJhIGIgYyIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgiYSIsICJi
IiwgIiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24g
MTIuCitQQVNTIGVsZW1lbnQucmVsIGlzICJhIGIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5yZW1v
dmUoImEiLCB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkgeyB0aHJvdyBuZXcgRXJyb3IoInVzZXIgZXJy
b3IiKTsgfX0sICJiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiB1c2VyIGVycm9yLgorUEFTUyBl
bGVtZW50LnJlbCBpcyAiYSBiIgorUEFTUyBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCJhIiwgImIi
LCAiYyBkIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERP
TSBFeGNlcHRpb24gNS4KK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0LnJlbW92ZSgpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBvYnNlcnZlci50
YWtlUmVjb3JkcygpLmxlbmd0aCBpcyAxCitUZXN0cyByZWxMaXN0IGZvciBhcmVhIGVsZW1lbnQK
K1BBU1MgZWxlbWVudC5yZWxMaXN0ID09IG51bGwgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxM
aXN0ID09IHVuZGVmaW5lZCBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3QgaW5zdGFuY2Vv
ZiBET01Ub2tlbkxpc3QgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDMK
K1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJhIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50
LnJlbExpc3QuY29udGFpbnMoImIiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250
YWlucygiYyIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJkIikgaXMg
ZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAzCitQQVNTIGVsZW1lbnQucmVs
TGlzdC5jb250YWlucygiZm9vIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFp
bnMoImJhciIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJjaG9jb2xh
dGUiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygib3JhbmdlIikgaXMg
ZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAwCitQQVNTIGVsZW1lbnQucmVs
TGlzdC5sZW5ndGggaXMgMAorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDIKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJtYXJzaG1hbGxvdyIpIGlzIHRydWUKK1BBU1MgZWxl
bWVudC5yZWxMaXN0LmNvbnRhaW5zKCJjaGlwcyIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxM
aXN0LmNvbnRhaW5zKCJvcmFuZ2UiKSBpcyBmYWxzZQorUEFTUyBTdHJpbmcoZWxlbWVudC5yZWxM
aXN0KSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAwCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5sZW5ndGggaXMgMQorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDIK
K1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4
IgorUEFTUyBlbGVtZW50LnJlbCBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWwgaXMgInggIHgiCitQ
QVNTIGVsZW1lbnQucmVsIGlzICJ5IHgiCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVs
ZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsIGlzICIgeSB5ICIKK1BBU1MgZWxlbWVu
dC5yZWwgaXMgInkiCitFbnN1cmUgdGhhdCB3ZSBjYW4gaGFuZGxlIGVtcHR5IHJlbCBjb3JyZWN0
bHkKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcpIGlzIHRydWUKK1BBU1MgZWxlbWVu
dC5yZWwgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnKSBpcyBmYWxzZQor
UEFTUyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIngi
KSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3RbMV0gaXMgdW5kZWZpbmVkLgorUEFTUyBl
bGVtZW50LnJlbExpc3QuY29udGFpbnMoIngiKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExp
c3QuY29udGFpbnMoIngiKSBpcyB0cnVlCitUZXN0IHRvZ2dsZSB3aXRoIGZvcmNlIGFyZ3VtZW50
CitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnLCB0cnVlKSBpcyB0cnVlCitQQVNTIGVs
ZW1lbnQucmVsIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgdHJ1ZSkg
aXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbCBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRv
Z2dsZSgneCcsIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBl
bGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQu
cmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoIiIsIHRydWUpIHRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIGVsZW1l
bnQucmVsTGlzdC50b2dnbGUoInggeSIsIGZhbHNlKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElu
dmFsaWRDaGFyYWN0ZXJFcnJvcjogRE9NIEV4Y2VwdGlvbiA1LgorVGVzdGluZyBhZGQgaW4gcHJl
c2VuY2Ugb2YgdHJhaWxpbmcgd2hpdGUgc3BhY2VzLgorUEFTUyBlbGVtZW50LnJlbCBpcyAieCB5
IgorUEFTUyBlbGVtZW50LnJlbCBpcyAieFx0eSIKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiB5Igor
VGVzdCBpbnZhbGlkIHRva2VucworUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIiIpIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitQQVNT
IGVsZW1lbnQucmVsTGlzdC5jb250YWlucygieCB5IikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJ
bnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRpb24gNS4KK1BBU1MgZWxlbWVudC5yZWxM
aXN0LmFkZCgiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhFcnJvcjogRE9NIEV4Y2Vw
dGlvbiAxMi4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LmFkZCgieCB5IikgdGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBJbnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRpb24gNS4KK1BBU1MgZWxl
bWVudC5yZWxMaXN0LnJlbW92ZSgiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhFcnJv
cjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgieCB5Iikg
dGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRp
b24gNS4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgiIikgdGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBTeW50YXhFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMi4KK0luZGV4aW5nCitQQVNTIGVsZW1l
bnQucmVsTGlzdFswXSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0oMCkgaXMgIngi
CitQQVNTIGVsZW1lbnQucmVsTGlzdFsxXSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0
ZW0oMSkgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlzdFsxXSBpcyAieSIKK1BBU1MgZWxlbWVu
dC5yZWxMaXN0Lml0ZW0oMSkgaXMgInkiCitQQVNTIGVsZW1lbnQucmVsTGlzdFswXSBpcyB1bmRl
ZmluZWQuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5pdGVtKDApIGlzIG51bGwKK1BBU1MgZWxlbWVu
dC5yZWxMaXN0WzRdIGlzIHVuZGVmaW5lZC4KK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0oNCkg
aXMgbnVsbAorUEFTUyBlbGVtZW50LnJlbExpc3RbLTFdIGlzIHVuZGVmaW5lZC4KK1BBU1MgZWxl
bWVudC5yZWxMaXN0Lml0ZW0oLTEpIGlzIG51bGwKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0o
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1Rlc3Qg
Y2FzZSBzaW5jZSBET01Ub2tlbkxpc3QgaXMgY2FzZSBzZW5zaXRpdmUKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0LmNvbnRhaW5zKCJ4IikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFp
bnMoIlgiKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3RbMF0gaXMgIngiCitQQVNTIGVs
ZW1lbnQucmVsTGlzdC5jb250YWlucygpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBl
bm91Z2ggYXJndW1lbnRzLgorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIlgiKSBpcyB0
cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygieCIpIGlzIGZhbHNlCitQQVNTIGVs
ZW1lbnQucmVsTGlzdFswXSBpcyAiWCIKK1Rlc3Rpbmcgd2hpdGVzcGFjZQorUEFTUyBlbGVtZW50
LnJlbExpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQ
QVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbExpc3QubGVu
Z3RoIGlzIDIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitET01Ub2tlbkxpc3Qg
cHJlc2VuY2UgYW5kIHR5cGUKK1BBU1MgJ3VuZGVmaW5lZCcgIT0gdHlwZW9mIERPTVRva2VuTGlz
dCBpcyB0cnVlCitQQVNTIHR5cGVvZiBET01Ub2tlbkxpc3QucHJvdG90eXBlIGlzICJvYmplY3Qi
CitQQVNTIHR5cGVvZiBlbGVtZW50LnJlbExpc3QgaXMgIm9iamVjdCIKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0LmNvbnN0cnVjdG9yIGlzIERPTVRva2VuTGlzdAorUEFTUyBlbGVtZW50LnJlbExpc3Qg
PT09IGVsZW1lbnQucmVsTGlzdCBpcyB0cnVlCitWYXJpYWRpYyBjYWxscworUEFTUyBlbGVtZW50
LnJlbCBpcyAiYSBiIgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIGMiCitQQVNTIGVsZW1lbnQu
cmVsIGlzICJhIGIgYyBudWxsIGQgdW5kZWZpbmVkIDAgZmFsc2UiCitQQVNTIGVsZW1lbnQucmVs
IGlzICJhIGIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoImEiLCAiYiIsICIiKSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBlbGVt
ZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExpc3QuYWRkKCJhIiwgImIiLCAiYyBkIikg
dGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRp
b24gNS4KK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmFkZCgi
YSIsIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7IHRocm93IG5ldyBFcnJvcigidXNlciBlcnJvciIp
OyB9fSwgImIiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IHVzZXIgZXJyb3IuCitQQVNTIGVsZW1l
bnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoKSBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KK1BBU1Mgb2JzZXJ2ZXIudGFrZVJlY29yZHMoKS5sZW5ndGggaXMgMQorUEFTUyBl
bGVtZW50LnJlbCBpcyAiYiBkICAiCitQQVNTIGVsZW1lbnQucmVsIGlzICJkICAiCitQQVNTIGVs
ZW1lbnQucmVsIGlzICJhIGIgYyIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgiYSIsICJi
IiwgIiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24g
MTIuCitQQVNTIGVsZW1lbnQucmVsIGlzICJhIGIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5yZW1v
dmUoImEiLCB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkgeyB0aHJvdyBuZXcgRXJyb3IoInVzZXIgZXJy
b3IiKTsgfX0sICJiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiB1c2VyIGVycm9yLgorUEFTUyBl
bGVtZW50LnJlbCBpcyAiYSBiIgorUEFTUyBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCJhIiwgImIi
LCAiYyBkIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERP
TSBFeGNlcHRpb24gNS4KK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0LnJlbW92ZSgpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBvYnNlcnZlci50
YWtlUmVjb3JkcygpLmxlbmd0aCBpcyAxCitUZXN0cyByZWxMaXN0IGZvciBsaW5rIGVsZW1lbnQK
K1BBU1MgZWxlbWVudC5yZWxMaXN0ID09IG51bGwgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxM
aXN0ID09IHVuZGVmaW5lZCBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3QgaW5zdGFuY2Vv
ZiBET01Ub2tlbkxpc3QgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDMK
K1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJhIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50
LnJlbExpc3QuY29udGFpbnMoImIiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250
YWlucygiYyIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJkIikgaXMg
ZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAzCitQQVNTIGVsZW1lbnQucmVs
TGlzdC5jb250YWlucygiZm9vIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFp
bnMoImJhciIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJjaG9jb2xh
dGUiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygib3JhbmdlIikgaXMg
ZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAwCitQQVNTIGVsZW1lbnQucmVs
TGlzdC5sZW5ndGggaXMgMAorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDIKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJtYXJzaG1hbGxvdyIpIGlzIHRydWUKK1BBU1MgZWxl
bWVudC5yZWxMaXN0LmNvbnRhaW5zKCJjaGlwcyIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxM
aXN0LmNvbnRhaW5zKCJvcmFuZ2UiKSBpcyBmYWxzZQorUEFTUyBTdHJpbmcoZWxlbWVudC5yZWxM
aXN0KSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAwCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5sZW5ndGggaXMgMQorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDIK
K1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4
IgorUEFTUyBlbGVtZW50LnJlbCBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWwgaXMgInggIHgiCitQ
QVNTIGVsZW1lbnQucmVsIGlzICJ5IHgiCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVs
ZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsIGlzICIgeSB5ICIKK1BBU1MgZWxlbWVu
dC5yZWwgaXMgInkiCitFbnN1cmUgdGhhdCB3ZSBjYW4gaGFuZGxlIGVtcHR5IHJlbCBjb3JyZWN0
bHkKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcpIGlzIHRydWUKK1BBU1MgZWxlbWVu
dC5yZWwgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnKSBpcyBmYWxzZQor
UEFTUyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIngi
KSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3RbMV0gaXMgdW5kZWZpbmVkLgorUEFTUyBl
bGVtZW50LnJlbExpc3QuY29udGFpbnMoIngiKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExp
c3QuY29udGFpbnMoIngiKSBpcyB0cnVlCitUZXN0IHRvZ2dsZSB3aXRoIGZvcmNlIGFyZ3VtZW50
CitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnLCB0cnVlKSBpcyB0cnVlCitQQVNTIGVs
ZW1lbnQucmVsIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgdHJ1ZSkg
aXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbCBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRv
Z2dsZSgneCcsIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBl
bGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQu
cmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoIiIsIHRydWUpIHRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIGVsZW1l
bnQucmVsTGlzdC50b2dnbGUoInggeSIsIGZhbHNlKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IElu
dmFsaWRDaGFyYWN0ZXJFcnJvcjogRE9NIEV4Y2VwdGlvbiA1LgorVGVzdGluZyBhZGQgaW4gcHJl
c2VuY2Ugb2YgdHJhaWxpbmcgd2hpdGUgc3BhY2VzLgorUEFTUyBlbGVtZW50LnJlbCBpcyAieCB5
IgorUEFTUyBlbGVtZW50LnJlbCBpcyAieFx0eSIKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiB5Igor
VGVzdCBpbnZhbGlkIHRva2VucworUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIiIpIHRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitQQVNT
IGVsZW1lbnQucmVsTGlzdC5jb250YWlucygieCB5IikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJ
bnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRpb24gNS4KK1BBU1MgZWxlbWVudC5yZWxM
aXN0LmFkZCgiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhFcnJvcjogRE9NIEV4Y2Vw
dGlvbiAxMi4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LmFkZCgieCB5IikgdGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBJbnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRpb24gNS4KK1BBU1MgZWxl
bWVudC5yZWxMaXN0LnJlbW92ZSgiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhFcnJv
cjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgieCB5Iikg
dGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRp
b24gNS4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgiIikgdGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBTeW50YXhFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMi4KK0luZGV4aW5nCitQQVNTIGVsZW1l
bnQucmVsTGlzdFswXSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0oMCkgaXMgIngi
CitQQVNTIGVsZW1lbnQucmVsTGlzdFsxXSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0
ZW0oMSkgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlzdFsxXSBpcyAieSIKK1BBU1MgZWxlbWVu
dC5yZWxMaXN0Lml0ZW0oMSkgaXMgInkiCitQQVNTIGVsZW1lbnQucmVsTGlzdFswXSBpcyB1bmRl
ZmluZWQuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5pdGVtKDApIGlzIG51bGwKK1BBU1MgZWxlbWVu
dC5yZWxMaXN0WzRdIGlzIHVuZGVmaW5lZC4KK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0oNCkg
aXMgbnVsbAorUEFTUyBlbGVtZW50LnJlbExpc3RbLTFdIGlzIHVuZGVmaW5lZC4KK1BBU1MgZWxl
bWVudC5yZWxMaXN0Lml0ZW0oLTEpIGlzIG51bGwKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0o
KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1Rlc3Qg
Y2FzZSBzaW5jZSBET01Ub2tlbkxpc3QgaXMgY2FzZSBzZW5zaXRpdmUKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0LmNvbnRhaW5zKCJ4IikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFp
bnMoIlgiKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3RbMF0gaXMgIngiCitQQVNTIGVs
ZW1lbnQucmVsTGlzdC5jb250YWlucygpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBl
bm91Z2ggYXJndW1lbnRzLgorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIlgiKSBpcyB0
cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygieCIpIGlzIGZhbHNlCitQQVNTIGVs
ZW1lbnQucmVsTGlzdFswXSBpcyAiWCIKK1Rlc3Rpbmcgd2hpdGVzcGFjZQorUEFTUyBlbGVtZW50
LnJlbExpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQ
QVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbExpc3QubGVu
Z3RoIGlzIDIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitET01Ub2tlbkxpc3Qg
cHJlc2VuY2UgYW5kIHR5cGUKK1BBU1MgJ3VuZGVmaW5lZCcgIT0gdHlwZW9mIERPTVRva2VuTGlz
dCBpcyB0cnVlCitQQVNTIHR5cGVvZiBET01Ub2tlbkxpc3QucHJvdG90eXBlIGlzICJvYmplY3Qi
CitQQVNTIHR5cGVvZiBlbGVtZW50LnJlbExpc3QgaXMgIm9iamVjdCIKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0LmNvbnN0cnVjdG9yIGlzIERPTVRva2VuTGlzdAorUEFTUyBlbGVtZW50LnJlbExpc3Qg
PT09IGVsZW1lbnQucmVsTGlzdCBpcyB0cnVlCitWYXJpYWRpYyBjYWxscworUEFTUyBlbGVtZW50
LnJlbCBpcyAiYSBiIgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIGMiCitQQVNTIGVsZW1lbnQu
cmVsIGlzICJhIGIgYyBudWxsIGQgdW5kZWZpbmVkIDAgZmFsc2UiCitQQVNTIGVsZW1lbnQucmVs
IGlzICJhIGIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoImEiLCAiYiIsICIiKSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBlbGVt
ZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExpc3QuYWRkKCJhIiwgImIiLCAiYyBkIikg
dGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRp
b24gNS4KK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmFkZCgi
YSIsIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7IHRocm93IG5ldyBFcnJvcigidXNlciBlcnJvciIp
OyB9fSwgImIiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IHVzZXIgZXJyb3IuCitQQVNTIGVsZW1l
bnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoKSBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KK1BBU1Mgb2JzZXJ2ZXIudGFrZVJlY29yZHMoKS5sZW5ndGggaXMgMQorUEFTUyBl
bGVtZW50LnJlbCBpcyAiYiBkICAiCitQQVNTIGVsZW1lbnQucmVsIGlzICJkICAiCitQQVNTIGVs
ZW1lbnQucmVsIGlzICJhIGIgYyIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgiYSIsICJi
IiwgIiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24g
MTIuCitQQVNTIGVsZW1lbnQucmVsIGlzICJhIGIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5yZW1v
dmUoImEiLCB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkgeyB0aHJvdyBuZXcgRXJyb3IoInVzZXIgZXJy
b3IiKTsgfX0sICJiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiB1c2VyIGVycm9yLgorUEFTUyBl
bGVtZW50LnJlbCBpcyAiYSBiIgorUEFTUyBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCJhIiwgImIi
LCAiYyBkIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERP
TSBFeGNlcHRpb24gNS4KK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0LnJlbW92ZSgpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBvYnNlcnZlci50
YWtlUmVjb3JkcygpLmxlbmd0aCBpcyAxCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVs
LWxpc3QtZ2MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVsLWxpc3QtZ2Mt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2MmU2YjMyOTAwOWM3MWFhNTM4ZTk4OTVlODVkODQw
ZWMyYTRlZmEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9yZWwtbGlz
dC1nYy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGVzdHMgcmVsTGlzdCBnYyBmb3Ig
YW5jaG9yIGVsZW1lbnQKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmxpZmUgaXMgNDIKK1BBU1MgZWxl
bWVudC5yZWxMaXN0LmxpZmUgaXMgNDIKK1Rlc3RzIHJlbExpc3QgZ2MgZm9yIGFyZWEgZWxlbWVu
dAorUEFTUyBlbGVtZW50LnJlbExpc3QubGlmZSBpcyA0MgorUEFTUyBlbGVtZW50LnJlbExpc3Qu
bGlmZSBpcyA0MgorVGVzdHMgcmVsTGlzdCBnYyBmb3IgbGluayBlbGVtZW50CitQQVNTIGVsZW1l
bnQucmVsTGlzdC5saWZlIGlzIDQyCitQQVNTIGVsZW1lbnQucmVsTGlzdC5saWZlIGlzIDQyCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVsLWxpc3QtZ2MuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3JlbC1saXN0LWdjLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjYwZWMxYTM0Yjk4ODliNDY5
ZTM1NjA1M2MzNzA2ZGYxMmVjYTJlZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3JlbC1saXN0LWdjLmh0bWwKQEAgLTAsMCArMSwzMiBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBy
ZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8c2NyaXB0PgordmFyIHR5cGU7Cit2YXIgZWxlbWVu
dDsKKworZnVuY3Rpb24gdGVzdCgpeworICAgIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVt
ZW50KHR5cGUpOworICAgIHZhciByZWxMaXN0ID0gZWxlbWVudC5yZWxMaXN0OworICAgIGVsZW1l
bnQucmVsTGlzdC5saWZlID0gNDI7CisgICAgc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5yZWxM
aXN0LmxpZmUnLCA0Mik7CisgICAgcmVsTGlzdCA9IG51bGw7CisgICAgZ2MoKTsKKyAgICBzaG91
bGRFdmFsdWF0ZVRvKCdlbGVtZW50LnJlbExpc3QubGlmZScsIDQyKTsKK30KKworZGVidWcoJ1Rl
c3RzIHJlbExpc3QgZ2MgZm9yIGFuY2hvciBlbGVtZW50Jyk7Cit0eXBlID0gJ2EnOwordGVzdCgp
OworZGVidWcoJ1Rlc3RzIHJlbExpc3QgZ2MgZm9yIGFyZWEgZWxlbWVudCcpOwordHlwZSA9ICdh
cmVhJzsKK3Rlc3QoKTsKK2RlYnVnKCdUZXN0cyByZWxMaXN0IGdjIGZvciBsaW5rIGVsZW1lbnQn
KTsKK3R5cGUgPSAnbGluayc7Cit0ZXN0KCk7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9yZWwtbGlzdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVsLWxpc3QuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5jYmMyYzRhNTQ4NjVlMTQyOGExOTVjYTU0NjM1ZjQ4YmM4OTYyNmQwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVsLWxpc3QuaHRtbApAQCAtMCww
ICsxLDMwMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9k
eT4KKzxhIGlkPSJhIiByZWw9ImEgYiBjIj48L2E+Cis8YXJlYSBpZD0iYXJlYSIgcmVsPSJhIGIg
YyI+PC9hcmVhPgorPGxpbmsgaWQ9ImxpbmsiIHJlbD0iYSBiIGMiPgorPHNjcmlwdD4KK2Rlc2Ny
aXB0aW9uKCdUZXN0cyB0aGF0IHJlbExpc3Qgd29ya3Mgb24gYW5jaG9yLCBhcmVhIGFuZCBsaW5r
IGVsZW1lbnRzJyk7CisKK3ZhciBlbGVtZW50OwordmFyIHR5cGU7Cit2YXIgb2JzZXJ2ZXI7CisK
K2Z1bmN0aW9uIGNyZWF0ZUVsZW1lbnQocmVsKQoreworICAgIGVsZW1lbnQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHR5cGUpOworICAgIGVsZW1lbnQucmVsID0gcmVsOworfQorCitmdW5jdGlv
biB0ZXN0KCkgCit7CisgICAgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHR5cGUp
OworICAgIHNob3VsZEJlRmFsc2UoJ2VsZW1lbnQucmVsTGlzdCA9PSBudWxsJyk7CisgICAgc2hv
dWxkQmVGYWxzZSgnZWxlbWVudC5yZWxMaXN0ID09IHVuZGVmaW5lZCcpOworICAgIHNob3VsZEJl
VHJ1ZSgnZWxlbWVudC5yZWxMaXN0IGluc3RhbmNlb2YgRE9NVG9rZW5MaXN0Jyk7CisgICAgc2hv
dWxkQmUoJ2VsZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAnMycpOworICAgIHNob3VsZEJlVHJ1ZSgn
ZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJhIiknKTsKKyAgICBzaG91bGRCZVRydWUoJ2VsZW1l
bnQucmVsTGlzdC5jb250YWlucygiYiIpJyk7CisgICAgc2hvdWxkQmVUcnVlKCdlbGVtZW50LnJl
bExpc3QuY29udGFpbnMoImMiKScpOworICAgIHNob3VsZEJlRmFsc2UoJ2VsZW1lbnQucmVsTGlz
dC5jb250YWlucygiZCIpJyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCJmb28gYmFyIGNob2NvbGF0
ZSIpOworICAgIHNob3VsZEJlKCdlbGVtZW50LnJlbExpc3QubGVuZ3RoJywgJzMnKTsKKyAgICBz
aG91bGRCZVRydWUoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygiZm9vIiknKTsKKyAgICBzaG91
bGRCZVRydWUoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygiYmFyIiknKTsKKyAgICBzaG91bGRC
ZVRydWUoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygiY2hvY29sYXRlIiknKTsKKyAgICBzaG91
bGRCZUZhbHNlKCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIm9yYW5nZSIpJyk7CisKKyAgICBl
bGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgncmVsJyk7CisgICAgc2hvdWxkQmUoJ2VsZW1lbnQucmVs
TGlzdC5sZW5ndGgnLCAnMCcpOworICAgIAorICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdyZWwn
LCAnJyk7CisgICAgc2hvdWxkQmUoJ2VsZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAnMCcpOworCisg
ICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3JlbCcsICdtYXJzaG1hbGxvdyBjaGlwcycpOworICAg
IHNob3VsZEJlKCdlbGVtZW50LnJlbExpc3QubGVuZ3RoJywgJzInKTsKKyAgICBzaG91bGRCZVRy
dWUoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygibWFyc2htYWxsb3ciKScpOworICAgIHNob3Vs
ZEJlVHJ1ZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJjaGlwcyIpJyk7CisgICAgc2hvdWxk
QmVGYWxzZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJvcmFuZ2UiKScpOworCisgICAgY3Jl
YXRlRWxlbWVudCgneCcpOworICAgIGVsZW1lbnQucmVsTGlzdCA9ICd5JzsKKyAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ1N0cmluZyhlbGVtZW50LnJlbExpc3QpJywgJ3gnKTsKKworICAgIGNy
ZWF0ZUVsZW1lbnQoJycpOworICAgIHNob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQucmVsTGlzdC5s
ZW5ndGgnLCAwKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJ3gnKTsKKyAgICBzaG91bGRFdmFsdWF0
ZVRvKCdlbGVtZW50LnJlbExpc3QubGVuZ3RoJywgMSk7CisKKyAgICBjcmVhdGVFbGVtZW50KCd4
IHgnKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LnJlbExpc3QubGVuZ3RoJywgMik7
CisKKyAgICBjcmVhdGVFbGVtZW50KCd4IHknKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCdlbGVt
ZW50LnJlbExpc3QubGVuZ3RoJywgMik7CisKKyAgICBjcmVhdGVFbGVtZW50KCcnKTsKKyAgICBl
bGVtZW50LnJlbExpc3QuYWRkKCd4Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVt
ZW50LnJlbCcsICd4Jyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCd4Jyk7CisgICAgZWxlbWVudC5y
ZWxMaXN0LmFkZCgneCcpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwn
LCAneCcpOworCisgICAgY3JlYXRlRWxlbWVudCgneCAgeCcpOworICAgIGVsZW1lbnQucmVsTGlz
dC5hZGQoJ3gnKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ3gg
IHgnKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJ3knKTsKKyAgICBlbGVtZW50LnJlbExpc3QuYWRk
KCd4Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICd5IHgnKTsK
KworICAgIGNyZWF0ZUVsZW1lbnQoJycpOworICAgIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoJ3gn
KTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJycpOworCisgICAg
Y3JlYXRlRWxlbWVudCgneCcpOworICAgIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoJ3gnKTsKKyAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJycpOworCisgICAgY3JlYXRl
RWxlbWVudCgnIHkgeCAgeSAnKTsKKyAgICBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCd4Jyk7Cisg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICcgeSB5ICcpOworCisgICAg
Y3JlYXRlRWxlbWVudCgnIHggeSAgeCAnKTsKKyAgICBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCd4
Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICd5Jyk7CisKKyAg
ICBkZWJ1ZygnRW5zdXJlIHRoYXQgd2UgY2FuIGhhbmRsZSBlbXB0eSByZWwgY29ycmVjdGx5Jyk7
CisgICAgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodHlwZSk7CisgICAgc2hvdWxk
QmVUcnVlKCJlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JykiKTsKKyAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ3gnKTsKKyAgICBzaG91bGRCZUZhbHNlKCJlbGVtZW50
LnJlbExpc3QudG9nZ2xlKCd4JykiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1l
bnQucmVsJywgJycpOworCisgICAgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodHlw
ZSk7CisgICAgc2hvdWxkQmVGYWxzZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJ4IiknKTsK
KyAgICBzaG91bGRCZVVuZGVmaW5lZCgnZWxlbWVudC5yZWxMaXN0WzFdJyk7CisgICAgZWxlbWVu
dC5yZWxMaXN0LnJlbW92ZSgneCcpOworICAgIHNob3VsZEJlRmFsc2UoJ2VsZW1lbnQucmVsTGlz
dC5jb250YWlucygieCIpJyk7CisgICAgZWxlbWVudC5yZWxMaXN0LmFkZCgneCcpOworICAgIHNo
b3VsZEJlVHJ1ZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJ4IiknKTsKKworICAgIGRlYnVn
KCdUZXN0IHRvZ2dsZSB3aXRoIGZvcmNlIGFyZ3VtZW50Jyk7CisgICAgY3JlYXRlRWxlbWVudCgn
Jyk7CisgICAgc2hvdWxkQmVUcnVlKCJlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgdHJ1ZSki
KTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ3gnKTsKKyAgICBz
aG91bGRCZVRydWUoImVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnLCB0cnVlKSIpOworICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAneCcpOworICAgIHNob3VsZEJlRmFs
c2UoImVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnLCBmYWxzZSkiKTsKKyAgICBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJycpOworICAgIHNob3VsZEJlRmFsc2UoImVsZW1l
bnQucmVsTGlzdC50b2dnbGUoJ3gnLCBmYWxzZSkiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2VsZW1lbnQucmVsJywgJycpOworICAgIHNob3VsZFRocm93KCdlbGVtZW50LnJlbExpc3Qu
dG9nZ2xlKCIiLCB0cnVlKScpOworICAgIHNob3VsZFRocm93KCdlbGVtZW50LnJlbExpc3QudG9n
Z2xlKCJ4IHkiLCBmYWxzZSknKTsKKworICAgIGRlYnVnKCdUZXN0aW5nIGFkZCBpbiBwcmVzZW5j
ZSBvZiB0cmFpbGluZyB3aGl0ZSBzcGFjZXMuJyk7CisgICAgY3JlYXRlRWxlbWVudCgneCAnKTsK
KyAgICBlbGVtZW50LnJlbExpc3QuYWRkKCd5Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdlbGVtZW50LnJlbCcsICd4IHknKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJ3hcdCcpOworICAg
IGVsZW1lbnQucmVsTGlzdC5hZGQoJ3knKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2Vs
ZW1lbnQucmVsJywgJ3hcdHknKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJyAnKTsKKyAgICBlbGVt
ZW50LnJlbExpc3QuYWRkKCd5Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50
LnJlbCcsICcgeScpOworCisgICAgZGVidWcoJ1Rlc3QgaW52YWxpZCB0b2tlbnMnKTsKKworICAg
IGNyZWF0ZUVsZW1lbnQoJ3gnKTsKKyAgICBzaG91bGRUaHJvdygnZWxlbWVudC5yZWxMaXN0LmNv
bnRhaW5zKCIiKScpOworCisgICAgY3JlYXRlRWxlbWVudCgneCB5Jyk7CisgICAgc2hvdWxkVGhy
b3coJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygieCB5IiknKTsKKworICAgIGNyZWF0ZUVsZW1l
bnQoJycpOworICAgIHNob3VsZFRocm93KCdlbGVtZW50LnJlbExpc3QuYWRkKCIiKScpOworCisg
ICAgY3JlYXRlRWxlbWVudCgnJyk7CisgICAgc2hvdWxkVGhyb3coJ2VsZW1lbnQucmVsTGlzdC5h
ZGQoInggeSIpJyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCcnKTsKKyAgICBzaG91bGRUaHJvdygn
ZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgiIiknKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJycpOwor
ICAgIHNob3VsZFRocm93KCdlbGVtZW50LnJlbExpc3QucmVtb3ZlKCJ4IHkiKScpOworCisgICAg
Y3JlYXRlRWxlbWVudCgnJyk7CisgICAgc2hvdWxkVGhyb3coJ2VsZW1lbnQucmVsTGlzdC50b2dn
bGUoIiIpJyk7CisKKyAgICBkZWJ1ZygnSW5kZXhpbmcnKTsKKyAgICBjcmVhdGVFbGVtZW50KCd4
Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbExpc3RbMF0nLCAneCcp
OworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWxMaXN0Lml0ZW0oMCknLCAn
eCcpOworCisgICAgY3JlYXRlRWxlbWVudCgneCB4Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdlbGVtZW50LnJlbExpc3RbMV0nLCAneCcpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZWxlbWVudC5yZWxMaXN0Lml0ZW0oMSknLCAneCcpOworCisgICAgY3JlYXRlRWxlbWVudCgn
eCB5Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbExpc3RbMV0nLCAn
eScpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWxMaXN0Lml0ZW0oMSkn
LCAneScpOworCisgICAgY3JlYXRlRWxlbWVudCgnJyk7CisgICAgc2hvdWxkQmVVbmRlZmluZWQo
J2VsZW1lbnQucmVsTGlzdFswXScpOworICAgIHNob3VsZEJlTnVsbCgnZWxlbWVudC5yZWxMaXN0
Lml0ZW0oMCknKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJ3ggeSB6Jyk7CisgICAgc2hvdWxkQmVV
bmRlZmluZWQoJ2VsZW1lbnQucmVsTGlzdFs0XScpOworICAgIHNob3VsZEJlTnVsbCgnZWxlbWVu
dC5yZWxMaXN0Lml0ZW0oNCknKTsKKyAgICBzaG91bGRCZVVuZGVmaW5lZCgnZWxlbWVudC5yZWxM
aXN0Wy0xXScpOworICAgIHNob3VsZEJlTnVsbCgnZWxlbWVudC5yZWxMaXN0Lml0ZW0oLTEpJyk7
CisgICAgc2hvdWxkVGhyb3coJ2VsZW1lbnQucmVsTGlzdC5pdGVtKCknKTsKKworICAgIGRlYnVn
KCdUZXN0IGNhc2Ugc2luY2UgRE9NVG9rZW5MaXN0IGlzIGNhc2Ugc2Vuc2l0aXZlJyk7CisgICAg
Y3JlYXRlRWxlbWVudCgneCcpOworICAgIHNob3VsZEJlVHJ1ZSgnZWxlbWVudC5yZWxMaXN0LmNv
bnRhaW5zKCJ4IiknKTsKKyAgICBzaG91bGRCZUZhbHNlKCdlbGVtZW50LnJlbExpc3QuY29udGFp
bnMoIlgiKScpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWxMaXN0WzBd
JywgJ3gnKTsKKyAgICBzaG91bGRUaHJvdygnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCknKTsK
KworICAgIGNyZWF0ZUVsZW1lbnQoJ1gnKTsKKyAgICBzaG91bGRCZVRydWUoJ2VsZW1lbnQucmVs
TGlzdC5jb250YWlucygiWCIpJyk7CisgICAgc2hvdWxkQmVGYWxzZSgnZWxlbWVudC5yZWxMaXN0
LmNvbnRhaW5zKCJ4IiknKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVs
TGlzdFswXScsICdYJyk7CisKKyAgICBkZWJ1ZygnVGVzdGluZyB3aGl0ZXNwYWNlJyk7CisgICAg
Y3JlYXRlRWxlbWVudCgneFx1MDAyMHknKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50
LnJlbExpc3QubGVuZ3RoJywgMik7CisKKyAgICBjcmVhdGVFbGVtZW50KCd4XHUwMDA5eScpOwor
ICAgIHNob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAyKTsKKworICAg
IGNyZWF0ZUVsZW1lbnQoJ3hcdTAwMEF5Jyk7CisgICAgc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVu
dC5yZWxMaXN0Lmxlbmd0aCcsIDIpOworCisgICAgY3JlYXRlRWxlbWVudCgneFx1MDAwQ3knKTsK
KyAgICBzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LnJlbExpc3QubGVuZ3RoJywgMik7CisKKyAg
ICBjcmVhdGVFbGVtZW50KCd4XHUwMDBEeScpOworICAgIHNob3VsZEV2YWx1YXRlVG8oJ2VsZW1l
bnQucmVsTGlzdC5sZW5ndGgnLCAyKTsKKworICAgIGRlYnVnKCdET01Ub2tlbkxpc3QgcHJlc2Vu
Y2UgYW5kIHR5cGUnKTsKKyAgICBzaG91bGRCZVRydWUoJ1wndW5kZWZpbmVkXCcgIT0gdHlwZW9m
IERPTVRva2VuTGlzdCcpOworCisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0eXBlb2YgRE9N
VG9rZW5MaXN0LnByb3RvdHlwZScsICdvYmplY3QnKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJ3gn
KTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3R5cGVvZiBlbGVtZW50LnJlbExpc3QnLCAn
b2JqZWN0Jyk7CisgICAgc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5yZWxMaXN0LmNvbnN0cnVj
dG9yJywgJ0RPTVRva2VuTGlzdCcpOworICAgIHNob3VsZEJlVHJ1ZSgnZWxlbWVudC5yZWxMaXN0
ID09PSBlbGVtZW50LnJlbExpc3QnKTsKKworICAgIGRlYnVnKCdWYXJpYWRpYyBjYWxscycpOwor
CisgICAgY3JlYXRlRWxlbWVudCgnJyk7CisgICAgZWxlbWVudC5yZWxMaXN0LmFkZCgnYScsICdi
Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICdhIGInKTsKKwor
ICAgIGVsZW1lbnQucmVsTGlzdC5hZGQoJ2EnLCAnYicsICdjJyk7CisgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICdhIGIgYycpOworCisgICAgZWxlbWVudC5yZWxMaXN0
LmFkZChudWxsLCB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkgeyByZXR1cm4gJ2QnIH19LCB1bmRlZmlu
ZWQsIDAsIGZhbHNlKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywg
J2EgYiBjIG51bGwgZCB1bmRlZmluZWQgMCBmYWxzZScpOworCisgICAgY3JlYXRlRWxlbWVudCgn
Jyk7CisgICAgZWxlbWVudC5yZWxMaXN0LmFkZCgnYScsICdiJywgJ2EnKTsKKyAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ2EgYicpOworCisgICAgY3JlYXRlRWxlbWVu
dCgnJyk7CisgICAgc2hvdWxkVGhyb3coJ2VsZW1lbnQucmVsTGlzdC5hZGQoImEiLCAiYiIsICIi
KScpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnJyk7CisgICAg
c2hvdWxkVGhyb3coJ2VsZW1lbnQucmVsTGlzdC5hZGQoImEiLCAiYiIsICJjIGQiKScpOworICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnJyk7CisgICAgc2hvdWxkVGhy
b3coJ2VsZW1lbnQucmVsTGlzdC5hZGQoImEiLCB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkgeyB0aHJv
dyBuZXcgRXJyb3IoInVzZXIgZXJyb3IiKTsgfX0sICJiIiknLCAnIkVycm9yOiB1c2VyIGVycm9y
IicpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnJyk7CisKKyAg
ICBjcmVhdGVFbGVtZW50KCcnKTsKKyAgICBzaG91bGROb3RUaHJvdygnZWxlbWVudC5yZWxMaXN0
LmFkZCgpJyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCcnKTsKKyAgICBvYnNlcnZlciA9IG5ldyBX
ZWJLaXRNdXRhdGlvbk9ic2VydmVyKGZ1bmN0aW9uKCkge30pOworICAgIG9ic2VydmVyLm9ic2Vy
dmUoZWxlbWVudCwge2F0dHJpYnV0ZXM6IHRydWV9KTsKKyAgICBlbGVtZW50LnJlbExpc3QuYWRk
KCdhJywgJ2MnKTsKKyAgICBzaG91bGRCZSgnb2JzZXJ2ZXIudGFrZVJlY29yZHMoKS5sZW5ndGgn
LCAnMScpOworCisgICAgY3JlYXRlRWxlbWVudCgnYSBiIGMgZCAgJyk7CisgICAgZWxlbWVudC5y
ZWxMaXN0LnJlbW92ZSgnYScsICdjJyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVt
ZW50LnJlbCcsICdiIGQgICcpOworCisgICAgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgnYicsICdi
Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICdkICAnKTsKKwor
ICAgIGNyZWF0ZUVsZW1lbnQoJ2EgYiBjIG51bGwgZCB1bmRlZmluZWQgMCBmYWxzZScpOworICAg
IGVsZW1lbnQucmVsTGlzdC5yZW1vdmUobnVsbCwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHsgcmV0
dXJuICdkJyB9fSwgdW5kZWZpbmVkLCAwLCBmYWxzZSk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdlbGVtZW50LnJlbCcsICdhIGIgYycpOworCisgICAgY3JlYXRlRWxlbWVudCgnYSBiJyk7
CisgICAgc2hvdWxkVGhyb3coJ2VsZW1lbnQucmVsTGlzdC5yZW1vdmUoImEiLCAiYiIsICIiKScp
OworCisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICdhIGInKTsKKyAg
ICBzaG91bGRUaHJvdygnZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgiYSIsIHt0b1N0cmluZzogZnVu
Y3Rpb24oKSB7IHRocm93IG5ldyBFcnJvcigidXNlciBlcnJvciIpOyB9fSwgImIiKScsICciRXJy
b3I6IHVzZXIgZXJyb3IiJyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJl
bCcsICdhIGInKTsKKworICAgIHNob3VsZFRocm93KCdlbGVtZW50LnJlbExpc3QucmVtb3ZlKCJh
IiwgImIiLCAiYyBkIiknKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVs
JywgJ2EgYicpOworICAgIHNob3VsZE5vdFRocm93KCdlbGVtZW50LnJlbExpc3QucmVtb3ZlKCkn
KTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJ2EgYiBjJyk7CisgICAgb2JzZXJ2ZXIgPSBuZXcgV2Vi
S2l0TXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbigpIHt9KTsKKyAgICBvYnNlcnZlci5vYnNlcnZl
KGVsZW1lbnQsIHthdHRyaWJ1dGVzOiB0cnVlfSk7CisgICAgZWxlbWVudC5yZWxMaXN0LnJlbW92
ZSgnYScsICdjJyk7CisgICAgc2hvdWxkQmUoJ29ic2VydmVyLnRha2VSZWNvcmRzKCkubGVuZ3Ro
JywgJzEnKTsKK30KKworZGVidWcoJ1Rlc3RzIHJlbExpc3QgZm9yIGFuY2hvciBlbGVtZW50Jyk7
Cit0eXBlID0gJ2EnOwordGVzdCgpOworZGVidWcoJ1Rlc3RzIHJlbExpc3QgZm9yIGFyZWEgZWxl
bWVudCcpOwordHlwZSA9ICdhcmVhJzsKK3Rlc3QoKTsKK2RlYnVnKCdUZXN0cyByZWxMaXN0IGZv
ciBsaW5rIGVsZW1lbnQnKTsKK3R5cGUgPSAnbGluayc7Cit0ZXN0KCk7CisKKzwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BlcmYvcmVsLWxpc3QtcmVtb3ZlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3BlcmYvcmVsLWxpc3QtcmVtb3ZlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYTk3Njg3
MzgyZmVjMzg3MzVhYzcxYzYyZmJkMzk5NjZmZjVjMGVkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvcGVyZi9yZWwtbGlzdC1yZW1vdmUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsOCBA
QAorVGVzdHMgdGhhdCByZWxMaXN0IHJlbW92ZSBpcyBsaW5lYXIuCitQQVNTCitQQVNTCitQQVNT
CitQQVNTCitQQVNTCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BlcmYvcmVsLWxp
c3QtcmVtb3ZlLmh0bWwgYi9MYXlvdXRUZXN0cy9wZXJmL3JlbC1saXN0LXJlbW92ZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjBjOWIwYzE4NjkzNDIzOWM5NzhlOTlhZWMyYmY0OTdlYWE2Zjg3ZGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmL3JlbC1saXN0LXJlbW92ZS5odG1sCkBAIC0w
LDAgKzEsNDIgQEAKKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbWFnbml0dWRlLXBlcmYuanMi
Pjwvc2NyaXB0PgorPHNjcmlwdD4KKwordmFyIGVsZW1lbnQsIHJlbCwgcmVsVG9SZW1vdmUsIHR5
cGU7CisKKy8vIFRlc3QgMSB0ZXN0cyB0aGF0IHJlbW92ZSBpcyBsaW5lYXIgd2hlbiB0aGVyZSBh
cmUgTiByZWxzLgorCitmdW5jdGlvbiBzZXR1cEZ1bmN0aW9uMShtYWduaXR1ZGUpCit7CisgICAg
ZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodHlwZSk7CisgICAgcmVsVG9SZW1vdmUg
PSAnYic7CisgICAgcmVsID0gQXJyYXkobWFnbml0dWRlKS5qb2luKCdhICcpICsgcmVsVG9SZW1v
dmU7Cit9CisKKy8vIFRlc3QgMiB0ZXN0cyB0aGF0IHJlbW92ZSBpcyBsaW5lYXIgd2hlbiB0aGUg
bGVuZ3RoIG9mIHRoZSByZWwgaXMgTi4KKworZnVuY3Rpb24gc2V0dXBGdW5jdGlvbjIobWFnbml0
dWRlKQoreworICAgIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHR5cGUpOworICAg
IHJlbFRvUmVtb3ZlID0gQXJyYXkobWFnbml0dWRlICsgMSkuam9pbignYScpOworICAgIHJlbCA9
IHJlbFRvUmVtb3ZlOworfQorCitmdW5jdGlvbiB0ZXN0KG1hZ25pdHVkZSkKK3sKKyAgICBlbGVt
ZW50LnJlbCA9IHJlbDsKKyAgICBlbGVtZW50LnJlbExpc3QucmVtb3ZlKHJlbFRvUmVtb3ZlKTsK
K30KKworTWFnbml0dWRlLmRlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IHJlbExpc3QgcmVtb3ZlIGlz
IGxpbmVhci4nKTsKK3R5cGUgPSAnYScKK01hZ25pdHVkZS5ydW4oc2V0dXBGdW5jdGlvbjEsIHRl
c3QsIE1hZ25pdHVkZS5MSU5FQVIpOworTWFnbml0dWRlLnJ1bihzZXR1cEZ1bmN0aW9uMiwgdGVz
dCwgTWFnbml0dWRlLkxJTkVBUik7Cit0eXBlID0gJ2FyZWEnCitNYWduaXR1ZGUucnVuKHNldHVw
RnVuY3Rpb24xLCB0ZXN0LCBNYWduaXR1ZGUuTElORUFSKTsKK01hZ25pdHVkZS5ydW4oc2V0dXBG
dW5jdGlvbjIsIHRlc3QsIE1hZ25pdHVkZS5MSU5FQVIpOwordHlwZSA9ICdsaW5rJworTWFnbml0
dWRlLnJ1bihzZXR1cEZ1bmN0aW9uMSwgdGVzdCwgTWFnbml0dWRlLkxJTkVBUik7CitNYWduaXR1
ZGUucnVuKHNldHVwRnVuY3Rpb24yLCB0ZXN0LCBNYWduaXR1ZGUuTElORUFSKTsKKworPC9zY3Jp
cHQ+Cis8L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240152</attachid>
            <date>2014-10-20 15:45:56 -0700</date>
            <delta_ts>2014-10-20 15:58:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137860-20141021054559.patch</filename>
            <type>text/plain</type>
            <size>53833</size>
            <attacher name="Dhi Aurrahman">diorahman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0ODU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTdkMThhNzg5Mzc4MzBh
ZTc1NTQ2MGZjMzE4NWUzMWI2MWY0YTM0ZS4uMzVjZThmYjE0NjdhMDY5ZjNkOGQ2NDY4OWFiOTc0
YTkxZmJlYmY4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDE0LTEwLTE5ICBEaGkg
QXVycmFobWFuICA8ZGlvcmFobWFuQHJvY2t5YmFycy5jb20+CisKKyAgICAgICAgQWRkIHJlbExp
c3QgdG8gdGhlIGFuY2hvciwgYXJlYSBhbmQgbGluayBlbGVtZW50cworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3ODYwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHJlbExpc3QgdG8gcmVmbGVjdCB0
aGUgcmVsIGNvbnRlbnQgYXR0cmlidXRlIGZvciBhbmNob3JbMV0sCisgICAgICAgIGFyZWFbMl0g
YW5kIGxpbmtbM10gZWxlbWVudHMuCisKKyAgICAgICAgWzFdIGh0dHBzOi8vaHRtbC5zcGVjLndo
YXR3Zy5vcmcvbXVsdGlwYWdlL3NlbWFudGljcy5odG1sI2RvbS1hLXJlbGxpc3QgCisgICAgICAg
IFsyXSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9lbWJlZGRlZC1jb250
ZW50Lmh0bWwjZG9tLWFyZWEtcmVsbGlzdAorICAgICAgICBbM10gaHR0cHM6Ly9odG1sLnNwZWMu
d2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc2VtYW50aWNzLmh0bWwjZG9tLWxpbmstcmVsbGlzdAorCisg
ICAgICAgIFRlc3RzOiBmYXN0L2RvbS9yZWwtbGlzdC1nYy5odG1sCisgICAgICAgICAgICAgICBm
YXN0L2RvbS9yZWwtbGlzdC5odG1sCisgICAgICAgICAgICAgICBwZXJmL3JlbC1saXN0LXJlbW92
ZS5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogZG9tL1NwYWNlU3BsaXRTdHJpbmcuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U3BhY2VTcGxpdFN0cmluZzo6c2V0KToKKyAgICAgICAgKiBodG1sL0hUTUxBbmNob3JF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBbmNob3JFbGVtZW50OjpzZXRSZWwp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTEFuY2hvckVsZW1lbnQ6OnJlbExpc3QpOgorICAgICAg
ICAqIGh0bWwvSFRNTEFuY2hvckVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxBbmNob3JF
bGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxBcmVhRWxlbWVudC5pZGw6CisgICAgICAg
ICogaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExpbmtF
bGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTGlua0VsZW1l
bnQ6OnJlbExpc3QpOgorICAgICAgICAqIGh0bWwvSFRNTExpbmtFbGVtZW50Lmg6CisgICAgICAg
ICogaHRtbC9IVE1MTGlua0VsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvUmVsTGlzdC5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVsTGlzdDo6UmVsTGlzdCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZWxMaXN0OjpyZWYpOgorICAgICAgICAoV2ViQ29yZTo6UmVsTGlzdDo6ZGVyZWYp
OgorICAgICAgICAoV2ViQ29yZTo6UmVsTGlzdDo6bGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbExpc3Q6Oml0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6UmVsTGlzdDo6ZWxlbWVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZWxMaXN0OjpzZXRSZWwpOgorICAgICAgICAoV2ViQ29yZTo6UmVs
TGlzdDo6Y29udGFpbnNJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpSZWxMaXN0Ojp2YWx1
ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZWxMaXN0OjpzZXRWYWx1ZSk6CisgICAgICAgICogaHRt
bC9SZWxMaXN0Lmg6IEFkZGVkLgorCiAyMDE0LTEwLTE2ICBSb2dlciBGb25nICA8cm9nZXJfZm9u
Z0BhcHBsZS5jb20+CiAKICAgICAgICAgQ2FsbGluZyBnbFJlYWRQaXhlbHMgd2l0aCBCR1JBIGZv
cm1hdCBvbiBhbiBOVklESUEgbWFjaGluZSB3aXRoIGFuIG9wYXF1ZSBjb250ZXh0IHJldHVybnMg
dGhlIHdyb25nIGFscGhhIHZhbHVlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNjdkMjE4YjJk
ZGVlMjU4MjBjYThiOGRmYzJlNjljZjY3MmVmMzAxZi4uMzJjNzY1ZGUzZWI5MDA1YjQwYjc0MjY4
MmZiNWFmMGNjNzA0MDUyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE2NzYsNiArMTY3Niw3
IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBodG1sL1JhZGlvSW5wdXRUeXBlLmNwcAogICAg
IGh0bWwvUmFkaW9Ob2RlTGlzdC5jcHAKICAgICBodG1sL1JhbmdlSW5wdXRUeXBlLmNwcAorICAg
IGh0bWwvUmVsTGlzdC5jcHAKICAgICBodG1sL1Jlc2V0SW5wdXRUeXBlLmNwcAogICAgIGh0bWwv
U2VhcmNoSW5wdXRUeXBlLmNwcAogICAgIGh0bWwvU3RlcFJhbmdlLmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggMmI4N2M4MjRmYmQ4
MDk1MTVkZDJjMTg1ZDNlZmFmZDkzMDI4MmM5Yy4uOWIxZWQ0N2UxMGMyNGQ5ODQ0ZDg2NTJjODc4
MzhmOTZkOGU1ZGIyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2Vi
Q29yZS52Y3hwcm9qCkBAIC0xNjA2Miw2ICsxNjA2Miw3IEBACiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxodG1sXFJhZGlvSW5wdXRUeXBlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXGh0bWxcUmFkaW9Ob2RlTGlzdC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlxodG1sXFJhbmdlSW5wdXRUeXBlLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXGh0bWxcUmVsTGlzdC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1s
XFJlc2V0SW5wdXRUeXBlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxc
U2VhcmNoSW5wdXRUeXBlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxc
U3RlcFJhbmdlLmNwcCIgLz4KQEAgLTIwODQyLDYgKzIwODQzLDcgQEAKICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGh0bWxcUmFkaW9JbnB1dFR5cGUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXGh0bWxcUmFkaW9Ob2RlTGlzdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5caHRtbFxSYW5nZUlucHV0VHlwZS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5caHRtbFxSZWxMaXN0LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXFJl
c2V0SW5wdXRUeXBlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXFNlYXJj
aElucHV0VHlwZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxTdGVwUmFu
Z2UuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ouZmlsdGVycwppbmRleCAxZTgxOTQ2MjlmYmE1MjMyOGJlODFjNGQ1NzVjZGE5
Yjg2MzUwYWZhLi4zYzI1NDBiM2E0OWYyMjcyMDBlOTdhZTg4M2I2ZTIxYzE1YTI5ZGNhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ai5maWx0ZXJzCkBAIC00MDUzLDYgKzQwNTMsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5caHRtbFxSYW5nZUlucHV0VHlwZS5jcHAiPgogICAgICAgPEZpbHRlcj5odG1sPC9GaWx0ZXI+
CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXFJlbExp
c3QuY3BwIj4KKyAgICAgIDxGaWx0ZXI+aHRtbDwvRmlsdGVyPgorICAgIDwvQ2xDb21waWxlPgog
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxSZXNldElucHV0VHlwZS5jcHAiPgogICAg
ICAgPEZpbHRlcj5odG1sPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC0xMTIxNyw2ICsx
MTIyMCw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXFJhbmdlSW5wdXRUeXBl
LmgiPgogICAgICAgPEZpbHRlcj5odG1sPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CisgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXFJlbExpc3QuaCI+CisgICAgICA8RmlsdGVyPmh0
bWw8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGh0bWxcUmVzZXRJbnB1dFR5cGUuaCI+CiAgICAgICA8RmlsdGVyPmh0bWw8L0ZpbHRlcj4KICAg
ICA8L0NsSW5jbHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCA0Y2Q0NWU3MDBjNGRlZDU0YzRhNDhmNGZjMGFmNWYwZGVkZDJl
MTdiLi45NWE4ZTI3ZjkyMDNlMmQwYjExOTI2MjJkNTQ4ZTYxMzVmYWYxZjdlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00Njk4
LDYgKzQ2OTgsOCBAQAogCQlCMkVEOTc3MTBCMUY1NUNFMDAyNTdEMEYgLyogR3JhcGhpY3NDb250
ZXh0Q0cuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QjJFRDk3NzAwQjFGNTVDRTAwMjU3RDBGIC8qIEdyYXBoaWNzQ29udGV4dENHLmNwcCAqLzsgfTsK
IAkJQjJGMzRGRTYwRTgyRjgxNDAwRjYyN0NEIC8qIEROUy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJGMzRGRTUwRTgyRjgxNDAwRjYyN0NEIC8qIERO
Uy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUIy
RjM0RkU5MEU4MkY4MjcwMEY2MjdDRCAvKiBETlNDRk5ldC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkYzNEZFODBFODJGODI3MDBGNjI3Q0QgLyog
RE5TQ0ZOZXQuY3BwICovOyB9OworCQlCMkY3OENGRDE5RjJGMDJEMDA0OTY5NkMgLyogUmVsTGlz
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkY3
OENGQjE5RjJGMDJEMDA0OTY5NkMgLyogUmVsTGlzdC5jcHAgKi87IH07CisJCUIyRjc4Q0ZFMTlG
MkYwMkQwMDQ5Njk2QyAvKiBSZWxMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCMkY3OENGQzE5RjJGMDJEMDA0OTY5NkMgLyogUmVsTGlzdC5oICov
OyB9OwogCQlCMkZBM0QzNjBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdBbmltYXRlQ29sb3JFbGVt
ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIy
RkEzQzRFMEFCNzVBNkUwMDBFNUFDNCAvKiBKU1NWR0FuaW1hdGVDb2xvckVsZW1lbnQuY3BwICov
OyB9OwogCQlCMkZBM0QzNzBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdBbmltYXRlQ29sb3JFbGVt
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkZB
M0M0RjBBQjc1QTZFMDAwRTVBQzQgLyogSlNTVkdBbmltYXRlQ29sb3JFbGVtZW50LmggKi87IH07
CiAJCUIyRkEzRDM4MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0FuaW1hdGVkQW5nbGUuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJGQTNDNTAwQUI3
NUE2RTAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZWRBbmdsZS5jcHAgKi87IH07CkBAIC0xMjA3Niw2
ICsxMjA3OCw4IEBACiAJCUIyRUQ5NzcwMEIxRjU1Q0UwMDI1N0QwRiAvKiBHcmFwaGljc0NvbnRl
eHRDRy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR3JhcGhpY3ND
b250ZXh0Q0cuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMkYzNEZFNTBFODJG
ODE0MDBGNjI3Q0QgLyogRE5TLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERO
Uy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMkYzNEZFODBFODJGODI3MDBGNjI3
Q0QgLyogRE5TQ0ZOZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RE5TQ0ZOZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMkY3OENGQjE5RjJG
MDJEMDA0OTY5NkMgLyogUmVsTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBSZWxMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjJGNzhD
RkMxOUYyRjAyRDAwNDk2OTZDIC8qIFJlbExpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUmVsTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMkZBM0M0
RTBBQjc1QTZFMDAwRTVBQzQgLyogSlNTVkdBbmltYXRlQ29sb3JFbGVtZW50LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1NWR0FuaW1hdGVDb2xvckVsZW1lbnQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMkZBM0M0RjBBQjc1QTZFMDAwRTVB
QzQgLyogSlNTVkdBbmltYXRlQ29sb3JFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU1NWR0FuaW1hdGVDb2xvckVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQjJGQTNDNTAwQUI3NUE2RTAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZWRBbmds
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTVkdBbmltYXRl
ZEFuZ2xlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3OTI4LDYgKzE3OTMy
LDggQEAKIAkJCQlCNjU4RkZBNDE1MjJFRkFBMDBERDU1OTUgLyogUmFkaW9Ob2RlTGlzdC5oICov
LAogCQkJCUY1NUIzRDk5MTI1MUYxMkQwMDNFRjI2OSAvKiBSYW5nZUlucHV0VHlwZS5jcHAgKi8s
CiAJCQkJRjU1QjNEOUExMjUxRjEyRDAwM0VGMjY5IC8qIFJhbmdlSW5wdXRUeXBlLmggKi8sCisJ
CQkJQjJGNzhDRkIxOUYyRjAyRDAwNDk2OTZDIC8qIFJlbExpc3QuY3BwICovLAorCQkJCUIyRjc4
Q0ZDMTlGMkYwMkQwMDQ5Njk2QyAvKiBSZWxMaXN0LmggKi8sCiAJCQkJRjU1QjNEOUIxMjUxRjEy
RDAwM0VGMjY5IC8qIFJlc2V0SW5wdXRUeXBlLmNwcCAqLywKIAkJCQlGNTVCM0Q5QzEyNTFGMTJE
MDAzRUYyNjkgLyogUmVzZXRJbnB1dFR5cGUuaCAqLywKIAkJCQlGNTVCM0Q5RDEyNTFGMTJEMDAz
RUYyNjkgLyogU2VhcmNoSW5wdXRUeXBlLmNwcCAqLywKQEAgLTI0Njg4LDYgKzI0Njk0LDcgQEAK
IAkJCQlFMTU3QThGMTE4MTg1NDI1MDA5RjgyMUQgLyogSlNDcnlwdG9BbGdvcml0aG1CdWlsZGVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUM2NTcxMzE4MTVGOUREMDAyNTZDREQgLyogSlNDcnlw
dG9BbGdvcml0aG1EaWN0aW9uYXJ5LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTU3QThFMTE4MTcz
MzFDMDA5RjgyMUQgLyogSlNDcnlwdG9LZXkuaCBpbiBIZWFkZXJzICovLAorCQkJCUIyRjc4Q0ZF
MTlGMkYwMkQwMDQ5Njk2QyAvKiBSZWxMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUY4MEI4
RTE4MzE3MkI1MDA3ODg1QzMgLyogSlNDcnlwdG9LZXlQYWlyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFMTI1Rjg1MjE4MjgzQTU2MDBEODRDRDkgLyogSlNDcnlwdG9LZXlTZXJpYWxpemF0aW9uSldL
LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTI1RjgzRTE4MjQxMUU3MDBEODRDRDkgLyogSlNDcnlw
dG9PcGVyYXRpb25EYXRhLmggaW4gSGVhZGVycyAqLywKQEAgLTI3NDE5LDYgKzI3NDI2LDcgQEAK
IAkJCQlDRUNBREZDNjE1Mzc3OEZGMDBFMzcwNjggLyogRGljdGF0aW9uQWx0ZXJuYXRpdmUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQ0VDQURGQzgxNTM3NzhGRjAwRTM3MDY4IC8qIERpY3RhdGlv
bkNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRDBCRDRGNUMxNDA4ODUwRjAwNjgzOUI2
IC8qIERpY3RhdGlvbkNvbW1hbmRJT1MuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjJGNzhDRkQx
OUYyRjAyRDAwNDk2OTZDIC8qIFJlbExpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzEyRDY3
QjExNTM1NjkxRjAwNTYzRDBEIC8qIERpY3Rpb25hcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
RkRBRjE5OTgxNTEzRDEzMTAwOERCMEMzIC8qIERpcmVjdENvbnZvbHZlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk0OUZDN0E1MDE0NDRBRjVGMDBBNUQ4NjQgLyogRGlzcGxheVJlZnJlc2hNb25p
dG9yLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Nw
YWNlU3BsaXRTdHJpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcu
Y3BwCmluZGV4IDYyMmE3ZjJkODVhMjE3NmQ5OTI4NzU2NWI4YTE2MTVkMWJmYzgxOGYuLmFhZWFh
MTNlNGFlMjIzMWU4ZTIyYWJhMjc0OWZjNDUxZDk0NzIwZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
U3BhY2VTcGxpdFN0cmluZy5jcHAKQEAgLTk0LDYgKzk0LDEwIEBAIHN0YXRpYyBTcGFjZVNwbGl0
U3RyaW5nVGFibGUmIHNwYWNlU3BsaXRTdHJpbmdUYWJsZSgpCiAKIHZvaWQgU3BhY2VTcGxpdFN0
cmluZzo6c2V0KGNvbnN0IEF0b21pY1N0cmluZyYgaW5wdXRTdHJpbmcsIGJvb2wgc2hvdWxkRm9s
ZENhc2UpCiB7CisgICAgaWYgKGlucHV0U3RyaW5nLmlzTnVsbCgpKSB7CisgICAgICAgIGNsZWFy
KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAgICAgbV9kYXRhID0gU3BhY2VTcGxpdFN0cmlu
Z0RhdGE6OmNyZWF0ZShzaG91bGRGb2xkQ2FzZSA/IGlucHV0U3RyaW5nLmNvbnZlcnRUb0FTQ0lJ
TG93ZXJjYXNlKCkgOiBpbnB1dFN0cmluZyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
QW5jaG9yRWxlbWVudC5jcHAKaW5kZXggMjFlMTM5M2IzODllMjA5MjRkMDE0ZDYxMzIxMGJmM2Ix
NDVkMjI3ZC4uYzIwZmZmNWEzMTE4MmMwY2FiZDQyNjBmN2M0NGFjYTgwNjEwNGYxMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAKQEAgLTQxLDYgKzQxLDcgQEAK
ICNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAiUGluZ0xvYWRlci5oIgogI2luY2x1
ZGUgIlBsYXRmb3JtTW91c2VFdmVudC5oIgorI2luY2x1ZGUgIlJlbExpc3QuaCIKICNpbmNsdWRl
ICJSZW5kZXJJbWFnZS5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUg
IlNWR0ltYWdlLmgiCkBAIC0yNjEsOCArMjYyLDEyIEBAIHZvaWQgSFRNTEFuY2hvckVsZW1lbnQ6
OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0
CiAgICAgICAgIGludmFsaWRhdGVDYWNoZWRWaXNpdGVkTGlua0hhc2goKTsKICAgICB9IGVsc2Ug
aWYgKG5hbWUgPT0gbmFtZUF0dHIgfHwgbmFtZSA9PSB0aXRsZUF0dHIpIHsKICAgICAgICAgLy8g
RG8gbm90aGluZy4KLSAgICB9IGVsc2UgaWYgKG5hbWUgPT0gcmVsQXR0cikKLSAgICAgICAgc2V0
UmVsKHZhbHVlKTsKKyAgICB9IGVsc2UgaWYgKG5hbWUgPT0gcmVsQXR0cikgeworICAgICAgICBp
ZiAoU3BhY2VTcGxpdFN0cmluZzo6c3BhY2VTcGxpdFN0cmluZ0NvbnRhaW5zVmFsdWUodmFsdWUs
ICJub3JlZmVycmVyIiwgdHJ1ZSkpCisgICAgICAgICAgICBtX2xpbmtSZWxhdGlvbnMgfD0gUmVs
YXRpb25Ob1JlZmVycmVyOworICAgICAgICBpZiAobV9yZWxMaXN0KQorICAgICAgICAgICAgbV9y
ZWxMaXN0LT5zZXRSZWwodmFsdWUpOworICAgIH0KICAgICBlbHNlCiAgICAgICAgIEhUTUxFbGVt
ZW50OjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7CiB9CkBAIC0zMTAsMTAgKzMxNSwxMSBA
QCBib29sIEhUTUxBbmNob3JFbGVtZW50OjpoYXNSZWwodWludDMyX3QgcmVsYXRpb24pIGNvbnN0
CiAgICAgcmV0dXJuIG1fbGlua1JlbGF0aW9ucyAmIHJlbGF0aW9uOwogfQogCi12b2lkIEhUTUxB
bmNob3JFbGVtZW50OjpzZXRSZWwoY29uc3QgU3RyaW5nJiB2YWx1ZSkKK0RPTVRva2VuTGlzdCYg
SFRNTEFuY2hvckVsZW1lbnQ6OnJlbExpc3QoKQogewotICAgIGlmIChTcGFjZVNwbGl0U3RyaW5n
OjpzcGFjZVNwbGl0U3RyaW5nQ29udGFpbnNWYWx1ZSh2YWx1ZSwgIm5vcmVmZXJyZXIiLCB0cnVl
KSkKLSAgICAgICAgbV9saW5rUmVsYXRpb25zIHw9IFJlbGF0aW9uTm9SZWZlcnJlcjsKKyAgICBp
ZiAoIW1fcmVsTGlzdCkgCisgICAgICAgIG1fcmVsTGlzdCA9IHN0ZDo6bWFrZV91bmlxdWU8UmVs
TGlzdD4oKnRoaXMpOworICAgIHJldHVybiAqbV9yZWxMaXN0OwogfQogCiBjb25zdCBBdG9taWNT
dHJpbmcmIEhUTUxBbmNob3JFbGVtZW50OjpuYW1lKCkgY29uc3QKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTEFuY2hvckVsZW1lbnQuaAppbmRleCAxOTc0MTA3NDFiZGQwZTgzODhjMGQzODVmNDhhNDEx
ODVhNTk2YTEyLi4zMDkxNWQzN2QyOTgyYmIwNDVkNTM5OTUwNTBlZGM2MWZmMDNjNDJhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oCkBAIC0zMCw2ICszMCw4IEBACiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgUmVsTGlzdDsKKwogLy8gTGluayByZWxhdGlv
biBiaXRtYXNrIHZhbHVlcy4KIC8vIEZJWE1FOiBVbmNvbW1lbnQgYXMgdGhlIHZhcmlvdXMgbGlu
ayByZWxhdGlvbnMgYXJlIGltcGxlbWVudGVkLgogZW51bSB7CkBAIC05NywxMSArOTksMTIgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgYm9vbCB3aWxsUmVzcG9uZFRvTW91c2VDbGlja0V2ZW50cygp
IG92ZXJyaWRlOwogCiAgICAgYm9vbCBoYXNSZWwodWludDMyX3QgcmVsYXRpb24pIGNvbnN0Owot
ICAgIHZvaWQgc2V0UmVsKGNvbnN0IFN0cmluZyYpOwogICAgIAogICAgIExpbmtIYXNoIHZpc2l0
ZWRMaW5rSGFzaCgpIGNvbnN0OwogICAgIHZvaWQgaW52YWxpZGF0ZUNhY2hlZFZpc2l0ZWRMaW5r
SGFzaCgpIHsgbV9jYWNoZWRWaXNpdGVkTGlua0hhc2ggPSAwOyB9CiAKKyAgICBET01Ub2tlbkxp
c3QmIHJlbExpc3QoKTsKKwogcHJvdGVjdGVkOgogICAgIEhUTUxBbmNob3JFbGVtZW50KGNvbnN0
IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC0xNDAsNiArMTQzLDggQEAgcHJpdmF0
ZToKICAgICBib29sIG1fd2FzU2hpZnRLZXlEb3duT25Nb3VzZURvd24gOiAxOwogICAgIHVpbnQz
Ml90IG1fbGlua1JlbGF0aW9ucyA6IDMwOwogICAgIG11dGFibGUgTGlua0hhc2ggbV9jYWNoZWRW
aXNpdGVkTGlua0hhc2g7CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVsTGlzdD4gbV9yZWxMaXN0
OwogfTsKIAogaW5saW5lIExpbmtIYXNoIEhUTUxBbmNob3JFbGVtZW50Ojp2aXNpdGVkTGlua0hh
c2goKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxl
bWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbAppbmRl
eCBkZjY4MzYyODJmZjZlNDkzOWMzMTM1MWM3ZjQzOGU3ODRlYjhlMmVjLi41ZjM3ZWY5MzNmYjM3
NTc2Njc3OThiMzMwOGVjYTE1Y2QxZDQ1MmRjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxB
bmNob3JFbGVtZW50LmlkbApAQCAtNjYsNSArNjYsNyBAQCBpbnRlcmZhY2UgSFRNTEFuY2hvckVs
ZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgLy8gT2JqZWN0aXZlLUMgZXh0ZW5zaW9uOgogICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBVUkwgYWJzb2x1dGVMaW5rVVJMOwogI2VuZGlmCisKKyAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgRE9NVG9rZW5MaXN0IHJlbExpc3Q7CiB9OwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcmVhRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxBcmVhRWxlbWVudC5pZGwKaW5kZXggZDAyNTA1MjliMTZhZDlmZTk3YjAxZGFh
NThmOGJmNjc1ZWM1YTRlNC4uOGYzZjMzMDRiZWRiNWY3YmJiY2E0NjM4NTEwMmNhMTAwNmQzMGE5
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXJlYUVsZW1lbnQuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmlkbApAQCAtMjQsNiArMjQs
NyBAQCBpbnRlcmZhY2UgSFRNTEFyZWFFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgIFtSZWZs
ZWN0LCBVUkxdIGF0dHJpYnV0ZSBET01TdHJpbmcgaHJlZjsKICAgICBbUmVmbGVjdF0gYXR0cmli
dXRlIGJvb2xlYW4gbm9IcmVmOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHBp
bmc7CisgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVsOwogICAgIFtSZWZsZWN0
XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNoYXBlOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIHRhcmdldDsKIApAQCAtNDMsNSArNDQsNyBAQCBpbnRlcmZhY2UgSFRNTEFyZWFFbGVt
ZW50IDogSFRNTEVsZW1lbnQgewogICAgIC8vIE9iamVjdGl2ZS1DIGV4dGVuc2lvbjoKICAgICBy
ZWFkb25seSBhdHRyaWJ1dGUgVVJMIGFic29sdXRlTGlua1VSTDsKICNlbmRpZgorCisgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIERPTVRva2VuTGlzdCByZWxMaXN0OwogfTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwCmluZGV4IGZhNzU4MTE1N2ZjNTM2M2U4YjQ5Y2UzMjY1
NWZhN2YwODEwNjliNzkuLjY3ZWM0YzEyNzdiZGEyMjY0NDAxMDkxYTk2MzlhZDhlMmRlYWJjODEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAKQEAgLTQ1LDYgKzQ1LDcg
QEAKICNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiTW91c2VFdmVu
dC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJSZWxMaXN0LmgiCiAjaW5jbHVkZSAi
UmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgogI2luY2x1ZGUgIlNl
dHRpbmdzLmgiCkBAIC0xMzgsNiArMTM5LDggQEAgdm9pZCBIVE1MTGlua0VsZW1lbnQ6OnBhcnNl
QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0cmkKIHsK
ICAgICBpZiAobmFtZSA9PSByZWxBdHRyKSB7CiAgICAgICAgIG1fcmVsQXR0cmlidXRlID0gTGlu
a1JlbEF0dHJpYnV0ZSh2YWx1ZSk7CisgICAgICAgIGlmIChtX3JlbExpc3QpCisgICAgICAgICAg
ICBtX3JlbExpc3QtPnNldFJlbCh2YWx1ZSk7CiAgICAgICAgIHByb2Nlc3MoKTsKICAgICB9IGVs
c2UgaWYgKG5hbWUgPT0gaHJlZkF0dHIpIHsKICAgICAgICAgcHJvY2VzcygpOwpAQCAtMzc2LDYg
KzM3OSwxMyBAQCB2b2lkIEhUTUxMaW5rRWxlbWVudDo6ZGlzcGF0Y2hQZW5kaW5nRXZlbnQoTGlu
a0V2ZW50U2VuZGVyKiBldmVudFNlbmRlcikKICAgICAgICAgbGlua0xvYWRpbmdFcnJvcmVkKCk7
CiB9CiAKK0RPTVRva2VuTGlzdCYgSFRNTExpbmtFbGVtZW50OjpyZWxMaXN0KCkKK3sKKyAgICBp
ZiAoIW1fcmVsTGlzdCkgCisgICAgICAgIG1fcmVsTGlzdCA9IHN0ZDo6bWFrZV91bmlxdWU8UmVs
TGlzdD4oKnRoaXMpOworICAgIHJldHVybiAqbV9yZWxMaXN0OworfQorCiB2b2lkIEhUTUxMaW5r
RWxlbWVudDo6bm90aWZ5TG9hZGVkU2hlZXRBbmRBbGxDcml0aWNhbFN1YnJlc291cmNlcyhib29s
IGVycm9yT2NjdXJyZWQpCiB7CiAgICAgaWYgKG1fZmlyZWRMb2FkKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTExpbmtFbGVtZW50LmgKaW5kZXggY2RkN2I0NzdkYWVmM2M1MzBlOWQ0N2UyNWZiZmZmNTli
ZTkzM2FiNi4uMzIxM2ViZjJjZDczZjNiOWIzNjg1NGZjZjI5NzJjYmRiZTBlYTRmNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5oCkBAIC0zNyw2ICszNyw3IEBACiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxMaW5rRWxlbWVudDsKK2NsYXNzIFJlbExpc3Q7CiBj
bGFzcyBVUkw7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIEV2ZW50U2VuZGVyOwpAQCAt
NzEsNiArNzIsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBkaXNwYXRjaFBlbmRpbmdFdmVudChMaW5r
RXZlbnRTZW5kZXIqKTsKICAgICBzdGF0aWMgdm9pZCBkaXNwYXRjaFBlbmRpbmdMb2FkRXZlbnRz
KCk7CiAKKyAgICBET01Ub2tlbkxpc3QmIHJlbExpc3QoKTsKKwogcHJpdmF0ZToKICAgICB2aXJ0
dWFsIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYsIGNvbnN0IEF0b21p
Y1N0cmluZyYpIG92ZXJyaWRlOwogCkBAIC0xMDAsNyArMTAzLDYgQEAgcHJpdmF0ZToKICAgICB2
aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihFdmVudCopIG92ZXJyaWRlOwogICAgIHZv
aWQgaGFuZGxlQ2xpY2soRXZlbnQmKTsKIAotcHJpdmF0ZToKICAgICBIVE1MTGlua0VsZW1lbnQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50JiwgYm9vbCBjcmVhdGVkQnlQYXJzZXIpOwog
CiAgICAgdmlydHVhbCB2b2lkIGFkZFN1YnJlc291cmNlQXR0cmlidXRlVVJMcyhMaXN0SGFzaFNl
dDxVUkw+JikgY29uc3Qgb3ZlcnJpZGU7CkBAIC0xMzgsNiArMTQwLDggQEAgcHJpdmF0ZToKICAg
ICBib29sIG1fbG9hZGVkU2hlZXQ7CiAKICAgICBQZW5kaW5nU2hlZXRUeXBlIG1fcGVuZGluZ1No
ZWV0VHlwZTsKKworICAgIHN0ZDo6dW5pcXVlX3B0cjxSZWxMaXN0PiBtX3JlbExpc3Q7CiB9Owog
CiB9IC8vbmFtZXNwYWNlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5r
RWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5pZGwKaW5k
ZXggMGE0ZTM0NzU5ZjU3ZDk4YThmYzBjMWJlYjcyMWM5NzZkN2MwN2Y3Ni4uOTVhNjQxY2NmNWQ5
MGEyODYyNmY3YjRiN2E0ZTAwNTg1YTMzMjAyMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTGlua0VsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExp
bmtFbGVtZW50LmlkbApAQCAtNDAsNSArNDAsNyBAQCBpbnRlcmZhY2UgSFRNTExpbmtFbGVtZW50
IDogSFRNTEVsZW1lbnQgewogICAgIC8vIE9iamVjdGl2ZS1DIGV4dGVuc2lvbjoKICAgICByZWFk
b25seSBhdHRyaWJ1dGUgVVJMIGFic29sdXRlTGlua1VSTDsKICNlbmRpZgorCisgICAgcmVhZG9u
bHkgYXR0cmlidXRlIERPTVRva2VuTGlzdCByZWxMaXN0OwogfTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9SZWxMaXN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvUmVsTGlz
dC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZTY4NThlNjdhNzVjMTkzMmVmOTZkODkxODljNTIzYmUwMjE4ZThk
MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvUmVsTGlzdC5jcHAKQEAg
LTAsMCArMSw4OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBEaGkgQXVycmFobWFuIDxk
aW9yYWhtYW5Acm9ja3liYXJzLmNvbT4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJSZWxMaXN0LmgiCisKKyNpbmNsdWRlICJFbGVtZW50LmgiCisjaW5jbHVkZSAi
SFRNTE5hbWVzLmgiCisjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK1JlbExpc3Q6OlJlbExpc3QoRWxlbWVudCYgZWxlbWVudCkgCisgICAgOiBt
X2VsZW1lbnQoZWxlbWVudCkgCit7CisgICAgbV9yZWxzLnNldChlbGVtZW50LmZhc3RHZXRBdHRy
aWJ1dGUoSFRNTE5hbWVzOjpyZWxBdHRyKSwgZmFsc2UpOworfQorCit2b2lkIFJlbExpc3Q6OnJl
ZigpCit7CisgICAgbV9lbGVtZW50LnJlZigpOworfQorCit2b2lkIFJlbExpc3Q6OmRlcmVmKCkK
K3sKKyAgICBtX2VsZW1lbnQuZGVyZWYoKTsKK30KKwordW5zaWduZWQgUmVsTGlzdDo6bGVuZ3Ro
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9yZWxzLnNpemUoKTsKK30KKworY29uc3QgQXRvbWlj
U3RyaW5nIFJlbExpc3Q6Oml0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0Cit7CisgICAgaWYgKGlu
ZGV4ID49IGxlbmd0aCgpKQorICAgICAgICByZXR1cm4gbnVsbEF0b207CisgICAgcmV0dXJuIG1f
cmVsc1tpbmRleF07Cit9CisKK0VsZW1lbnQqIFJlbExpc3Q6OmVsZW1lbnQoKSBjb25zdAorewor
ICAgIHJldHVybiAmbV9lbGVtZW50OworfQorCit2b2lkIFJlbExpc3Q6OnNldFJlbChjb25zdCBB
dG9taWNTdHJpbmcmIHZhbHVlKQoreworICAgIG1fcmVscy5zZXQodmFsdWUsIGZhbHNlKTsKK30K
KworYm9vbCBSZWxMaXN0Ojpjb250YWluc0ludGVybmFsKGNvbnN0IEF0b21pY1N0cmluZyYgdG9r
ZW4pIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fcmVscy5jb250YWlucyh0b2tlbik7Cit9CisKK0F0
b21pY1N0cmluZyBSZWxMaXN0Ojp2YWx1ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fZWxlbWVu
dC5mYXN0R2V0QXR0cmlidXRlKEhUTUxOYW1lczo6cmVsQXR0cik7Cit9CisKK3ZvaWQgUmVsTGlz
dDo6c2V0VmFsdWUoY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1ZSkKK3sKKyAgICBtX2VsZW1lbnQu
c2V0QXR0cmlidXRlKEhUTUxOYW1lczo6cmVsQXR0ciwgdmFsdWUpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvUmVsTGlzdC5o
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9SZWxMaXN0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmIwYjdjMjZiNDQx
Y2I2NjRmYWQyNTg2Mjc0NjU4ZTNiMzdhZmI4MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvUmVsTGlzdC5oCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTQgRGhpIEF1cnJhaG1hbiA8ZGlvcmFobWFuQHJvY2t5YmFycy5jb20+CisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiAgUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK
KyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTCisgKiBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIFJlbExpc3RfaAorI2RlZmluZSBSZWxMaXN0X2gKKworI2luY2x1ZGUgIkRP
TVRva2VuTGlzdC5oIgorI2luY2x1ZGUgIlNwYWNlU3BsaXRTdHJpbmcuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitjbGFzcyBFbGVtZW50OworCitjbGFzcyBSZWxMaXN0IGZpbmFsIDogcHVi
bGljIERPTVRva2VuTGlzdCB7CitwdWJsaWM6CisgICAgUmVsTGlzdChFbGVtZW50Jik7CisgICAg
dm9pZCBzZXRSZWwoY29uc3QgQXRvbWljU3RyaW5nJik7CisKK3ByaXZhdGU6CisgICAgdmlydHVh
bCB2b2lkIHJlZigpIG92ZXJyaWRlOworICAgIHZpcnR1YWwgdm9pZCBkZXJlZigpIG92ZXJyaWRl
OworICAgIHZpcnR1YWwgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmly
dHVhbCBjb25zdCBBdG9taWNTdHJpbmcgaXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3Qgb3ZlcnJp
ZGU7CisgICAgdmlydHVhbCBFbGVtZW50KiBlbGVtZW50KCkgY29uc3Qgb3ZlcnJpZGU7CisgICAg
dmlydHVhbCBib29sIGNvbnRhaW5zSW50ZXJuYWwoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Qg
b3ZlcnJpZGU7CisgICAgdmlydHVhbCBBdG9taWNTdHJpbmcgdmFsdWUoKSBjb25zdCBvdmVycmlk
ZTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0VmFsdWUoY29uc3QgQXRvbWljU3RyaW5nJikgb3ZlcnJp
ZGU7CisgICAgCisgICAgRWxlbWVudCYgbV9lbGVtZW50OworICAgIG11dGFibGUgU3BhY2VTcGxp
dFN0cmluZyBtX3JlbHM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBSZWxMaXN0X2gKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDUxOThjMGI0NGMzMDgwZDllOGMwNTY4Y2FjZTgwODI4Mjcy
NjM0ZDEuLjUxYzQ5ODI5MDkxZTdkMmE5NjI0ZTk5OGFjNmVkYTc1MzQ5YzcwNzIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxOSBAQAorMjAxNC0xMC0xOSAgRGhpIEF1cnJhaG1hbiAgPGRpb3JhaG1hbkByb2Nr
eWJhcnMuY29tPgorCisgICAgICAgIEFkZCByZWxMaXN0IHRvIHRoZSBhbmNob3IsIGFyZWEgYW5k
IGxpbmsgZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEzNzg2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFRlc3RzIHJlbExpc3QgYXNwZWN0cyBmb3IgYW5jaG9yLCBhcmVhIGFuZCBsaXN0IGVs
ZW1lbnRzLgorCisgICAgICAgICogZmFzdC9kb20vcmVsLWxpc3QtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2RvbS9yZWwtbGlzdC1nYy1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZG9tL3JlbC1saXN0LWdjLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZG9tL3JlbC1saXN0Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHBlcmYvcmVsLWxpc3QtcmVt
b3ZlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZi9yZWwtbGlzdC1yZW1vdmUu
aHRtbDogQWRkZWQuCisKIDIwMTQtMTAtMTcgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBs
ZS5jb20+CiAKICAgICAgICAgRG9uJ3QgY3JlYXRlIGNhY2hlZCBmdW5jdGlvbnMgdGhhdCBhY2Nl
c3MgbGV4aWNhbEdsb2JhbE9iamVjdCgpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9yZWwtbGlzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9yZWwtbGlzdC1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDEwZTkwNzAyZjMzYzk1NTdkNjU3ZGJkMzFkODA2YzRi
YjM2MGM3NQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3JlbC1saXN0
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDM3OCBAQAorVGVzdHMgdGhhdCByZWxMaXN0IHdvcmtz
IG9uIGFuY2hvciwgYXJlYSBhbmQgbGluayBlbGVtZW50cworCitPbiBzdWNjZXNzLCB5b3Ugd2ls
bCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01Q
TEVURSIuCisKKworVGVzdHMgcmVsTGlzdCBmb3IgYW5jaG9yIGVsZW1lbnQKK1BBU1MgZWxlbWVu
dC5yZWxMaXN0ID09IG51bGwgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0ID09IHVuZGVm
aW5lZCBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3QgaW5zdGFuY2VvZiBET01Ub2tlbkxp
c3QgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDMKK1BBU1MgZWxlbWVu
dC5yZWxMaXN0LmNvbnRhaW5zKCJhIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29u
dGFpbnMoImIiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiYyIpIGlz
IHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJkIikgaXMgZmFsc2UKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAzCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlu
cygiZm9vIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImJhciIpIGlz
IHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJjaG9jb2xhdGUiKSBpcyB0cnVl
CitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygib3JhbmdlIikgaXMgZmFsc2UKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAwCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGgg
aXMgMAorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5yZWxM
aXN0LmNvbnRhaW5zKCJtYXJzaG1hbGxvdyIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0
LmNvbnRhaW5zKCJjaGlwcyIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5z
KCJvcmFuZ2UiKSBpcyBmYWxzZQorUEFTUyBTdHJpbmcoZWxlbWVudC5yZWxMaXN0KSBpcyAieCIK
K1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAwCitQQVNTIGVsZW1lbnQucmVsTGlzdC5s
ZW5ndGggaXMgMQorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVu
dC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4IgorUEFTUyBlbGVt
ZW50LnJlbCBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWwgaXMgInggIHgiCitQQVNTIGVsZW1lbnQu
cmVsIGlzICJ5IHgiCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsIGlz
ICIiCitQQVNTIGVsZW1lbnQucmVsIGlzICIgeSB5ICIKK1BBU1MgZWxlbWVudC5yZWwgaXMgInki
CitFbnN1cmUgdGhhdCB3ZSBjYW4gaGFuZGxlIGVtcHR5IHJlbCBjb3JyZWN0bHkKK1BBU1MgZWxl
bWVudC5yZWxMaXN0LnRvZ2dsZSgneCcpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWwgaXMgIngi
CitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50
LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIngiKSBpcyBmYWxzZQor
UEFTUyBlbGVtZW50LnJlbExpc3RbMV0gaXMgdW5kZWZpbmVkLgorUEFTUyBlbGVtZW50LnJlbExp
c3QuY29udGFpbnMoIngiKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMo
IngiKSBpcyB0cnVlCitUZXN0IHRvZ2dsZSB3aXRoIGZvcmNlIGFyZ3VtZW50CitQQVNTIGVsZW1l
bnQucmVsTGlzdC50b2dnbGUoJ3gnLCB0cnVlKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsIGlz
ICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgdHJ1ZSkgaXMgdHJ1ZQorUEFT
UyBlbGVtZW50LnJlbCBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcsIGZh
bHNlKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExp
c3QudG9nZ2xlKCd4JywgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQ
QVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoIiIsIHRydWUpIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIGVsZW1lbnQucmVsTGlzdC50
b2dnbGUoInggeSIsIGZhbHNlKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRDaGFyYWN0
ZXJFcnJvcjogRE9NIEV4Y2VwdGlvbiA1LgorVGVzdGluZyBhZGQgaW4gcHJlc2VuY2Ugb2YgdHJh
aWxpbmcgd2hpdGUgc3BhY2VzLgorUEFTUyBlbGVtZW50LnJlbCBpcyAieCB5IgorUEFTUyBlbGVt
ZW50LnJlbCBpcyAieFx0eSIKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiB5IgorVGVzdCBpbnZhbGlk
IHRva2VucworUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIiIpIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIGVsZW1lbnQucmVs
TGlzdC5jb250YWlucygieCB5IikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkQ2hhcmFj
dGVyRXJyb3I6IERPTSBFeGNlcHRpb24gNS4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LmFkZCgiIikg
dGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BB
U1MgZWxlbWVudC5yZWxMaXN0LmFkZCgieCB5IikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZh
bGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRpb24gNS4KK1BBU1MgZWxlbWVudC5yZWxMaXN0
LnJlbW92ZSgiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhFcnJvcjogRE9NIEV4Y2Vw
dGlvbiAxMi4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgieCB5IikgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBJbnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRpb24gNS4KK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhF
cnJvcjogRE9NIEV4Y2VwdGlvbiAxMi4KK0luZGV4aW5nCitQQVNTIGVsZW1lbnQucmVsTGlzdFsw
XSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0oMCkgaXMgIngiCitQQVNTIGVsZW1l
bnQucmVsTGlzdFsxXSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0oMSkgaXMgIngi
CitQQVNTIGVsZW1lbnQucmVsTGlzdFsxXSBpcyAieSIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0
ZW0oMSkgaXMgInkiCitQQVNTIGVsZW1lbnQucmVsTGlzdFswXSBpcyB1bmRlZmluZWQuCitQQVNT
IGVsZW1lbnQucmVsTGlzdC5pdGVtKDApIGlzIG51bGwKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzRd
IGlzIHVuZGVmaW5lZC4KK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0oNCkgaXMgbnVsbAorUEFT
UyBlbGVtZW50LnJlbExpc3RbLTFdIGlzIHVuZGVmaW5lZC4KK1BBU1MgZWxlbWVudC5yZWxMaXN0
Lml0ZW0oLTEpIGlzIG51bGwKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0oKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1Rlc3QgY2FzZSBzaW5jZSBE
T01Ub2tlbkxpc3QgaXMgY2FzZSBzZW5zaXRpdmUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRh
aW5zKCJ4IikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIlgiKSBpcyBm
YWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3RbMF0gaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlz
dC5jb250YWlucygpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1l
bnRzLgorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIlgiKSBpcyB0cnVlCitQQVNTIGVs
ZW1lbnQucmVsTGlzdC5jb250YWlucygieCIpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlz
dFswXSBpcyAiWCIKK1Rlc3Rpbmcgd2hpdGVzcGFjZQorUEFTUyBlbGVtZW50LnJlbExpc3QubGVu
Z3RoIGlzIDIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDIKK1BB
U1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitET01Ub2tlbkxpc3QgcHJlc2VuY2UgYW5k
IHR5cGUKK1BBU1MgJ3VuZGVmaW5lZCcgIT0gdHlwZW9mIERPTVRva2VuTGlzdCBpcyB0cnVlCitQ
QVNTIHR5cGVvZiBET01Ub2tlbkxpc3QucHJvdG90eXBlIGlzICJvYmplY3QiCitQQVNTIHR5cGVv
ZiBlbGVtZW50LnJlbExpc3QgaXMgIm9iamVjdCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnN0
cnVjdG9yIGlzIERPTVRva2VuTGlzdAorUEFTUyBlbGVtZW50LnJlbExpc3QgPT09IGVsZW1lbnQu
cmVsTGlzdCBpcyB0cnVlCitWYXJpYWRpYyBjYWxscworUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBi
IgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIGMiCitQQVNTIGVsZW1lbnQucmVsIGlzICJhIGIg
YyBudWxsIGQgdW5kZWZpbmVkIDAgZmFsc2UiCitQQVNTIGVsZW1lbnQucmVsIGlzICJhIGIiCitQ
QVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoImEiLCAiYiIsICIiKSB0aHJldyBleGNlcHRpb24gRXJy
b3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBlbGVtZW50LnJlbCBpcyAi
IgorUEFTUyBlbGVtZW50LnJlbExpc3QuYWRkKCJhIiwgImIiLCAiYyBkIikgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBJbnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRpb24gNS4KK1BBU1Mg
ZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmFkZCgiYSIsIHt0b1N0cmlu
ZzogZnVuY3Rpb24oKSB7IHRocm93IG5ldyBFcnJvcigidXNlciBlcnJvciIpOyB9fSwgImIiKSB0
aHJldyBleGNlcHRpb24gRXJyb3I6IHVzZXIgZXJyb3IuCitQQVNTIGVsZW1lbnQucmVsIGlzICIi
CitQQVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BB
U1Mgb2JzZXJ2ZXIudGFrZVJlY29yZHMoKS5sZW5ndGggaXMgMQorUEFTUyBlbGVtZW50LnJlbCBp
cyAiYiBkICAiCitQQVNTIGVsZW1lbnQucmVsIGlzICJkICAiCitQQVNTIGVsZW1lbnQucmVsIGlz
ICJhIGIgYyIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgiYSIsICJiIiwgIiIpIHRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIGVs
ZW1lbnQucmVsIGlzICJhIGIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoImEiLCB7dG9T
dHJpbmc6IGZ1bmN0aW9uKCkgeyB0aHJvdyBuZXcgRXJyb3IoInVzZXIgZXJyb3IiKTsgfX0sICJi
IikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiB1c2VyIGVycm9yLgorUEFTUyBlbGVtZW50LnJlbCBp
cyAiYSBiIgorUEFTUyBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCJhIiwgImIiLCAiYyBkIikgdGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRpb24g
NS4KK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92
ZSgpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBvYnNlcnZlci50YWtlUmVjb3Jkcygp
Lmxlbmd0aCBpcyAxCitUZXN0cyByZWxMaXN0IGZvciBhcmVhIGVsZW1lbnQKK1BBU1MgZWxlbWVu
dC5yZWxMaXN0ID09IG51bGwgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0ID09IHVuZGVm
aW5lZCBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3QgaW5zdGFuY2VvZiBET01Ub2tlbkxp
c3QgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDMKK1BBU1MgZWxlbWVu
dC5yZWxMaXN0LmNvbnRhaW5zKCJhIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29u
dGFpbnMoImIiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiYyIpIGlz
IHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJkIikgaXMgZmFsc2UKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAzCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlu
cygiZm9vIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImJhciIpIGlz
IHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJjaG9jb2xhdGUiKSBpcyB0cnVl
CitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygib3JhbmdlIikgaXMgZmFsc2UKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAwCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGgg
aXMgMAorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5yZWxM
aXN0LmNvbnRhaW5zKCJtYXJzaG1hbGxvdyIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0
LmNvbnRhaW5zKCJjaGlwcyIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5z
KCJvcmFuZ2UiKSBpcyBmYWxzZQorUEFTUyBTdHJpbmcoZWxlbWVudC5yZWxMaXN0KSBpcyAieCIK
K1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAwCitQQVNTIGVsZW1lbnQucmVsTGlzdC5s
ZW5ndGggaXMgMQorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVu
dC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4IgorUEFTUyBlbGVt
ZW50LnJlbCBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWwgaXMgInggIHgiCitQQVNTIGVsZW1lbnQu
cmVsIGlzICJ5IHgiCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsIGlz
ICIiCitQQVNTIGVsZW1lbnQucmVsIGlzICIgeSB5ICIKK1BBU1MgZWxlbWVudC5yZWwgaXMgInki
CitFbnN1cmUgdGhhdCB3ZSBjYW4gaGFuZGxlIGVtcHR5IHJlbCBjb3JyZWN0bHkKK1BBU1MgZWxl
bWVudC5yZWxMaXN0LnRvZ2dsZSgneCcpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWwgaXMgIngi
CitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50
LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIngiKSBpcyBmYWxzZQor
UEFTUyBlbGVtZW50LnJlbExpc3RbMV0gaXMgdW5kZWZpbmVkLgorUEFTUyBlbGVtZW50LnJlbExp
c3QuY29udGFpbnMoIngiKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMo
IngiKSBpcyB0cnVlCitUZXN0IHRvZ2dsZSB3aXRoIGZvcmNlIGFyZ3VtZW50CitQQVNTIGVsZW1l
bnQucmVsTGlzdC50b2dnbGUoJ3gnLCB0cnVlKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsIGlz
ICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgdHJ1ZSkgaXMgdHJ1ZQorUEFT
UyBlbGVtZW50LnJlbCBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcsIGZh
bHNlKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExp
c3QudG9nZ2xlKCd4JywgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQ
QVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoIiIsIHRydWUpIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIGVsZW1lbnQucmVsTGlzdC50
b2dnbGUoInggeSIsIGZhbHNlKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRDaGFyYWN0
ZXJFcnJvcjogRE9NIEV4Y2VwdGlvbiA1LgorVGVzdGluZyBhZGQgaW4gcHJlc2VuY2Ugb2YgdHJh
aWxpbmcgd2hpdGUgc3BhY2VzLgorUEFTUyBlbGVtZW50LnJlbCBpcyAieCB5IgorUEFTUyBlbGVt
ZW50LnJlbCBpcyAieFx0eSIKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiB5IgorVGVzdCBpbnZhbGlk
IHRva2VucworUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIiIpIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIGVsZW1lbnQucmVs
TGlzdC5jb250YWlucygieCB5IikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkQ2hhcmFj
dGVyRXJyb3I6IERPTSBFeGNlcHRpb24gNS4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LmFkZCgiIikg
dGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BB
U1MgZWxlbWVudC5yZWxMaXN0LmFkZCgieCB5IikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZh
bGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRpb24gNS4KK1BBU1MgZWxlbWVudC5yZWxMaXN0
LnJlbW92ZSgiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhFcnJvcjogRE9NIEV4Y2Vw
dGlvbiAxMi4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgieCB5IikgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBJbnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRpb24gNS4KK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhF
cnJvcjogRE9NIEV4Y2VwdGlvbiAxMi4KK0luZGV4aW5nCitQQVNTIGVsZW1lbnQucmVsTGlzdFsw
XSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0oMCkgaXMgIngiCitQQVNTIGVsZW1l
bnQucmVsTGlzdFsxXSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0oMSkgaXMgIngi
CitQQVNTIGVsZW1lbnQucmVsTGlzdFsxXSBpcyAieSIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0
ZW0oMSkgaXMgInkiCitQQVNTIGVsZW1lbnQucmVsTGlzdFswXSBpcyB1bmRlZmluZWQuCitQQVNT
IGVsZW1lbnQucmVsTGlzdC5pdGVtKDApIGlzIG51bGwKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzRd
IGlzIHVuZGVmaW5lZC4KK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0oNCkgaXMgbnVsbAorUEFT
UyBlbGVtZW50LnJlbExpc3RbLTFdIGlzIHVuZGVmaW5lZC4KK1BBU1MgZWxlbWVudC5yZWxMaXN0
Lml0ZW0oLTEpIGlzIG51bGwKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0oKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1Rlc3QgY2FzZSBzaW5jZSBE
T01Ub2tlbkxpc3QgaXMgY2FzZSBzZW5zaXRpdmUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRh
aW5zKCJ4IikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIlgiKSBpcyBm
YWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3RbMF0gaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlz
dC5jb250YWlucygpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1l
bnRzLgorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIlgiKSBpcyB0cnVlCitQQVNTIGVs
ZW1lbnQucmVsTGlzdC5jb250YWlucygieCIpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlz
dFswXSBpcyAiWCIKK1Rlc3Rpbmcgd2hpdGVzcGFjZQorUEFTUyBlbGVtZW50LnJlbExpc3QubGVu
Z3RoIGlzIDIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDIKK1BB
U1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitET01Ub2tlbkxpc3QgcHJlc2VuY2UgYW5k
IHR5cGUKK1BBU1MgJ3VuZGVmaW5lZCcgIT0gdHlwZW9mIERPTVRva2VuTGlzdCBpcyB0cnVlCitQ
QVNTIHR5cGVvZiBET01Ub2tlbkxpc3QucHJvdG90eXBlIGlzICJvYmplY3QiCitQQVNTIHR5cGVv
ZiBlbGVtZW50LnJlbExpc3QgaXMgIm9iamVjdCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnN0
cnVjdG9yIGlzIERPTVRva2VuTGlzdAorUEFTUyBlbGVtZW50LnJlbExpc3QgPT09IGVsZW1lbnQu
cmVsTGlzdCBpcyB0cnVlCitWYXJpYWRpYyBjYWxscworUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBi
IgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIGMiCitQQVNTIGVsZW1lbnQucmVsIGlzICJhIGIg
YyBudWxsIGQgdW5kZWZpbmVkIDAgZmFsc2UiCitQQVNTIGVsZW1lbnQucmVsIGlzICJhIGIiCitQ
QVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoImEiLCAiYiIsICIiKSB0aHJldyBleGNlcHRpb24gRXJy
b3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBlbGVtZW50LnJlbCBpcyAi
IgorUEFTUyBlbGVtZW50LnJlbExpc3QuYWRkKCJhIiwgImIiLCAiYyBkIikgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBJbnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRpb24gNS4KK1BBU1Mg
ZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmFkZCgiYSIsIHt0b1N0cmlu
ZzogZnVuY3Rpb24oKSB7IHRocm93IG5ldyBFcnJvcigidXNlciBlcnJvciIpOyB9fSwgImIiKSB0
aHJldyBleGNlcHRpb24gRXJyb3I6IHVzZXIgZXJyb3IuCitQQVNTIGVsZW1lbnQucmVsIGlzICIi
CitQQVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BB
U1Mgb2JzZXJ2ZXIudGFrZVJlY29yZHMoKS5sZW5ndGggaXMgMQorUEFTUyBlbGVtZW50LnJlbCBp
cyAiYiBkICAiCitQQVNTIGVsZW1lbnQucmVsIGlzICJkICAiCitQQVNTIGVsZW1lbnQucmVsIGlz
ICJhIGIgYyIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgiYSIsICJiIiwgIiIpIHRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIGVs
ZW1lbnQucmVsIGlzICJhIGIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoImEiLCB7dG9T
dHJpbmc6IGZ1bmN0aW9uKCkgeyB0aHJvdyBuZXcgRXJyb3IoInVzZXIgZXJyb3IiKTsgfX0sICJi
IikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiB1c2VyIGVycm9yLgorUEFTUyBlbGVtZW50LnJlbCBp
cyAiYSBiIgorUEFTUyBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCJhIiwgImIiLCAiYyBkIikgdGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRpb24g
NS4KK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92
ZSgpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBvYnNlcnZlci50YWtlUmVjb3Jkcygp
Lmxlbmd0aCBpcyAxCitUZXN0cyByZWxMaXN0IGZvciBsaW5rIGVsZW1lbnQKK1BBU1MgZWxlbWVu
dC5yZWxMaXN0ID09IG51bGwgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0ID09IHVuZGVm
aW5lZCBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3QgaW5zdGFuY2VvZiBET01Ub2tlbkxp
c3QgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDMKK1BBU1MgZWxlbWVu
dC5yZWxMaXN0LmNvbnRhaW5zKCJhIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29u
dGFpbnMoImIiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiYyIpIGlz
IHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJkIikgaXMgZmFsc2UKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAzCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlu
cygiZm9vIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImJhciIpIGlz
IHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJjaG9jb2xhdGUiKSBpcyB0cnVl
CitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygib3JhbmdlIikgaXMgZmFsc2UKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAwCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGgg
aXMgMAorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5yZWxM
aXN0LmNvbnRhaW5zKCJtYXJzaG1hbGxvdyIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0
LmNvbnRhaW5zKCJjaGlwcyIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5z
KCJvcmFuZ2UiKSBpcyBmYWxzZQorUEFTUyBTdHJpbmcoZWxlbWVudC5yZWxMaXN0KSBpcyAieCIK
K1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAwCitQQVNTIGVsZW1lbnQucmVsTGlzdC5s
ZW5ndGggaXMgMQorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVu
dC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4IgorUEFTUyBlbGVt
ZW50LnJlbCBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWwgaXMgInggIHgiCitQQVNTIGVsZW1lbnQu
cmVsIGlzICJ5IHgiCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsIGlz
ICIiCitQQVNTIGVsZW1lbnQucmVsIGlzICIgeSB5ICIKK1BBU1MgZWxlbWVudC5yZWwgaXMgInki
CitFbnN1cmUgdGhhdCB3ZSBjYW4gaGFuZGxlIGVtcHR5IHJlbCBjb3JyZWN0bHkKK1BBU1MgZWxl
bWVudC5yZWxMaXN0LnRvZ2dsZSgneCcpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWwgaXMgIngi
CitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50
LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIngiKSBpcyBmYWxzZQor
UEFTUyBlbGVtZW50LnJlbExpc3RbMV0gaXMgdW5kZWZpbmVkLgorUEFTUyBlbGVtZW50LnJlbExp
c3QuY29udGFpbnMoIngiKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMo
IngiKSBpcyB0cnVlCitUZXN0IHRvZ2dsZSB3aXRoIGZvcmNlIGFyZ3VtZW50CitQQVNTIGVsZW1l
bnQucmVsTGlzdC50b2dnbGUoJ3gnLCB0cnVlKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsIGlz
ICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgdHJ1ZSkgaXMgdHJ1ZQorUEFT
UyBlbGVtZW50LnJlbCBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcsIGZh
bHNlKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExp
c3QudG9nZ2xlKCd4JywgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQ
QVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoIiIsIHRydWUpIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIGVsZW1lbnQucmVsTGlzdC50
b2dnbGUoInggeSIsIGZhbHNlKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRDaGFyYWN0
ZXJFcnJvcjogRE9NIEV4Y2VwdGlvbiA1LgorVGVzdGluZyBhZGQgaW4gcHJlc2VuY2Ugb2YgdHJh
aWxpbmcgd2hpdGUgc3BhY2VzLgorUEFTUyBlbGVtZW50LnJlbCBpcyAieCB5IgorUEFTUyBlbGVt
ZW50LnJlbCBpcyAieFx0eSIKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiB5IgorVGVzdCBpbnZhbGlk
IHRva2VucworUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIiIpIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIGVsZW1lbnQucmVs
TGlzdC5jb250YWlucygieCB5IikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkQ2hhcmFj
dGVyRXJyb3I6IERPTSBFeGNlcHRpb24gNS4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LmFkZCgiIikg
dGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BB
U1MgZWxlbWVudC5yZWxMaXN0LmFkZCgieCB5IikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZh
bGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRpb24gNS4KK1BBU1MgZWxlbWVudC5yZWxMaXN0
LnJlbW92ZSgiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhFcnJvcjogRE9NIEV4Y2Vw
dGlvbiAxMi4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgieCB5IikgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBJbnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRpb24gNS4KK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhF
cnJvcjogRE9NIEV4Y2VwdGlvbiAxMi4KK0luZGV4aW5nCitQQVNTIGVsZW1lbnQucmVsTGlzdFsw
XSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0oMCkgaXMgIngiCitQQVNTIGVsZW1l
bnQucmVsTGlzdFsxXSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0oMSkgaXMgIngi
CitQQVNTIGVsZW1lbnQucmVsTGlzdFsxXSBpcyAieSIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0
ZW0oMSkgaXMgInkiCitQQVNTIGVsZW1lbnQucmVsTGlzdFswXSBpcyB1bmRlZmluZWQuCitQQVNT
IGVsZW1lbnQucmVsTGlzdC5pdGVtKDApIGlzIG51bGwKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzRd
IGlzIHVuZGVmaW5lZC4KK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0oNCkgaXMgbnVsbAorUEFT
UyBlbGVtZW50LnJlbExpc3RbLTFdIGlzIHVuZGVmaW5lZC4KK1BBU1MgZWxlbWVudC5yZWxMaXN0
Lml0ZW0oLTEpIGlzIG51bGwKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0ZW0oKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1Rlc3QgY2FzZSBzaW5jZSBE
T01Ub2tlbkxpc3QgaXMgY2FzZSBzZW5zaXRpdmUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRh
aW5zKCJ4IikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIlgiKSBpcyBm
YWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3RbMF0gaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlz
dC5jb250YWlucygpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5vdCBlbm91Z2ggYXJndW1l
bnRzLgorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIlgiKSBpcyB0cnVlCitQQVNTIGVs
ZW1lbnQucmVsTGlzdC5jb250YWlucygieCIpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlz
dFswXSBpcyAiWCIKK1Rlc3Rpbmcgd2hpdGVzcGFjZQorUEFTUyBlbGVtZW50LnJlbExpc3QubGVu
Z3RoIGlzIDIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDIKK1BB
U1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitET01Ub2tlbkxpc3QgcHJlc2VuY2UgYW5k
IHR5cGUKK1BBU1MgJ3VuZGVmaW5lZCcgIT0gdHlwZW9mIERPTVRva2VuTGlzdCBpcyB0cnVlCitQ
QVNTIHR5cGVvZiBET01Ub2tlbkxpc3QucHJvdG90eXBlIGlzICJvYmplY3QiCitQQVNTIHR5cGVv
ZiBlbGVtZW50LnJlbExpc3QgaXMgIm9iamVjdCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnN0
cnVjdG9yIGlzIERPTVRva2VuTGlzdAorUEFTUyBlbGVtZW50LnJlbExpc3QgPT09IGVsZW1lbnQu
cmVsTGlzdCBpcyB0cnVlCitWYXJpYWRpYyBjYWxscworUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBi
IgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIGMiCitQQVNTIGVsZW1lbnQucmVsIGlzICJhIGIg
YyBudWxsIGQgdW5kZWZpbmVkIDAgZmFsc2UiCitQQVNTIGVsZW1lbnQucmVsIGlzICJhIGIiCitQ
QVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoImEiLCAiYiIsICIiKSB0aHJldyBleGNlcHRpb24gRXJy
b3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBlbGVtZW50LnJlbCBpcyAi
IgorUEFTUyBlbGVtZW50LnJlbExpc3QuYWRkKCJhIiwgImIiLCAiYyBkIikgdGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBJbnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRpb24gNS4KK1BBU1Mg
ZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmFkZCgiYSIsIHt0b1N0cmlu
ZzogZnVuY3Rpb24oKSB7IHRocm93IG5ldyBFcnJvcigidXNlciBlcnJvciIpOyB9fSwgImIiKSB0
aHJldyBleGNlcHRpb24gRXJyb3I6IHVzZXIgZXJyb3IuCitQQVNTIGVsZW1lbnQucmVsIGlzICIi
CitQQVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BB
U1Mgb2JzZXJ2ZXIudGFrZVJlY29yZHMoKS5sZW5ndGggaXMgMQorUEFTUyBlbGVtZW50LnJlbCBp
cyAiYiBkICAiCitQQVNTIGVsZW1lbnQucmVsIGlzICJkICAiCitQQVNTIGVsZW1lbnQucmVsIGlz
ICJhIGIgYyIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgiYSIsICJiIiwgIiIpIHRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIGVs
ZW1lbnQucmVsIGlzICJhIGIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoImEiLCB7dG9T
dHJpbmc6IGZ1bmN0aW9uKCkgeyB0aHJvdyBuZXcgRXJyb3IoInVzZXIgZXJyb3IiKTsgfX0sICJi
IikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiB1c2VyIGVycm9yLgorUEFTUyBlbGVtZW50LnJlbCBp
cyAiYSBiIgorUEFTUyBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCJhIiwgImIiLCAiYyBkIikgdGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRpb24g
NS4KK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92
ZSgpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBvYnNlcnZlci50YWtlUmVjb3Jkcygp
Lmxlbmd0aCBpcyAxCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVsLWxpc3QtZ2MtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVsLWxpc3QtZ2MtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmU2MmU2YjMyOTAwOWM3MWFhNTM4ZTk4OTVlODVkODQwZWMyYTRlZmEKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9yZWwtbGlzdC1nYy1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwxMyBAQAorVGVzdHMgcmVsTGlzdCBnYyBmb3IgYW5jaG9yIGVsZW1l
bnQKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmxpZmUgaXMgNDIKK1BBU1MgZWxlbWVudC5yZWxMaXN0
LmxpZmUgaXMgNDIKK1Rlc3RzIHJlbExpc3QgZ2MgZm9yIGFyZWEgZWxlbWVudAorUEFTUyBlbGVt
ZW50LnJlbExpc3QubGlmZSBpcyA0MgorUEFTUyBlbGVtZW50LnJlbExpc3QubGlmZSBpcyA0Mgor
VGVzdHMgcmVsTGlzdCBnYyBmb3IgbGluayBlbGVtZW50CitQQVNTIGVsZW1lbnQucmVsTGlzdC5s
aWZlIGlzIDQyCitQQVNTIGVsZW1lbnQucmVsTGlzdC5saWZlIGlzIDQyCitQQVNTIHN1Y2Nlc3Nm
dWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9kb20vcmVsLWxpc3QtZ2MuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Jl
bC1saXN0LWdjLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTI1ZGY2NTExNjcyZGEyODRjOWMxYjFhYzBjZThj
NTg5MGJjYjQxYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3JlbC1s
aXN0LWdjLmh0bWwKQEAgLTAsMCArMSwzMCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8c2NyaXB0PgordmFyIGVsZW1lbnQ7CisKK2Z1bmN0aW9uIHRlc3QodHlw
ZSkKK3sKKyAgICBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0eXBlKTsKKyAgICB2
YXIgcmVsTGlzdCA9IGVsZW1lbnQucmVsTGlzdDsKKyAgICBlbGVtZW50LnJlbExpc3QubGlmZSA9
IDQyOworICAgIHNob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQucmVsTGlzdC5saWZlJywgNDIpOwor
ICAgIHJlbExpc3QgPSBudWxsOworICAgIGdjKCk7CisgICAgc2hvdWxkRXZhbHVhdGVUbygnZWxl
bWVudC5yZWxMaXN0LmxpZmUnLCA0Mik7Cit9CisKK2RlYnVnKCdUZXN0cyByZWxMaXN0IGdjIGZv
ciBhbmNob3IgZWxlbWVudCcpOwordGVzdCgnYScpOworZGVidWcoJ1Rlc3RzIHJlbExpc3QgZ2Mg
Zm9yIGFyZWEgZWxlbWVudCcpOwordGVzdCgnYXJlYScpOworZGVidWcoJ1Rlc3RzIHJlbExpc3Qg
Z2MgZm9yIGxpbmsgZWxlbWVudCcpOwordGVzdCgnbGluaycpOworCis8L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9k
eT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9yZWwtbGlzdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVs
LWxpc3QuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jYmMyYzRhNTQ4NjVlMTQyOGExOTVjYTU0NjM1ZjQ4YmM4
OTYyNmQwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVsLWxpc3Qu
aHRtbApAQCAtMCwwICsxLDMwMyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxhIGlkPSJhIiByZWw9ImEgYiBjIj48L2E+Cis8YXJlYSBpZD0iYXJl
YSIgcmVsPSJhIGIgYyI+PC9hcmVhPgorPGxpbmsgaWQ9ImxpbmsiIHJlbD0iYSBiIGMiPgorPHNj
cmlwdD4KK2Rlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IHJlbExpc3Qgd29ya3Mgb24gYW5jaG9yLCBh
cmVhIGFuZCBsaW5rIGVsZW1lbnRzJyk7CisKK3ZhciBlbGVtZW50OwordmFyIHR5cGU7Cit2YXIg
b2JzZXJ2ZXI7CisKK2Z1bmN0aW9uIGNyZWF0ZUVsZW1lbnQocmVsKQoreworICAgIGVsZW1lbnQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHR5cGUpOworICAgIGVsZW1lbnQucmVsID0gcmVsOwor
fQorCitmdW5jdGlvbiB0ZXN0KCkgCit7CisgICAgZWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKHR5cGUpOworICAgIHNob3VsZEJlRmFsc2UoJ2VsZW1lbnQucmVsTGlzdCA9PSBudWxs
Jyk7CisgICAgc2hvdWxkQmVGYWxzZSgnZWxlbWVudC5yZWxMaXN0ID09IHVuZGVmaW5lZCcpOwor
ICAgIHNob3VsZEJlVHJ1ZSgnZWxlbWVudC5yZWxMaXN0IGluc3RhbmNlb2YgRE9NVG9rZW5MaXN0
Jyk7CisgICAgc2hvdWxkQmUoJ2VsZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAnMycpOworICAgIHNo
b3VsZEJlVHJ1ZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJhIiknKTsKKyAgICBzaG91bGRC
ZVRydWUoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygiYiIpJyk7CisgICAgc2hvdWxkQmVUcnVl
KCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImMiKScpOworICAgIHNob3VsZEJlRmFsc2UoJ2Vs
ZW1lbnQucmVsTGlzdC5jb250YWlucygiZCIpJyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCJmb28g
YmFyIGNob2NvbGF0ZSIpOworICAgIHNob3VsZEJlKCdlbGVtZW50LnJlbExpc3QubGVuZ3RoJywg
JzMnKTsKKyAgICBzaG91bGRCZVRydWUoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygiZm9vIikn
KTsKKyAgICBzaG91bGRCZVRydWUoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygiYmFyIiknKTsK
KyAgICBzaG91bGRCZVRydWUoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygiY2hvY29sYXRlIikn
KTsKKyAgICBzaG91bGRCZUZhbHNlKCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIm9yYW5nZSIp
Jyk7CisKKyAgICBlbGVtZW50LnJlbW92ZUF0dHJpYnV0ZSgncmVsJyk7CisgICAgc2hvdWxkQmUo
J2VsZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAnMCcpOworICAgIAorICAgIGVsZW1lbnQuc2V0QXR0
cmlidXRlKCdyZWwnLCAnJyk7CisgICAgc2hvdWxkQmUoJ2VsZW1lbnQucmVsTGlzdC5sZW5ndGgn
LCAnMCcpOworCisgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3JlbCcsICdtYXJzaG1hbGxvdyBj
aGlwcycpOworICAgIHNob3VsZEJlKCdlbGVtZW50LnJlbExpc3QubGVuZ3RoJywgJzInKTsKKyAg
ICBzaG91bGRCZVRydWUoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygibWFyc2htYWxsb3ciKScp
OworICAgIHNob3VsZEJlVHJ1ZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJjaGlwcyIpJyk7
CisgICAgc2hvdWxkQmVGYWxzZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJvcmFuZ2UiKScp
OworCisgICAgY3JlYXRlRWxlbWVudCgneCcpOworICAgIGVsZW1lbnQucmVsTGlzdCA9ICd5JzsK
KyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ1N0cmluZyhlbGVtZW50LnJlbExpc3QpJywgJ3gn
KTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJycpOworICAgIHNob3VsZEV2YWx1YXRlVG8oJ2VsZW1l
bnQucmVsTGlzdC5sZW5ndGgnLCAwKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJ3gnKTsKKyAgICBz
aG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LnJlbExpc3QubGVuZ3RoJywgMSk7CisKKyAgICBjcmVh
dGVFbGVtZW50KCd4IHgnKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LnJlbExpc3Qu
bGVuZ3RoJywgMik7CisKKyAgICBjcmVhdGVFbGVtZW50KCd4IHknKTsKKyAgICBzaG91bGRFdmFs
dWF0ZVRvKCdlbGVtZW50LnJlbExpc3QubGVuZ3RoJywgMik7CisKKyAgICBjcmVhdGVFbGVtZW50
KCcnKTsKKyAgICBlbGVtZW50LnJlbExpc3QuYWRkKCd4Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdlbGVtZW50LnJlbCcsICd4Jyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCd4Jyk7Cisg
ICAgZWxlbWVudC5yZWxMaXN0LmFkZCgneCcpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygn
ZWxlbWVudC5yZWwnLCAneCcpOworCisgICAgY3JlYXRlRWxlbWVudCgneCAgeCcpOworICAgIGVs
ZW1lbnQucmVsTGlzdC5hZGQoJ3gnKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1l
bnQucmVsJywgJ3ggIHgnKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJ3knKTsKKyAgICBlbGVtZW50
LnJlbExpc3QuYWRkKCd4Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJl
bCcsICd5IHgnKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJycpOworICAgIGVsZW1lbnQucmVsTGlz
dC5yZW1vdmUoJ3gnKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywg
JycpOworCisgICAgY3JlYXRlRWxlbWVudCgneCcpOworICAgIGVsZW1lbnQucmVsTGlzdC5yZW1v
dmUoJ3gnKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJycpOwor
CisgICAgY3JlYXRlRWxlbWVudCgnIHkgeCAgeSAnKTsKKyAgICBlbGVtZW50LnJlbExpc3QucmVt
b3ZlKCd4Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICcgeSB5
ICcpOworCisgICAgY3JlYXRlRWxlbWVudCgnIHggeSAgeCAnKTsKKyAgICBlbGVtZW50LnJlbExp
c3QucmVtb3ZlKCd4Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcs
ICd5Jyk7CisKKyAgICBkZWJ1ZygnRW5zdXJlIHRoYXQgd2UgY2FuIGhhbmRsZSBlbXB0eSByZWwg
Y29ycmVjdGx5Jyk7CisgICAgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodHlwZSk7
CisgICAgc2hvdWxkQmVUcnVlKCJlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JykiKTsKKyAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ3gnKTsKKyAgICBzaG91bGRCZUZh
bHNlKCJlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JykiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2VsZW1lbnQucmVsJywgJycpOworCisgICAgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0
ZUVsZW1lbnQodHlwZSk7CisgICAgc2hvdWxkQmVGYWxzZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRh
aW5zKCJ4IiknKTsKKyAgICBzaG91bGRCZVVuZGVmaW5lZCgnZWxlbWVudC5yZWxMaXN0WzFdJyk7
CisgICAgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgneCcpOworICAgIHNob3VsZEJlRmFsc2UoJ2Vs
ZW1lbnQucmVsTGlzdC5jb250YWlucygieCIpJyk7CisgICAgZWxlbWVudC5yZWxMaXN0LmFkZCgn
eCcpOworICAgIHNob3VsZEJlVHJ1ZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJ4IiknKTsK
KworICAgIGRlYnVnKCdUZXN0IHRvZ2dsZSB3aXRoIGZvcmNlIGFyZ3VtZW50Jyk7CisgICAgY3Jl
YXRlRWxlbWVudCgnJyk7CisgICAgc2hvdWxkQmVUcnVlKCJlbGVtZW50LnJlbExpc3QudG9nZ2xl
KCd4JywgdHJ1ZSkiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywg
J3gnKTsKKyAgICBzaG91bGRCZVRydWUoImVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnLCB0cnVl
KSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAneCcpOworICAg
IHNob3VsZEJlRmFsc2UoImVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnLCBmYWxzZSkiKTsKKyAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJycpOworICAgIHNob3VsZEJl
RmFsc2UoImVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnLCBmYWxzZSkiKTsKKyAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJycpOworICAgIHNob3VsZFRocm93KCdlbGVt
ZW50LnJlbExpc3QudG9nZ2xlKCIiLCB0cnVlKScpOworICAgIHNob3VsZFRocm93KCdlbGVtZW50
LnJlbExpc3QudG9nZ2xlKCJ4IHkiLCBmYWxzZSknKTsKKworICAgIGRlYnVnKCdUZXN0aW5nIGFk
ZCBpbiBwcmVzZW5jZSBvZiB0cmFpbGluZyB3aGl0ZSBzcGFjZXMuJyk7CisgICAgY3JlYXRlRWxl
bWVudCgneCAnKTsKKyAgICBlbGVtZW50LnJlbExpc3QuYWRkKCd5Jyk7CisgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICd4IHknKTsKKworICAgIGNyZWF0ZUVsZW1lbnQo
J3hcdCcpOworICAgIGVsZW1lbnQucmVsTGlzdC5hZGQoJ3knKTsKKyAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ3hcdHknKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJyAn
KTsKKyAgICBlbGVtZW50LnJlbExpc3QuYWRkKCd5Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3Ry
aW5nKCdlbGVtZW50LnJlbCcsICcgeScpOworCisgICAgZGVidWcoJ1Rlc3QgaW52YWxpZCB0b2tl
bnMnKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJ3gnKTsKKyAgICBzaG91bGRUaHJvdygnZWxlbWVu
dC5yZWxMaXN0LmNvbnRhaW5zKCIiKScpOworCisgICAgY3JlYXRlRWxlbWVudCgneCB5Jyk7Cisg
ICAgc2hvdWxkVGhyb3coJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygieCB5IiknKTsKKworICAg
IGNyZWF0ZUVsZW1lbnQoJycpOworICAgIHNob3VsZFRocm93KCdlbGVtZW50LnJlbExpc3QuYWRk
KCIiKScpOworCisgICAgY3JlYXRlRWxlbWVudCgnJyk7CisgICAgc2hvdWxkVGhyb3coJ2VsZW1l
bnQucmVsTGlzdC5hZGQoInggeSIpJyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCcnKTsKKyAgICBz
aG91bGRUaHJvdygnZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgiIiknKTsKKworICAgIGNyZWF0ZUVs
ZW1lbnQoJycpOworICAgIHNob3VsZFRocm93KCdlbGVtZW50LnJlbExpc3QucmVtb3ZlKCJ4IHki
KScpOworCisgICAgY3JlYXRlRWxlbWVudCgnJyk7CisgICAgc2hvdWxkVGhyb3coJ2VsZW1lbnQu
cmVsTGlzdC50b2dnbGUoIiIpJyk7CisKKyAgICBkZWJ1ZygnSW5kZXhpbmcnKTsKKyAgICBjcmVh
dGVFbGVtZW50KCd4Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbExp
c3RbMF0nLCAneCcpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWxMaXN0
Lml0ZW0oMCknLCAneCcpOworCisgICAgY3JlYXRlRWxlbWVudCgneCB4Jyk7CisgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbExpc3RbMV0nLCAneCcpOworICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWxMaXN0Lml0ZW0oMSknLCAneCcpOworCisgICAgY3Jl
YXRlRWxlbWVudCgneCB5Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJl
bExpc3RbMV0nLCAneScpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWxM
aXN0Lml0ZW0oMSknLCAneScpOworCisgICAgY3JlYXRlRWxlbWVudCgnJyk7CisgICAgc2hvdWxk
QmVVbmRlZmluZWQoJ2VsZW1lbnQucmVsTGlzdFswXScpOworICAgIHNob3VsZEJlTnVsbCgnZWxl
bWVudC5yZWxMaXN0Lml0ZW0oMCknKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJ3ggeSB6Jyk7Cisg
ICAgc2hvdWxkQmVVbmRlZmluZWQoJ2VsZW1lbnQucmVsTGlzdFs0XScpOworICAgIHNob3VsZEJl
TnVsbCgnZWxlbWVudC5yZWxMaXN0Lml0ZW0oNCknKTsKKyAgICBzaG91bGRCZVVuZGVmaW5lZCgn
ZWxlbWVudC5yZWxMaXN0Wy0xXScpOworICAgIHNob3VsZEJlTnVsbCgnZWxlbWVudC5yZWxMaXN0
Lml0ZW0oLTEpJyk7CisgICAgc2hvdWxkVGhyb3coJ2VsZW1lbnQucmVsTGlzdC5pdGVtKCknKTsK
KworICAgIGRlYnVnKCdUZXN0IGNhc2Ugc2luY2UgRE9NVG9rZW5MaXN0IGlzIGNhc2Ugc2Vuc2l0
aXZlJyk7CisgICAgY3JlYXRlRWxlbWVudCgneCcpOworICAgIHNob3VsZEJlVHJ1ZSgnZWxlbWVu
dC5yZWxMaXN0LmNvbnRhaW5zKCJ4IiknKTsKKyAgICBzaG91bGRCZUZhbHNlKCdlbGVtZW50LnJl
bExpc3QuY29udGFpbnMoIlgiKScpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVu
dC5yZWxMaXN0WzBdJywgJ3gnKTsKKyAgICBzaG91bGRUaHJvdygnZWxlbWVudC5yZWxMaXN0LmNv
bnRhaW5zKCknKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJ1gnKTsKKyAgICBzaG91bGRCZVRydWUo
J2VsZW1lbnQucmVsTGlzdC5jb250YWlucygiWCIpJyk7CisgICAgc2hvdWxkQmVGYWxzZSgnZWxl
bWVudC5yZWxMaXN0LmNvbnRhaW5zKCJ4IiknKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
J2VsZW1lbnQucmVsTGlzdFswXScsICdYJyk7CisKKyAgICBkZWJ1ZygnVGVzdGluZyB3aGl0ZXNw
YWNlJyk7CisgICAgY3JlYXRlRWxlbWVudCgneFx1MDAyMHknKTsKKyAgICBzaG91bGRFdmFsdWF0
ZVRvKCdlbGVtZW50LnJlbExpc3QubGVuZ3RoJywgMik7CisKKyAgICBjcmVhdGVFbGVtZW50KCd4
XHUwMDA5eScpOworICAgIHNob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQucmVsTGlzdC5sZW5ndGgn
LCAyKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJ3hcdTAwMEF5Jyk7CisgICAgc2hvdWxkRXZhbHVh
dGVUbygnZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCcsIDIpOworCisgICAgY3JlYXRlRWxlbWVudCgn
eFx1MDAwQ3knKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LnJlbExpc3QubGVuZ3Ro
JywgMik7CisKKyAgICBjcmVhdGVFbGVtZW50KCd4XHUwMDBEeScpOworICAgIHNob3VsZEV2YWx1
YXRlVG8oJ2VsZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAyKTsKKworICAgIGRlYnVnKCdET01Ub2tl
bkxpc3QgcHJlc2VuY2UgYW5kIHR5cGUnKTsKKyAgICBzaG91bGRCZVRydWUoJ1wndW5kZWZpbmVk
XCcgIT0gdHlwZW9mIERPTVRva2VuTGlzdCcpOworCisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCd0eXBlb2YgRE9NVG9rZW5MaXN0LnByb3RvdHlwZScsICdvYmplY3QnKTsKKworICAgIGNyZWF0
ZUVsZW1lbnQoJ3gnKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3R5cGVvZiBlbGVtZW50
LnJlbExpc3QnLCAnb2JqZWN0Jyk7CisgICAgc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5yZWxM
aXN0LmNvbnN0cnVjdG9yJywgJ0RPTVRva2VuTGlzdCcpOworICAgIHNob3VsZEJlVHJ1ZSgnZWxl
bWVudC5yZWxMaXN0ID09PSBlbGVtZW50LnJlbExpc3QnKTsKKworICAgIGRlYnVnKCdWYXJpYWRp
YyBjYWxscycpOworCisgICAgY3JlYXRlRWxlbWVudCgnJyk7CisgICAgZWxlbWVudC5yZWxMaXN0
LmFkZCgnYScsICdiJyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcs
ICdhIGInKTsKKworICAgIGVsZW1lbnQucmVsTGlzdC5hZGQoJ2EnLCAnYicsICdjJyk7CisgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICdhIGIgYycpOworCisgICAgZWxl
bWVudC5yZWxMaXN0LmFkZChudWxsLCB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkgeyByZXR1cm4gJ2Qn
IH19LCB1bmRlZmluZWQsIDAsIGZhbHNlKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2Vs
ZW1lbnQucmVsJywgJ2EgYiBjIG51bGwgZCB1bmRlZmluZWQgMCBmYWxzZScpOworCisgICAgY3Jl
YXRlRWxlbWVudCgnJyk7CisgICAgZWxlbWVudC5yZWxMaXN0LmFkZCgnYScsICdiJywgJ2EnKTsK
KyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ2EgYicpOworCisgICAg
Y3JlYXRlRWxlbWVudCgnJyk7CisgICAgc2hvdWxkVGhyb3coJ2VsZW1lbnQucmVsTGlzdC5hZGQo
ImEiLCAiYiIsICIiKScpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwn
LCAnJyk7CisgICAgc2hvdWxkVGhyb3coJ2VsZW1lbnQucmVsTGlzdC5hZGQoImEiLCAiYiIsICJj
IGQiKScpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnJyk7Cisg
ICAgc2hvdWxkVGhyb3coJ2VsZW1lbnQucmVsTGlzdC5hZGQoImEiLCB7dG9TdHJpbmc6IGZ1bmN0
aW9uKCkgeyB0aHJvdyBuZXcgRXJyb3IoInVzZXIgZXJyb3IiKTsgfX0sICJiIiknLCAnIkVycm9y
OiB1c2VyIGVycm9yIicpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwn
LCAnJyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCcnKTsKKyAgICBzaG91bGROb3RUaHJvdygnZWxl
bWVudC5yZWxMaXN0LmFkZCgpJyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCcnKTsKKyAgICBvYnNl
cnZlciA9IG5ldyBXZWJLaXRNdXRhdGlvbk9ic2VydmVyKGZ1bmN0aW9uKCkge30pOworICAgIG9i
c2VydmVyLm9ic2VydmUoZWxlbWVudCwge2F0dHJpYnV0ZXM6IHRydWV9KTsKKyAgICBlbGVtZW50
LnJlbExpc3QuYWRkKCdhJywgJ2MnKTsKKyAgICBzaG91bGRCZSgnb2JzZXJ2ZXIudGFrZVJlY29y
ZHMoKS5sZW5ndGgnLCAnMScpOworCisgICAgY3JlYXRlRWxlbWVudCgnYSBiIGMgZCAgJyk7Cisg
ICAgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgnYScsICdjJyk7CisgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdlbGVtZW50LnJlbCcsICdiIGQgICcpOworCisgICAgZWxlbWVudC5yZWxMaXN0LnJl
bW92ZSgnYicsICdiJyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcs
ICdkICAnKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJ2EgYiBjIG51bGwgZCB1bmRlZmluZWQgMCBm
YWxzZScpOworICAgIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUobnVsbCwge3RvU3RyaW5nOiBmdW5j
dGlvbigpIHsgcmV0dXJuICdkJyB9fSwgdW5kZWZpbmVkLCAwLCBmYWxzZSk7CisgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICdhIGIgYycpOworCisgICAgY3JlYXRlRWxl
bWVudCgnYSBiJyk7CisgICAgc2hvdWxkVGhyb3coJ2VsZW1lbnQucmVsTGlzdC5yZW1vdmUoImEi
LCAiYiIsICIiKScpOworCisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcs
ICdhIGInKTsKKyAgICBzaG91bGRUaHJvdygnZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgiYSIsIHt0
b1N0cmluZzogZnVuY3Rpb24oKSB7IHRocm93IG5ldyBFcnJvcigidXNlciBlcnJvciIpOyB9fSwg
ImIiKScsICciRXJyb3I6IHVzZXIgZXJyb3IiJyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdlbGVtZW50LnJlbCcsICdhIGInKTsKKworICAgIHNob3VsZFRocm93KCdlbGVtZW50LnJlbExp
c3QucmVtb3ZlKCJhIiwgImIiLCAiYyBkIiknKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
J2VsZW1lbnQucmVsJywgJ2EgYicpOworICAgIHNob3VsZE5vdFRocm93KCdlbGVtZW50LnJlbExp
c3QucmVtb3ZlKCknKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJ2EgYiBjJyk7CisgICAgb2JzZXJ2
ZXIgPSBuZXcgV2ViS2l0TXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbigpIHt9KTsKKyAgICBvYnNl
cnZlci5vYnNlcnZlKGVsZW1lbnQsIHthdHRyaWJ1dGVzOiB0cnVlfSk7CisgICAgZWxlbWVudC5y
ZWxMaXN0LnJlbW92ZSgnYScsICdjJyk7CisgICAgc2hvdWxkQmUoJ29ic2VydmVyLnRha2VSZWNv
cmRzKCkubGVuZ3RoJywgJzEnKTsKK30KKworZGVidWcoJ1Rlc3RzIHJlbExpc3QgZm9yIGFuY2hv
ciBlbGVtZW50Jyk7Cit0eXBlID0gJ2EnOwordGVzdCgpOworZGVidWcoJ1Rlc3RzIHJlbExpc3Qg
Zm9yIGFyZWEgZWxlbWVudCcpOwordHlwZSA9ICdhcmVhJzsKK3Rlc3QoKTsKK2RlYnVnKCdUZXN0
cyByZWxMaXN0IGZvciBsaW5rIGVsZW1lbnQnKTsKK3R5cGUgPSAnbGluayc7Cit0ZXN0KCk7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BlcmYvcmVsLWxpc3QtcmVtb3ZlLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BlcmYvcmVsLWxpc3QtcmVtb3ZlLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wYTk3Njg3MzgyZmVjMzg3MzVhYzcxYzYyZmJkMzk5NjZmZjVjMGVkCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvcGVyZi9yZWwtbGlzdC1yZW1vdmUtZXhwZWN0ZWQudHh0CkBA
IC0wLDAgKzEsOCBAQAorVGVzdHMgdGhhdCByZWxMaXN0IHJlbW92ZSBpcyBsaW5lYXIuCitQQVNT
CitQQVNTCitQQVNTCitQQVNTCitQQVNTCitQQVNTCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3BlcmYvcmVsLWxpc3QtcmVtb3ZlLmh0bWwgYi9MYXlvdXRUZXN0cy9wZXJmL3JlbC1saXN0LXJl
bW92ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBjOWIwYzE4NjkzNDIzOWM5NzhlOTlhZWMyYmY0OTdlYWE2
Zjg3ZGIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wZXJmL3JlbC1saXN0LXJlbW92
ZS5odG1sCkBAIC0wLDAgKzEsNDIgQEAKKzxzY3JpcHQgc3JjPSIuLi9yZXNvdXJjZXMvbWFnbml0
dWRlLXBlcmYuanMiPjwvc2NyaXB0PgorPHNjcmlwdD4KKwordmFyIGVsZW1lbnQsIHJlbCwgcmVs
VG9SZW1vdmUsIHR5cGU7CisKKy8vIFRlc3QgMSB0ZXN0cyB0aGF0IHJlbW92ZSBpcyBsaW5lYXIg
d2hlbiB0aGVyZSBhcmUgTiByZWxzLgorCitmdW5jdGlvbiBzZXR1cEZ1bmN0aW9uMShtYWduaXR1
ZGUpCit7CisgICAgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodHlwZSk7CisgICAg
cmVsVG9SZW1vdmUgPSAnYic7CisgICAgcmVsID0gQXJyYXkobWFnbml0dWRlKS5qb2luKCdhICcp
ICsgcmVsVG9SZW1vdmU7Cit9CisKKy8vIFRlc3QgMiB0ZXN0cyB0aGF0IHJlbW92ZSBpcyBsaW5l
YXIgd2hlbiB0aGUgbGVuZ3RoIG9mIHRoZSByZWwgaXMgTi4KKworZnVuY3Rpb24gc2V0dXBGdW5j
dGlvbjIobWFnbml0dWRlKQoreworICAgIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHR5cGUpOworICAgIHJlbFRvUmVtb3ZlID0gQXJyYXkobWFnbml0dWRlICsgMSkuam9pbignYScp
OworICAgIHJlbCA9IHJlbFRvUmVtb3ZlOworfQorCitmdW5jdGlvbiB0ZXN0KG1hZ25pdHVkZSkK
K3sKKyAgICBlbGVtZW50LnJlbCA9IHJlbDsKKyAgICBlbGVtZW50LnJlbExpc3QucmVtb3ZlKHJl
bFRvUmVtb3ZlKTsKK30KKworTWFnbml0dWRlLmRlc2NyaXB0aW9uKCdUZXN0cyB0aGF0IHJlbExp
c3QgcmVtb3ZlIGlzIGxpbmVhci4nKTsKK3R5cGUgPSAnYScKK01hZ25pdHVkZS5ydW4oc2V0dXBG
dW5jdGlvbjEsIHRlc3QsIE1hZ25pdHVkZS5MSU5FQVIpOworTWFnbml0dWRlLnJ1bihzZXR1cEZ1
bmN0aW9uMiwgdGVzdCwgTWFnbml0dWRlLkxJTkVBUik7Cit0eXBlID0gJ2FyZWEnCitNYWduaXR1
ZGUucnVuKHNldHVwRnVuY3Rpb24xLCB0ZXN0LCBNYWduaXR1ZGUuTElORUFSKTsKK01hZ25pdHVk
ZS5ydW4oc2V0dXBGdW5jdGlvbjIsIHRlc3QsIE1hZ25pdHVkZS5MSU5FQVIpOwordHlwZSA9ICds
aW5rJworTWFnbml0dWRlLnJ1bihzZXR1cEZ1bmN0aW9uMSwgdGVzdCwgTWFnbml0dWRlLkxJTkVB
Uik7CitNYWduaXR1ZGUucnVuKHNldHVwRnVuY3Rpb24yLCB0ZXN0LCBNYWduaXR1ZGUuTElORUFS
KTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240155</attachid>
            <date>2014-10-20 15:58:48 -0700</date>
            <delta_ts>2014-10-21 03:35:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137860-20141021055851.patch</filename>
            <type>text/plain</type>
            <size>53928</size>
            <attacher name="Dhi Aurrahman">diorahman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0ODU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTdkMThhNzg5Mzc4MzBh
ZTc1NTQ2MGZjMzE4NWUzMWI2MWY0YTM0ZS4uMzVjZThmYjE0NjdhMDY5ZjNkOGQ2NDY4OWFiOTc0
YTkxZmJlYmY4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDE0LTEwLTE5ICBEaGkg
QXVycmFobWFuICA8ZGlvcmFobWFuQHJvY2t5YmFycy5jb20+CisKKyAgICAgICAgQWRkIHJlbExp
c3QgdG8gdGhlIGFuY2hvciwgYXJlYSBhbmQgbGluayBlbGVtZW50cworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3ODYwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHJlbExpc3QgdG8gcmVmbGVjdCB0
aGUgcmVsIGNvbnRlbnQgYXR0cmlidXRlIGZvciBhbmNob3JbMV0sCisgICAgICAgIGFyZWFbMl0g
YW5kIGxpbmtbM10gZWxlbWVudHMuCisKKyAgICAgICAgWzFdIGh0dHBzOi8vaHRtbC5zcGVjLndo
YXR3Zy5vcmcvbXVsdGlwYWdlL3NlbWFudGljcy5odG1sI2RvbS1hLXJlbGxpc3QgCisgICAgICAg
IFsyXSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9lbWJlZGRlZC1jb250
ZW50Lmh0bWwjZG9tLWFyZWEtcmVsbGlzdAorICAgICAgICBbM10gaHR0cHM6Ly9odG1sLnNwZWMu
d2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc2VtYW50aWNzLmh0bWwjZG9tLWxpbmstcmVsbGlzdAorCisg
ICAgICAgIFRlc3RzOiBmYXN0L2RvbS9yZWwtbGlzdC1nYy5odG1sCisgICAgICAgICAgICAgICBm
YXN0L2RvbS9yZWwtbGlzdC5odG1sCisgICAgICAgICAgICAgICBwZXJmL3JlbC1saXN0LXJlbW92
ZS5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogZG9tL1NwYWNlU3BsaXRTdHJpbmcuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U3BhY2VTcGxpdFN0cmluZzo6c2V0KToKKyAgICAgICAgKiBodG1sL0hUTUxBbmNob3JF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBbmNob3JFbGVtZW50OjpzZXRSZWwp
OgorICAgICAgICAoV2ViQ29yZTo6SFRNTEFuY2hvckVsZW1lbnQ6OnJlbExpc3QpOgorICAgICAg
ICAqIGh0bWwvSFRNTEFuY2hvckVsZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxBbmNob3JF
bGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxBcmVhRWxlbWVudC5pZGw6CisgICAgICAg
ICogaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExpbmtF
bGVtZW50OjpwYXJzZUF0dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTGlua0VsZW1l
bnQ6OnJlbExpc3QpOgorICAgICAgICAqIGh0bWwvSFRNTExpbmtFbGVtZW50Lmg6CisgICAgICAg
ICogaHRtbC9IVE1MTGlua0VsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvUmVsTGlzdC5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6UmVsTGlzdDo6UmVsTGlzdCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZWxMaXN0OjpyZWYpOgorICAgICAgICAoV2ViQ29yZTo6UmVsTGlzdDo6ZGVyZWYp
OgorICAgICAgICAoV2ViQ29yZTo6UmVsTGlzdDo6bGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6
OlJlbExpc3Q6Oml0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6UmVsTGlzdDo6ZWxlbWVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZWxMaXN0OjpzZXRSZWwpOgorICAgICAgICAoV2ViQ29yZTo6UmVs
TGlzdDo6Y29udGFpbnNJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3JlOjpSZWxMaXN0Ojp2YWx1
ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZWxMaXN0OjpzZXRWYWx1ZSk6CisgICAgICAgICogaHRt
bC9SZWxMaXN0Lmg6IEFkZGVkLgorCiAyMDE0LTEwLTE2ICBSb2dlciBGb25nICA8cm9nZXJfZm9u
Z0BhcHBsZS5jb20+CiAKICAgICAgICAgQ2FsbGluZyBnbFJlYWRQaXhlbHMgd2l0aCBCR1JBIGZv
cm1hdCBvbiBhbiBOVklESUEgbWFjaGluZSB3aXRoIGFuIG9wYXF1ZSBjb250ZXh0IHJldHVybnMg
dGhlIHdyb25nIGFscGhhIHZhbHVlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNjdkMjE4YjJk
ZGVlMjU4MjBjYThiOGRmYzJlNjljZjY3MmVmMzAxZi4uMzJjNzY1ZGUzZWI5MDA1YjQwYjc0MjY4
MmZiNWFmMGNjNzA0MDUyMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTE2NzYsNiArMTY3Niw3
IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBodG1sL1JhZGlvSW5wdXRUeXBlLmNwcAogICAg
IGh0bWwvUmFkaW9Ob2RlTGlzdC5jcHAKICAgICBodG1sL1JhbmdlSW5wdXRUeXBlLmNwcAorICAg
IGh0bWwvUmVsTGlzdC5jcHAKICAgICBodG1sL1Jlc2V0SW5wdXRUeXBlLmNwcAogICAgIGh0bWwv
U2VhcmNoSW5wdXRUeXBlLmNwcAogICAgIGh0bWwvU3RlcFJhbmdlLmNwcApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5kZXggMmI4N2M4MjRmYmQ4
MDk1MTVkZDJjMTg1ZDNlZmFmZDkzMDI4MmM5Yy4uOWIxZWQ0N2UxMGMyNGQ5ODQ0ZDg2NTJjODc4
MzhmOTZkOGU1ZGIyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2Vi
Q29yZS52Y3hwcm9qCkBAIC0xNjA2Miw2ICsxNjA2Miw3IEBACiAgICAgPENsQ29tcGlsZSBJbmNs
dWRlPSIuLlxodG1sXFJhZGlvSW5wdXRUeXBlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1
ZGU9Ii4uXGh0bWxcUmFkaW9Ob2RlTGlzdC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRl
PSIuLlxodG1sXFJhbmdlSW5wdXRUeXBlLmNwcCIgLz4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9
Ii4uXGh0bWxcUmVsTGlzdC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1s
XFJlc2V0SW5wdXRUeXBlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxc
U2VhcmNoSW5wdXRUeXBlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxc
U3RlcFJhbmdlLmNwcCIgLz4KQEAgLTIwODQyLDYgKzIwODQzLDcgQEAKICAgICA8Q2xJbmNsdWRl
IEluY2x1ZGU9Ii4uXGh0bWxcUmFkaW9JbnB1dFR5cGUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIElu
Y2x1ZGU9Ii4uXGh0bWxcUmFkaW9Ob2RlTGlzdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5caHRtbFxSYW5nZUlucHV0VHlwZS5oIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0i
Li5caHRtbFxSZWxMaXN0LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXFJl
c2V0SW5wdXRUeXBlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXFNlYXJj
aElucHV0VHlwZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxTdGVwUmFu
Z2UuaCIgLz4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ouZmlsdGVycyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJD
b3JlLnZjeHByb2ouZmlsdGVycwppbmRleCAxZTgxOTQ2MjlmYmE1MjMyOGJlODFjNGQ1NzVjZGE5
Yjg2MzUwYWZhLi4zYzI1NDBiM2E0OWYyMjcyMDBlOTdhZTg4M2I2ZTIxYzE1YTI5ZGNhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZp
bHRlcnMKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ai5maWx0ZXJzCkBAIC00MDUzLDYgKzQwNTMsOSBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5caHRtbFxSYW5nZUlucHV0VHlwZS5jcHAiPgogICAgICAgPEZpbHRlcj5odG1sPC9GaWx0ZXI+
CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXFJlbExp
c3QuY3BwIj4KKyAgICAgIDxGaWx0ZXI+aHRtbDwvRmlsdGVyPgorICAgIDwvQ2xDb21waWxlPgog
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxSZXNldElucHV0VHlwZS5jcHAiPgogICAg
ICAgPEZpbHRlcj5odG1sPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CkBAIC0xMTIxNyw2ICsx
MTIyMCw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXFJhbmdlSW5wdXRUeXBl
LmgiPgogICAgICAgPEZpbHRlcj5odG1sPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CisgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXFJlbExpc3QuaCI+CisgICAgICA8RmlsdGVyPmh0
bWw8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4u
XGh0bWxcUmVzZXRJbnB1dFR5cGUuaCI+CiAgICAgICA8RmlsdGVyPmh0bWw8L0ZpbHRlcj4KICAg
ICA8L0NsSW5jbHVkZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCA0Y2Q0NWU3MDBjNGRlZDU0YzRhNDhmNGZjMGFmNWYwZGVkZDJl
MTdiLi45NWE4ZTI3ZjkyMDNlMmQwYjExOTI2MjJkNTQ4ZTYxMzVmYWYxZjdlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00Njk4
LDYgKzQ2OTgsOCBAQAogCQlCMkVEOTc3MTBCMUY1NUNFMDAyNTdEMEYgLyogR3JhcGhpY3NDb250
ZXh0Q0cuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QjJFRDk3NzAwQjFGNTVDRTAwMjU3RDBGIC8qIEdyYXBoaWNzQ29udGV4dENHLmNwcCAqLzsgfTsK
IAkJQjJGMzRGRTYwRTgyRjgxNDAwRjYyN0NEIC8qIEROUy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJGMzRGRTUwRTgyRjgxNDAwRjYyN0NEIC8qIERO
Uy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUIy
RjM0RkU5MEU4MkY4MjcwMEY2MjdDRCAvKiBETlNDRk5ldC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkYzNEZFODBFODJGODI3MDBGNjI3Q0QgLyog
RE5TQ0ZOZXQuY3BwICovOyB9OworCQlCMkY3OENGRDE5RjJGMDJEMDA0OTY5NkMgLyogUmVsTGlz
dC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkY3
OENGQjE5RjJGMDJEMDA0OTY5NkMgLyogUmVsTGlzdC5jcHAgKi87IH07CisJCUIyRjc4Q0ZFMTlG
MkYwMkQwMDQ5Njk2QyAvKiBSZWxMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCMkY3OENGQzE5RjJGMDJEMDA0OTY5NkMgLyogUmVsTGlzdC5oICov
OyB9OwogCQlCMkZBM0QzNjBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdBbmltYXRlQ29sb3JFbGVt
ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIy
RkEzQzRFMEFCNzVBNkUwMDBFNUFDNCAvKiBKU1NWR0FuaW1hdGVDb2xvckVsZW1lbnQuY3BwICov
OyB9OwogCQlCMkZBM0QzNzBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdBbmltYXRlQ29sb3JFbGVt
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkZB
M0M0RjBBQjc1QTZFMDAwRTVBQzQgLyogSlNTVkdBbmltYXRlQ29sb3JFbGVtZW50LmggKi87IH07
CiAJCUIyRkEzRDM4MEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0FuaW1hdGVkQW5nbGUuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJGQTNDNTAwQUI3
NUE2RTAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZWRBbmdsZS5jcHAgKi87IH07CkBAIC0xMjA3Niw2
ICsxMjA3OCw4IEBACiAJCUIyRUQ5NzcwMEIxRjU1Q0UwMDI1N0QwRiAvKiBHcmFwaGljc0NvbnRl
eHRDRy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR3JhcGhpY3ND
b250ZXh0Q0cuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMkYzNEZFNTBFODJG
ODE0MDBGNjI3Q0QgLyogRE5TLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERO
Uy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMkYzNEZFODBFODJGODI3MDBGNjI3
Q0QgLyogRE5TQ0ZOZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
RE5TQ0ZOZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlCMkY3OENGQjE5RjJG
MDJEMDA0OTY5NkMgLyogUmVsTGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBSZWxMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQjJGNzhD
RkMxOUYyRjAyRDAwNDk2OTZDIC8qIFJlbExpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gUmVsTGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMkZBM0M0
RTBBQjc1QTZFMDAwRTVBQzQgLyogSlNTVkdBbmltYXRlQ29sb3JFbGVtZW50LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1NWR0FuaW1hdGVDb2xvckVsZW1lbnQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMkZBM0M0RjBBQjc1QTZFMDAwRTVB
QzQgLyogSlNTVkdBbmltYXRlQ29sb3JFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU1NWR0FuaW1hdGVDb2xvckVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQjJGQTNDNTAwQUI3NUE2RTAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZWRBbmds
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTVkdBbmltYXRl
ZEFuZ2xlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE3OTI4LDYgKzE3OTMy
LDggQEAKIAkJCQlCNjU4RkZBNDE1MjJFRkFBMDBERDU1OTUgLyogUmFkaW9Ob2RlTGlzdC5oICov
LAogCQkJCUY1NUIzRDk5MTI1MUYxMkQwMDNFRjI2OSAvKiBSYW5nZUlucHV0VHlwZS5jcHAgKi8s
CiAJCQkJRjU1QjNEOUExMjUxRjEyRDAwM0VGMjY5IC8qIFJhbmdlSW5wdXRUeXBlLmggKi8sCisJ
CQkJQjJGNzhDRkIxOUYyRjAyRDAwNDk2OTZDIC8qIFJlbExpc3QuY3BwICovLAorCQkJCUIyRjc4
Q0ZDMTlGMkYwMkQwMDQ5Njk2QyAvKiBSZWxMaXN0LmggKi8sCiAJCQkJRjU1QjNEOUIxMjUxRjEy
RDAwM0VGMjY5IC8qIFJlc2V0SW5wdXRUeXBlLmNwcCAqLywKIAkJCQlGNTVCM0Q5QzEyNTFGMTJE
MDAzRUYyNjkgLyogUmVzZXRJbnB1dFR5cGUuaCAqLywKIAkJCQlGNTVCM0Q5RDEyNTFGMTJEMDAz
RUYyNjkgLyogU2VhcmNoSW5wdXRUeXBlLmNwcCAqLywKQEAgLTI0Njg4LDYgKzI0Njk0LDcgQEAK
IAkJCQlFMTU3QThGMTE4MTg1NDI1MDA5RjgyMUQgLyogSlNDcnlwdG9BbGdvcml0aG1CdWlsZGVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUM2NTcxMzE4MTVGOUREMDAyNTZDREQgLyogSlNDcnlw
dG9BbGdvcml0aG1EaWN0aW9uYXJ5LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTU3QThFMTE4MTcz
MzFDMDA5RjgyMUQgLyogSlNDcnlwdG9LZXkuaCBpbiBIZWFkZXJzICovLAorCQkJCUIyRjc4Q0ZF
MTlGMkYwMkQwMDQ5Njk2QyAvKiBSZWxMaXN0LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUY4MEI4
RTE4MzE3MkI1MDA3ODg1QzMgLyogSlNDcnlwdG9LZXlQYWlyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFMTI1Rjg1MjE4MjgzQTU2MDBEODRDRDkgLyogSlNDcnlwdG9LZXlTZXJpYWxpemF0aW9uSldL
LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTI1RjgzRTE4MjQxMUU3MDBEODRDRDkgLyogSlNDcnlw
dG9PcGVyYXRpb25EYXRhLmggaW4gSGVhZGVycyAqLywKQEAgLTI3NDE5LDYgKzI3NDI2LDcgQEAK
IAkJCQlDRUNBREZDNjE1Mzc3OEZGMDBFMzcwNjggLyogRGljdGF0aW9uQWx0ZXJuYXRpdmUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQ0VDQURGQzgxNTM3NzhGRjAwRTM3MDY4IC8qIERpY3RhdGlv
bkNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRDBCRDRGNUMxNDA4ODUwRjAwNjgzOUI2
IC8qIERpY3RhdGlvbkNvbW1hbmRJT1MuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJQjJGNzhDRkQx
OUYyRjAyRDAwNDk2OTZDIC8qIFJlbExpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzEyRDY3
QjExNTM1NjkxRjAwNTYzRDBEIC8qIERpY3Rpb25hcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
RkRBRjE5OTgxNTEzRDEzMTAwOERCMEMzIC8qIERpcmVjdENvbnZvbHZlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk0OUZDN0E1MDE0NDRBRjVGMDBBNUQ4NjQgLyogRGlzcGxheVJlZnJlc2hNb25p
dG9yLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1Nw
YWNlU3BsaXRTdHJpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcu
Y3BwCmluZGV4IDYyMmE3ZjJkODVhMjE3NmQ5OTI4NzU2NWI4YTE2MTVkMWJmYzgxOGYuLmFhZWFh
MTNlNGFlMjIzMWU4ZTIyYWJhMjc0OWZjNDUxZDk0NzIwZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
U3BhY2VTcGxpdFN0cmluZy5jcHAKQEAgLTk0LDYgKzk0LDEwIEBAIHN0YXRpYyBTcGFjZVNwbGl0
U3RyaW5nVGFibGUmIHNwYWNlU3BsaXRTdHJpbmdUYWJsZSgpCiAKIHZvaWQgU3BhY2VTcGxpdFN0
cmluZzo6c2V0KGNvbnN0IEF0b21pY1N0cmluZyYgaW5wdXRTdHJpbmcsIGJvb2wgc2hvdWxkRm9s
ZENhc2UpCiB7CisgICAgaWYgKGlucHV0U3RyaW5nLmlzTnVsbCgpKSB7CisgICAgICAgIGNsZWFy
KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CiAgICAgbV9kYXRhID0gU3BhY2VTcGxpdFN0cmlu
Z0RhdGE6OmNyZWF0ZShzaG91bGRGb2xkQ2FzZSA/IGlucHV0U3RyaW5nLmNvbnZlcnRUb0FTQ0lJ
TG93ZXJjYXNlKCkgOiBpbnB1dFN0cmluZyk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
QW5jaG9yRWxlbWVudC5jcHAKaW5kZXggMjFlMTM5M2IzODllMjA5MjRkMDE0ZDYxMzIxMGJmM2Ix
NDVkMjI3ZC4uYTBlMjk3OTNjOWJkOTU2NTExMmU4YTQyZGIxM2ZiODA3YTMzZDM3YyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAKQEAgLTQxLDYgKzQxLDcgQEAK
ICNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAiUGluZ0xvYWRlci5oIgogI2luY2x1
ZGUgIlBsYXRmb3JtTW91c2VFdmVudC5oIgorI2luY2x1ZGUgIlJlbExpc3QuaCIKICNpbmNsdWRl
ICJSZW5kZXJJbWFnZS5oIgogI2luY2x1ZGUgIlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUg
IlNWR0ltYWdlLmgiCkBAIC0yNjEsOCArMjYyLDEyIEBAIHZvaWQgSFRNTEFuY2hvckVsZW1lbnQ6
OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21pY1N0
CiAgICAgICAgIGludmFsaWRhdGVDYWNoZWRWaXNpdGVkTGlua0hhc2goKTsKICAgICB9IGVsc2Ug
aWYgKG5hbWUgPT0gbmFtZUF0dHIgfHwgbmFtZSA9PSB0aXRsZUF0dHIpIHsKICAgICAgICAgLy8g
RG8gbm90aGluZy4KLSAgICB9IGVsc2UgaWYgKG5hbWUgPT0gcmVsQXR0cikKLSAgICAgICAgc2V0
UmVsKHZhbHVlKTsKKyAgICB9IGVsc2UgaWYgKG5hbWUgPT0gcmVsQXR0cikgeworICAgICAgICBp
ZiAoU3BhY2VTcGxpdFN0cmluZzo6c3BhY2VTcGxpdFN0cmluZ0NvbnRhaW5zVmFsdWUodmFsdWUs
ICJub3JlZmVycmVyIiwgdHJ1ZSkpCisgICAgICAgICAgICBtX2xpbmtSZWxhdGlvbnMgfD0gUmVs
YXRpb25Ob1JlZmVycmVyOworICAgICAgICBpZiAobV9yZWxMaXN0KQorICAgICAgICAgICAgbV9y
ZWxMaXN0LT51cGRhdGVSZWxBdHRyaWJ1dGUodmFsdWUpOworICAgIH0KICAgICBlbHNlCiAgICAg
ICAgIEhUTUxFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShuYW1lLCB2YWx1ZSk7CiB9CkBAIC0zMTAs
MTAgKzMxNSwxMSBAQCBib29sIEhUTUxBbmNob3JFbGVtZW50OjpoYXNSZWwodWludDMyX3QgcmVs
YXRpb24pIGNvbnN0CiAgICAgcmV0dXJuIG1fbGlua1JlbGF0aW9ucyAmIHJlbGF0aW9uOwogfQog
Ci12b2lkIEhUTUxBbmNob3JFbGVtZW50OjpzZXRSZWwoY29uc3QgU3RyaW5nJiB2YWx1ZSkKK0RP
TVRva2VuTGlzdCYgSFRNTEFuY2hvckVsZW1lbnQ6OnJlbExpc3QoKQogewotICAgIGlmIChTcGFj
ZVNwbGl0U3RyaW5nOjpzcGFjZVNwbGl0U3RyaW5nQ29udGFpbnNWYWx1ZSh2YWx1ZSwgIm5vcmVm
ZXJyZXIiLCB0cnVlKSkKLSAgICAgICAgbV9saW5rUmVsYXRpb25zIHw9IFJlbGF0aW9uTm9SZWZl
cnJlcjsKKyAgICBpZiAoIW1fcmVsTGlzdCkgCisgICAgICAgIG1fcmVsTGlzdCA9IHN0ZDo6bWFr
ZV91bmlxdWU8UmVsTGlzdD4oKnRoaXMpOworICAgIHJldHVybiAqbV9yZWxMaXN0OwogfQogCiBj
b25zdCBBdG9taWNTdHJpbmcmIEhUTUxBbmNob3JFbGVtZW50OjpuYW1lKCkgY29uc3QKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaAppbmRleCAxOTc0MTA3NDFiZGQwZTgzODhj
MGQzODVmNDhhNDExODVhNTk2YTEyLi4zMDkxNWQzN2QyOTgyYmIwNDVkNTM5OTUwNTBlZGM2MWZm
MDNjNDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oCkBAIC0zMCw2
ICszMCw4IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgUmVsTGlzdDsKKwogLy8g
TGluayByZWxhdGlvbiBiaXRtYXNrIHZhbHVlcy4KIC8vIEZJWE1FOiBVbmNvbW1lbnQgYXMgdGhl
IHZhcmlvdXMgbGluayByZWxhdGlvbnMgYXJlIGltcGxlbWVudGVkLgogZW51bSB7CkBAIC05Nywx
MSArOTksMTIgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCB3aWxsUmVzcG9uZFRvTW91c2VD
bGlja0V2ZW50cygpIG92ZXJyaWRlOwogCiAgICAgYm9vbCBoYXNSZWwodWludDMyX3QgcmVsYXRp
b24pIGNvbnN0OwotICAgIHZvaWQgc2V0UmVsKGNvbnN0IFN0cmluZyYpOwogICAgIAogICAgIExp
bmtIYXNoIHZpc2l0ZWRMaW5rSGFzaCgpIGNvbnN0OwogICAgIHZvaWQgaW52YWxpZGF0ZUNhY2hl
ZFZpc2l0ZWRMaW5rSGFzaCgpIHsgbV9jYWNoZWRWaXNpdGVkTGlua0hhc2ggPSAwOyB9CiAKKyAg
ICBET01Ub2tlbkxpc3QmIHJlbExpc3QoKTsKKwogcHJvdGVjdGVkOgogICAgIEhUTUxBbmNob3JF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC0xNDAsNiArMTQz
LDggQEAgcHJpdmF0ZToKICAgICBib29sIG1fd2FzU2hpZnRLZXlEb3duT25Nb3VzZURvd24gOiAx
OwogICAgIHVpbnQzMl90IG1fbGlua1JlbGF0aW9ucyA6IDMwOwogICAgIG11dGFibGUgTGlua0hh
c2ggbV9jYWNoZWRWaXNpdGVkTGlua0hhc2g7CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVsTGlz
dD4gbV9yZWxMaXN0OwogfTsKIAogaW5saW5lIExpbmtIYXNoIEhUTUxBbmNob3JFbGVtZW50Ojp2
aXNpdGVkTGlua0hhc2goKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQW5jaG9yRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVt
ZW50LmlkbAppbmRleCBkZjY4MzYyODJmZjZlNDkzOWMzMTM1MWM3ZjQzOGU3ODRlYjhlMmVjLi41
ZjM3ZWY5MzNmYjM3NTc2Njc3OThiMzMwOGVjYTE1Y2QxZDQ1MmRjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmlkbApAQCAtNjYsNSArNjYsNyBAQCBpbnRlcmZhY2Ug
SFRNTEFuY2hvckVsZW1lbnQgOiBIVE1MRWxlbWVudCB7CiAgICAgLy8gT2JqZWN0aXZlLUMgZXh0
ZW5zaW9uOgogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBVUkwgYWJzb2x1dGVMaW5rVVJMOwogI2Vu
ZGlmCisKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NVG9rZW5MaXN0IHJlbExpc3Q7CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcmVhRWxlbWVudC5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBcmVhRWxlbWVudC5pZGwKaW5kZXggZDAyNTA1MjliMTZh
ZDlmZTk3YjAxZGFhNThmOGJmNjc1ZWM1YTRlNC4uOGYzZjMzMDRiZWRiNWY3YmJiY2E0NjM4NTEw
MmNhMTAwNmQzMGE5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXJlYUVs
ZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmlkbApA
QCAtMjQsNiArMjQsNyBAQCBpbnRlcmZhY2UgSFRNTEFyZWFFbGVtZW50IDogSFRNTEVsZW1lbnQg
ewogICAgIFtSZWZsZWN0LCBVUkxdIGF0dHJpYnV0ZSBET01TdHJpbmcgaHJlZjsKICAgICBbUmVm
bGVjdF0gYXR0cmlidXRlIGJvb2xlYW4gbm9IcmVmOwogICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUg
RE9NU3RyaW5nIHBpbmc7CisgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgcmVsOwog
ICAgIFtSZWZsZWN0XSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNoYXBlOwogICAgIFtSZWZsZWN0XSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIHRhcmdldDsKIApAQCAtNDMsNSArNDQsNyBAQCBpbnRlcmZhY2Ug
SFRNTEFyZWFFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgIC8vIE9iamVjdGl2ZS1DIGV4dGVu
c2lvbjoKICAgICByZWFkb25seSBhdHRyaWJ1dGUgVVJMIGFic29sdXRlTGlua1VSTDsKICNlbmRp
ZgorCisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVRva2VuTGlzdCByZWxMaXN0OwogfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuY3BwCmluZGV4IGZhNzU4MTE1N2ZjNTM2
M2U4YjQ5Y2UzMjY1NWZhN2YwODEwNjliNzkuLmQ4MDQzZDI2MjhlOGJjNzczMzFkNzhkOTcxMDlm
YjRiYzJjYzYxNzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVt
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAKQEAg
LTQ1LDYgKzQ1LDcgQEAKICNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVk
ZSAiTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKKyNpbmNsdWRlICJSZWxMaXN0Lmgi
CiAjaW5jbHVkZSAiUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgog
I2luY2x1ZGUgIlNldHRpbmdzLmgiCkBAIC0xMzgsNiArMTM5LDggQEAgdm9pZCBIVE1MTGlua0Vs
ZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0
b21pY1N0cmkKIHsKICAgICBpZiAobmFtZSA9PSByZWxBdHRyKSB7CiAgICAgICAgIG1fcmVsQXR0
cmlidXRlID0gTGlua1JlbEF0dHJpYnV0ZSh2YWx1ZSk7CisgICAgICAgIGlmIChtX3JlbExpc3Qp
CisgICAgICAgICAgICBtX3JlbExpc3QtPnVwZGF0ZVJlbEF0dHJpYnV0ZSh2YWx1ZSk7CiAgICAg
ICAgIHByb2Nlc3MoKTsKICAgICB9IGVsc2UgaWYgKG5hbWUgPT0gaHJlZkF0dHIpIHsKICAgICAg
ICAgcHJvY2VzcygpOwpAQCAtMzc2LDYgKzM3OSwxMyBAQCB2b2lkIEhUTUxMaW5rRWxlbWVudDo6
ZGlzcGF0Y2hQZW5kaW5nRXZlbnQoTGlua0V2ZW50U2VuZGVyKiBldmVudFNlbmRlcikKICAgICAg
ICAgbGlua0xvYWRpbmdFcnJvcmVkKCk7CiB9CiAKK0RPTVRva2VuTGlzdCYgSFRNTExpbmtFbGVt
ZW50OjpyZWxMaXN0KCkKK3sKKyAgICBpZiAoIW1fcmVsTGlzdCkgCisgICAgICAgIG1fcmVsTGlz
dCA9IHN0ZDo6bWFrZV91bmlxdWU8UmVsTGlzdD4oKnRoaXMpOworICAgIHJldHVybiAqbV9yZWxM
aXN0OworfQorCiB2b2lkIEhUTUxMaW5rRWxlbWVudDo6bm90aWZ5TG9hZGVkU2hlZXRBbmRBbGxD
cml0aWNhbFN1YnJlc291cmNlcyhib29sIGVycm9yT2NjdXJyZWQpCiB7CiAgICAgaWYgKG1fZmly
ZWRMb2FkKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmgKaW5kZXggY2RkN2I0Nzdk
YWVmM2M1MzBlOWQ0N2UyNWZiZmZmNTliZTkzM2FiNi4uMzIxM2ViZjJjZDczZjNiOWIzNjg1NGZj
ZjI5NzJjYmRiZTBlYTRmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlu
a0VsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5oCkBA
IC0zNyw2ICszNyw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEhUTUxMaW5rRWxl
bWVudDsKK2NsYXNzIFJlbExpc3Q7CiBjbGFzcyBVUkw7CiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IGNsYXNzIEV2ZW50U2VuZGVyOwpAQCAtNzEsNiArNzIsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBk
aXNwYXRjaFBlbmRpbmdFdmVudChMaW5rRXZlbnRTZW5kZXIqKTsKICAgICBzdGF0aWMgdm9pZCBk
aXNwYXRjaFBlbmRpbmdMb2FkRXZlbnRzKCk7CiAKKyAgICBET01Ub2tlbkxpc3QmIHJlbExpc3Qo
KTsKKwogcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVh
bGlmaWVkTmFtZSYsIGNvbnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOwogCkBAIC0xMDAsNyAr
MTAzLDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgZGVmYXVsdEV2ZW50SGFuZGxlcihF
dmVudCopIG92ZXJyaWRlOwogICAgIHZvaWQgaGFuZGxlQ2xpY2soRXZlbnQmKTsKIAotcHJpdmF0
ZToKICAgICBIVE1MTGlua0VsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYsIERvY3VtZW50Jiwg
Ym9vbCBjcmVhdGVkQnlQYXJzZXIpOwogCiAgICAgdmlydHVhbCB2b2lkIGFkZFN1YnJlc291cmNl
QXR0cmlidXRlVVJMcyhMaXN0SGFzaFNldDxVUkw+JikgY29uc3Qgb3ZlcnJpZGU7CkBAIC0xMzgs
NiArMTQwLDggQEAgcHJpdmF0ZToKICAgICBib29sIG1fbG9hZGVkU2hlZXQ7CiAKICAgICBQZW5k
aW5nU2hlZXRUeXBlIG1fcGVuZGluZ1NoZWV0VHlwZTsKKworICAgIHN0ZDo6dW5pcXVlX3B0cjxS
ZWxMaXN0PiBtX3JlbExpc3Q7CiB9OwogCiB9IC8vbmFtZXNwYWNlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxMaW5rRWxlbWVudC5pZGwKaW5kZXggMGE0ZTM0NzU5ZjU3ZDk4YThmYzBjMWJlYjcyMWM5
NzZkN2MwN2Y3Ni4uOTVhNjQxY2NmNWQ5MGEyODYyNmY3YjRiN2E0ZTAwNTg1YTMzMjAyMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmlkbApAQCAtNDAsNSArNDAsNyBAQCBp
bnRlcmZhY2UgSFRNTExpbmtFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAgIC8vIE9iamVjdGl2
ZS1DIGV4dGVuc2lvbjoKICAgICByZWFkb25seSBhdHRyaWJ1dGUgVVJMIGFic29sdXRlTGlua1VS
TDsKICNlbmRpZgorCisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVRva2VuTGlzdCByZWxMaXN0
OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9SZWxMaXN0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvUmVsTGlzdC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjRjNzBjNmI2MGE2Y2Ex
ZGU3YWZmOWRjZmU2MzBjYjUxZjU4ZDAzZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvUmVsTGlzdC5jcHAKQEAgLTAsMCArMSw4NyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNCBEaGkgQXVycmFobWFuIDxkaW9yYWhtYW5Acm9ja3liYXJzLmNvbT4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAor
ICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
CisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJSZWxMaXN0LmgiCisKKyNpbmNsdWRl
ICJFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworUmVsTGlzdDo6UmVsTGlzdChFbGVtZW50JiBlbGVtZW50KSAKKyAgICA6IG1fZWxlbWVu
dChlbGVtZW50KSAKK3sKKyAgICBtX3JlbEF0dHJpYnV0ZVZhbHVlLnNldChlbGVtZW50LmZhc3RH
ZXRBdHRyaWJ1dGUoSFRNTE5hbWVzOjpyZWxBdHRyKSwgZmFsc2UpOworfQorCit2b2lkIFJlbExp
c3Q6OnJlZigpCit7CisgICAgbV9lbGVtZW50LnJlZigpOworfQorCit2b2lkIFJlbExpc3Q6OmRl
cmVmKCkKK3sKKyAgICBtX2VsZW1lbnQuZGVyZWYoKTsKK30KKwordW5zaWduZWQgUmVsTGlzdDo6
bGVuZ3RoKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9yZWxBdHRyaWJ1dGVWYWx1ZS5zaXplKCk7
Cit9CisKK2NvbnN0IEF0b21pY1N0cmluZyBSZWxMaXN0OjppdGVtKHVuc2lnbmVkIGluZGV4KSBj
b25zdAoreworICAgIGlmIChpbmRleCA+PSBsZW5ndGgoKSkKKyAgICAgICAgcmV0dXJuIG51bGxB
dG9tOworICAgIHJldHVybiBtX3JlbEF0dHJpYnV0ZVZhbHVlW2luZGV4XTsKK30KKworRWxlbWVu
dCogUmVsTGlzdDo6ZWxlbWVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuICZtX2VsZW1lbnQ7Cit9
CisKK3ZvaWQgUmVsTGlzdDo6dXBkYXRlUmVsQXR0cmlidXRlKGNvbnN0IEF0b21pY1N0cmluZyYg
dmFsdWUpCit7CisgICAgbV9yZWxBdHRyaWJ1dGVWYWx1ZS5zZXQodmFsdWUsIGZhbHNlKTsKK30K
KworYm9vbCBSZWxMaXN0Ojpjb250YWluc0ludGVybmFsKGNvbnN0IEF0b21pY1N0cmluZyYgdG9r
ZW4pIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fcmVsQXR0cmlidXRlVmFsdWUuY29udGFpbnModG9r
ZW4pOworfQorCitBdG9taWNTdHJpbmcgUmVsTGlzdDo6dmFsdWUoKSBjb25zdAoreworICAgIHJl
dHVybiBtX2VsZW1lbnQuZmFzdEdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OnJlbEF0dHIpOworfQor
Cit2b2lkIFJlbExpc3Q6OnNldFZhbHVlKGNvbnN0IEF0b21pY1N0cmluZyYgdmFsdWUpCit7Cisg
ICAgbV9lbGVtZW50LnNldEF0dHJpYnV0ZShIVE1MTmFtZXM6OnJlbEF0dHIsIHZhbHVlKTsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL1JlbExpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvUmVsTGlzdC5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
Ljk3NDNjY2Y1ZDU1MzAxZTNjOGE1YzQ4MjE2MDk1NjNjMDYzZmM4OTgKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1JlbExpc3QuaApAQCAtMCwwICsxLDU3IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE0IERoaSBBdXJyYWhtYW4gPGRpb3JhaG1hbkByb2NreWJhcnMu
Y29tPgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkK
KyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBSZWxMaXN0X2gKKyNkZWZpbmUgUmVsTGlzdF9oCisK
KyNpbmNsdWRlICJET01Ub2tlbkxpc3QuaCIKKyNpbmNsdWRlICJTcGFjZVNwbGl0U3RyaW5nLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRWxlbWVudDsKKworY2xhc3MgUmVsTGlz
dCBmaW5hbCA6IHB1YmxpYyBET01Ub2tlbkxpc3QgeworcHVibGljOgorICAgIFJlbExpc3QoRWxl
bWVudCYpOworICAgIHZvaWQgdXBkYXRlUmVsQXR0cmlidXRlKGNvbnN0IEF0b21pY1N0cmluZyYp
OworCitwcml2YXRlOgorICAgIHZpcnR1YWwgdm9pZCByZWYoKSBvdmVycmlkZTsKKyAgICB2aXJ0
dWFsIHZvaWQgZGVyZWYoKSBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIHVuc2lnbmVkIGxlbmd0aCgp
IGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nIGl0ZW0odW5z
aWduZWQgaW5kZXgpIGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1YWwgRWxlbWVudCogZWxlbWVu
dCgpIGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1YWwgYm9vbCBjb250YWluc0ludGVybmFsKGNv
bnN0IEF0b21pY1N0cmluZyYpIGNvbnN0IG92ZXJyaWRlOworICAgIHZpcnR1YWwgQXRvbWljU3Ry
aW5nIHZhbHVlKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIHNldFZhbHVlKGNv
bnN0IEF0b21pY1N0cmluZyYpIG92ZXJyaWRlOworICAgIAorICAgIEVsZW1lbnQmIG1fZWxlbWVu
dDsKKyAgICBtdXRhYmxlIFNwYWNlU3BsaXRTdHJpbmcgbV9yZWxBdHRyaWJ1dGVWYWx1ZTsKK307
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIFJlbExpc3RfaAorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggNTE5OGMwYjQ0YzMwODBkOWU4YzA1NjhjYWNlODA4MjgyNzI2MzRkMS4uNTFjNDk4MjkwOTFl
N2QyYTk2MjRlOTk4YWM2ZWRhNzUzNDljNzA3MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDE0
LTEwLTE5ICBEaGkgQXVycmFobWFuICA8ZGlvcmFobWFuQHJvY2t5YmFycy5jb20+CisKKyAgICAg
ICAgQWRkIHJlbExpc3QgdG8gdGhlIGFuY2hvciwgYXJlYSBhbmQgbGluayBlbGVtZW50cworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3ODYwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdHMgcmVsTGlz
dCBhc3BlY3RzIGZvciBhbmNob3IsIGFyZWEgYW5kIGxpc3QgZWxlbWVudHMuCisKKyAgICAgICAg
KiBmYXN0L2RvbS9yZWwtbGlzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3Qv
ZG9tL3JlbC1saXN0LWdjLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20v
cmVsLWxpc3QtZ2MuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vcmVsLWxpc3QuaHRt
bDogQWRkZWQuCisgICAgICAgICogcGVyZi9yZWwtbGlzdC1yZW1vdmUtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBwZXJmL3JlbC1saXN0LXJlbW92ZS5odG1sOiBBZGRlZC4KKwogMjAx
NC0xMC0xNyAgTWljaGFlbCBTYWJvZmYgIDxtc2Fib2ZmQGFwcGxlLmNvbT4KIAogICAgICAgICBE
b24ndCBjcmVhdGUgY2FjaGVkIGZ1bmN0aW9ucyB0aGF0IGFjY2VzcyBsZXhpY2FsR2xvYmFsT2Jq
ZWN0KCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3JlbC1saXN0LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3JlbC1saXN0LWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kMTBlOTA3MDJmMzNjOTU1N2Q2NTdkYmQzMWQ4MDZjNGJiMzYwYzc1Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVsLWxpc3QtZXhwZWN0ZWQudHh0CkBAIC0w
LDAgKzEsMzc4IEBACitUZXN0cyB0aGF0IHJlbExpc3Qgd29ya3Mgb24gYW5jaG9yLCBhcmVhIGFu
ZCBsaW5rIGVsZW1lbnRzCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitUZXN0cyBy
ZWxMaXN0IGZvciBhbmNob3IgZWxlbWVudAorUEFTUyBlbGVtZW50LnJlbExpc3QgPT0gbnVsbCBp
cyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3QgPT0gdW5kZWZpbmVkIGlzIGZhbHNlCitQQVNT
IGVsZW1lbnQucmVsTGlzdCBpbnN0YW5jZW9mIERPTVRva2VuTGlzdCBpcyB0cnVlCitQQVNTIGVs
ZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMworUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMo
ImEiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiYiIpIGlzIHRydWUK
K1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJjIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50
LnJlbExpc3QuY29udGFpbnMoImQiKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3QubGVu
Z3RoIGlzIDMKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJmb28iKSBpcyB0cnVlCitQ
QVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiYmFyIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50
LnJlbExpc3QuY29udGFpbnMoImNob2NvbGF0ZSIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxM
aXN0LmNvbnRhaW5zKCJvcmFuZ2UiKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3QubGVu
Z3RoIGlzIDAKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAwCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIm1hcnNo
bWFsbG93IikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImNoaXBzIikg
aXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIm9yYW5nZSIpIGlzIGZhbHNl
CitQQVNTIFN0cmluZyhlbGVtZW50LnJlbExpc3QpIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExp
c3QubGVuZ3RoIGlzIDAKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAxCitQQVNTIGVs
ZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlz
IDIKK1BBU1MgZWxlbWVudC5yZWwgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4IgorUEFT
UyBlbGVtZW50LnJlbCBpcyAieCAgeCIKK1BBU1MgZWxlbWVudC5yZWwgaXMgInkgeCIKK1BBU1Mg
ZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5y
ZWwgaXMgIiB5IHkgIgorUEFTUyBlbGVtZW50LnJlbCBpcyAieSIKK0Vuc3VyZSB0aGF0IHdlIGNh
biBoYW5kbGUgZW1wdHkgcmVsIGNvcnJlY3RseQorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xl
KCd4JykgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbCBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxM
aXN0LnRvZ2dsZSgneCcpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVs
ZW1lbnQucmVsTGlzdC5jb250YWlucygieCIpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlz
dFsxXSBpcyB1bmRlZmluZWQuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygieCIpIGlz
IGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygieCIpIGlzIHRydWUKK1Rlc3Qg
dG9nZ2xlIHdpdGggZm9yY2UgYXJndW1lbnQKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgn
eCcsIHRydWUpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWwgaXMgIngiCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC50b2dnbGUoJ3gnLCB0cnVlKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4
IgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgZmFsc2UpIGlzIGZhbHNlCitQQVNT
IGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnLCBmYWxz
ZSkgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0
LnRvZ2dsZSgiIiwgdHJ1ZSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhFcnJvcjogRE9N
IEV4Y2VwdGlvbiAxMi4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgieCB5IiwgZmFsc2Up
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZENoYXJhY3RlckVycm9yOiBET00gRXhjZXB0
aW9uIDUuCitUZXN0aW5nIGFkZCBpbiBwcmVzZW5jZSBvZiB0cmFpbGluZyB3aGl0ZSBzcGFjZXMu
CitQQVNTIGVsZW1lbnQucmVsIGlzICJ4IHkiCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4XHR5Igor
UEFTUyBlbGVtZW50LnJlbCBpcyAiIHkiCitUZXN0IGludmFsaWQgdG9rZW5zCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5jb250YWlucygiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhFcnJv
cjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJ4IHki
KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRDaGFyYWN0ZXJFcnJvcjogRE9NIEV4Y2Vw
dGlvbiA1LgorUEFTUyBlbGVtZW50LnJlbExpc3QuYWRkKCIiKSB0aHJldyBleGNlcHRpb24gRXJy
b3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBlbGVtZW50LnJlbExpc3Qu
YWRkKCJ4IHkiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRDaGFyYWN0ZXJFcnJvcjog
RE9NIEV4Y2VwdGlvbiA1LgorUEFTUyBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCIiKSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBlbGVt
ZW50LnJlbExpc3QucmVtb3ZlKCJ4IHkiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRD
aGFyYWN0ZXJFcnJvcjogRE9NIEV4Y2VwdGlvbiA1LgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9n
Z2xlKCIiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9u
IDEyLgorSW5kZXhpbmcKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzBdIGlzICJ4IgorUEFTUyBlbGVt
ZW50LnJlbExpc3QuaXRlbSgwKSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzFdIGlzICJ4
IgorUEFTUyBlbGVtZW50LnJlbExpc3QuaXRlbSgxKSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxM
aXN0WzFdIGlzICJ5IgorUEFTUyBlbGVtZW50LnJlbExpc3QuaXRlbSgxKSBpcyAieSIKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0WzBdIGlzIHVuZGVmaW5lZC4KK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0
ZW0oMCkgaXMgbnVsbAorUEFTUyBlbGVtZW50LnJlbExpc3RbNF0gaXMgdW5kZWZpbmVkLgorUEFT
UyBlbGVtZW50LnJlbExpc3QuaXRlbSg0KSBpcyBudWxsCitQQVNTIGVsZW1lbnQucmVsTGlzdFst
MV0gaXMgdW5kZWZpbmVkLgorUEFTUyBlbGVtZW50LnJlbExpc3QuaXRlbSgtMSkgaXMgbnVsbAor
UEFTUyBlbGVtZW50LnJlbExpc3QuaXRlbSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5v
dCBlbm91Z2ggYXJndW1lbnRzLgorVGVzdCBjYXNlIHNpbmNlIERPTVRva2VuTGlzdCBpcyBjYXNl
IHNlbnNpdGl2ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIngiKSBpcyB0cnVlCitQ
QVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiWCIpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQu
cmVsTGlzdFswXSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCkgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5jb250YWlucygiWCIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRh
aW5zKCJ4IikgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzBdIGlzICJYIgorVGVzdGlu
ZyB3aGl0ZXNwYWNlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVt
ZW50LnJlbExpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAy
CitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbExpc3Qu
bGVuZ3RoIGlzIDIKK0RPTVRva2VuTGlzdCBwcmVzZW5jZSBhbmQgdHlwZQorUEFTUyAndW5kZWZp
bmVkJyAhPSB0eXBlb2YgRE9NVG9rZW5MaXN0IGlzIHRydWUKK1BBU1MgdHlwZW9mIERPTVRva2Vu
TGlzdC5wcm90b3R5cGUgaXMgIm9iamVjdCIKK1BBU1MgdHlwZW9mIGVsZW1lbnQucmVsTGlzdCBp
cyAib2JqZWN0IgorUEFTUyBlbGVtZW50LnJlbExpc3QuY29uc3RydWN0b3IgaXMgRE9NVG9rZW5M
aXN0CitQQVNTIGVsZW1lbnQucmVsTGlzdCA9PT0gZWxlbWVudC5yZWxMaXN0IGlzIHRydWUKK1Zh
cmlhZGljIGNhbGxzCitQQVNTIGVsZW1lbnQucmVsIGlzICJhIGIiCitQQVNTIGVsZW1lbnQucmVs
IGlzICJhIGIgYyIKK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiBjIG51bGwgZCB1bmRlZmluZWQg
MCBmYWxzZSIKK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0
LmFkZCgiYSIsICJiIiwgIiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJyb3I6IERP
TSBFeGNlcHRpb24gMTIuCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVs
TGlzdC5hZGQoImEiLCAiYiIsICJjIGQiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRD
aGFyYWN0ZXJFcnJvcjogRE9NIEV4Y2VwdGlvbiA1LgorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgor
UEFTUyBlbGVtZW50LnJlbExpc3QuYWRkKCJhIiwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHsgdGhy
b3cgbmV3IEVycm9yKCJ1c2VyIGVycm9yIik7IH19LCAiYiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogdXNlciBlcnJvci4KK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxM
aXN0LmFkZCgpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBvYnNlcnZlci50YWtlUmVj
b3JkcygpLmxlbmd0aCBpcyAxCitQQVNTIGVsZW1lbnQucmVsIGlzICJiIGQgICIKK1BBU1MgZWxl
bWVudC5yZWwgaXMgImQgICIKK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiBjIgorUEFTUyBlbGVt
ZW50LnJlbExpc3QucmVtb3ZlKCJhIiwgImIiLCAiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBT
eW50YXhFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiIK
K1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgiYSIsIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7
IHRocm93IG5ldyBFcnJvcigidXNlciBlcnJvciIpOyB9fSwgImIiKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IHVzZXIgZXJyb3IuCitQQVNTIGVsZW1lbnQucmVsIGlzICJhIGIiCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5yZW1vdmUoImEiLCAiYiIsICJjIGQiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6
IEludmFsaWRDaGFyYWN0ZXJFcnJvcjogRE9NIEV4Y2VwdGlvbiA1LgorUEFTUyBlbGVtZW50LnJl
bCBpcyAiYSBiIgorUEFTUyBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCkgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIG9ic2VydmVyLnRha2VSZWNvcmRzKCkubGVuZ3RoIGlzIDEKK1Rlc3Rz
IHJlbExpc3QgZm9yIGFyZWEgZWxlbWVudAorUEFTUyBlbGVtZW50LnJlbExpc3QgPT0gbnVsbCBp
cyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3QgPT0gdW5kZWZpbmVkIGlzIGZhbHNlCitQQVNT
IGVsZW1lbnQucmVsTGlzdCBpbnN0YW5jZW9mIERPTVRva2VuTGlzdCBpcyB0cnVlCitQQVNTIGVs
ZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMworUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMo
ImEiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiYiIpIGlzIHRydWUK
K1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJjIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50
LnJlbExpc3QuY29udGFpbnMoImQiKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3QubGVu
Z3RoIGlzIDMKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJmb28iKSBpcyB0cnVlCitQ
QVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiYmFyIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50
LnJlbExpc3QuY29udGFpbnMoImNob2NvbGF0ZSIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxM
aXN0LmNvbnRhaW5zKCJvcmFuZ2UiKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3QubGVu
Z3RoIGlzIDAKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAwCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIm1hcnNo
bWFsbG93IikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImNoaXBzIikg
aXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIm9yYW5nZSIpIGlzIGZhbHNl
CitQQVNTIFN0cmluZyhlbGVtZW50LnJlbExpc3QpIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExp
c3QubGVuZ3RoIGlzIDAKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAxCitQQVNTIGVs
ZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlz
IDIKK1BBU1MgZWxlbWVudC5yZWwgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4IgorUEFT
UyBlbGVtZW50LnJlbCBpcyAieCAgeCIKK1BBU1MgZWxlbWVudC5yZWwgaXMgInkgeCIKK1BBU1Mg
ZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5y
ZWwgaXMgIiB5IHkgIgorUEFTUyBlbGVtZW50LnJlbCBpcyAieSIKK0Vuc3VyZSB0aGF0IHdlIGNh
biBoYW5kbGUgZW1wdHkgcmVsIGNvcnJlY3RseQorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xl
KCd4JykgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbCBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxM
aXN0LnRvZ2dsZSgneCcpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVs
ZW1lbnQucmVsTGlzdC5jb250YWlucygieCIpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlz
dFsxXSBpcyB1bmRlZmluZWQuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygieCIpIGlz
IGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygieCIpIGlzIHRydWUKK1Rlc3Qg
dG9nZ2xlIHdpdGggZm9yY2UgYXJndW1lbnQKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgn
eCcsIHRydWUpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWwgaXMgIngiCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC50b2dnbGUoJ3gnLCB0cnVlKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4
IgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgZmFsc2UpIGlzIGZhbHNlCitQQVNT
IGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnLCBmYWxz
ZSkgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0
LnRvZ2dsZSgiIiwgdHJ1ZSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhFcnJvcjogRE9N
IEV4Y2VwdGlvbiAxMi4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgieCB5IiwgZmFsc2Up
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZENoYXJhY3RlckVycm9yOiBET00gRXhjZXB0
aW9uIDUuCitUZXN0aW5nIGFkZCBpbiBwcmVzZW5jZSBvZiB0cmFpbGluZyB3aGl0ZSBzcGFjZXMu
CitQQVNTIGVsZW1lbnQucmVsIGlzICJ4IHkiCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4XHR5Igor
UEFTUyBlbGVtZW50LnJlbCBpcyAiIHkiCitUZXN0IGludmFsaWQgdG9rZW5zCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5jb250YWlucygiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhFcnJv
cjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJ4IHki
KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRDaGFyYWN0ZXJFcnJvcjogRE9NIEV4Y2Vw
dGlvbiA1LgorUEFTUyBlbGVtZW50LnJlbExpc3QuYWRkKCIiKSB0aHJldyBleGNlcHRpb24gRXJy
b3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBlbGVtZW50LnJlbExpc3Qu
YWRkKCJ4IHkiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRDaGFyYWN0ZXJFcnJvcjog
RE9NIEV4Y2VwdGlvbiA1LgorUEFTUyBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCIiKSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBlbGVt
ZW50LnJlbExpc3QucmVtb3ZlKCJ4IHkiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRD
aGFyYWN0ZXJFcnJvcjogRE9NIEV4Y2VwdGlvbiA1LgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9n
Z2xlKCIiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9u
IDEyLgorSW5kZXhpbmcKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzBdIGlzICJ4IgorUEFTUyBlbGVt
ZW50LnJlbExpc3QuaXRlbSgwKSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzFdIGlzICJ4
IgorUEFTUyBlbGVtZW50LnJlbExpc3QuaXRlbSgxKSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxM
aXN0WzFdIGlzICJ5IgorUEFTUyBlbGVtZW50LnJlbExpc3QuaXRlbSgxKSBpcyAieSIKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0WzBdIGlzIHVuZGVmaW5lZC4KK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0
ZW0oMCkgaXMgbnVsbAorUEFTUyBlbGVtZW50LnJlbExpc3RbNF0gaXMgdW5kZWZpbmVkLgorUEFT
UyBlbGVtZW50LnJlbExpc3QuaXRlbSg0KSBpcyBudWxsCitQQVNTIGVsZW1lbnQucmVsTGlzdFst
MV0gaXMgdW5kZWZpbmVkLgorUEFTUyBlbGVtZW50LnJlbExpc3QuaXRlbSgtMSkgaXMgbnVsbAor
UEFTUyBlbGVtZW50LnJlbExpc3QuaXRlbSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5v
dCBlbm91Z2ggYXJndW1lbnRzLgorVGVzdCBjYXNlIHNpbmNlIERPTVRva2VuTGlzdCBpcyBjYXNl
IHNlbnNpdGl2ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIngiKSBpcyB0cnVlCitQ
QVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiWCIpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQu
cmVsTGlzdFswXSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCkgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5jb250YWlucygiWCIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRh
aW5zKCJ4IikgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzBdIGlzICJYIgorVGVzdGlu
ZyB3aGl0ZXNwYWNlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVt
ZW50LnJlbExpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAy
CitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbExpc3Qu
bGVuZ3RoIGlzIDIKK0RPTVRva2VuTGlzdCBwcmVzZW5jZSBhbmQgdHlwZQorUEFTUyAndW5kZWZp
bmVkJyAhPSB0eXBlb2YgRE9NVG9rZW5MaXN0IGlzIHRydWUKK1BBU1MgdHlwZW9mIERPTVRva2Vu
TGlzdC5wcm90b3R5cGUgaXMgIm9iamVjdCIKK1BBU1MgdHlwZW9mIGVsZW1lbnQucmVsTGlzdCBp
cyAib2JqZWN0IgorUEFTUyBlbGVtZW50LnJlbExpc3QuY29uc3RydWN0b3IgaXMgRE9NVG9rZW5M
aXN0CitQQVNTIGVsZW1lbnQucmVsTGlzdCA9PT0gZWxlbWVudC5yZWxMaXN0IGlzIHRydWUKK1Zh
cmlhZGljIGNhbGxzCitQQVNTIGVsZW1lbnQucmVsIGlzICJhIGIiCitQQVNTIGVsZW1lbnQucmVs
IGlzICJhIGIgYyIKK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiBjIG51bGwgZCB1bmRlZmluZWQg
MCBmYWxzZSIKK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0
LmFkZCgiYSIsICJiIiwgIiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJyb3I6IERP
TSBFeGNlcHRpb24gMTIuCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVs
TGlzdC5hZGQoImEiLCAiYiIsICJjIGQiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRD
aGFyYWN0ZXJFcnJvcjogRE9NIEV4Y2VwdGlvbiA1LgorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgor
UEFTUyBlbGVtZW50LnJlbExpc3QuYWRkKCJhIiwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHsgdGhy
b3cgbmV3IEVycm9yKCJ1c2VyIGVycm9yIik7IH19LCAiYiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogdXNlciBlcnJvci4KK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxM
aXN0LmFkZCgpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBvYnNlcnZlci50YWtlUmVj
b3JkcygpLmxlbmd0aCBpcyAxCitQQVNTIGVsZW1lbnQucmVsIGlzICJiIGQgICIKK1BBU1MgZWxl
bWVudC5yZWwgaXMgImQgICIKK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiBjIgorUEFTUyBlbGVt
ZW50LnJlbExpc3QucmVtb3ZlKCJhIiwgImIiLCAiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBT
eW50YXhFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiIK
K1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgiYSIsIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7
IHRocm93IG5ldyBFcnJvcigidXNlciBlcnJvciIpOyB9fSwgImIiKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IHVzZXIgZXJyb3IuCitQQVNTIGVsZW1lbnQucmVsIGlzICJhIGIiCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5yZW1vdmUoImEiLCAiYiIsICJjIGQiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6
IEludmFsaWRDaGFyYWN0ZXJFcnJvcjogRE9NIEV4Y2VwdGlvbiA1LgorUEFTUyBlbGVtZW50LnJl
bCBpcyAiYSBiIgorUEFTUyBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCkgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIG9ic2VydmVyLnRha2VSZWNvcmRzKCkubGVuZ3RoIGlzIDEKK1Rlc3Rz
IHJlbExpc3QgZm9yIGxpbmsgZWxlbWVudAorUEFTUyBlbGVtZW50LnJlbExpc3QgPT0gbnVsbCBp
cyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3QgPT0gdW5kZWZpbmVkIGlzIGZhbHNlCitQQVNT
IGVsZW1lbnQucmVsTGlzdCBpbnN0YW5jZW9mIERPTVRva2VuTGlzdCBpcyB0cnVlCitQQVNTIGVs
ZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMworUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMo
ImEiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiYiIpIGlzIHRydWUK
K1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJjIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50
LnJlbExpc3QuY29udGFpbnMoImQiKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3QubGVu
Z3RoIGlzIDMKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJmb28iKSBpcyB0cnVlCitQ
QVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiYmFyIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50
LnJlbExpc3QuY29udGFpbnMoImNob2NvbGF0ZSIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxM
aXN0LmNvbnRhaW5zKCJvcmFuZ2UiKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3QubGVu
Z3RoIGlzIDAKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAwCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIm1hcnNo
bWFsbG93IikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImNoaXBzIikg
aXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIm9yYW5nZSIpIGlzIGZhbHNl
CitQQVNTIFN0cmluZyhlbGVtZW50LnJlbExpc3QpIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExp
c3QubGVuZ3RoIGlzIDAKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAxCitQQVNTIGVs
ZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlz
IDIKK1BBU1MgZWxlbWVudC5yZWwgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4IgorUEFT
UyBlbGVtZW50LnJlbCBpcyAieCAgeCIKK1BBU1MgZWxlbWVudC5yZWwgaXMgInkgeCIKK1BBU1Mg
ZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5y
ZWwgaXMgIiB5IHkgIgorUEFTUyBlbGVtZW50LnJlbCBpcyAieSIKK0Vuc3VyZSB0aGF0IHdlIGNh
biBoYW5kbGUgZW1wdHkgcmVsIGNvcnJlY3RseQorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xl
KCd4JykgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbCBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxM
aXN0LnRvZ2dsZSgneCcpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVs
ZW1lbnQucmVsTGlzdC5jb250YWlucygieCIpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlz
dFsxXSBpcyB1bmRlZmluZWQuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygieCIpIGlz
IGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygieCIpIGlzIHRydWUKK1Rlc3Qg
dG9nZ2xlIHdpdGggZm9yY2UgYXJndW1lbnQKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgn
eCcsIHRydWUpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWwgaXMgIngiCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC50b2dnbGUoJ3gnLCB0cnVlKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4
IgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgZmFsc2UpIGlzIGZhbHNlCitQQVNT
IGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnLCBmYWxz
ZSkgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0
LnRvZ2dsZSgiIiwgdHJ1ZSkgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhFcnJvcjogRE9N
IEV4Y2VwdGlvbiAxMi4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgieCB5IiwgZmFsc2Up
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZENoYXJhY3RlckVycm9yOiBET00gRXhjZXB0
aW9uIDUuCitUZXN0aW5nIGFkZCBpbiBwcmVzZW5jZSBvZiB0cmFpbGluZyB3aGl0ZSBzcGFjZXMu
CitQQVNTIGVsZW1lbnQucmVsIGlzICJ4IHkiCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4XHR5Igor
UEFTUyBlbGVtZW50LnJlbCBpcyAiIHkiCitUZXN0IGludmFsaWQgdG9rZW5zCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5jb250YWlucygiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhFcnJv
cjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJ4IHki
KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRDaGFyYWN0ZXJFcnJvcjogRE9NIEV4Y2Vw
dGlvbiA1LgorUEFTUyBlbGVtZW50LnJlbExpc3QuYWRkKCIiKSB0aHJldyBleGNlcHRpb24gRXJy
b3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBlbGVtZW50LnJlbExpc3Qu
YWRkKCJ4IHkiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRDaGFyYWN0ZXJFcnJvcjog
RE9NIEV4Y2VwdGlvbiA1LgorUEFTUyBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCIiKSB0aHJldyBl
eGNlcHRpb24gRXJyb3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBlbGVt
ZW50LnJlbExpc3QucmVtb3ZlKCJ4IHkiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRD
aGFyYWN0ZXJFcnJvcjogRE9NIEV4Y2VwdGlvbiA1LgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9n
Z2xlKCIiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9u
IDEyLgorSW5kZXhpbmcKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzBdIGlzICJ4IgorUEFTUyBlbGVt
ZW50LnJlbExpc3QuaXRlbSgwKSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzFdIGlzICJ4
IgorUEFTUyBlbGVtZW50LnJlbExpc3QuaXRlbSgxKSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxM
aXN0WzFdIGlzICJ5IgorUEFTUyBlbGVtZW50LnJlbExpc3QuaXRlbSgxKSBpcyAieSIKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0WzBdIGlzIHVuZGVmaW5lZC4KK1BBU1MgZWxlbWVudC5yZWxMaXN0Lml0
ZW0oMCkgaXMgbnVsbAorUEFTUyBlbGVtZW50LnJlbExpc3RbNF0gaXMgdW5kZWZpbmVkLgorUEFT
UyBlbGVtZW50LnJlbExpc3QuaXRlbSg0KSBpcyBudWxsCitQQVNTIGVsZW1lbnQucmVsTGlzdFst
MV0gaXMgdW5kZWZpbmVkLgorUEFTUyBlbGVtZW50LnJlbExpc3QuaXRlbSgtMSkgaXMgbnVsbAor
UEFTUyBlbGVtZW50LnJlbExpc3QuaXRlbSgpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IE5v
dCBlbm91Z2ggYXJndW1lbnRzLgorVGVzdCBjYXNlIHNpbmNlIERPTVRva2VuTGlzdCBpcyBjYXNl
IHNlbnNpdGl2ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIngiKSBpcyB0cnVlCitQ
QVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiWCIpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQu
cmVsTGlzdFswXSBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCkgdGhyZXcg
ZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5jb250YWlucygiWCIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRh
aW5zKCJ4IikgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzBdIGlzICJYIgorVGVzdGlu
ZyB3aGl0ZXNwYWNlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVt
ZW50LnJlbExpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAy
CitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbExpc3Qu
bGVuZ3RoIGlzIDIKK0RPTVRva2VuTGlzdCBwcmVzZW5jZSBhbmQgdHlwZQorUEFTUyAndW5kZWZp
bmVkJyAhPSB0eXBlb2YgRE9NVG9rZW5MaXN0IGlzIHRydWUKK1BBU1MgdHlwZW9mIERPTVRva2Vu
TGlzdC5wcm90b3R5cGUgaXMgIm9iamVjdCIKK1BBU1MgdHlwZW9mIGVsZW1lbnQucmVsTGlzdCBp
cyAib2JqZWN0IgorUEFTUyBlbGVtZW50LnJlbExpc3QuY29uc3RydWN0b3IgaXMgRE9NVG9rZW5M
aXN0CitQQVNTIGVsZW1lbnQucmVsTGlzdCA9PT0gZWxlbWVudC5yZWxMaXN0IGlzIHRydWUKK1Zh
cmlhZGljIGNhbGxzCitQQVNTIGVsZW1lbnQucmVsIGlzICJhIGIiCitQQVNTIGVsZW1lbnQucmVs
IGlzICJhIGIgYyIKK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiBjIG51bGwgZCB1bmRlZmluZWQg
MCBmYWxzZSIKK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0
LmFkZCgiYSIsICJiIiwgIiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJyb3I6IERP
TSBFeGNlcHRpb24gMTIuCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVs
TGlzdC5hZGQoImEiLCAiYiIsICJjIGQiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IEludmFsaWRD
aGFyYWN0ZXJFcnJvcjogRE9NIEV4Y2VwdGlvbiA1LgorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgor
UEFTUyBlbGVtZW50LnJlbExpc3QuYWRkKCJhIiwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHsgdGhy
b3cgbmV3IEVycm9yKCJ1c2VyIGVycm9yIik7IH19LCAiYiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogdXNlciBlcnJvci4KK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxM
aXN0LmFkZCgpIGRpZCBub3QgdGhyb3cgZXhjZXB0aW9uLgorUEFTUyBvYnNlcnZlci50YWtlUmVj
b3JkcygpLmxlbmd0aCBpcyAxCitQQVNTIGVsZW1lbnQucmVsIGlzICJiIGQgICIKK1BBU1MgZWxl
bWVudC5yZWwgaXMgImQgICIKK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiBjIgorUEFTUyBlbGVt
ZW50LnJlbExpc3QucmVtb3ZlKCJhIiwgImIiLCAiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBT
eW50YXhFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiIK
K1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgiYSIsIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7
IHRocm93IG5ldyBFcnJvcigidXNlciBlcnJvciIpOyB9fSwgImIiKSB0aHJldyBleGNlcHRpb24g
RXJyb3I6IHVzZXIgZXJyb3IuCitQQVNTIGVsZW1lbnQucmVsIGlzICJhIGIiCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5yZW1vdmUoImEiLCAiYiIsICJjIGQiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6
IEludmFsaWRDaGFyYWN0ZXJFcnJvcjogRE9NIEV4Y2VwdGlvbiA1LgorUEFTUyBlbGVtZW50LnJl
bCBpcyAiYSBiIgorUEFTUyBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCkgZGlkIG5vdCB0aHJvdyBl
eGNlcHRpb24uCitQQVNTIG9ic2VydmVyLnRha2VSZWNvcmRzKCkubGVuZ3RoIGlzIDEKK1BBU1Mg
c3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9yZWwtbGlzdC1nYy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9yZWwtbGlzdC1nYy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTYyZTZi
MzI5MDA5YzcxYWE1MzhlOTg5NWU4NWQ4NDBlYzJhNGVmYQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3JlbC1saXN0LWdjLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEz
IEBACitUZXN0cyByZWxMaXN0IGdjIGZvciBhbmNob3IgZWxlbWVudAorUEFTUyBlbGVtZW50LnJl
bExpc3QubGlmZSBpcyA0MgorUEFTUyBlbGVtZW50LnJlbExpc3QubGlmZSBpcyA0MgorVGVzdHMg
cmVsTGlzdCBnYyBmb3IgYXJlYSBlbGVtZW50CitQQVNTIGVsZW1lbnQucmVsTGlzdC5saWZlIGlz
IDQyCitQQVNTIGVsZW1lbnQucmVsTGlzdC5saWZlIGlzIDQyCitUZXN0cyByZWxMaXN0IGdjIGZv
ciBsaW5rIGVsZW1lbnQKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmxpZmUgaXMgNDIKK1BBU1MgZWxl
bWVudC5yZWxMaXN0LmxpZmUgaXMgNDIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9yZWwt
bGlzdC1nYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVsLWxpc3QtZ2MuaHRtbApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45MjVkZjY1MTE2NzJkYTI4NGM5YzFiMWFjMGNlOGM1ODkwYmNiNDFjCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVsLWxpc3QtZ2MuaHRtbApAQCAtMCww
ICsxLDMwIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxzY3Jp
cHQ+Cit2YXIgZWxlbWVudDsKKworZnVuY3Rpb24gdGVzdCh0eXBlKQoreworICAgIGVsZW1lbnQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHR5cGUpOworICAgIHZhciByZWxMaXN0ID0gZWxlbWVu
dC5yZWxMaXN0OworICAgIGVsZW1lbnQucmVsTGlzdC5saWZlID0gNDI7CisgICAgc2hvdWxkRXZh
bHVhdGVUbygnZWxlbWVudC5yZWxMaXN0LmxpZmUnLCA0Mik7CisgICAgcmVsTGlzdCA9IG51bGw7
CisgICAgZ2MoKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LnJlbExpc3QubGlmZScs
IDQyKTsKK30KKworZGVidWcoJ1Rlc3RzIHJlbExpc3QgZ2MgZm9yIGFuY2hvciBlbGVtZW50Jyk7
Cit0ZXN0KCdhJyk7CitkZWJ1ZygnVGVzdHMgcmVsTGlzdCBnYyBmb3IgYXJlYSBlbGVtZW50Jyk7
Cit0ZXN0KCdhcmVhJyk7CitkZWJ1ZygnVGVzdHMgcmVsTGlzdCBnYyBmb3IgbGluayBlbGVtZW50
Jyk7Cit0ZXN0KCdsaW5rJyk7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3Jl
bC1saXN0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9yZWwtbGlzdC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmNiYzJjNGE1NDg2NWUxNDI4YTE5NWNhNTQ2MzVmNDhiYzg5NjI2ZDAKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9yZWwtbGlzdC5odG1sCkBAIC0wLDAgKzEsMzAz
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGEg
aWQ9ImEiIHJlbD0iYSBiIGMiPjwvYT4KKzxhcmVhIGlkPSJhcmVhIiByZWw9ImEgYiBjIj48L2Fy
ZWE+Cis8bGluayBpZD0ibGluayIgcmVsPSJhIGIgYyI+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24o
J1Rlc3RzIHRoYXQgcmVsTGlzdCB3b3JrcyBvbiBhbmNob3IsIGFyZWEgYW5kIGxpbmsgZWxlbWVu
dHMnKTsKKwordmFyIGVsZW1lbnQ7Cit2YXIgdHlwZTsKK3ZhciBvYnNlcnZlcjsKKworZnVuY3Rp
b24gY3JlYXRlRWxlbWVudChyZWwpCit7CisgICAgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQodHlwZSk7CisgICAgZWxlbWVudC5yZWwgPSByZWw7Cit9CisKK2Z1bmN0aW9uIHRlc3Qo
KSAKK3sKKyAgICBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodHlwZSk7CisgICAg
c2hvdWxkQmVGYWxzZSgnZWxlbWVudC5yZWxMaXN0ID09IG51bGwnKTsKKyAgICBzaG91bGRCZUZh
bHNlKCdlbGVtZW50LnJlbExpc3QgPT0gdW5kZWZpbmVkJyk7CisgICAgc2hvdWxkQmVUcnVlKCdl
bGVtZW50LnJlbExpc3QgaW5zdGFuY2VvZiBET01Ub2tlbkxpc3QnKTsKKyAgICBzaG91bGRCZSgn
ZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCcsICczJyk7CisgICAgc2hvdWxkQmVUcnVlKCdlbGVtZW50
LnJlbExpc3QuY29udGFpbnMoImEiKScpOworICAgIHNob3VsZEJlVHJ1ZSgnZWxlbWVudC5yZWxM
aXN0LmNvbnRhaW5zKCJiIiknKTsKKyAgICBzaG91bGRCZVRydWUoJ2VsZW1lbnQucmVsTGlzdC5j
b250YWlucygiYyIpJyk7CisgICAgc2hvdWxkQmVGYWxzZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRh
aW5zKCJkIiknKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoImZvbyBiYXIgY2hvY29sYXRlIik7Cisg
ICAgc2hvdWxkQmUoJ2VsZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAnMycpOworICAgIHNob3VsZEJl
VHJ1ZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJmb28iKScpOworICAgIHNob3VsZEJlVHJ1
ZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJiYXIiKScpOworICAgIHNob3VsZEJlVHJ1ZSgn
ZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJjaG9jb2xhdGUiKScpOworICAgIHNob3VsZEJlRmFs
c2UoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygib3JhbmdlIiknKTsKKworICAgIGVsZW1lbnQu
cmVtb3ZlQXR0cmlidXRlKCdyZWwnKTsKKyAgICBzaG91bGRCZSgnZWxlbWVudC5yZWxMaXN0Lmxl
bmd0aCcsICcwJyk7CisgICAgCisgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoJ3JlbCcsICcnKTsK
KyAgICBzaG91bGRCZSgnZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCcsICcwJyk7CisKKyAgICBlbGVt
ZW50LnNldEF0dHJpYnV0ZSgncmVsJywgJ21hcnNobWFsbG93IGNoaXBzJyk7CisgICAgc2hvdWxk
QmUoJ2VsZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAnMicpOworICAgIHNob3VsZEJlVHJ1ZSgnZWxl
bWVudC5yZWxMaXN0LmNvbnRhaW5zKCJtYXJzaG1hbGxvdyIpJyk7CisgICAgc2hvdWxkQmVUcnVl
KCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImNoaXBzIiknKTsKKyAgICBzaG91bGRCZUZhbHNl
KCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIm9yYW5nZSIpJyk7CisKKyAgICBjcmVhdGVFbGVt
ZW50KCd4Jyk7CisgICAgZWxlbWVudC5yZWxMaXN0ID0gJ3knOworICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygnU3RyaW5nKGVsZW1lbnQucmVsTGlzdCknLCAneCcpOworCisgICAgY3JlYXRlRWxl
bWVudCgnJyk7CisgICAgc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCcs
IDApOworCisgICAgY3JlYXRlRWxlbWVudCgneCcpOworICAgIHNob3VsZEV2YWx1YXRlVG8oJ2Vs
ZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAxKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJ3ggeCcpOwor
ICAgIHNob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAyKTsKKworICAg
IGNyZWF0ZUVsZW1lbnQoJ3ggeScpOworICAgIHNob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQucmVs
TGlzdC5sZW5ndGgnLCAyKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJycpOworICAgIGVsZW1lbnQu
cmVsTGlzdC5hZGQoJ3gnKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVs
JywgJ3gnKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJ3gnKTsKKyAgICBlbGVtZW50LnJlbExpc3Qu
YWRkKCd4Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICd4Jyk7
CisKKyAgICBjcmVhdGVFbGVtZW50KCd4ICB4Jyk7CisgICAgZWxlbWVudC5yZWxMaXN0LmFkZCgn
eCcpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAneCAgeCcpOwor
CisgICAgY3JlYXRlRWxlbWVudCgneScpOworICAgIGVsZW1lbnQucmVsTGlzdC5hZGQoJ3gnKTsK
KyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ3kgeCcpOworCisgICAg
Y3JlYXRlRWxlbWVudCgnJyk7CisgICAgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgneCcpOworICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnJyk7CisKKyAgICBjcmVhdGVF
bGVtZW50KCd4Jyk7CisgICAgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgneCcpOworICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnJyk7CisKKyAgICBjcmVhdGVFbGVtZW50
KCcgeSB4ICB5ICcpOworICAgIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoJ3gnKTsKKyAgICBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJyB5IHkgJyk7CisKKyAgICBjcmVhdGVF
bGVtZW50KCcgeCB5ICB4ICcpOworICAgIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoJ3gnKTsKKyAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ3knKTsKKworICAgIGRlYnVn
KCdFbnN1cmUgdGhhdCB3ZSBjYW4gaGFuZGxlIGVtcHR5IHJlbCBjb3JyZWN0bHknKTsKKyAgICBl
bGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0eXBlKTsKKyAgICBzaG91bGRCZVRydWUo
ImVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnKSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZWxlbWVudC5yZWwnLCAneCcpOworICAgIHNob3VsZEJlRmFsc2UoImVsZW1lbnQucmVsTGlz
dC50b2dnbGUoJ3gnKSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwn
LCAnJyk7CisKKyAgICBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0eXBlKTsKKyAg
ICBzaG91bGRCZUZhbHNlKCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIngiKScpOworICAgIHNo
b3VsZEJlVW5kZWZpbmVkKCdlbGVtZW50LnJlbExpc3RbMV0nKTsKKyAgICBlbGVtZW50LnJlbExp
c3QucmVtb3ZlKCd4Jyk7CisgICAgc2hvdWxkQmVGYWxzZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRh
aW5zKCJ4IiknKTsKKyAgICBlbGVtZW50LnJlbExpc3QuYWRkKCd4Jyk7CisgICAgc2hvdWxkQmVU
cnVlKCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIngiKScpOworCisgICAgZGVidWcoJ1Rlc3Qg
dG9nZ2xlIHdpdGggZm9yY2UgYXJndW1lbnQnKTsKKyAgICBjcmVhdGVFbGVtZW50KCcnKTsKKyAg
ICBzaG91bGRCZVRydWUoImVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnLCB0cnVlKSIpOworICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAneCcpOworICAgIHNob3VsZEJl
VHJ1ZSgiZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcsIHRydWUpIik7CisgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICd4Jyk7CisgICAgc2hvdWxkQmVGYWxzZSgiZWxl
bWVudC5yZWxMaXN0LnRvZ2dsZSgneCcsIGZhbHNlKSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygnZWxlbWVudC5yZWwnLCAnJyk7CisgICAgc2hvdWxkQmVGYWxzZSgiZWxlbWVudC5yZWxM
aXN0LnRvZ2dsZSgneCcsIGZhbHNlKSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxl
bWVudC5yZWwnLCAnJyk7CisgICAgc2hvdWxkVGhyb3coJ2VsZW1lbnQucmVsTGlzdC50b2dnbGUo
IiIsIHRydWUpJyk7CisgICAgc2hvdWxkVGhyb3coJ2VsZW1lbnQucmVsTGlzdC50b2dnbGUoIngg
eSIsIGZhbHNlKScpOworCisgICAgZGVidWcoJ1Rlc3RpbmcgYWRkIGluIHByZXNlbmNlIG9mIHRy
YWlsaW5nIHdoaXRlIHNwYWNlcy4nKTsKKyAgICBjcmVhdGVFbGVtZW50KCd4ICcpOworICAgIGVs
ZW1lbnQucmVsTGlzdC5hZGQoJ3knKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1l
bnQucmVsJywgJ3ggeScpOworCisgICAgY3JlYXRlRWxlbWVudCgneFx0Jyk7CisgICAgZWxlbWVu
dC5yZWxMaXN0LmFkZCgneScpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5y
ZWwnLCAneFx0eScpOworCisgICAgY3JlYXRlRWxlbWVudCgnICcpOworICAgIGVsZW1lbnQucmVs
TGlzdC5hZGQoJ3knKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywg
JyB5Jyk7CisKKyAgICBkZWJ1ZygnVGVzdCBpbnZhbGlkIHRva2VucycpOworCisgICAgY3JlYXRl
RWxlbWVudCgneCcpOworICAgIHNob3VsZFRocm93KCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMo
IiIpJyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCd4IHknKTsKKyAgICBzaG91bGRUaHJvdygnZWxl
bWVudC5yZWxMaXN0LmNvbnRhaW5zKCJ4IHkiKScpOworCisgICAgY3JlYXRlRWxlbWVudCgnJyk7
CisgICAgc2hvdWxkVGhyb3coJ2VsZW1lbnQucmVsTGlzdC5hZGQoIiIpJyk7CisKKyAgICBjcmVh
dGVFbGVtZW50KCcnKTsKKyAgICBzaG91bGRUaHJvdygnZWxlbWVudC5yZWxMaXN0LmFkZCgieCB5
IiknKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJycpOworICAgIHNob3VsZFRocm93KCdlbGVtZW50
LnJlbExpc3QucmVtb3ZlKCIiKScpOworCisgICAgY3JlYXRlRWxlbWVudCgnJyk7CisgICAgc2hv
dWxkVGhyb3coJ2VsZW1lbnQucmVsTGlzdC5yZW1vdmUoInggeSIpJyk7CisKKyAgICBjcmVhdGVF
bGVtZW50KCcnKTsKKyAgICBzaG91bGRUaHJvdygnZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgiIikn
KTsKKworICAgIGRlYnVnKCdJbmRleGluZycpOworICAgIGNyZWF0ZUVsZW1lbnQoJ3gnKTsKKyAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsTGlzdFswXScsICd4Jyk7CisgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbExpc3QuaXRlbSgwKScsICd4Jyk7CisK
KyAgICBjcmVhdGVFbGVtZW50KCd4IHgnKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2Vs
ZW1lbnQucmVsTGlzdFsxXScsICd4Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVt
ZW50LnJlbExpc3QuaXRlbSgxKScsICd4Jyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCd4IHknKTsK
KyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsTGlzdFsxXScsICd5Jyk7Cisg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbExpc3QuaXRlbSgxKScsICd5Jyk7
CisKKyAgICBjcmVhdGVFbGVtZW50KCcnKTsKKyAgICBzaG91bGRCZVVuZGVmaW5lZCgnZWxlbWVu
dC5yZWxMaXN0WzBdJyk7CisgICAgc2hvdWxkQmVOdWxsKCdlbGVtZW50LnJlbExpc3QuaXRlbSgw
KScpOworCisgICAgY3JlYXRlRWxlbWVudCgneCB5IHonKTsKKyAgICBzaG91bGRCZVVuZGVmaW5l
ZCgnZWxlbWVudC5yZWxMaXN0WzRdJyk7CisgICAgc2hvdWxkQmVOdWxsKCdlbGVtZW50LnJlbExp
c3QuaXRlbSg0KScpOworICAgIHNob3VsZEJlVW5kZWZpbmVkKCdlbGVtZW50LnJlbExpc3RbLTFd
Jyk7CisgICAgc2hvdWxkQmVOdWxsKCdlbGVtZW50LnJlbExpc3QuaXRlbSgtMSknKTsKKyAgICBz
aG91bGRUaHJvdygnZWxlbWVudC5yZWxMaXN0Lml0ZW0oKScpOworCisgICAgZGVidWcoJ1Rlc3Qg
Y2FzZSBzaW5jZSBET01Ub2tlbkxpc3QgaXMgY2FzZSBzZW5zaXRpdmUnKTsKKyAgICBjcmVhdGVF
bGVtZW50KCd4Jyk7CisgICAgc2hvdWxkQmVUcnVlKCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMo
IngiKScpOworICAgIHNob3VsZEJlRmFsc2UoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygiWCIp
Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbExpc3RbMF0nLCAneCcp
OworICAgIHNob3VsZFRocm93KCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMoKScpOworCisgICAg
Y3JlYXRlRWxlbWVudCgnWCcpOworICAgIHNob3VsZEJlVHJ1ZSgnZWxlbWVudC5yZWxMaXN0LmNv
bnRhaW5zKCJYIiknKTsKKyAgICBzaG91bGRCZUZhbHNlKCdlbGVtZW50LnJlbExpc3QuY29udGFp
bnMoIngiKScpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWxMaXN0WzBd
JywgJ1gnKTsKKworICAgIGRlYnVnKCdUZXN0aW5nIHdoaXRlc3BhY2UnKTsKKyAgICBjcmVhdGVF
bGVtZW50KCd4XHUwMDIweScpOworICAgIHNob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQucmVsTGlz
dC5sZW5ndGgnLCAyKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJ3hcdTAwMDl5Jyk7CisgICAgc2hv
dWxkRXZhbHVhdGVUbygnZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCcsIDIpOworCisgICAgY3JlYXRl
RWxlbWVudCgneFx1MDAwQXknKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LnJlbExp
c3QubGVuZ3RoJywgMik7CisKKyAgICBjcmVhdGVFbGVtZW50KCd4XHUwMDBDeScpOworICAgIHNo
b3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAyKTsKKworICAgIGNyZWF0
ZUVsZW1lbnQoJ3hcdTAwMER5Jyk7CisgICAgc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5yZWxM
aXN0Lmxlbmd0aCcsIDIpOworCisgICAgZGVidWcoJ0RPTVRva2VuTGlzdCBwcmVzZW5jZSBhbmQg
dHlwZScpOworICAgIHNob3VsZEJlVHJ1ZSgnXCd1bmRlZmluZWRcJyAhPSB0eXBlb2YgRE9NVG9r
ZW5MaXN0Jyk7CisKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ3R5cGVvZiBET01Ub2tlbkxp
c3QucHJvdG90eXBlJywgJ29iamVjdCcpOworCisgICAgY3JlYXRlRWxlbWVudCgneCcpOworICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygndHlwZW9mIGVsZW1lbnQucmVsTGlzdCcsICdvYmplY3Qn
KTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LnJlbExpc3QuY29uc3RydWN0b3InLCAn
RE9NVG9rZW5MaXN0Jyk7CisgICAgc2hvdWxkQmVUcnVlKCdlbGVtZW50LnJlbExpc3QgPT09IGVs
ZW1lbnQucmVsTGlzdCcpOworCisgICAgZGVidWcoJ1ZhcmlhZGljIGNhbGxzJyk7CisKKyAgICBj
cmVhdGVFbGVtZW50KCcnKTsKKyAgICBlbGVtZW50LnJlbExpc3QuYWRkKCdhJywgJ2InKTsKKyAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ2EgYicpOworCisgICAgZWxl
bWVudC5yZWxMaXN0LmFkZCgnYScsICdiJywgJ2MnKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2VsZW1lbnQucmVsJywgJ2EgYiBjJyk7CisKKyAgICBlbGVtZW50LnJlbExpc3QuYWRkKG51
bGwsIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7IHJldHVybiAnZCcgfX0sIHVuZGVmaW5lZCwgMCwg
ZmFsc2UpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnYSBiIGMg
bnVsbCBkIHVuZGVmaW5lZCAwIGZhbHNlJyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCcnKTsKKyAg
ICBlbGVtZW50LnJlbExpc3QuYWRkKCdhJywgJ2InLCAnYScpOworICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygnZWxlbWVudC5yZWwnLCAnYSBiJyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCcnKTsK
KyAgICBzaG91bGRUaHJvdygnZWxlbWVudC5yZWxMaXN0LmFkZCgiYSIsICJiIiwgIiIpJyk7Cisg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICcnKTsKKyAgICBzaG91bGRU
aHJvdygnZWxlbWVudC5yZWxMaXN0LmFkZCgiYSIsICJiIiwgImMgZCIpJyk7CisgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICcnKTsKKyAgICBzaG91bGRUaHJvdygnZWxl
bWVudC5yZWxMaXN0LmFkZCgiYSIsIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7IHRocm93IG5ldyBF
cnJvcigidXNlciBlcnJvciIpOyB9fSwgImIiKScsICciRXJyb3I6IHVzZXIgZXJyb3IiJyk7Cisg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICcnKTsKKworICAgIGNyZWF0
ZUVsZW1lbnQoJycpOworICAgIHNob3VsZE5vdFRocm93KCdlbGVtZW50LnJlbExpc3QuYWRkKCkn
KTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJycpOworICAgIG9ic2VydmVyID0gbmV3IFdlYktpdE11
dGF0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oKSB7fSk7CisgICAgb2JzZXJ2ZXIub2JzZXJ2ZShlbGVt
ZW50LCB7YXR0cmlidXRlczogdHJ1ZX0pOworICAgIGVsZW1lbnQucmVsTGlzdC5hZGQoJ2EnLCAn
YycpOworICAgIHNob3VsZEJlKCdvYnNlcnZlci50YWtlUmVjb3JkcygpLmxlbmd0aCcsICcxJyk7
CisKKyAgICBjcmVhdGVFbGVtZW50KCdhIGIgYyBkICAnKTsKKyAgICBlbGVtZW50LnJlbExpc3Qu
cmVtb3ZlKCdhJywgJ2MnKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVs
JywgJ2IgZCAgJyk7CisKKyAgICBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCdiJywgJ2InKTsKKyAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ2QgICcpOworCisgICAgY3Jl
YXRlRWxlbWVudCgnYSBiIGMgbnVsbCBkIHVuZGVmaW5lZCAwIGZhbHNlJyk7CisgICAgZWxlbWVu
dC5yZWxMaXN0LnJlbW92ZShudWxsLCB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkgeyByZXR1cm4gJ2Qn
IH19LCB1bmRlZmluZWQsIDAsIGZhbHNlKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2Vs
ZW1lbnQucmVsJywgJ2EgYiBjJyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCdhIGInKTsKKyAgICBz
aG91bGRUaHJvdygnZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgiYSIsICJiIiwgIiIpJyk7CisKKyAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ2EgYicpOworICAgIHNob3Vs
ZFRocm93KCdlbGVtZW50LnJlbExpc3QucmVtb3ZlKCJhIiwge3RvU3RyaW5nOiBmdW5jdGlvbigp
IHsgdGhyb3cgbmV3IEVycm9yKCJ1c2VyIGVycm9yIik7IH19LCAiYiIpJywgJyJFcnJvcjogdXNl
ciBlcnJvciInKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ2Eg
YicpOworCisgICAgc2hvdWxkVGhyb3coJ2VsZW1lbnQucmVsTGlzdC5yZW1vdmUoImEiLCAiYiIs
ICJjIGQiKScpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnYSBi
Jyk7CisgICAgc2hvdWxkTm90VGhyb3coJ2VsZW1lbnQucmVsTGlzdC5yZW1vdmUoKScpOworCisg
ICAgY3JlYXRlRWxlbWVudCgnYSBiIGMnKTsKKyAgICBvYnNlcnZlciA9IG5ldyBXZWJLaXRNdXRh
dGlvbk9ic2VydmVyKGZ1bmN0aW9uKCkge30pOworICAgIG9ic2VydmVyLm9ic2VydmUoZWxlbWVu
dCwge2F0dHJpYnV0ZXM6IHRydWV9KTsKKyAgICBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCdhJywg
J2MnKTsKKyAgICBzaG91bGRCZSgnb2JzZXJ2ZXIudGFrZVJlY29yZHMoKS5sZW5ndGgnLCAnMScp
OworfQorCitkZWJ1ZygnVGVzdHMgcmVsTGlzdCBmb3IgYW5jaG9yIGVsZW1lbnQnKTsKK3R5cGUg
PSAnYSc7Cit0ZXN0KCk7CitkZWJ1ZygnVGVzdHMgcmVsTGlzdCBmb3IgYXJlYSBlbGVtZW50Jyk7
Cit0eXBlID0gJ2FyZWEnOwordGVzdCgpOworZGVidWcoJ1Rlc3RzIHJlbExpc3QgZm9yIGxpbmsg
ZWxlbWVudCcpOwordHlwZSA9ICdsaW5rJzsKK3Rlc3QoKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+
Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGVyZi9yZWwtbGlzdC1yZW1vdmUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGVy
Zi9yZWwtbGlzdC1yZW1vdmUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBhOTc2ODczODJmZWMz
ODczNWFjNzFjNjJmYmQzOTk2NmZmNWMwZWQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9wZXJmL3JlbC1saXN0LXJlbW92ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw4IEBACitUZXN0
cyB0aGF0IHJlbExpc3QgcmVtb3ZlIGlzIGxpbmVhci4KK1BBU1MKK1BBU1MKK1BBU1MKK1BBU1MK
K1BBU1MKK1BBU1MKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGVyZi9yZWwtbGlzdC1yZW1v
dmUuaHRtbCBiL0xheW91dFRlc3RzL3BlcmYvcmVsLWxpc3QtcmVtb3ZlLmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMGM5YjBjMTg2OTM0MjM5Yzk3OGU5OWFlYzJiZjQ5N2VhYTZmODdkYgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3BlcmYvcmVsLWxpc3QtcmVtb3ZlLmh0bWwKQEAgLTAsMCArMSw0
MiBAQAorPHNjcmlwdCBzcmM9Ii4uL3Jlc291cmNlcy9tYWduaXR1ZGUtcGVyZi5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0PgorCit2YXIgZWxlbWVudCwgcmVsLCByZWxUb1JlbW92ZSwgdHlwZTsKKwor
Ly8gVGVzdCAxIHRlc3RzIHRoYXQgcmVtb3ZlIGlzIGxpbmVhciB3aGVuIHRoZXJlIGFyZSBOIHJl
bHMuCisKK2Z1bmN0aW9uIHNldHVwRnVuY3Rpb24xKG1hZ25pdHVkZSkKK3sKKyAgICBlbGVtZW50
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0eXBlKTsKKyAgICByZWxUb1JlbW92ZSA9ICdiJzsK
KyAgICByZWwgPSBBcnJheShtYWduaXR1ZGUpLmpvaW4oJ2EgJykgKyByZWxUb1JlbW92ZTsKK30K
KworLy8gVGVzdCAyIHRlc3RzIHRoYXQgcmVtb3ZlIGlzIGxpbmVhciB3aGVuIHRoZSBsZW5ndGgg
b2YgdGhlIHJlbCBpcyBOLgorCitmdW5jdGlvbiBzZXR1cEZ1bmN0aW9uMihtYWduaXR1ZGUpCit7
CisgICAgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodHlwZSk7CisgICAgcmVsVG9S
ZW1vdmUgPSBBcnJheShtYWduaXR1ZGUgKyAxKS5qb2luKCdhJyk7CisgICAgcmVsID0gcmVsVG9S
ZW1vdmU7Cit9CisKK2Z1bmN0aW9uIHRlc3QobWFnbml0dWRlKQoreworICAgIGVsZW1lbnQucmVs
ID0gcmVsOworICAgIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUocmVsVG9SZW1vdmUpOworfQorCitN
YWduaXR1ZGUuZGVzY3JpcHRpb24oJ1Rlc3RzIHRoYXQgcmVsTGlzdCByZW1vdmUgaXMgbGluZWFy
LicpOwordHlwZSA9ICdhJworTWFnbml0dWRlLnJ1bihzZXR1cEZ1bmN0aW9uMSwgdGVzdCwgTWFn
bml0dWRlLkxJTkVBUik7CitNYWduaXR1ZGUucnVuKHNldHVwRnVuY3Rpb24yLCB0ZXN0LCBNYWdu
aXR1ZGUuTElORUFSKTsKK3R5cGUgPSAnYXJlYScKK01hZ25pdHVkZS5ydW4oc2V0dXBGdW5jdGlv
bjEsIHRlc3QsIE1hZ25pdHVkZS5MSU5FQVIpOworTWFnbml0dWRlLnJ1bihzZXR1cEZ1bmN0aW9u
MiwgdGVzdCwgTWFnbml0dWRlLkxJTkVBUik7Cit0eXBlID0gJ2xpbmsnCitNYWduaXR1ZGUucnVu
KHNldHVwRnVuY3Rpb24xLCB0ZXN0LCBNYWduaXR1ZGUuTElORUFSKTsKK01hZ25pdHVkZS5ydW4o
c2V0dXBGdW5jdGlvbjIsIHRlc3QsIE1hZ25pdHVkZS5MSU5FQVIpOworCis8L3NjcmlwdD4KKzwv
Ym9keT4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240196</attachid>
            <date>2014-10-21 03:35:26 -0700</date>
            <delta_ts>2014-10-22 01:39:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137860-20141021173528.patch</filename>
            <type>text/plain</type>
            <size>55109</size>
            <attacher name="Dhi Aurrahman">diorahman</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0ODU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTdkMThhNzg5Mzc4MzBh
ZTc1NTQ2MGZjMzE4NWUzMWI2MWY0YTM0ZS4uNzQ3NGFkMTViNjEyNzVlOTU4YzRkZTFkYzc1OWYx
OTg5NmVhZjM4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisyMDE0LTEwLTIxICBEaGkg
QXVycmFobWFuICA8ZGlvcmFobWFuQHJvY2t5YmFycy5jb20+CisKKyAgICAgICAgQWRkIHJlbExp
c3QgdG8gdGhlIGFuY2hvciwgYXJlYSBhbmQgbGluayBlbGVtZW50cworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3ODYwCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHJlbExpc3QgdG8gcmVmbGVjdCB0
aGUgcmVsIGNvbnRlbnQgYXR0cmlidXRlIGZvciBhbmNob3JbMV0sCisgICAgICAgIGFyZWFbMl0g
YW5kIGxpbmtbM10gZWxlbWVudHMuCisKKyAgICAgICAgWzFdIGh0dHBzOi8vaHRtbC5zcGVjLndo
YXR3Zy5vcmcvbXVsdGlwYWdlL3NlbWFudGljcy5odG1sI2RvbS1hLXJlbGxpc3QgCisgICAgICAg
IFsyXSBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9lbWJlZGRlZC1jb250
ZW50Lmh0bWwjZG9tLWFyZWEtcmVsbGlzdAorICAgICAgICBbM10gaHR0cHM6Ly9odG1sLnNwZWMu
d2hhdHdnLm9yZy9tdWx0aXBhZ2Uvc2VtYW50aWNzLmh0bWwjZG9tLWxpbmstcmVsbGlzdAorCisg
ICAgICAgIFRlc3RzOiBmYXN0L2RvbS9yZWwtbGlzdC1nYy5odG1sCisgICAgICAgICAgICAgICBm
YXN0L2RvbS9yZWwtbGlzdC5odG1sCisgICAgICAgICAgICAgICBwZXJmL3JlbC1saXN0LXJlbW92
ZS5odG1sCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnZj
eHByb2ovV2ViQ29yZS52Y3hwcm9qOgorICAgICAgICAqIFdlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogZG9tL1NwYWNlU3BsaXRTdHJpbmcuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6U3BhY2VTcGxpdFN0cmluZzo6c2V0KToKKyAgICAgICAgKiBodG1sL0hUTUxBbmNob3JF
bGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxBbmNob3JFbGVtZW50OjpwYXJzZUF0
dHJpYnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6cmVsTGlzdCk6
CisgICAgICAgIChXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVudDo6c2V0UmVsKTogRGVsZXRlZC4K
KyAgICAgICAgKiBodG1sL0hUTUxBbmNob3JFbGVtZW50Lmg6CisgICAgICAgICogaHRtbC9IVE1M
QW5jaG9yRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9IVE1MQXJlYUVsZW1lbnQuaWRsOgor
ICAgICAgICAqIGh0bWwvSFRNTExpbmtFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhU
TUxMaW5rRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTExp
bmtFbGVtZW50OjpyZWxMaXN0KToKKyAgICAgICAgKiBodG1sL0hUTUxMaW5rRWxlbWVudC5oOgor
ICAgICAgICAqIGh0bWwvSFRNTExpbmtFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL1JlbExp
c3QuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlJlbExpc3Q6OlJlbExpc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVsTGlzdDo6cmVmKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbExpc3Q6
OmRlcmVmKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbExpc3Q6Omxlbmd0aCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZWxMaXN0OjppdGVtKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbExpc3Q6OmVsZW1l
bnQpOgorICAgICAgICAoV2ViQ29yZTo6UmVsTGlzdDo6dXBkYXRlUmVsQXR0cmlidXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbExpc3Q6OmNvbnRhaW5zSW50ZXJuYWwpOgorICAgICAgICAoV2Vi
Q29yZTo6UmVsTGlzdDo6dmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6UmVsTGlzdDo6c2V0VmFs
dWUpOgorICAgICAgICAqIGh0bWwvUmVsTGlzdC5oOiBBZGRlZC4KKwogMjAxNC0xMC0xNiAgUm9n
ZXIgRm9uZyAgPHJvZ2VyX2ZvbmdAYXBwbGUuY29tPgogCiAgICAgICAgIENhbGxpbmcgZ2xSZWFk
UGl4ZWxzIHdpdGggQkdSQSBmb3JtYXQgb24gYW4gTlZJRElBIG1hY2hpbmUgd2l0aCBhbiBvcGFx
dWUgY29udGV4dCByZXR1cm5zIHRoZSB3cm9uZyBhbHBoYSB2YWx1ZXMuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CmluZGV4IDY3ZDIxOGIyZGRlZTI1ODIwY2E4YjhkZmMyZTY5Y2Y2NzJlZjMwMWYuLjMyYzc2
NWRlM2ViOTAwNWI0MGI3NDI2ODJmYjVhZjBjYzcwNDA1MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CkBAIC0xNjc2LDYgKzE2NzYsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgaHRtbC9SYWRp
b0lucHV0VHlwZS5jcHAKICAgICBodG1sL1JhZGlvTm9kZUxpc3QuY3BwCiAgICAgaHRtbC9SYW5n
ZUlucHV0VHlwZS5jcHAKKyAgICBodG1sL1JlbExpc3QuY3BwCiAgICAgaHRtbC9SZXNldElucHV0
VHlwZS5jcHAKICAgICBodG1sL1NlYXJjaElucHV0VHlwZS5jcHAKICAgICBodG1sL1N0ZXBSYW5n
ZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3Jl
LnZjeHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9q
CmluZGV4IDJiODdjODI0ZmJkODA5NTE1ZGQyYzE4NWQzZWZhZmQ5MzAyODJjOWMuLjliMWVkNDdl
MTBjMjRkOTg0NGQ4NjUyYzg3ODM4Zjk2ZDhlNWRiMjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagpAQCAtMTYwNjIsNiArMTYwNjIsNyBAQAog
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxSYWRpb0lucHV0VHlwZS5jcHAiIC8+CiAg
ICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXFJhZGlvTm9kZUxpc3QuY3BwIiAvPgogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxSYW5nZUlucHV0VHlwZS5jcHAiIC8+CisgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxodG1sXFJlbExpc3QuY3BwIiAvPgogICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5caHRtbFxSZXNldElucHV0VHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxodG1sXFNlYXJjaElucHV0VHlwZS5jcHAiIC8+CiAgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxodG1sXFN0ZXBSYW5nZS5jcHAiIC8+CkBAIC0yMDg0Miw2ICsyMDg0Myw3
IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXFJhZGlvSW5wdXRUeXBlLmgiIC8+
CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXFJhZGlvTm9kZUxpc3QuaCIgLz4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxcUmFuZ2VJbnB1dFR5cGUuaCIgLz4KKyAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxcUmVsTGlzdC5oIiAvPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5caHRtbFxSZXNldElucHV0VHlwZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5caHRtbFxTZWFyY2hJbnB1dFR5cGUuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1
ZGU9Ii4uXGh0bWxcU3RlcFJhbmdlLmgiIC8+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMgYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMKaW5kZXggMWU4MTk0NjI5ZmJh
NTIzMjhiZTgxYzRkNTc1Y2RhOWI4NjM1MGFmYS4uM2MyNTQwYjNhNDlmMjI3MjAwZTk3YWU4ODNi
NmUyMWMxNWEyOWRjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9q
L1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4
cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwpAQCAtNDA1Myw2ICs0MDUzLDkgQEAKICAgICA8
Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcUmFuZ2VJbnB1dFR5cGUuY3BwIj4KICAgICAgIDxG
aWx0ZXI+aHRtbDwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgorICAgIDxDbENvbXBpbGUgSW5j
bHVkZT0iLi5caHRtbFxSZWxMaXN0LmNwcCI+CisgICAgICA8RmlsdGVyPmh0bWw8L0ZpbHRlcj4K
KyAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcUmVzZXRJ
bnB1dFR5cGUuY3BwIj4KICAgICAgIDxGaWx0ZXI+aHRtbDwvRmlsdGVyPgogICAgIDwvQ2xDb21w
aWxlPgpAQCAtMTEyMTcsNiArMTEyMjAsOSBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
aHRtbFxSYW5nZUlucHV0VHlwZS5oIj4KICAgICAgIDxGaWx0ZXI+aHRtbDwvRmlsdGVyPgogICAg
IDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxSZWxMaXN0Lmgi
PgorICAgICAgPEZpbHRlcj5odG1sPC9GaWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXFJlc2V0SW5wdXRUeXBlLmgiPgogICAgICAgPEZpbHRl
cj5odG1sPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNGNkNDVlNzAwYzRkZWQ1NGM0
YTQ4ZjRmYzBhZjVmMGRlZGQyZTE3Yi4uOTVhOGUyN2Y5MjAzZTJkMGIxMTkyNjIyZDU0OGU2MTM1
ZmFmMWY3ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtNDY5OCw2ICs0Njk4LDggQEAKIAkJQjJFRDk3NzEwQjFGNTVDRTAwMjU3
RDBGIC8qIEdyYXBoaWNzQ29udGV4dENHLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEIyRUQ5NzcwMEIxRjU1Q0UwMDI1N0QwRiAvKiBHcmFwaGljc0Nv
bnRleHRDRy5jcHAgKi87IH07CiAJCUIyRjM0RkU2MEU4MkY4MTQwMEY2MjdDRCAvKiBETlMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyRjM0RkU1MEU4
MkY4MTQwMEY2MjdDRCAvKiBETlMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQlCMkYzNEZFOTBFODJGODI3MDBGNjI3Q0QgLyogRE5TQ0ZOZXQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJGMzRGRTgw
RTgyRjgyNzAwRjYyN0NEIC8qIEROU0NGTmV0LmNwcCAqLzsgfTsKKwkJQjJGNzhDRkQxOUYyRjAy
RDAwNDk2OTZDIC8qIFJlbExpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQjJGNzhDRkIxOUYyRjAyRDAwNDk2OTZDIC8qIFJlbExpc3QuY3BwICov
OyB9OworCQlCMkY3OENGRTE5RjJGMDJEMDA0OTY5NkMgLyogUmVsTGlzdC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJGNzhDRkMxOUYyRjAyRDAwNDk2
OTZDIC8qIFJlbExpc3QuaCAqLzsgfTsKIAkJQjJGQTNEMzYwQUI3NUE2RjAwMEU1QUM0IC8qIEpT
U1ZHQW5pbWF0ZUNvbG9yRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBCMkZBM0M0RTBBQjc1QTZFMDAwRTVBQzQgLyogSlNTVkdBbmltYXRl
Q29sb3JFbGVtZW50LmNwcCAqLzsgfTsKIAkJQjJGQTNEMzcwQUI3NUE2RjAwMEU1QUM0IC8qIEpT
U1ZHQW5pbWF0ZUNvbG9yRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQjJGQTNDNEYwQUI3NUE2RTAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZUNv
bG9yRWxlbWVudC5oICovOyB9OwogCQlCMkZBM0QzODBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdB
bmltYXRlZEFuZ2xlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEIyRkEzQzUwMEFCNzVBNkUwMDBFNUFDNCAvKiBKU1NWR0FuaW1hdGVkQW5nbGUuY3Bw
ICovOyB9OwpAQCAtMTIwNzYsNiArMTIwNzgsOCBAQAogCQlCMkVEOTc3MDBCMUY1NUNFMDAyNTdE
MEYgLyogR3JhcGhpY3NDb250ZXh0Q0cuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEdyYXBoaWNzQ29udGV4dENHLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQjJGMzRGRTUwRTgyRjgxNDAwRjYyN0NEIC8qIEROUy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBETlMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjJG
MzRGRTgwRTgyRjgyNzAwRjYyN0NEIC8qIEROU0NGTmV0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEROU0NGTmV0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQjJGNzhDRkIxOUYyRjAyRDAwNDk2OTZDIC8qIFJlbExpc3QuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVsTGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUIyRjc4Q0ZDMTlGMkYwMkQwMDQ5Njk2QyAvKiBSZWxMaXN0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbExpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQjJGQTNDNEUwQUI3NUE2RTAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZUNvbG9y
RWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
MzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTVkdB
bmltYXRlQ29sb3JFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQjJG
QTNDNEYwQUI3NUE2RTAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTVkdBbmltYXRlQ29sb3JFbGVtZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyRkEzQzUwMEFCNzVBNkUwMDBFNUFDNCAv
KiBKU1NWR0FuaW1hdGVkQW5nbGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEpTU1ZHQW5pbWF0ZWRBbmdsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0xNzkyOCw2ICsxNzkzMiw4IEBACiAJCQkJQjY1OEZGQTQxNTIyRUZBQTAwREQ1NTk1IC8q
IFJhZGlvTm9kZUxpc3QuaCAqLywKIAkJCQlGNTVCM0Q5OTEyNTFGMTJEMDAzRUYyNjkgLyogUmFu
Z2VJbnB1dFR5cGUuY3BwICovLAogCQkJCUY1NUIzRDlBMTI1MUYxMkQwMDNFRjI2OSAvKiBSYW5n
ZUlucHV0VHlwZS5oICovLAorCQkJCUIyRjc4Q0ZCMTlGMkYwMkQwMDQ5Njk2QyAvKiBSZWxMaXN0
LmNwcCAqLywKKwkJCQlCMkY3OENGQzE5RjJGMDJEMDA0OTY5NkMgLyogUmVsTGlzdC5oICovLAog
CQkJCUY1NUIzRDlCMTI1MUYxMkQwMDNFRjI2OSAvKiBSZXNldElucHV0VHlwZS5jcHAgKi8sCiAJ
CQkJRjU1QjNEOUMxMjUxRjEyRDAwM0VGMjY5IC8qIFJlc2V0SW5wdXRUeXBlLmggKi8sCiAJCQkJ
RjU1QjNEOUQxMjUxRjEyRDAwM0VGMjY5IC8qIFNlYXJjaElucHV0VHlwZS5jcHAgKi8sCkBAIC0y
NDY4OCw2ICsyNDY5NCw3IEBACiAJCQkJRTE1N0E4RjExODE4NTQyNTAwOUY4MjFEIC8qIEpTQ3J5
cHRvQWxnb3JpdGhtQnVpbGRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFDNjU3MTMxODE1RjlE
RDAwMjU2Q0REIC8qIEpTQ3J5cHRvQWxnb3JpdGhtRGljdGlvbmFyeS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTE1N0E4RTExODE3MzMxQzAwOUY4MjFEIC8qIEpTQ3J5cHRvS2V5LmggaW4gSGVhZGVy
cyAqLywKKwkJCQlCMkY3OENGRTE5RjJGMDJEMDA0OTY5NkMgLyogUmVsTGlzdC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRTFGODBCOEUxODMxNzJCNTAwNzg4NUMzIC8qIEpTQ3J5cHRvS2V5UGFpci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyNUY4NTIxODI4M0E1NjAwRDg0Q0Q5IC8qIEpTQ3J5cHRv
S2V5U2VyaWFsaXphdGlvbkpXSy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyNUY4M0UxODI0MTFF
NzAwRDg0Q0Q5IC8qIEpTQ3J5cHRvT3BlcmF0aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8sCkBAIC0y
NzQxOSw2ICsyNzQyNiw3IEBACiAJCQkJQ0VDQURGQzYxNTM3NzhGRjAwRTM3MDY4IC8qIERpY3Rh
dGlvbkFsdGVybmF0aXZlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNFQ0FERkM4MTUzNzc4RkYw
MEUzNzA2OCAvKiBEaWN0YXRpb25Db21tYW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUQwQkQ0
RjVDMTQwODg1MEYwMDY4MzlCNiAvKiBEaWN0YXRpb25Db21tYW5kSU9TLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCUIyRjc4Q0ZEMTlGMkYwMkQwMDQ5Njk2QyAvKiBSZWxMaXN0LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTMxMkQ2N0IxMTUzNTY5MUYwMDU2M0QwRCAvKiBEaWN0aW9uYXJ5LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUZEQUYxOTk4MTUxM0QxMzEwMDhEQjBDMyAvKiBEaXJlY3RDb252
b2x2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDlGQzdBNTAxNDQ0QUY1RjAwQTVEODY0IC8q
IERpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Rv
bS9TcGFjZVNwbGl0U3RyaW5nLmNwcAppbmRleCA2MjJhN2YyZDg1YTIxNzZkOTkyODc1NjViOGEx
NjE1ZDFiZmM4MThmLi5hYWVhYTEzZTRhZTIyMzFlOGUyMmFiYTI3NDlmYzQ1MWQ5NDcyMGY0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL1NwYWNlU3BsaXRTdHJpbmcuY3BwCkBAIC05NCw2ICs5NCwxMCBA
QCBzdGF0aWMgU3BhY2VTcGxpdFN0cmluZ1RhYmxlJiBzcGFjZVNwbGl0U3RyaW5nVGFibGUoKQog
CiB2b2lkIFNwYWNlU3BsaXRTdHJpbmc6OnNldChjb25zdCBBdG9taWNTdHJpbmcmIGlucHV0U3Ry
aW5nLCBib29sIHNob3VsZEZvbGRDYXNlKQogeworICAgIGlmIChpbnB1dFN0cmluZy5pc051bGwo
KSkgeworICAgICAgICBjbGVhcigpOworICAgICAgICByZXR1cm47CisgICAgfQogICAgIG1fZGF0
YSA9IFNwYWNlU3BsaXRTdHJpbmdEYXRhOjpjcmVhdGUoc2hvdWxkRm9sZENhc2UgPyBpbnB1dFN0
cmluZy5jb252ZXJ0VG9BU0NJSUxvd2VyY2FzZSgpIDogaW5wdXRTdHJpbmcpOwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3BwCmluZGV4IDIxZTEzOTNiMzg5ZTIw
OTI0ZDAxNGQ2MTMyMTBiZjNiMTQ1ZDIyN2QuLmEwZTI5NzkzYzliZDk1NjUxMTJlOGE0MmRiMTNm
YjgwN2EzM2QzN2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuY3Bw
CkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAiTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIlBp
bmdMb2FkZXIuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1vdXNlRXZlbnQuaCIKKyNpbmNsdWRlICJS
ZWxMaXN0LmgiCiAjaW5jbHVkZSAiUmVuZGVySW1hZ2UuaCIKICNpbmNsdWRlICJSZXNvdXJjZVJl
cXVlc3QuaCIKICNpbmNsdWRlICJTVkdJbWFnZS5oIgpAQCAtMjYxLDggKzI2MiwxMiBAQCB2b2lk
IEhUTUxBbmNob3JFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBu
YW1lLCBjb25zdCBBdG9taWNTdAogICAgICAgICBpbnZhbGlkYXRlQ2FjaGVkVmlzaXRlZExpbmtI
YXNoKCk7CiAgICAgfSBlbHNlIGlmIChuYW1lID09IG5hbWVBdHRyIHx8IG5hbWUgPT0gdGl0bGVB
dHRyKSB7CiAgICAgICAgIC8vIERvIG5vdGhpbmcuCi0gICAgfSBlbHNlIGlmIChuYW1lID09IHJl
bEF0dHIpCi0gICAgICAgIHNldFJlbCh2YWx1ZSk7CisgICAgfSBlbHNlIGlmIChuYW1lID09IHJl
bEF0dHIpIHsKKyAgICAgICAgaWYgKFNwYWNlU3BsaXRTdHJpbmc6OnNwYWNlU3BsaXRTdHJpbmdD
b250YWluc1ZhbHVlKHZhbHVlLCAibm9yZWZlcnJlciIsIHRydWUpKQorICAgICAgICAgICAgbV9s
aW5rUmVsYXRpb25zIHw9IFJlbGF0aW9uTm9SZWZlcnJlcjsKKyAgICAgICAgaWYgKG1fcmVsTGlz
dCkKKyAgICAgICAgICAgIG1fcmVsTGlzdC0+dXBkYXRlUmVsQXR0cmlidXRlKHZhbHVlKTsKKyAg
ICB9CiAgICAgZWxzZQogICAgICAgICBIVE1MRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUobmFtZSwg
dmFsdWUpOwogfQpAQCAtMzEwLDEwICszMTUsMTEgQEAgYm9vbCBIVE1MQW5jaG9yRWxlbWVudDo6
aGFzUmVsKHVpbnQzMl90IHJlbGF0aW9uKSBjb25zdAogICAgIHJldHVybiBtX2xpbmtSZWxhdGlv
bnMgJiByZWxhdGlvbjsKIH0KIAotdm9pZCBIVE1MQW5jaG9yRWxlbWVudDo6c2V0UmVsKGNvbnN0
IFN0cmluZyYgdmFsdWUpCitET01Ub2tlbkxpc3QmIEhUTUxBbmNob3JFbGVtZW50OjpyZWxMaXN0
KCkKIHsKLSAgICBpZiAoU3BhY2VTcGxpdFN0cmluZzo6c3BhY2VTcGxpdFN0cmluZ0NvbnRhaW5z
VmFsdWUodmFsdWUsICJub3JlZmVycmVyIiwgdHJ1ZSkpCi0gICAgICAgIG1fbGlua1JlbGF0aW9u
cyB8PSBSZWxhdGlvbk5vUmVmZXJyZXI7CisgICAgaWYgKCFtX3JlbExpc3QpIAorICAgICAgICBt
X3JlbExpc3QgPSBzdGQ6Om1ha2VfdW5pcXVlPFJlbExpc3Q+KCp0aGlzKTsKKyAgICByZXR1cm4g
Km1fcmVsTGlzdDsKIH0KIAogY29uc3QgQXRvbWljU3RyaW5nJiBIVE1MQW5jaG9yRWxlbWVudDo6
bmFtZSgpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JF
bGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmgKaW5kZXgg
MTk3NDEwNzQxYmRkMGU4Mzg4YzBkMzg1ZjQ4YTQxMTg1YTU5NmExMi4uMzA5MTVkMzdkMjk4MmJi
MDQ1ZDUzOTk1MDUwZWRjNjFmZjAzYzQyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MQW5jaG9yRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hv
ckVsZW1lbnQuaApAQCAtMzAsNiArMzAsOCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2Ns
YXNzIFJlbExpc3Q7CisKIC8vIExpbmsgcmVsYXRpb24gYml0bWFzayB2YWx1ZXMuCiAvLyBGSVhN
RTogVW5jb21tZW50IGFzIHRoZSB2YXJpb3VzIGxpbmsgcmVsYXRpb25zIGFyZSBpbXBsZW1lbnRl
ZC4KIGVudW0gewpAQCAtOTcsMTEgKzk5LDEyIEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wg
d2lsbFJlc3BvbmRUb01vdXNlQ2xpY2tFdmVudHMoKSBvdmVycmlkZTsKIAogICAgIGJvb2wgaGFz
UmVsKHVpbnQzMl90IHJlbGF0aW9uKSBjb25zdDsKLSAgICB2b2lkIHNldFJlbChjb25zdCBTdHJp
bmcmKTsKICAgICAKICAgICBMaW5rSGFzaCB2aXNpdGVkTGlua0hhc2goKSBjb25zdDsKICAgICB2
b2lkIGludmFsaWRhdGVDYWNoZWRWaXNpdGVkTGlua0hhc2goKSB7IG1fY2FjaGVkVmlzaXRlZExp
bmtIYXNoID0gMDsgfQogCisgICAgRE9NVG9rZW5MaXN0JiByZWxMaXN0KCk7CisKIHByb3RlY3Rl
ZDoKICAgICBIVE1MQW5jaG9yRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQm
KTsKIApAQCAtMTQwLDYgKzE0Myw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX3dhc1NoaWZ0S2V5
RG93bk9uTW91c2VEb3duIDogMTsKICAgICB1aW50MzJfdCBtX2xpbmtSZWxhdGlvbnMgOiAzMDsK
ICAgICBtdXRhYmxlIExpbmtIYXNoIG1fY2FjaGVkVmlzaXRlZExpbmtIYXNoOworCisgICAgc3Rk
Ojp1bmlxdWVfcHRyPFJlbExpc3Q+IG1fcmVsTGlzdDsKIH07CiAKIGlubGluZSBMaW5rSGFzaCBI
VE1MQW5jaG9yRWxlbWVudDo6dmlzaXRlZExpbmtIYXNoKCkgY29uc3QKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MQW5jaG9yRWxlbWVudC5pZGwKaW5kZXggZGY2ODM2MjgyZmY2ZTQ5MzljMzEzNTFj
N2Y0MzhlNzg0ZWI4ZTJlYy4uNWYzN2VmOTMzZmIzNzU3NjY3Nzk4YjMzMDhlY2ExNWNkMWQ0NTJk
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5pZGwKQEAgLTY2LDUg
KzY2LDcgQEAgaW50ZXJmYWNlIEhUTUxBbmNob3JFbGVtZW50IDogSFRNTEVsZW1lbnQgewogICAg
IC8vIE9iamVjdGl2ZS1DIGV4dGVuc2lvbjoKICAgICByZWFkb25seSBhdHRyaWJ1dGUgVVJMIGFi
c29sdXRlTGlua1VSTDsKICNlbmRpZgorCisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVRva2Vu
TGlzdCByZWxMaXN0OwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
QXJlYUVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQXJlYUVsZW1lbnQuaWRs
CmluZGV4IGQwMjUwNTI5YjE2YWQ5ZmU5N2IwMWRhYTU4ZjhiZjY3NWVjNWE0ZTQuLjhmM2YzMzA0
YmVkYjVmN2JiYmNhNDYzODUxMDJjYTEwMDZkMzBhOWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxBcmVhRWxlbWVudC5pZGwKQEAgLTI0LDYgKzI0LDcgQEAgaW50ZXJmYWNlIEhUTUxBcmVhRWxl
bWVudCA6IEhUTUxFbGVtZW50IHsKICAgICBbUmVmbGVjdCwgVVJMXSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIGhyZWY7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBib29sZWFuIG5vSHJlZjsKICAgICBb
UmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBwaW5nOworICAgIFtSZWZsZWN0XSBhdHRyaWJ1
dGUgRE9NU3RyaW5nIHJlbDsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyBzaGFw
ZTsKICAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyB0YXJnZXQ7CiAKQEAgLTQzLDUg
KzQ0LDcgQEAgaW50ZXJmYWNlIEhUTUxBcmVhRWxlbWVudCA6IEhUTUxFbGVtZW50IHsKICAgICAv
LyBPYmplY3RpdmUtQyBleHRlbnNpb246CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFVSTCBhYnNv
bHV0ZUxpbmtVUkw7CiAjZW5kaWYKKworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01Ub2tlbkxp
c3QgcmVsTGlzdDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExp
bmtFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcApp
bmRleCBmYTc1ODExNTdmYzUzNjNlOGI0OWNlMzI2NTVmYTdmMDgxMDY5Yjc5Li5kODA0M2QyNjI4
ZThiYzc3MzMxZDc4ZDk3MTA5ZmI0YmMyY2M2MTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
TGlua0VsZW1lbnQuY3BwCkBAIC00NSw2ICs0NSw3IEBACiAjaW5jbHVkZSAiTWVkaWFRdWVyeUV2
YWx1YXRvci5oIgogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJQYWdlLmgiCisj
aW5jbHVkZSAiUmVsTGlzdC5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAi
U2VjdXJpdHlPcmlnaW4uaCIKICNpbmNsdWRlICJTZXR0aW5ncy5oIgpAQCAtMTM4LDYgKzEzOSw4
IEBAIHZvaWQgSFRNTExpbmtFbGVtZW50OjpwYXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJiBuYW1lLCBjb25zdCBBdG9taWNTdHJpCiB7CiAgICAgaWYgKG5hbWUgPT0gcmVsQXR0cikg
ewogICAgICAgICBtX3JlbEF0dHJpYnV0ZSA9IExpbmtSZWxBdHRyaWJ1dGUodmFsdWUpOworICAg
ICAgICBpZiAobV9yZWxMaXN0KQorICAgICAgICAgICAgbV9yZWxMaXN0LT51cGRhdGVSZWxBdHRy
aWJ1dGUodmFsdWUpOwogICAgICAgICBwcm9jZXNzKCk7CiAgICAgfSBlbHNlIGlmIChuYW1lID09
IGhyZWZBdHRyKSB7CiAgICAgICAgIHByb2Nlc3MoKTsKQEAgLTM3Niw2ICszNzksMTMgQEAgdm9p
ZCBIVE1MTGlua0VsZW1lbnQ6OmRpc3BhdGNoUGVuZGluZ0V2ZW50KExpbmtFdmVudFNlbmRlciog
ZXZlbnRTZW5kZXIpCiAgICAgICAgIGxpbmtMb2FkaW5nRXJyb3JlZCgpOwogfQogCitET01Ub2tl
bkxpc3QmIEhUTUxMaW5rRWxlbWVudDo6cmVsTGlzdCgpCit7CisgICAgaWYgKCFtX3JlbExpc3Qp
IAorICAgICAgICBtX3JlbExpc3QgPSBzdGQ6Om1ha2VfdW5pcXVlPFJlbExpc3Q+KCp0aGlzKTsK
KyAgICByZXR1cm4gKm1fcmVsTGlzdDsKK30KKwogdm9pZCBIVE1MTGlua0VsZW1lbnQ6Om5vdGlm
eUxvYWRlZFNoZWV0QW5kQWxsQ3JpdGljYWxTdWJyZXNvdXJjZXMoYm9vbCBlcnJvck9jY3VycmVk
KQogewogICAgIGlmIChtX2ZpcmVkTG9hZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTExpbmtFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVu
dC5oCmluZGV4IGNkZDdiNDc3ZGFlZjNjNTMwZTlkNDdlMjVmYmZmZjU5YmU5MzNhYjYuLjMyMTNl
YmYyY2Q3M2YzYjliMzY4NTRmY2YyOTcyY2JkYmUwZWE0ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTGlua0VsZW1lbnQuaApAQCAtMzcsNiArMzcsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBIVE1MTGlua0VsZW1lbnQ7CitjbGFzcyBSZWxMaXN0OwogY2xhc3MgVVJMOwogCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBFdmVudFNlbmRlcjsKQEAgLTcxLDYgKzcyLDggQEAg
cHVibGljOgogICAgIHZvaWQgZGlzcGF0Y2hQZW5kaW5nRXZlbnQoTGlua0V2ZW50U2VuZGVyKik7
CiAgICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hQZW5kaW5nTG9hZEV2ZW50cygpOwogCisgICAgRE9N
VG9rZW5MaXN0JiByZWxMaXN0KCk7CisKIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHBhcnNl
QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVy
cmlkZTsKIApAQCAtMTAwLDcgKzEwMyw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGRl
ZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKSBvdmVycmlkZTsKICAgICB2b2lkIGhhbmRsZUNsaWNr
KEV2ZW50Jik7CiAKLXByaXZhdGU6CiAgICAgSFRNTExpbmtFbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBEb2N1bWVudCYsIGJvb2wgY3JlYXRlZEJ5UGFyc2VyKTsKIAogICAgIHZpcnR1YWwg
dm9pZCBhZGRTdWJyZXNvdXJjZUF0dHJpYnV0ZVVSTHMoTGlzdEhhc2hTZXQ8VVJMPiYpIGNvbnN0
IG92ZXJyaWRlOwpAQCAtMTM4LDYgKzE0MCw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2xvYWRl
ZFNoZWV0OwogCiAgICAgUGVuZGluZ1NoZWV0VHlwZSBtX3BlbmRpbmdTaGVldFR5cGU7CisKKyAg
ICBzdGQ6OnVuaXF1ZV9wdHI8UmVsTGlzdD4gbV9yZWxMaXN0OwogfTsKIAogfSAvL25hbWVzcGFj
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaWRsIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaWRsCmluZGV4IDBhNGUzNDc1OWY1
N2Q5OGE4ZmMwYzFiZWI3MjFjOTc2ZDdjMDdmNzYuLjk1YTY0MWNjZjVkOTBhMjg2MjZmN2I0Yjdh
NGUwMDU4NWEzMzIwMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtF
bGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5pZGwK
QEAgLTQwLDUgKzQwLDcgQEAgaW50ZXJmYWNlIEhUTUxMaW5rRWxlbWVudCA6IEhUTUxFbGVtZW50
IHsKICAgICAvLyBPYmplY3RpdmUtQyBleHRlbnNpb246CiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IFVSTCBhYnNvbHV0ZUxpbmtVUkw7CiAjZW5kaWYKKworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01Ub2tlbkxpc3QgcmVsTGlzdDsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvUmVsTGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1JlbExpc3QuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjQ5NTAzZTgwNTc2YWQ5YTUyZDVjMWFmNWMwMmFlMjUyNTRhOTZkMTQKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL1JlbExpc3QuY3BwCkBAIC0wLDAgKzEsODcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgRGhpIEF1cnJhaG1hbiA8ZGlvcmFobWFuQHJvY2t5
YmFycy5jb20+CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUmVs
TGlzdC5oIgorCisjaW5jbHVkZSAiRWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlbExpc3Q6OlJlbExpc3QoRWxlbWVudCYgZWxlbWVu
dCkgCisgICAgOiBtX2VsZW1lbnQoZWxlbWVudCkgCit7CisgICAgbV9yZWxBdHRyaWJ1dGVWYWx1
ZSA9IFNwYWNlU3BsaXRTdHJpbmcoZWxlbWVudC5mYXN0R2V0QXR0cmlidXRlKEhUTUxOYW1lczo6
cmVsQXR0ciksIGZhbHNlKTsKK30KKwordm9pZCBSZWxMaXN0OjpyZWYoKQoreworICAgIG1fZWxl
bWVudC5yZWYoKTsKK30KKwordm9pZCBSZWxMaXN0OjpkZXJlZigpCit7CisgICAgbV9lbGVtZW50
LmRlcmVmKCk7Cit9CisKK3Vuc2lnbmVkIFJlbExpc3Q6Omxlbmd0aCgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIG1fcmVsQXR0cmlidXRlVmFsdWUuc2l6ZSgpOworfQorCitjb25zdCBBdG9taWNTdHJp
bmcgUmVsTGlzdDo6aXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3QKK3sKKyAgICBpZiAoaW5kZXgg
Pj0gbGVuZ3RoKCkpCisgICAgICAgIHJldHVybiBudWxsQXRvbTsKKyAgICByZXR1cm4gbV9yZWxB
dHRyaWJ1dGVWYWx1ZVtpbmRleF07Cit9CisKK0VsZW1lbnQqIFJlbExpc3Q6OmVsZW1lbnQoKSBj
b25zdAoreworICAgIHJldHVybiAmbV9lbGVtZW50OworfQorCit2b2lkIFJlbExpc3Q6OnVwZGF0
ZVJlbEF0dHJpYnV0ZShjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKQoreworICAgIG1fcmVsQXR0
cmlidXRlVmFsdWUuc2V0KHZhbHVlLCBmYWxzZSk7Cit9CisKK2Jvb2wgUmVsTGlzdDo6Y29udGFp
bnNJbnRlcm5hbChjb25zdCBBdG9taWNTdHJpbmcmIHRva2VuKSBjb25zdAoreworICAgIHJldHVy
biBtX3JlbEF0dHJpYnV0ZVZhbHVlLmNvbnRhaW5zKHRva2VuKTsKK30KKworQXRvbWljU3RyaW5n
IFJlbExpc3Q6OnZhbHVlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9lbGVtZW50LmZhc3RHZXRB
dHRyaWJ1dGUoSFRNTE5hbWVzOjpyZWxBdHRyKTsKK30KKwordm9pZCBSZWxMaXN0OjpzZXRWYWx1
ZShjb25zdCBBdG9taWNTdHJpbmcmIHZhbHVlKQoreworICAgIG1fZWxlbWVudC5zZXRBdHRyaWJ1
dGUoSFRNTE5hbWVzOjpyZWxBdHRyLCB2YWx1ZSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9SZWxMaXN0LmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL1JlbExpc3QuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NzQzY2NmNWQ1NTMwMWUzYzhhNWM0
ODIxNjA5NTYzYzA2M2ZjODk4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9SZWxMaXN0LmgKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBE
aGkgQXVycmFobWFuIDxkaW9yYWhtYW5Acm9ja3liYXJzLmNvbT4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUwor
ICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5k
ZWYgUmVsTGlzdF9oCisjZGVmaW5lIFJlbExpc3RfaAorCisjaW5jbHVkZSAiRE9NVG9rZW5MaXN0
LmgiCisjaW5jbHVkZSAiU3BhY2VTcGxpdFN0cmluZy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK2NsYXNzIEVsZW1lbnQ7CisKK2NsYXNzIFJlbExpc3QgZmluYWwgOiBwdWJsaWMgRE9NVG9r
ZW5MaXN0IHsKK3B1YmxpYzoKKyAgICBSZWxMaXN0KEVsZW1lbnQmKTsKKyAgICB2b2lkIHVwZGF0
ZVJlbEF0dHJpYnV0ZShjb25zdCBBdG9taWNTdHJpbmcmKTsKKworcHJpdmF0ZToKKyAgICB2aXJ0
dWFsIHZvaWQgcmVmKCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRlcmVmKCkgb3ZlcnJp
ZGU7CisgICAgdmlydHVhbCB1bnNpZ25lZCBsZW5ndGgoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2
aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyBpdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdCBvdmVy
cmlkZTsKKyAgICB2aXJ0dWFsIEVsZW1lbnQqIGVsZW1lbnQoKSBjb25zdCBvdmVycmlkZTsKKyAg
ICB2aXJ0dWFsIGJvb2wgY29udGFpbnNJbnRlcm5hbChjb25zdCBBdG9taWNTdHJpbmcmKSBjb25z
dCBvdmVycmlkZTsKKyAgICB2aXJ0dWFsIEF0b21pY1N0cmluZyB2YWx1ZSgpIGNvbnN0IG92ZXJy
aWRlOworICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZShjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVy
cmlkZTsKKyAgICAKKyAgICBFbGVtZW50JiBtX2VsZW1lbnQ7CisgICAgbXV0YWJsZSBTcGFjZVNw
bGl0U3RyaW5nIG1fcmVsQXR0cmlidXRlVmFsdWU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBSZWxMaXN0X2gKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDUxOThjMGI0NGMzMDgwZDllOGMw
NTY4Y2FjZTgwODI4MjcyNjM0ZDEuLjkwMzc5NWJkNDIyNWI0N2NkZWJiNTVlZjk5NzQzNDk0NDky
YTE1NGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxNC0xMC0yMSAgRGhpIEF1cnJhaG1hbiAg
PGRpb3JhaG1hbkByb2NreWJhcnMuY29tPgorCisgICAgICAgIEFkZCByZWxMaXN0IHRvIHRoZSBh
bmNob3IsIGFyZWEgYW5kIGxpbmsgZWxlbWVudHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzg2MAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzIHJlbExpc3QgYXNwZWN0cyBmb3IgYW5jaG9yLCBh
cmVhIGFuZCBsaXN0IGVsZW1lbnRzLiAKKyAgICAgICAgVXBkYXRlIGRvbSBzdGF0aWMgcHJvcGVy
dHkgZm9yLWluIGl0ZXJhdGlvbiB0ZXN0IHJlc3VsdCB0byBpbmNsdWRlIHJlbExpc3QuCisKKyAg
ICAgICAgKiBmYXN0L2RvbS9yZWwtbGlzdC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IGZhc3QvZG9tL3JlbC1saXN0LWdjLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9kb20vcmVsLWxpc3QtZ2MuaHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vcmVsLWxp
c3QuaHRtbDogQWRkZWQuCisgICAgICAgICoganMvZG9tL2RvbS1zdGF0aWMtcHJvcGVydHktZm9y
LWluLWl0ZXJhdGlvbi1leHBlY3RlZC50eHQ6IFVwZGF0ZWQgcmVzdWx0cy4KKyAgICAgICAgKiBw
ZXJmL3JlbC1saXN0LXJlbW92ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBlcmYv
cmVsLWxpc3QtcmVtb3ZlLmh0bWw6IEFkZGVkLgorCiAyMDE0LTEwLTE3ICBNaWNoYWVsIFNhYm9m
ZiAgPG1zYWJvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIERvbid0IGNyZWF0ZSBjYWNoZWQgZnVu
Y3Rpb25zIHRoYXQgYWNjZXNzIGxleGljYWxHbG9iYWxPYmplY3QoKQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9kb20vcmVsLWxpc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFz
dC9kb20vcmVsLWxpc3QtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQxMGU5MDcwMmYzM2M5NTU3
ZDY1N2RiZDMxZDgwNmM0YmIzNjBjNzUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9yZWwtbGlzdC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzNzggQEAKK1Rlc3RzIHRo
YXQgcmVsTGlzdCB3b3JrcyBvbiBhbmNob3IsIGFyZWEgYW5kIGxpbmsgZWxlbWVudHMKKworT24g
c3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93
ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1Rlc3RzIHJlbExpc3QgZm9yIGFuY2hvciBlbGVt
ZW50CitQQVNTIGVsZW1lbnQucmVsTGlzdCA9PSBudWxsIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQu
cmVsTGlzdCA9PSB1bmRlZmluZWQgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0IGluc3Rh
bmNlb2YgRE9NVG9rZW5MaXN0IGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBp
cyAzCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiYSIpIGlzIHRydWUKK1BBU1MgZWxl
bWVudC5yZWxMaXN0LmNvbnRhaW5zKCJiIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3Qu
Y29udGFpbnMoImMiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiZCIp
IGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMworUEFTUyBlbGVtZW50
LnJlbExpc3QuY29udGFpbnMoImZvbyIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNv
bnRhaW5zKCJiYXIiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiY2hv
Y29sYXRlIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIm9yYW5nZSIp
IGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMAorUEFTUyBlbGVtZW50
LnJlbExpc3QubGVuZ3RoIGlzIDAKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQ
QVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygibWFyc2htYWxsb3ciKSBpcyB0cnVlCitQQVNT
IGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiY2hpcHMiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5jb250YWlucygib3JhbmdlIikgaXMgZmFsc2UKK1BBU1MgU3RyaW5nKGVsZW1lbnQu
cmVsTGlzdCkgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMAorUEFTUyBl
bGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDEKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBp
cyAyCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbCBp
cyAieCIKK1BBU1MgZWxlbWVudC5yZWwgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4ICB4
IgorUEFTUyBlbGVtZW50LnJlbCBpcyAieSB4IgorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgorUEFT
UyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbCBpcyAiIHkgeSAiCitQQVNTIGVs
ZW1lbnQucmVsIGlzICJ5IgorRW5zdXJlIHRoYXQgd2UgY2FuIGhhbmRsZSBlbXB0eSByZWwgY29y
cmVjdGx5CitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnKSBpcyB0cnVlCitQQVNTIGVs
ZW1lbnQucmVsIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JykgaXMgZmFs
c2UKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5z
KCJ4IikgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzFdIGlzIHVuZGVmaW5lZC4KK1BB
U1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJ4IikgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0LmNvbnRhaW5zKCJ4IikgaXMgdHJ1ZQorVGVzdCB0b2dnbGUgd2l0aCBmb3JjZSBhcmd1
bWVudAorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgdHJ1ZSkgaXMgdHJ1ZQorUEFT
UyBlbGVtZW50LnJlbCBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcsIHRy
dWUpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWwgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlz
dC50b2dnbGUoJ3gnLCBmYWxzZSkgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BB
U1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcsIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBlbGVt
ZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCIiLCB0cnVlKSB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBl
bGVtZW50LnJlbExpc3QudG9nZ2xlKCJ4IHkiLCBmYWxzZSkgdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBJbnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRpb24gNS4KK1Rlc3RpbmcgYWRkIGlu
IHByZXNlbmNlIG9mIHRyYWlsaW5nIHdoaXRlIHNwYWNlcy4KK1BBU1MgZWxlbWVudC5yZWwgaXMg
InggeSIKK1BBU1MgZWxlbWVudC5yZWwgaXMgInhcdHkiCitQQVNTIGVsZW1lbnQucmVsIGlzICIg
eSIKK1Rlc3QgaW52YWxpZCB0b2tlbnMKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCIi
KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyLgor
UEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoInggeSIpIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogSW52YWxpZENoYXJhY3RlckVycm9yOiBET00gRXhjZXB0aW9uIDUuCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5hZGQoIiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBF
eGNlcHRpb24gMTIuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoInggeSIpIHRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogSW52YWxpZENoYXJhY3RlckVycm9yOiBET00gRXhjZXB0aW9uIDUuCitQQVNT
IGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoIiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU3ludGF4
RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoIngg
eSIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZENoYXJhY3RlckVycm9yOiBET00gRXhj
ZXB0aW9uIDUuCitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoIiIpIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitJbmRleGluZworUEFTUyBl
bGVtZW50LnJlbExpc3RbMF0gaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5pdGVtKDApIGlz
ICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3RbMV0gaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlz
dC5pdGVtKDEpIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3RbMV0gaXMgInkiCitQQVNTIGVs
ZW1lbnQucmVsTGlzdC5pdGVtKDEpIGlzICJ5IgorUEFTUyBlbGVtZW50LnJlbExpc3RbMF0gaXMg
dW5kZWZpbmVkLgorUEFTUyBlbGVtZW50LnJlbExpc3QuaXRlbSgwKSBpcyBudWxsCitQQVNTIGVs
ZW1lbnQucmVsTGlzdFs0XSBpcyB1bmRlZmluZWQuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5pdGVt
KDQpIGlzIG51bGwKK1BBU1MgZWxlbWVudC5yZWxMaXN0Wy0xXSBpcyB1bmRlZmluZWQuCitQQVNT
IGVsZW1lbnQucmVsTGlzdC5pdGVtKC0xKSBpcyBudWxsCitQQVNTIGVsZW1lbnQucmVsTGlzdC5p
dGVtKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitU
ZXN0IGNhc2Ugc2luY2UgRE9NVG9rZW5MaXN0IGlzIGNhc2Ugc2Vuc2l0aXZlCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5jb250YWlucygieCIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNv
bnRhaW5zKCJYIikgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzBdIGlzICJ4IgorUEFT
UyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBO
b3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJYIikg
aXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIngiKSBpcyBmYWxzZQorUEFT
UyBlbGVtZW50LnJlbExpc3RbMF0gaXMgIlgiCitUZXN0aW5nIHdoaXRlc3BhY2UKK1BBU1MgZWxl
bWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMg
MgorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5yZWxMaXN0
Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMgorRE9NVG9rZW5M
aXN0IHByZXNlbmNlIGFuZCB0eXBlCitQQVNTICd1bmRlZmluZWQnICE9IHR5cGVvZiBET01Ub2tl
bkxpc3QgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgRE9NVG9rZW5MaXN0LnByb3RvdHlwZSBpcyAib2Jq
ZWN0IgorUEFTUyB0eXBlb2YgZWxlbWVudC5yZWxMaXN0IGlzICJvYmplY3QiCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5jb25zdHJ1Y3RvciBpcyBET01Ub2tlbkxpc3QKK1BBU1MgZWxlbWVudC5yZWxM
aXN0ID09PSBlbGVtZW50LnJlbExpc3QgaXMgdHJ1ZQorVmFyaWFkaWMgY2FsbHMKK1BBU1MgZWxl
bWVudC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiBjIgorUEFTUyBlbGVt
ZW50LnJlbCBpcyAiYSBiIGMgbnVsbCBkIHVuZGVmaW5lZCAwIGZhbHNlIgorUEFTUyBlbGVtZW50
LnJlbCBpcyAiYSBiIgorUEFTUyBlbGVtZW50LnJlbExpc3QuYWRkKCJhIiwgImIiLCAiIikgdGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BBU1Mg
ZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmFkZCgiYSIsICJiIiwgImMg
ZCIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZENoYXJhY3RlckVycm9yOiBET00gRXhj
ZXB0aW9uIDUuCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5h
ZGQoImEiLCB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkgeyB0aHJvdyBuZXcgRXJyb3IoInVzZXIgZXJy
b3IiKTsgfX0sICJiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiB1c2VyIGVycm9yLgorUEFTUyBl
bGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExpc3QuYWRkKCkgZGlkIG5vdCB0aHJv
dyBleGNlcHRpb24uCitQQVNTIG9ic2VydmVyLnRha2VSZWNvcmRzKCkubGVuZ3RoIGlzIDEKK1BB
U1MgZWxlbWVudC5yZWwgaXMgImIgZCAgIgorUEFTUyBlbGVtZW50LnJlbCBpcyAiZCAgIgorUEFT
UyBlbGVtZW50LnJlbCBpcyAiYSBiIGMiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoImEi
LCAiYiIsICIiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0
aW9uIDEyLgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIgorUEFTUyBlbGVtZW50LnJlbExpc3Qu
cmVtb3ZlKCJhIiwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHsgdGhyb3cgbmV3IEVycm9yKCJ1c2Vy
IGVycm9yIik7IH19LCAiYiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogdXNlciBlcnJvci4KK1BB
U1MgZWxlbWVudC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgiYSIs
ICJiIiwgImMgZCIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZENoYXJhY3RlckVycm9y
OiBET00gRXhjZXB0aW9uIDUuCitQQVNTIGVsZW1lbnQucmVsIGlzICJhIGIiCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5yZW1vdmUoKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgb2JzZXJ2
ZXIudGFrZVJlY29yZHMoKS5sZW5ndGggaXMgMQorVGVzdHMgcmVsTGlzdCBmb3IgYXJlYSBlbGVt
ZW50CitQQVNTIGVsZW1lbnQucmVsTGlzdCA9PSBudWxsIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQu
cmVsTGlzdCA9PSB1bmRlZmluZWQgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0IGluc3Rh
bmNlb2YgRE9NVG9rZW5MaXN0IGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBp
cyAzCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiYSIpIGlzIHRydWUKK1BBU1MgZWxl
bWVudC5yZWxMaXN0LmNvbnRhaW5zKCJiIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3Qu
Y29udGFpbnMoImMiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiZCIp
IGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMworUEFTUyBlbGVtZW50
LnJlbExpc3QuY29udGFpbnMoImZvbyIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNv
bnRhaW5zKCJiYXIiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiY2hv
Y29sYXRlIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIm9yYW5nZSIp
IGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMAorUEFTUyBlbGVtZW50
LnJlbExpc3QubGVuZ3RoIGlzIDAKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQ
QVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygibWFyc2htYWxsb3ciKSBpcyB0cnVlCitQQVNT
IGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiY2hpcHMiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5jb250YWlucygib3JhbmdlIikgaXMgZmFsc2UKK1BBU1MgU3RyaW5nKGVsZW1lbnQu
cmVsTGlzdCkgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMAorUEFTUyBl
bGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDEKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBp
cyAyCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbCBp
cyAieCIKK1BBU1MgZWxlbWVudC5yZWwgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4ICB4
IgorUEFTUyBlbGVtZW50LnJlbCBpcyAieSB4IgorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgorUEFT
UyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbCBpcyAiIHkgeSAiCitQQVNTIGVs
ZW1lbnQucmVsIGlzICJ5IgorRW5zdXJlIHRoYXQgd2UgY2FuIGhhbmRsZSBlbXB0eSByZWwgY29y
cmVjdGx5CitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnKSBpcyB0cnVlCitQQVNTIGVs
ZW1lbnQucmVsIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JykgaXMgZmFs
c2UKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5z
KCJ4IikgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzFdIGlzIHVuZGVmaW5lZC4KK1BB
U1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJ4IikgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0LmNvbnRhaW5zKCJ4IikgaXMgdHJ1ZQorVGVzdCB0b2dnbGUgd2l0aCBmb3JjZSBhcmd1
bWVudAorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgdHJ1ZSkgaXMgdHJ1ZQorUEFT
UyBlbGVtZW50LnJlbCBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcsIHRy
dWUpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWwgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlz
dC50b2dnbGUoJ3gnLCBmYWxzZSkgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BB
U1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcsIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBlbGVt
ZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCIiLCB0cnVlKSB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBl
bGVtZW50LnJlbExpc3QudG9nZ2xlKCJ4IHkiLCBmYWxzZSkgdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBJbnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRpb24gNS4KK1Rlc3RpbmcgYWRkIGlu
IHByZXNlbmNlIG9mIHRyYWlsaW5nIHdoaXRlIHNwYWNlcy4KK1BBU1MgZWxlbWVudC5yZWwgaXMg
InggeSIKK1BBU1MgZWxlbWVudC5yZWwgaXMgInhcdHkiCitQQVNTIGVsZW1lbnQucmVsIGlzICIg
eSIKK1Rlc3QgaW52YWxpZCB0b2tlbnMKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCIi
KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyLgor
UEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoInggeSIpIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogSW52YWxpZENoYXJhY3RlckVycm9yOiBET00gRXhjZXB0aW9uIDUuCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5hZGQoIiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBF
eGNlcHRpb24gMTIuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoInggeSIpIHRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogSW52YWxpZENoYXJhY3RlckVycm9yOiBET00gRXhjZXB0aW9uIDUuCitQQVNT
IGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoIiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU3ludGF4
RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoIngg
eSIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZENoYXJhY3RlckVycm9yOiBET00gRXhj
ZXB0aW9uIDUuCitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoIiIpIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitJbmRleGluZworUEFTUyBl
bGVtZW50LnJlbExpc3RbMF0gaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5pdGVtKDApIGlz
ICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3RbMV0gaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlz
dC5pdGVtKDEpIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3RbMV0gaXMgInkiCitQQVNTIGVs
ZW1lbnQucmVsTGlzdC5pdGVtKDEpIGlzICJ5IgorUEFTUyBlbGVtZW50LnJlbExpc3RbMF0gaXMg
dW5kZWZpbmVkLgorUEFTUyBlbGVtZW50LnJlbExpc3QuaXRlbSgwKSBpcyBudWxsCitQQVNTIGVs
ZW1lbnQucmVsTGlzdFs0XSBpcyB1bmRlZmluZWQuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5pdGVt
KDQpIGlzIG51bGwKK1BBU1MgZWxlbWVudC5yZWxMaXN0Wy0xXSBpcyB1bmRlZmluZWQuCitQQVNT
IGVsZW1lbnQucmVsTGlzdC5pdGVtKC0xKSBpcyBudWxsCitQQVNTIGVsZW1lbnQucmVsTGlzdC5p
dGVtKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitU
ZXN0IGNhc2Ugc2luY2UgRE9NVG9rZW5MaXN0IGlzIGNhc2Ugc2Vuc2l0aXZlCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5jb250YWlucygieCIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNv
bnRhaW5zKCJYIikgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzBdIGlzICJ4IgorUEFT
UyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBO
b3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJYIikg
aXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIngiKSBpcyBmYWxzZQorUEFT
UyBlbGVtZW50LnJlbExpc3RbMF0gaXMgIlgiCitUZXN0aW5nIHdoaXRlc3BhY2UKK1BBU1MgZWxl
bWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMg
MgorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5yZWxMaXN0
Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMgorRE9NVG9rZW5M
aXN0IHByZXNlbmNlIGFuZCB0eXBlCitQQVNTICd1bmRlZmluZWQnICE9IHR5cGVvZiBET01Ub2tl
bkxpc3QgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgRE9NVG9rZW5MaXN0LnByb3RvdHlwZSBpcyAib2Jq
ZWN0IgorUEFTUyB0eXBlb2YgZWxlbWVudC5yZWxMaXN0IGlzICJvYmplY3QiCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5jb25zdHJ1Y3RvciBpcyBET01Ub2tlbkxpc3QKK1BBU1MgZWxlbWVudC5yZWxM
aXN0ID09PSBlbGVtZW50LnJlbExpc3QgaXMgdHJ1ZQorVmFyaWFkaWMgY2FsbHMKK1BBU1MgZWxl
bWVudC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiBjIgorUEFTUyBlbGVt
ZW50LnJlbCBpcyAiYSBiIGMgbnVsbCBkIHVuZGVmaW5lZCAwIGZhbHNlIgorUEFTUyBlbGVtZW50
LnJlbCBpcyAiYSBiIgorUEFTUyBlbGVtZW50LnJlbExpc3QuYWRkKCJhIiwgImIiLCAiIikgdGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BBU1Mg
ZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmFkZCgiYSIsICJiIiwgImMg
ZCIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZENoYXJhY3RlckVycm9yOiBET00gRXhj
ZXB0aW9uIDUuCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5h
ZGQoImEiLCB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkgeyB0aHJvdyBuZXcgRXJyb3IoInVzZXIgZXJy
b3IiKTsgfX0sICJiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiB1c2VyIGVycm9yLgorUEFTUyBl
bGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExpc3QuYWRkKCkgZGlkIG5vdCB0aHJv
dyBleGNlcHRpb24uCitQQVNTIG9ic2VydmVyLnRha2VSZWNvcmRzKCkubGVuZ3RoIGlzIDEKK1BB
U1MgZWxlbWVudC5yZWwgaXMgImIgZCAgIgorUEFTUyBlbGVtZW50LnJlbCBpcyAiZCAgIgorUEFT
UyBlbGVtZW50LnJlbCBpcyAiYSBiIGMiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoImEi
LCAiYiIsICIiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0
aW9uIDEyLgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIgorUEFTUyBlbGVtZW50LnJlbExpc3Qu
cmVtb3ZlKCJhIiwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHsgdGhyb3cgbmV3IEVycm9yKCJ1c2Vy
IGVycm9yIik7IH19LCAiYiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogdXNlciBlcnJvci4KK1BB
U1MgZWxlbWVudC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgiYSIs
ICJiIiwgImMgZCIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZENoYXJhY3RlckVycm9y
OiBET00gRXhjZXB0aW9uIDUuCitQQVNTIGVsZW1lbnQucmVsIGlzICJhIGIiCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5yZW1vdmUoKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgb2JzZXJ2
ZXIudGFrZVJlY29yZHMoKS5sZW5ndGggaXMgMQorVGVzdHMgcmVsTGlzdCBmb3IgbGluayBlbGVt
ZW50CitQQVNTIGVsZW1lbnQucmVsTGlzdCA9PSBudWxsIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQu
cmVsTGlzdCA9PSB1bmRlZmluZWQgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0IGluc3Rh
bmNlb2YgRE9NVG9rZW5MaXN0IGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBp
cyAzCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiYSIpIGlzIHRydWUKK1BBU1MgZWxl
bWVudC5yZWxMaXN0LmNvbnRhaW5zKCJiIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3Qu
Y29udGFpbnMoImMiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiZCIp
IGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMworUEFTUyBlbGVtZW50
LnJlbExpc3QuY29udGFpbnMoImZvbyIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNv
bnRhaW5zKCJiYXIiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiY2hv
Y29sYXRlIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIm9yYW5nZSIp
IGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMAorUEFTUyBlbGVtZW50
LnJlbExpc3QubGVuZ3RoIGlzIDAKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQ
QVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygibWFyc2htYWxsb3ciKSBpcyB0cnVlCitQQVNT
IGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiY2hpcHMiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5jb250YWlucygib3JhbmdlIikgaXMgZmFsc2UKK1BBU1MgU3RyaW5nKGVsZW1lbnQu
cmVsTGlzdCkgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMAorUEFTUyBl
bGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDEKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBp
cyAyCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbCBp
cyAieCIKK1BBU1MgZWxlbWVudC5yZWwgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4ICB4
IgorUEFTUyBlbGVtZW50LnJlbCBpcyAieSB4IgorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgorUEFT
UyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbCBpcyAiIHkgeSAiCitQQVNTIGVs
ZW1lbnQucmVsIGlzICJ5IgorRW5zdXJlIHRoYXQgd2UgY2FuIGhhbmRsZSBlbXB0eSByZWwgY29y
cmVjdGx5CitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnKSBpcyB0cnVlCitQQVNTIGVs
ZW1lbnQucmVsIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JykgaXMgZmFs
c2UKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5z
KCJ4IikgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzFdIGlzIHVuZGVmaW5lZC4KK1BB
U1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJ4IikgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0LmNvbnRhaW5zKCJ4IikgaXMgdHJ1ZQorVGVzdCB0b2dnbGUgd2l0aCBmb3JjZSBhcmd1
bWVudAorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgdHJ1ZSkgaXMgdHJ1ZQorUEFT
UyBlbGVtZW50LnJlbCBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcsIHRy
dWUpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWwgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlz
dC50b2dnbGUoJ3gnLCBmYWxzZSkgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BB
U1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcsIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBlbGVt
ZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCIiLCB0cnVlKSB0aHJl
dyBleGNlcHRpb24gRXJyb3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBl
bGVtZW50LnJlbExpc3QudG9nZ2xlKCJ4IHkiLCBmYWxzZSkgdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBJbnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRpb24gNS4KK1Rlc3RpbmcgYWRkIGlu
IHByZXNlbmNlIG9mIHRyYWlsaW5nIHdoaXRlIHNwYWNlcy4KK1BBU1MgZWxlbWVudC5yZWwgaXMg
InggeSIKK1BBU1MgZWxlbWVudC5yZWwgaXMgInhcdHkiCitQQVNTIGVsZW1lbnQucmVsIGlzICIg
eSIKK1Rlc3QgaW52YWxpZCB0b2tlbnMKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCIi
KSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyLgor
UEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoInggeSIpIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogSW52YWxpZENoYXJhY3RlckVycm9yOiBET00gRXhjZXB0aW9uIDUuCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5hZGQoIiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBF
eGNlcHRpb24gMTIuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoInggeSIpIHRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogSW52YWxpZENoYXJhY3RlckVycm9yOiBET00gRXhjZXB0aW9uIDUuCitQQVNT
IGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoIiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU3ludGF4
RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoIngg
eSIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZENoYXJhY3RlckVycm9yOiBET00gRXhj
ZXB0aW9uIDUuCitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoIiIpIHRocmV3IGV4Y2VwdGlv
biBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitJbmRleGluZworUEFTUyBl
bGVtZW50LnJlbExpc3RbMF0gaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5pdGVtKDApIGlz
ICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3RbMV0gaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlz
dC5pdGVtKDEpIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3RbMV0gaXMgInkiCitQQVNTIGVs
ZW1lbnQucmVsTGlzdC5pdGVtKDEpIGlzICJ5IgorUEFTUyBlbGVtZW50LnJlbExpc3RbMF0gaXMg
dW5kZWZpbmVkLgorUEFTUyBlbGVtZW50LnJlbExpc3QuaXRlbSgwKSBpcyBudWxsCitQQVNTIGVs
ZW1lbnQucmVsTGlzdFs0XSBpcyB1bmRlZmluZWQuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5pdGVt
KDQpIGlzIG51bGwKK1BBU1MgZWxlbWVudC5yZWxMaXN0Wy0xXSBpcyB1bmRlZmluZWQuCitQQVNT
IGVsZW1lbnQucmVsTGlzdC5pdGVtKC0xKSBpcyBudWxsCitQQVNTIGVsZW1lbnQucmVsTGlzdC5p
dGVtKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90IGVub3VnaCBhcmd1bWVudHMuCitU
ZXN0IGNhc2Ugc2luY2UgRE9NVG9rZW5MaXN0IGlzIGNhc2Ugc2Vuc2l0aXZlCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5jb250YWlucygieCIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNv
bnRhaW5zKCJYIikgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0WzBdIGlzICJ4IgorUEFT
UyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBO
b3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJYIikg
aXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIngiKSBpcyBmYWxzZQorUEFT
UyBlbGVtZW50LnJlbExpc3RbMF0gaXMgIlgiCitUZXN0aW5nIHdoaXRlc3BhY2UKK1BBU1MgZWxl
bWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMg
MgorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDIKK1BBU1MgZWxlbWVudC5yZWxMaXN0
Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMgMgorRE9NVG9rZW5M
aXN0IHByZXNlbmNlIGFuZCB0eXBlCitQQVNTICd1bmRlZmluZWQnICE9IHR5cGVvZiBET01Ub2tl
bkxpc3QgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgRE9NVG9rZW5MaXN0LnByb3RvdHlwZSBpcyAib2Jq
ZWN0IgorUEFTUyB0eXBlb2YgZWxlbWVudC5yZWxMaXN0IGlzICJvYmplY3QiCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5jb25zdHJ1Y3RvciBpcyBET01Ub2tlbkxpc3QKK1BBU1MgZWxlbWVudC5yZWxM
aXN0ID09PSBlbGVtZW50LnJlbExpc3QgaXMgdHJ1ZQorVmFyaWFkaWMgY2FsbHMKK1BBU1MgZWxl
bWVudC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiBjIgorUEFTUyBlbGVt
ZW50LnJlbCBpcyAiYSBiIGMgbnVsbCBkIHVuZGVmaW5lZCAwIGZhbHNlIgorUEFTUyBlbGVtZW50
LnJlbCBpcyAiYSBiIgorUEFTUyBlbGVtZW50LnJlbExpc3QuYWRkKCJhIiwgImIiLCAiIikgdGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BBU1Mg
ZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmFkZCgiYSIsICJiIiwgImMg
ZCIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZENoYXJhY3RlckVycm9yOiBET00gRXhj
ZXB0aW9uIDUuCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5h
ZGQoImEiLCB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkgeyB0aHJvdyBuZXcgRXJyb3IoInVzZXIgZXJy
b3IiKTsgfX0sICJiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiB1c2VyIGVycm9yLgorUEFTUyBl
bGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExpc3QuYWRkKCkgZGlkIG5vdCB0aHJv
dyBleGNlcHRpb24uCitQQVNTIG9ic2VydmVyLnRha2VSZWNvcmRzKCkubGVuZ3RoIGlzIDEKK1BB
U1MgZWxlbWVudC5yZWwgaXMgImIgZCAgIgorUEFTUyBlbGVtZW50LnJlbCBpcyAiZCAgIgorUEFT
UyBlbGVtZW50LnJlbCBpcyAiYSBiIGMiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoImEi
LCAiYiIsICIiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0
aW9uIDEyLgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIgorUEFTUyBlbGVtZW50LnJlbExpc3Qu
cmVtb3ZlKCJhIiwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHsgdGhyb3cgbmV3IEVycm9yKCJ1c2Vy
IGVycm9yIik7IH19LCAiYiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogdXNlciBlcnJvci4KK1BB
U1MgZWxlbWVudC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgiYSIs
ICJiIiwgImMgZCIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZENoYXJhY3RlckVycm9y
OiBET00gRXhjZXB0aW9uIDUuCitQQVNTIGVsZW1lbnQucmVsIGlzICJhIGIiCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5yZW1vdmUoKSBkaWQgbm90IHRocm93IGV4Y2VwdGlvbi4KK1BBU1Mgb2JzZXJ2
ZXIudGFrZVJlY29yZHMoKS5sZW5ndGggaXMgMQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9t
L3JlbC1saXN0LWdjLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3JlbC1saXN0
LWdjLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNjJlNmIzMjkwMDljNzFhYTUzOGU5ODk1ZTg1
ZDg0MGVjMmE0ZWZhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVs
LWxpc3QtZ2MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK1Rlc3RzIHJlbExpc3QgZ2Mg
Zm9yIGFuY2hvciBlbGVtZW50CitQQVNTIGVsZW1lbnQucmVsTGlzdC5saWZlIGlzIDQyCitQQVNT
IGVsZW1lbnQucmVsTGlzdC5saWZlIGlzIDQyCitUZXN0cyByZWxMaXN0IGdjIGZvciBhcmVhIGVs
ZW1lbnQKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmxpZmUgaXMgNDIKK1BBU1MgZWxlbWVudC5yZWxM
aXN0LmxpZmUgaXMgNDIKK1Rlc3RzIHJlbExpc3QgZ2MgZm9yIGxpbmsgZWxlbWVudAorUEFTUyBl
bGVtZW50LnJlbExpc3QubGlmZSBpcyA0MgorUEFTUyBlbGVtZW50LnJlbExpc3QubGlmZSBpcyA0
MgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3JlbC1saXN0LWdjLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9yZWwtbGlzdC1nYy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkyNWRmNjUxMTY3MmRh
Mjg0YzljMWIxYWMwY2U4YzU4OTBiY2I0MWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9yZWwtbGlzdC1nYy5odG1sCkBAIC0wLDAgKzEsMzAgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPHNjcmlwdD4KK3ZhciBlbGVtZW50OworCitm
dW5jdGlvbiB0ZXN0KHR5cGUpCit7CisgICAgZWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQodHlwZSk7CisgICAgdmFyIHJlbExpc3QgPSBlbGVtZW50LnJlbExpc3Q7CisgICAgZWxlbWVu
dC5yZWxMaXN0LmxpZmUgPSA0MjsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LnJlbExp
c3QubGlmZScsIDQyKTsKKyAgICByZWxMaXN0ID0gbnVsbDsKKyAgICBnYygpOworICAgIHNob3Vs
ZEV2YWx1YXRlVG8oJ2VsZW1lbnQucmVsTGlzdC5saWZlJywgNDIpOworfQorCitkZWJ1ZygnVGVz
dHMgcmVsTGlzdCBnYyBmb3IgYW5jaG9yIGVsZW1lbnQnKTsKK3Rlc3QoJ2EnKTsKK2RlYnVnKCdU
ZXN0cyByZWxMaXN0IGdjIGZvciBhcmVhIGVsZW1lbnQnKTsKK3Rlc3QoJ2FyZWEnKTsKK2RlYnVn
KCdUZXN0cyByZWxMaXN0IGdjIGZvciBsaW5rIGVsZW1lbnQnKTsKK3Rlc3QoJ2xpbmsnKTsKKwor
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVsLWxpc3QuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3QvZG9tL3JlbC1saXN0Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uY2JjMmM0YTU0ODY1ZTE0Mjhh
MTk1Y2E1NDYzNWY0OGJjODk2MjZkMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3JlbC1saXN0Lmh0bWwKQEAgLTAsMCArMSwzMDMgQEAKKzwhRE9DVFlQRSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8YSBpZD0iYSIgcmVsPSJhIGIgYyI+PC9h
PgorPGFyZWEgaWQ9ImFyZWEiIHJlbD0iYSBiIGMiPjwvYXJlYT4KKzxsaW5rIGlkPSJsaW5rIiBy
ZWw9ImEgYiBjIj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbignVGVzdHMgdGhhdCByZWxMaXN0IHdv
cmtzIG9uIGFuY2hvciwgYXJlYSBhbmQgbGluayBlbGVtZW50cycpOworCit2YXIgZWxlbWVudDsK
K3ZhciB0eXBlOwordmFyIG9ic2VydmVyOworCitmdW5jdGlvbiBjcmVhdGVFbGVtZW50KHJlbCkK
K3sKKyAgICBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0eXBlKTsKKyAgICBlbGVt
ZW50LnJlbCA9IHJlbDsKK30KKworZnVuY3Rpb24gdGVzdCgpIAoreworICAgIGVsZW1lbnQgPSBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCh0eXBlKTsKKyAgICBzaG91bGRCZUZhbHNlKCdlbGVtZW50
LnJlbExpc3QgPT0gbnVsbCcpOworICAgIHNob3VsZEJlRmFsc2UoJ2VsZW1lbnQucmVsTGlzdCA9
PSB1bmRlZmluZWQnKTsKKyAgICBzaG91bGRCZVRydWUoJ2VsZW1lbnQucmVsTGlzdCBpbnN0YW5j
ZW9mIERPTVRva2VuTGlzdCcpOworICAgIHNob3VsZEJlKCdlbGVtZW50LnJlbExpc3QubGVuZ3Ro
JywgJzMnKTsKKyAgICBzaG91bGRCZVRydWUoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygiYSIp
Jyk7CisgICAgc2hvdWxkQmVUcnVlKCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImIiKScpOwor
ICAgIHNob3VsZEJlVHJ1ZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJjIiknKTsKKyAgICBz
aG91bGRCZUZhbHNlKCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImQiKScpOworCisgICAgY3Jl
YXRlRWxlbWVudCgiZm9vIGJhciBjaG9jb2xhdGUiKTsKKyAgICBzaG91bGRCZSgnZWxlbWVudC5y
ZWxMaXN0Lmxlbmd0aCcsICczJyk7CisgICAgc2hvdWxkQmVUcnVlKCdlbGVtZW50LnJlbExpc3Qu
Y29udGFpbnMoImZvbyIpJyk7CisgICAgc2hvdWxkQmVUcnVlKCdlbGVtZW50LnJlbExpc3QuY29u
dGFpbnMoImJhciIpJyk7CisgICAgc2hvdWxkQmVUcnVlKCdlbGVtZW50LnJlbExpc3QuY29udGFp
bnMoImNob2NvbGF0ZSIpJyk7CisgICAgc2hvdWxkQmVGYWxzZSgnZWxlbWVudC5yZWxMaXN0LmNv
bnRhaW5zKCJvcmFuZ2UiKScpOworCisgICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ3JlbCcp
OworICAgIHNob3VsZEJlKCdlbGVtZW50LnJlbExpc3QubGVuZ3RoJywgJzAnKTsKKyAgICAKKyAg
ICBlbGVtZW50LnNldEF0dHJpYnV0ZSgncmVsJywgJycpOworICAgIHNob3VsZEJlKCdlbGVtZW50
LnJlbExpc3QubGVuZ3RoJywgJzAnKTsKKworICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdyZWwn
LCAnbWFyc2htYWxsb3cgY2hpcHMnKTsKKyAgICBzaG91bGRCZSgnZWxlbWVudC5yZWxMaXN0Lmxl
bmd0aCcsICcyJyk7CisgICAgc2hvdWxkQmVUcnVlKCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMo
Im1hcnNobWFsbG93IiknKTsKKyAgICBzaG91bGRCZVRydWUoJ2VsZW1lbnQucmVsTGlzdC5jb250
YWlucygiY2hpcHMiKScpOworICAgIHNob3VsZEJlRmFsc2UoJ2VsZW1lbnQucmVsTGlzdC5jb250
YWlucygib3JhbmdlIiknKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJ3gnKTsKKyAgICBlbGVtZW50
LnJlbExpc3QgPSAneSc7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdTdHJpbmcoZWxlbWVu
dC5yZWxMaXN0KScsICd4Jyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCcnKTsKKyAgICBzaG91bGRF
dmFsdWF0ZVRvKCdlbGVtZW50LnJlbExpc3QubGVuZ3RoJywgMCk7CisKKyAgICBjcmVhdGVFbGVt
ZW50KCd4Jyk7CisgICAgc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCcs
IDEpOworCisgICAgY3JlYXRlRWxlbWVudCgneCB4Jyk7CisgICAgc2hvdWxkRXZhbHVhdGVUbygn
ZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCcsIDIpOworCisgICAgY3JlYXRlRWxlbWVudCgneCB5Jyk7
CisgICAgc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCcsIDIpOworCisg
ICAgY3JlYXRlRWxlbWVudCgnJyk7CisgICAgZWxlbWVudC5yZWxMaXN0LmFkZCgneCcpOworICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAneCcpOworCisgICAgY3JlYXRl
RWxlbWVudCgneCcpOworICAgIGVsZW1lbnQucmVsTGlzdC5hZGQoJ3gnKTsKKyAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ3gnKTsKKworICAgIGNyZWF0ZUVsZW1lbnQo
J3ggIHgnKTsKKyAgICBlbGVtZW50LnJlbExpc3QuYWRkKCd4Jyk7CisgICAgc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICd4ICB4Jyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCd5
Jyk7CisgICAgZWxlbWVudC5yZWxMaXN0LmFkZCgneCcpOworICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygnZWxlbWVudC5yZWwnLCAneSB4Jyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCcnKTsKKyAg
ICBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCd4Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdlbGVtZW50LnJlbCcsICcnKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJ3gnKTsKKyAgICBlbGVt
ZW50LnJlbExpc3QucmVtb3ZlKCd4Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVt
ZW50LnJlbCcsICcnKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJyB5IHggIHkgJyk7CisgICAgZWxl
bWVudC5yZWxMaXN0LnJlbW92ZSgneCcpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxl
bWVudC5yZWwnLCAnIHkgeSAnKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJyB4IHkgIHggJyk7Cisg
ICAgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgneCcpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZWxlbWVudC5yZWwnLCAneScpOworCisgICAgZGVidWcoJ0Vuc3VyZSB0aGF0IHdlIGNhbiBo
YW5kbGUgZW1wdHkgcmVsIGNvcnJlY3RseScpOworICAgIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHR5cGUpOworICAgIHNob3VsZEJlVHJ1ZSgiZWxlbWVudC5yZWxMaXN0LnRvZ2ds
ZSgneCcpIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICd4Jyk7
CisgICAgc2hvdWxkQmVGYWxzZSgiZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcpIik7CisgICAg
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICcnKTsKKworICAgIGVsZW1lbnQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHR5cGUpOworICAgIHNob3VsZEJlRmFsc2UoJ2VsZW1l
bnQucmVsTGlzdC5jb250YWlucygieCIpJyk7CisgICAgc2hvdWxkQmVVbmRlZmluZWQoJ2VsZW1l
bnQucmVsTGlzdFsxXScpOworICAgIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoJ3gnKTsKKyAgICBz
aG91bGRCZUZhbHNlKCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIngiKScpOworICAgIGVsZW1l
bnQucmVsTGlzdC5hZGQoJ3gnKTsKKyAgICBzaG91bGRCZVRydWUoJ2VsZW1lbnQucmVsTGlzdC5j
b250YWlucygieCIpJyk7CisKKyAgICBkZWJ1ZygnVGVzdCB0b2dnbGUgd2l0aCBmb3JjZSBhcmd1
bWVudCcpOworICAgIGNyZWF0ZUVsZW1lbnQoJycpOworICAgIHNob3VsZEJlVHJ1ZSgiZWxlbWVu
dC5yZWxMaXN0LnRvZ2dsZSgneCcsIHRydWUpIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdlbGVtZW50LnJlbCcsICd4Jyk7CisgICAgc2hvdWxkQmVUcnVlKCJlbGVtZW50LnJlbExpc3Qu
dG9nZ2xlKCd4JywgdHJ1ZSkiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQu
cmVsJywgJ3gnKTsKKyAgICBzaG91bGRCZUZhbHNlKCJlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4
JywgZmFsc2UpIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICcn
KTsKKyAgICBzaG91bGRCZUZhbHNlKCJlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgZmFsc2Up
Iik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICcnKTsKKyAgICBz
aG91bGRUaHJvdygnZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgiIiwgdHJ1ZSknKTsKKyAgICBzaG91
bGRUaHJvdygnZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgieCB5IiwgZmFsc2UpJyk7CisKKyAgICBk
ZWJ1ZygnVGVzdGluZyBhZGQgaW4gcHJlc2VuY2Ugb2YgdHJhaWxpbmcgd2hpdGUgc3BhY2VzLicp
OworICAgIGNyZWF0ZUVsZW1lbnQoJ3ggJyk7CisgICAgZWxlbWVudC5yZWxMaXN0LmFkZCgneScp
OworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAneCB5Jyk7CisKKyAg
ICBjcmVhdGVFbGVtZW50KCd4XHQnKTsKKyAgICBlbGVtZW50LnJlbExpc3QuYWRkKCd5Jyk7Cisg
ICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICd4XHR5Jyk7CisKKyAgICBj
cmVhdGVFbGVtZW50KCcgJyk7CisgICAgZWxlbWVudC5yZWxMaXN0LmFkZCgneScpOworICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnIHknKTsKKworICAgIGRlYnVnKCdU
ZXN0IGludmFsaWQgdG9rZW5zJyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCd4Jyk7CisgICAgc2hv
dWxkVGhyb3coJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygiIiknKTsKKworICAgIGNyZWF0ZUVs
ZW1lbnQoJ3ggeScpOworICAgIHNob3VsZFRocm93KCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMo
InggeSIpJyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCcnKTsKKyAgICBzaG91bGRUaHJvdygnZWxl
bWVudC5yZWxMaXN0LmFkZCgiIiknKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJycpOworICAgIHNo
b3VsZFRocm93KCdlbGVtZW50LnJlbExpc3QuYWRkKCJ4IHkiKScpOworCisgICAgY3JlYXRlRWxl
bWVudCgnJyk7CisgICAgc2hvdWxkVGhyb3coJ2VsZW1lbnQucmVsTGlzdC5yZW1vdmUoIiIpJyk7
CisKKyAgICBjcmVhdGVFbGVtZW50KCcnKTsKKyAgICBzaG91bGRUaHJvdygnZWxlbWVudC5yZWxM
aXN0LnJlbW92ZSgieCB5IiknKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJycpOworICAgIHNob3Vs
ZFRocm93KCdlbGVtZW50LnJlbExpc3QudG9nZ2xlKCIiKScpOworCisgICAgZGVidWcoJ0luZGV4
aW5nJyk7CisgICAgY3JlYXRlRWxlbWVudCgneCcpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZWxlbWVudC5yZWxMaXN0WzBdJywgJ3gnKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
J2VsZW1lbnQucmVsTGlzdC5pdGVtKDApJywgJ3gnKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJ3gg
eCcpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWxMaXN0WzFdJywgJ3gn
KTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsTGlzdC5pdGVtKDEpJywg
J3gnKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJ3ggeScpOworICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygnZWxlbWVudC5yZWxMaXN0WzFdJywgJ3knKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2VsZW1lbnQucmVsTGlzdC5pdGVtKDEpJywgJ3knKTsKKworICAgIGNyZWF0ZUVsZW1lbnQo
JycpOworICAgIHNob3VsZEJlVW5kZWZpbmVkKCdlbGVtZW50LnJlbExpc3RbMF0nKTsKKyAgICBz
aG91bGRCZU51bGwoJ2VsZW1lbnQucmVsTGlzdC5pdGVtKDApJyk7CisKKyAgICBjcmVhdGVFbGVt
ZW50KCd4IHkgeicpOworICAgIHNob3VsZEJlVW5kZWZpbmVkKCdlbGVtZW50LnJlbExpc3RbNF0n
KTsKKyAgICBzaG91bGRCZU51bGwoJ2VsZW1lbnQucmVsTGlzdC5pdGVtKDQpJyk7CisgICAgc2hv
dWxkQmVVbmRlZmluZWQoJ2VsZW1lbnQucmVsTGlzdFstMV0nKTsKKyAgICBzaG91bGRCZU51bGwo
J2VsZW1lbnQucmVsTGlzdC5pdGVtKC0xKScpOworICAgIHNob3VsZFRocm93KCdlbGVtZW50LnJl
bExpc3QuaXRlbSgpJyk7CisKKyAgICBkZWJ1ZygnVGVzdCBjYXNlIHNpbmNlIERPTVRva2VuTGlz
dCBpcyBjYXNlIHNlbnNpdGl2ZScpOworICAgIGNyZWF0ZUVsZW1lbnQoJ3gnKTsKKyAgICBzaG91
bGRCZVRydWUoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygieCIpJyk7CisgICAgc2hvdWxkQmVG
YWxzZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJYIiknKTsKKyAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoJ2VsZW1lbnQucmVsTGlzdFswXScsICd4Jyk7CisgICAgc2hvdWxkVGhyb3coJ2Vs
ZW1lbnQucmVsTGlzdC5jb250YWlucygpJyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCdYJyk7Cisg
ICAgc2hvdWxkQmVUcnVlKCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIlgiKScpOworICAgIHNo
b3VsZEJlRmFsc2UoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygieCIpJyk7CisgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbExpc3RbMF0nLCAnWCcpOworCisgICAgZGVidWco
J1Rlc3Rpbmcgd2hpdGVzcGFjZScpOworICAgIGNyZWF0ZUVsZW1lbnQoJ3hcdTAwMjB5Jyk7Cisg
ICAgc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCcsIDIpOworCisgICAg
Y3JlYXRlRWxlbWVudCgneFx1MDAwOXknKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50
LnJlbExpc3QubGVuZ3RoJywgMik7CisKKyAgICBjcmVhdGVFbGVtZW50KCd4XHUwMDBBeScpOwor
ICAgIHNob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAyKTsKKworICAg
IGNyZWF0ZUVsZW1lbnQoJ3hcdTAwMEN5Jyk7CisgICAgc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVu
dC5yZWxMaXN0Lmxlbmd0aCcsIDIpOworCisgICAgY3JlYXRlRWxlbWVudCgneFx1MDAwRHknKTsK
KyAgICBzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LnJlbExpc3QubGVuZ3RoJywgMik7CisKKyAg
ICBkZWJ1ZygnRE9NVG9rZW5MaXN0IHByZXNlbmNlIGFuZCB0eXBlJyk7CisgICAgc2hvdWxkQmVU
cnVlKCdcJ3VuZGVmaW5lZFwnICE9IHR5cGVvZiBET01Ub2tlbkxpc3QnKTsKKworICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygndHlwZW9mIERPTVRva2VuTGlzdC5wcm90b3R5cGUnLCAnb2JqZWN0
Jyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCd4Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCd0eXBlb2YgZWxlbWVudC5yZWxMaXN0JywgJ29iamVjdCcpOworICAgIHNob3VsZEV2YWx1YXRl
VG8oJ2VsZW1lbnQucmVsTGlzdC5jb25zdHJ1Y3RvcicsICdET01Ub2tlbkxpc3QnKTsKKyAgICBz
aG91bGRCZVRydWUoJ2VsZW1lbnQucmVsTGlzdCA9PT0gZWxlbWVudC5yZWxMaXN0Jyk7CisKKyAg
ICBkZWJ1ZygnVmFyaWFkaWMgY2FsbHMnKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJycpOworICAg
IGVsZW1lbnQucmVsTGlzdC5hZGQoJ2EnLCAnYicpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZWxlbWVudC5yZWwnLCAnYSBiJyk7CisKKyAgICBlbGVtZW50LnJlbExpc3QuYWRkKCdhJywg
J2InLCAnYycpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnYSBi
IGMnKTsKKworICAgIGVsZW1lbnQucmVsTGlzdC5hZGQobnVsbCwge3RvU3RyaW5nOiBmdW5jdGlv
bigpIHsgcmV0dXJuICdkJyB9fSwgdW5kZWZpbmVkLCAwLCBmYWxzZSk7CisgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICdhIGIgYyBudWxsIGQgdW5kZWZpbmVkIDAgZmFs
c2UnKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJycpOworICAgIGVsZW1lbnQucmVsTGlzdC5hZGQo
J2EnLCAnYicsICdhJyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcs
ICdhIGInKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJycpOworICAgIHNob3VsZFRocm93KCdlbGVt
ZW50LnJlbExpc3QuYWRkKCJhIiwgImIiLCAiIiknKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2VsZW1lbnQucmVsJywgJycpOworICAgIHNob3VsZFRocm93KCdlbGVtZW50LnJlbExpc3Qu
YWRkKCJhIiwgImIiLCAiYyBkIiknKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1l
bnQucmVsJywgJycpOworICAgIHNob3VsZFRocm93KCdlbGVtZW50LnJlbExpc3QuYWRkKCJhIiwg
e3RvU3RyaW5nOiBmdW5jdGlvbigpIHsgdGhyb3cgbmV3IEVycm9yKCJ1c2VyIGVycm9yIik7IH19
LCAiYiIpJywgJyJFcnJvcjogdXNlciBlcnJvciInKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoJ2VsZW1lbnQucmVsJywgJycpOworCisgICAgY3JlYXRlRWxlbWVudCgnJyk7CisgICAgc2hv
dWxkTm90VGhyb3coJ2VsZW1lbnQucmVsTGlzdC5hZGQoKScpOworCisgICAgY3JlYXRlRWxlbWVu
dCgnJyk7CisgICAgb2JzZXJ2ZXIgPSBuZXcgV2ViS2l0TXV0YXRpb25PYnNlcnZlcihmdW5jdGlv
bigpIHt9KTsKKyAgICBvYnNlcnZlci5vYnNlcnZlKGVsZW1lbnQsIHthdHRyaWJ1dGVzOiB0cnVl
fSk7CisgICAgZWxlbWVudC5yZWxMaXN0LmFkZCgnYScsICdjJyk7CisgICAgc2hvdWxkQmUoJ29i
c2VydmVyLnRha2VSZWNvcmRzKCkubGVuZ3RoJywgJzEnKTsKKworICAgIGNyZWF0ZUVsZW1lbnQo
J2EgYiBjIGQgICcpOworICAgIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoJ2EnLCAnYycpOworICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnYiBkICAnKTsKKworICAgIGVs
ZW1lbnQucmVsTGlzdC5yZW1vdmUoJ2InLCAnYicpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZWxlbWVudC5yZWwnLCAnZCAgJyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCdhIGIgYyBudWxs
IGQgdW5kZWZpbmVkIDAgZmFsc2UnKTsKKyAgICBlbGVtZW50LnJlbExpc3QucmVtb3ZlKG51bGws
IHt0b1N0cmluZzogZnVuY3Rpb24oKSB7IHJldHVybiAnZCcgfX0sIHVuZGVmaW5lZCwgMCwgZmFs
c2UpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnYSBiIGMnKTsK
KworICAgIGNyZWF0ZUVsZW1lbnQoJ2EgYicpOworICAgIHNob3VsZFRocm93KCdlbGVtZW50LnJl
bExpc3QucmVtb3ZlKCJhIiwgImIiLCAiIiknKTsKKworICAgIHNob3VsZEJlRXF1YWxUb1N0cmlu
ZygnZWxlbWVudC5yZWwnLCAnYSBiJyk7CisgICAgc2hvdWxkVGhyb3coJ2VsZW1lbnQucmVsTGlz
dC5yZW1vdmUoImEiLCB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkgeyB0aHJvdyBuZXcgRXJyb3IoInVz
ZXIgZXJyb3IiKTsgfX0sICJiIiknLCAnIkVycm9yOiB1c2VyIGVycm9yIicpOworICAgIHNob3Vs
ZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnYSBiJyk7CisKKyAgICBzaG91bGRUaHJv
dygnZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgiYSIsICJiIiwgImMgZCIpJyk7CisgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICdhIGInKTsKKyAgICBzaG91bGROb3RUaHJv
dygnZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgpJyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCdhIGIg
YycpOworICAgIG9ic2VydmVyID0gbmV3IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24o
KSB7fSk7CisgICAgb2JzZXJ2ZXIub2JzZXJ2ZShlbGVtZW50LCB7YXR0cmlidXRlczogdHJ1ZX0p
OworICAgIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoJ2EnLCAnYycpOworICAgIHNob3VsZEJlKCdv
YnNlcnZlci50YWtlUmVjb3JkcygpLmxlbmd0aCcsICcxJyk7Cit9CisKK2RlYnVnKCdUZXN0cyBy
ZWxMaXN0IGZvciBhbmNob3IgZWxlbWVudCcpOwordHlwZSA9ICdhJzsKK3Rlc3QoKTsKK2RlYnVn
KCdUZXN0cyByZWxMaXN0IGZvciBhcmVhIGVsZW1lbnQnKTsKK3R5cGUgPSAnYXJlYSc7Cit0ZXN0
KCk7CitkZWJ1ZygnVGVzdHMgcmVsTGlzdCBmb3IgbGluayBlbGVtZW50Jyk7Cit0eXBlID0gJ2xp
bmsnOwordGVzdCgpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9qcy9kb20vZG9tLXN0YXRp
Yy1wcm9wZXJ0eS1mb3ItaW4taXRlcmF0aW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2pz
L2RvbS9kb20tc3RhdGljLXByb3BlcnR5LWZvci1pbi1pdGVyYXRpb24tZXhwZWN0ZWQudHh0Cmlu
ZGV4IDc3NDY1YjE5MTNhM2U1NjM1YTc1MTcxNzk2OTRjNGZiNjA1OTlkMmQuLmE2ZDMwZjU1MGZh
NjBkZDA5YzM2YjNlMjBlZWJkNDQ0MjZmNDE1OTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2pz
L2RvbS9kb20tc3RhdGljLXByb3BlcnR5LWZvci1pbi1pdGVyYXRpb24tZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2pzL2RvbS9kb20tc3RhdGljLXByb3BlcnR5LWZvci1pbi1pdGVyYXRp
b24tZXhwZWN0ZWQudHh0CkBAIC0yNyw2ICsyNyw3IEBAIFBBU1MgYVsicHJvdG9jb2wiXSBpcyBm
aWxlOgogUEFTUyBhWyJzZWFyY2giXSBpcyAKIFBBU1MgYVsib3JpZ2luIl0gaXMgZmlsZTovLwog
UEFTUyBhWyJ0ZXh0Il0gaXMgbmVyZ2V0CitQQVNTIGFbInJlbExpc3QiXSBpcyAKIFBBU1MgYVsi
dGl0bGUiXSBpcyAKIFBBU1MgYVsibGFuZyJdIGlzIAogUEFTUyBhWyJ0cmFuc2xhdGUiXSBpcyB0
cnVlCkBAIC00OSw3ICs1MCw3IEBAIFBBU1MgYVsiYXR0cmlidXRlcyJdIGlzIFtvYmplY3QgTmFt
ZWROb2RlTWFwXQogUEFTUyBhWyJzdHlsZSJdIGlzIFtvYmplY3QgQ1NTU3R5bGVEZWNsYXJhdGlv
bl0KIFBBU1MgYVsiaWQiXSBpcyBmb28KIFBBU1MgYVsib2Zmc2V0TGVmdCJdIGlzIDgKLVBBU1Mg
YVsib2Zmc2V0VG9wIl0gaXMgNzc0CitQQVNTIGFbIm9mZnNldFRvcCJdIGlzIDc4OQogUEFTUyBh
WyJvZmZzZXRXaWR0aCJdIGlzIDM5CiBQQVNTIGFbIm9mZnNldEhlaWdodCJdIGlzIDE4CiBQQVNT
IGFbImNsaWVudExlZnQiXSBpcyAwCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wZXJmL3JlbC1s
aXN0LXJlbW92ZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wZXJmL3JlbC1saXN0LXJlbW92
ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGE5NzY4NzM4MmZlYzM4NzM1YWM3MWM2MmZiZDM5
OTY2ZmY1YzBlZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BlcmYvcmVsLWxpc3Qt
cmVtb3ZlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDggQEAKK1Rlc3RzIHRoYXQgcmVsTGlzdCBy
ZW1vdmUgaXMgbGluZWFyLgorUEFTUworUEFTUworUEFTUworUEFTUworUEFTUworUEFTUworCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wZXJmL3JlbC1saXN0LXJlbW92ZS5odG1sIGIvTGF5b3V0
VGVzdHMvcGVyZi9yZWwtbGlzdC1yZW1vdmUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYzliMGMxODY5MzQy
MzljOTc4ZTk5YWVjMmJmNDk3ZWFhNmY4N2RiCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGVyZi9yZWwtbGlzdC1yZW1vdmUuaHRtbApAQCAtMCwwICsxLDQyIEBACis8c2NyaXB0IHNy
Yz0iLi4vcmVzb3VyY2VzL21hZ25pdHVkZS1wZXJmLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQ+CisK
K3ZhciBlbGVtZW50LCByZWwsIHJlbFRvUmVtb3ZlLCB0eXBlOworCisvLyBUZXN0IDEgdGVzdHMg
dGhhdCByZW1vdmUgaXMgbGluZWFyIHdoZW4gdGhlcmUgYXJlIE4gcmVscy4KKworZnVuY3Rpb24g
c2V0dXBGdW5jdGlvbjEobWFnbml0dWRlKQoreworICAgIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KHR5cGUpOworICAgIHJlbFRvUmVtb3ZlID0gJ2InOworICAgIHJlbCA9IEFycmF5
KG1hZ25pdHVkZSkuam9pbignYSAnKSArIHJlbFRvUmVtb3ZlOworfQorCisvLyBUZXN0IDIgdGVz
dHMgdGhhdCByZW1vdmUgaXMgbGluZWFyIHdoZW4gdGhlIGxlbmd0aCBvZiB0aGUgcmVsIGlzIE4u
CisKK2Z1bmN0aW9uIHNldHVwRnVuY3Rpb24yKG1hZ25pdHVkZSkKK3sKKyAgICBlbGVtZW50ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0eXBlKTsKKyAgICByZWxUb1JlbW92ZSA9IEFycmF5KG1h
Z25pdHVkZSArIDEpLmpvaW4oJ2EnKTsKKyAgICByZWwgPSByZWxUb1JlbW92ZTsKK30KKworZnVu
Y3Rpb24gdGVzdChtYWduaXR1ZGUpCit7CisgICAgZWxlbWVudC5yZWwgPSByZWw7CisgICAgZWxl
bWVudC5yZWxMaXN0LnJlbW92ZShyZWxUb1JlbW92ZSk7Cit9CisKK01hZ25pdHVkZS5kZXNjcmlw
dGlvbignVGVzdHMgdGhhdCByZWxMaXN0IHJlbW92ZSBpcyBsaW5lYXIuJyk7Cit0eXBlID0gJ2En
CitNYWduaXR1ZGUucnVuKHNldHVwRnVuY3Rpb24xLCB0ZXN0LCBNYWduaXR1ZGUuTElORUFSKTsK
K01hZ25pdHVkZS5ydW4oc2V0dXBGdW5jdGlvbjIsIHRlc3QsIE1hZ25pdHVkZS5MSU5FQVIpOwor
dHlwZSA9ICdhcmVhJworTWFnbml0dWRlLnJ1bihzZXR1cEZ1bmN0aW9uMSwgdGVzdCwgTWFnbml0
dWRlLkxJTkVBUik7CitNYWduaXR1ZGUucnVuKHNldHVwRnVuY3Rpb24yLCB0ZXN0LCBNYWduaXR1
ZGUuTElORUFSKTsKK3R5cGUgPSAnbGluaycKK01hZ25pdHVkZS5ydW4oc2V0dXBGdW5jdGlvbjEs
IHRlc3QsIE1hZ25pdHVkZS5MSU5FQVIpOworTWFnbml0dWRlLnJ1bihzZXR1cEZ1bmN0aW9uMiwg
dGVzdCwgTWFnbml0dWRlLkxJTkVBUik7CisKKzwvc2NyaXB0PgorPC9ib2R5Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>240257</attachid>
            <date>2014-10-22 01:39:28 -0700</date>
            <delta_ts>2014-10-22 02:22:06 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-137860-20141022013934.patch</filename>
            <type>text/plain</type>
            <size>53853</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE3NTAyNykKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDUyIEBACisyMDE0LTEwLTIyICBEaGkgQXVy
cmFobWFuICA8ZGlvcmFobWFuQHJvY2t5YmFycy5jb20+CisKKyAgICAgICAgQWRkIHJlbExpc3Qg
dG8gdGhlIGFuY2hvciwgYXJlYSBhbmQgbGluayBlbGVtZW50cworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3ODYwCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgRGFyaW4gQWRsZXIgYW5kIENocmlzIER1bWV6LgorCisgICAgICAgIEFkZCByZWxMaXN0IHRv
IHJlZmxlY3QgdGhlIHJlbCBjb250ZW50IGF0dHJpYnV0ZSBmb3IgYW5jaG9yWzFdLAorICAgICAg
ICBhcmVhWzJdIGFuZCBsaW5rWzNdIGVsZW1lbnRzLgorCisgICAgICAgIFsxXSBodHRwczovL2h0
bWwuc3BlYy53aGF0d2cub3JnL211bHRpcGFnZS9zZW1hbnRpY3MuaHRtbCNkb20tYS1yZWxsaXN0
IAorICAgICAgICBbMl0gaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvZW1i
ZWRkZWQtY29udGVudC5odG1sI2RvbS1hcmVhLXJlbGxpc3QKKyAgICAgICAgWzNdIGh0dHBzOi8v
aHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3NlbWFudGljcy5odG1sI2RvbS1saW5rLXJl
bGxpc3QKKworICAgICAgICBUZXN0czogZmFzdC9kb20vcmVsLWxpc3QtZ2MuaHRtbAorICAgICAg
ICAgICAgICAgZmFzdC9kb20vcmVsLWxpc3QuaHRtbAorICAgICAgICAgICAgICAgcGVyZi9yZWwt
bGlzdC1yZW1vdmUuaHRtbAorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICog
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHBy
b2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGRvbS9TcGFjZVNwbGl0U3RyaW5nLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlNwYWNlU3BsaXRTdHJpbmc6OnNldCk6CisgICAgICAgICogaHRtbC9I
VE1MQW5jaG9yRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MQW5jaG9yRWxlbWVu
dDo6cGFyc2VBdHRyaWJ1dGUpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEFuY2hvckVsZW1lbnQ6
OnJlbExpc3QpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTEFuY2hvckVsZW1lbnQ6OnNldFJlbCk6
IERlbGV0ZWQuCisgICAgICAgICogaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5oOgorICAgICAgICAq
IGh0bWwvSFRNTEFuY2hvckVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvSFRNTEFyZWFFbGVt
ZW50LmlkbDoKKyAgICAgICAgKiBodG1sL0hUTUxMaW5rRWxlbWVudC5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTGlua0VsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkhUTUxMaW5rRWxlbWVudDo6cmVsTGlzdCk6CisgICAgICAgICogaHRtbC9IVE1MTGlua0Vs
ZW1lbnQuaDoKKyAgICAgICAgKiBodG1sL0hUTUxMaW5rRWxlbWVudC5pZGw6CisgICAgICAgICog
aHRtbC9SZWxMaXN0LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpSZWxMaXN0OjpSZWxM
aXN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbExpc3Q6OnJlZik6CisgICAgICAgIChXZWJDb3Jl
OjpSZWxMaXN0OjpkZXJlZik6CisgICAgICAgIChXZWJDb3JlOjpSZWxMaXN0OjpsZW5ndGgpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVsTGlzdDo6aXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpSZWxM
aXN0OjplbGVtZW50KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbExpc3Q6OnVwZGF0ZVJlbEF0dHJp
YnV0ZSk6CisgICAgICAgIChXZWJDb3JlOjpSZWxMaXN0Ojpjb250YWluc0ludGVybmFsKToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbExpc3Q6OnZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbExp
c3Q6OnNldFZhbHVlKToKKyAgICAgICAgKiBodG1sL1JlbExpc3QuaDogQWRkZWQuCisKIDIwMTQt
MTAtMjEgIEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIE9uZSBtb3Jl
IGlPUyBidWlsZCBmaXggYWZ0ZXIgcjE3NTAxMy4KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CShy
ZXZpc2lvbiAxNzUwMjcpCisrKyBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMTY0Nyw2ICsxNjQ3LDcgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIGh0
bWwvUmFkaW9JbnB1dFR5cGUuY3BwCiAgICAgaHRtbC9SYWRpb05vZGVMaXN0LmNwcAogICAgIGh0
bWwvUmFuZ2VJbnB1dFR5cGUuY3BwCisgICAgaHRtbC9SZWxMaXN0LmNwcAogICAgIGh0bWwvUmVz
ZXRJbnB1dFR5cGUuY3BwCiAgICAgaHRtbC9TZWFyY2hJbnB1dFR5cGUuY3BwCiAgICAgaHRtbC9T
dGVwUmFuZ2UuY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29y
ZS52Y3hwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9X
ZWJDb3JlLnZjeHByb2oJKHJldmlzaW9uIDE3NTAyNykKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTE2MDU5LDYgKzE2
MDU5LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcUmFkaW9JbnB1dFR5cGUu
Y3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxSYWRpb05vZGVMaXN0LmNw
cCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcUmFuZ2VJbnB1dFR5cGUuY3Bw
IiAvPgorICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxSZWxMaXN0LmNwcCIgLz4KICAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGh0bWxcUmVzZXRJbnB1dFR5cGUuY3BwIiAvPgogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxTZWFyY2hJbnB1dFR5cGUuY3BwIiAvPgogICAg
IDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxTdGVwUmFuZ2UuY3BwIiAvPgpAQCAtMjA4MzYs
NiArMjA4MzcsNyBAQAogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxSYWRpb0lucHV0
VHlwZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5caHRtbFxSYWRpb05vZGVMaXN0
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXFJhbmdlSW5wdXRUeXBlLmgi
IC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXFJlbExpc3QuaCIgLz4KICAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxcUmVzZXRJbnB1dFR5cGUuaCIgLz4KICAgICA8Q2xJ
bmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxcU2VhcmNoSW5wdXRUeXBlLmgiIC8+CiAgICAgPENsSW5j
bHVkZSBJbmNsdWRlPSIuLlxodG1sXFN0ZXBSYW5nZS5oIiAvPgpJbmRleDogU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvai5maWx0ZXJzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycwko
cmV2aXNpb24gMTc1MDI3KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNv
cmUudmN4cHJvai5maWx0ZXJzCSh3b3JraW5nIGNvcHkpCkBAIC00MDUzLDYgKzQwNTMsOSBAQAog
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxSYW5nZUlucHV0VHlwZS5jcHAiPgogICAg
ICAgPEZpbHRlcj5odG1sPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGls
ZSBJbmNsdWRlPSIuLlxodG1sXFJlbExpc3QuY3BwIj4KKyAgICAgIDxGaWx0ZXI+aHRtbDwvRmls
dGVyPgorICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5caHRtbFxS
ZXNldElucHV0VHlwZS5jcHAiPgogICAgICAgPEZpbHRlcj5odG1sPC9GaWx0ZXI+CiAgICAgPC9D
bENvbXBpbGU+CkBAIC0xMTIwOCw2ICsxMTIxMSw5IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxodG1sXFJhbmdlSW5wdXRUeXBlLmgiPgogICAgICAgPEZpbHRlcj5odG1sPC9GaWx0ZXI+
CiAgICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxodG1sXFJlbExp
c3QuaCI+CisgICAgICA8RmlsdGVyPmh0bWw8L0ZpbHRlcj4KKyAgICA8L0NsSW5jbHVkZT4KICAg
ICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGh0bWxcUmVzZXRJbnB1dFR5cGUuaCI+CiAgICAgICA8
RmlsdGVyPmh0bWw8L0ZpbHRlcj4KICAgICA8L0NsSW5jbHVkZT4KSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDE3
NTAyNykKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agkod29ya2luZyBjb3B5KQpAQCAtNDY5MSw2ICs0NjkxLDggQEAKIAkJQjJFRDk3NzEwQjFGNTVD
RTAwMjU3RDBGIC8qIEdyYXBoaWNzQ29udGV4dENHLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyRUQ5NzcwMEIxRjU1Q0UwMDI1N0QwRiAvKiBHcmFw
aGljc0NvbnRleHRDRy5jcHAgKi87IH07CiAJCUIyRjM0RkU2MEU4MkY4MTQwMEY2MjdDRCAvKiBE
TlMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIyRjM0
RkU1MEU4MkY4MTQwMEY2MjdDRCAvKiBETlMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQlCMkYzNEZFOTBFODJGODI3MDBGNjI3Q0QgLyogRE5TQ0ZO
ZXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJG
MzRGRTgwRTgyRjgyNzAwRjYyN0NEIC8qIEROU0NGTmV0LmNwcCAqLzsgfTsKKwkJQjJGNzhDRkQx
OUYyRjAyRDAwNDk2OTZDIC8qIFJlbExpc3QuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQjJGNzhDRkIxOUYyRjAyRDAwNDk2OTZDIC8qIFJlbExpc3Qu
Y3BwICovOyB9OworCQlCMkY3OENGRTE5RjJGMDJEMDA0OTY5NkMgLyogUmVsTGlzdC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjJGNzhDRkMxOUYyRjAy
RDAwNDk2OTZDIC8qIFJlbExpc3QuaCAqLzsgfTsKIAkJQjJGQTNEMzYwQUI3NUE2RjAwMEU1QUM0
IC8qIEpTU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMkZBM0M0RTBBQjc1QTZFMDAwRTVBQzQgLyogSlNTVkdB
bmltYXRlQ29sb3JFbGVtZW50LmNwcCAqLzsgfTsKIAkJQjJGQTNEMzcwQUI3NUE2RjAwMEU1QUM0
IC8qIEpTU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQjJGQTNDNEYwQUI3NUE2RTAwMEU1QUM0IC8qIEpTU1ZHQW5p
bWF0ZUNvbG9yRWxlbWVudC5oICovOyB9OwogCQlCMkZBM0QzODBBQjc1QTZGMDAwRTVBQzQgLyog
SlNTVkdBbmltYXRlZEFuZ2xlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEIyRkEzQzUwMEFCNzVBNkUwMDBFNUFDNCAvKiBKU1NWR0FuaW1hdGVkQW5n
bGUuY3BwICovOyB9OwpAQCAtMTIwNjEsNiArMTIwNjMsOCBAQAogCQlCMkVEOTc3MDBCMUY1NUNF
MDAyNTdEMEYgLyogR3JhcGhpY3NDb250ZXh0Q0cuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEdyYXBoaWNzQ29udGV4dENHLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQjJGMzRGRTUwRTgyRjgxNDAwRjYyN0NEIC8qIEROUy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBETlMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQjJGMzRGRTgwRTgyRjgyNzAwRjYyN0NEIC8qIEROU0NGTmV0LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEROU0NGTmV0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQjJGNzhDRkIxOUYyRjAyRDAwNDk2OTZDIC8qIFJlbExpc3QuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gUmVsTGlzdC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUIyRjc4Q0ZDMTlGMkYwMkQwMDQ5Njk2QyAvKiBSZWxMaXN0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbExpc3QuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQjJGQTNDNEUwQUI3NUE2RTAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0
ZUNvbG9yRWxlbWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNTVkdBbmltYXRlQ29sb3JFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQjJGQTNDNEYwQUI3NUE2RTAwMEU1QUM0IC8qIEpTU1ZHQW5pbWF0ZUNvbG9yRWxlbWVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTVkdBbmltYXRlQ29sb3JFbGVt
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyRkEzQzUwMEFCNzVBNkUwMDBF
NUFDNCAvKiBKU1NWR0FuaW1hdGVkQW5nbGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTU1ZHQW5pbWF0ZWRBbmdsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xNzkxNCw2ICsxNzkxOCw4IEBACiAJCQkJQjY1OEZGQTQxNTIyRUZBQTAwREQ1
NTk1IC8qIFJhZGlvTm9kZUxpc3QuaCAqLywKIAkJCQlGNTVCM0Q5OTEyNTFGMTJEMDAzRUYyNjkg
LyogUmFuZ2VJbnB1dFR5cGUuY3BwICovLAogCQkJCUY1NUIzRDlBMTI1MUYxMkQwMDNFRjI2OSAv
KiBSYW5nZUlucHV0VHlwZS5oICovLAorCQkJCUIyRjc4Q0ZCMTlGMkYwMkQwMDQ5Njk2QyAvKiBS
ZWxMaXN0LmNwcCAqLywKKwkJCQlCMkY3OENGQzE5RjJGMDJEMDA0OTY5NkMgLyogUmVsTGlzdC5o
ICovLAogCQkJCUY1NUIzRDlCMTI1MUYxMkQwMDNFRjI2OSAvKiBSZXNldElucHV0VHlwZS5jcHAg
Ki8sCiAJCQkJRjU1QjNEOUMxMjUxRjEyRDAwM0VGMjY5IC8qIFJlc2V0SW5wdXRUeXBlLmggKi8s
CiAJCQkJRjU1QjNEOUQxMjUxRjEyRDAwM0VGMjY5IC8qIFNlYXJjaElucHV0VHlwZS5jcHAgKi8s
CkBAIC0yNDY3MCw2ICsyNDY3Niw3IEBACiAJCQkJRTE1N0E4RjExODE4NTQyNTAwOUY4MjFEIC8q
IEpTQ3J5cHRvQWxnb3JpdGhtQnVpbGRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFDNjU3MTMx
ODE1RjlERDAwMjU2Q0REIC8qIEpTQ3J5cHRvQWxnb3JpdGhtRGljdGlvbmFyeS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRTE1N0E4RTExODE3MzMxQzAwOUY4MjFEIC8qIEpTQ3J5cHRvS2V5LmggaW4g
SGVhZGVycyAqLywKKwkJCQlCMkY3OENGRTE5RjJGMDJEMDA0OTY5NkMgLyogUmVsTGlzdC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTFGODBCOEUxODMxNzJCNTAwNzg4NUMzIC8qIEpTQ3J5cHRvS2V5
UGFpci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyNUY4NTIxODI4M0E1NjAwRDg0Q0Q5IC8qIEpT
Q3J5cHRvS2V5U2VyaWFsaXphdGlvbkpXSy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyNUY4M0Ux
ODI0MTFFNzAwRDg0Q0Q5IC8qIEpTQ3J5cHRvT3BlcmF0aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8s
CkBAIC0yNzQwMiw2ICsyNzQwOSw3IEBACiAJCQkJQ0VDQURGQzYxNTM3NzhGRjAwRTM3MDY4IC8q
IERpY3RhdGlvbkFsdGVybmF0aXZlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNFQ0FERkM4MTUz
Nzc4RkYwMEUzNzA2OCAvKiBEaWN0YXRpb25Db21tYW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUQwQkQ0RjVDMTQwODg1MEYwMDY4MzlCNiAvKiBEaWN0YXRpb25Db21tYW5kSU9TLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCUIyRjc4Q0ZEMTlGMkYwMkQwMDQ5Njk2QyAvKiBSZWxMaXN0LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTMxMkQ2N0IxMTUzNTY5MUYwMDU2M0QwRCAvKiBEaWN0aW9uYXJ5
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEQUYxOTk4MTUxM0QxMzEwMDhEQjBDMyAvKiBEaXJl
Y3RDb252b2x2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDlGQzdBNTAxNDQ0QUY1RjAwQTVE
ODY0IC8qIERpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAgaW4gU291cmNlcyAqLywKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9kb20vU3BhY2VTcGxpdFN0cmluZy5jcHAJKHJldmlzaW9uIDE3NTAyNykKKysr
IFNvdXJjZS9XZWJDb3JlL2RvbS9TcGFjZVNwbGl0U3RyaW5nLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtOTQsNiArOTQsMTAgQEAgc3RhdGljIFNwYWNlU3BsaXRTdHJpbmdUYWJsZSYgc3BhY2VTcGxp
dAogCiB2b2lkIFNwYWNlU3BsaXRTdHJpbmc6OnNldChjb25zdCBBdG9taWNTdHJpbmcmIGlucHV0
U3RyaW5nLCBib29sIHNob3VsZEZvbGRDYXNlKQogeworICAgIGlmIChpbnB1dFN0cmluZy5pc051
bGwoKSkgeworICAgICAgICBjbGVhcigpOworICAgICAgICByZXR1cm47CisgICAgfQogICAgIG1f
ZGF0YSA9IFNwYWNlU3BsaXRTdHJpbmdEYXRhOjpjcmVhdGUoc2hvdWxkRm9sZENhc2UgPyBpbnB1
dFN0cmluZy5jb252ZXJ0VG9BU0NJSUxvd2VyY2FzZSgpIDogaW5wdXRTdHJpbmcpOwogfQogCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxBbmNob3JFbGVtZW50LmNwcAkocmV2aXNpb24g
MTc1MDI3KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCiAj
aW5jbHVkZSAiUGluZ0xvYWRlci5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTW91c2VFdmVudC5oIgor
I2luY2x1ZGUgIlJlbExpc3QuaCIKICNpbmNsdWRlICJSZW5kZXJJbWFnZS5oIgogI2luY2x1ZGUg
IlJlc291cmNlUmVxdWVzdC5oIgogI2luY2x1ZGUgIlNWR0ltYWdlLmgiCkBAIC0yNjEsOCArMjYy
LDEyIEBAIHZvaWQgSFRNTEFuY2hvckVsZW1lbnQ6OnBhcnNlQXR0cmlidXRlKGMKICAgICAgICAg
aW52YWxpZGF0ZUNhY2hlZFZpc2l0ZWRMaW5rSGFzaCgpOwogICAgIH0gZWxzZSBpZiAobmFtZSA9
PSBuYW1lQXR0ciB8fCBuYW1lID09IHRpdGxlQXR0cikgewogICAgICAgICAvLyBEbyBub3RoaW5n
LgotICAgIH0gZWxzZSBpZiAobmFtZSA9PSByZWxBdHRyKQotICAgICAgICBzZXRSZWwodmFsdWUp
OworICAgIH0gZWxzZSBpZiAobmFtZSA9PSByZWxBdHRyKSB7CisgICAgICAgIGlmIChTcGFjZVNw
bGl0U3RyaW5nOjpzcGFjZVNwbGl0U3RyaW5nQ29udGFpbnNWYWx1ZSh2YWx1ZSwgIm5vcmVmZXJy
ZXIiLCB0cnVlKSkKKyAgICAgICAgICAgIG1fbGlua1JlbGF0aW9ucyB8PSBSZWxhdGlvbk5vUmVm
ZXJyZXI7CisgICAgICAgIGlmIChtX3JlbExpc3QpCisgICAgICAgICAgICBtX3JlbExpc3QtPnVw
ZGF0ZVJlbEF0dHJpYnV0ZSh2YWx1ZSk7CisgICAgfQogICAgIGVsc2UKICAgICAgICAgSFRNTEVs
ZW1lbnQ6OnBhcnNlQXR0cmlidXRlKG5hbWUsIHZhbHVlKTsKIH0KQEAgLTMxMCwxMCArMzE1LDEx
IEBAIGJvb2wgSFRNTEFuY2hvckVsZW1lbnQ6Omhhc1JlbCh1aW50MzJfdCAKICAgICByZXR1cm4g
bV9saW5rUmVsYXRpb25zICYgcmVsYXRpb247CiB9CiAKLXZvaWQgSFRNTEFuY2hvckVsZW1lbnQ6
OnNldFJlbChjb25zdCBTdHJpbmcmIHZhbHVlKQorRE9NVG9rZW5MaXN0JiBIVE1MQW5jaG9yRWxl
bWVudDo6cmVsTGlzdCgpCiB7Ci0gICAgaWYgKFNwYWNlU3BsaXRTdHJpbmc6OnNwYWNlU3BsaXRT
dHJpbmdDb250YWluc1ZhbHVlKHZhbHVlLCAibm9yZWZlcnJlciIsIHRydWUpKQotICAgICAgICBt
X2xpbmtSZWxhdGlvbnMgfD0gUmVsYXRpb25Ob1JlZmVycmVyOworICAgIGlmICghbV9yZWxMaXN0
KSAKKyAgICAgICAgbV9yZWxMaXN0ID0gc3RkOjptYWtlX3VuaXF1ZTxSZWxMaXN0PigqdGhpcyk7
CisgICAgcmV0dXJuICptX3JlbExpc3Q7CiB9CiAKIGNvbnN0IEF0b21pY1N0cmluZyYgSFRNTEFu
Y2hvckVsZW1lbnQ6Om5hbWUoKSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
QW5jaG9yRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFu
Y2hvckVsZW1lbnQuaAkocmV2aXNpb24gMTc1MDI3KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MQW5jaG9yRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw4IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAorY2xhc3MgUmVsTGlzdDsKKwogLy8gTGluayByZWxhdGlvbiBi
aXRtYXNrIHZhbHVlcy4KIC8vIEZJWE1FOiBVbmNvbW1lbnQgYXMgdGhlIHZhcmlvdXMgbGluayBy
ZWxhdGlvbnMgYXJlIGltcGxlbWVudGVkLgogZW51bSB7CkBAIC05NywxMSArOTksMTIgQEAgcHVi
bGljOgogICAgIHZpcnR1YWwgYm9vbCB3aWxsUmVzcG9uZFRvTW91c2VDbGlja0V2ZW50cygpIG92
ZXJyaWRlOwogCiAgICAgYm9vbCBoYXNSZWwodWludDMyX3QgcmVsYXRpb24pIGNvbnN0OwotICAg
IHZvaWQgc2V0UmVsKGNvbnN0IFN0cmluZyYpOwogICAgIAogICAgIExpbmtIYXNoIHZpc2l0ZWRM
aW5rSGFzaCgpIGNvbnN0OwogICAgIHZvaWQgaW52YWxpZGF0ZUNhY2hlZFZpc2l0ZWRMaW5rSGFz
aCgpIHsgbV9jYWNoZWRWaXNpdGVkTGlua0hhc2ggPSAwOyB9CiAKKyAgICBET01Ub2tlbkxpc3Qm
IHJlbExpc3QoKTsKKwogcHJvdGVjdGVkOgogICAgIEhUTUxBbmNob3JFbGVtZW50KGNvbnN0IFF1
YWxpZmllZE5hbWUmLCBEb2N1bWVudCYpOwogCkBAIC0xNDAsNiArMTQzLDggQEAgcHJpdmF0ZToK
ICAgICBib29sIG1fd2FzU2hpZnRLZXlEb3duT25Nb3VzZURvd24gOiAxOwogICAgIHVpbnQzMl90
IG1fbGlua1JlbGF0aW9ucyA6IDMwOwogICAgIG11dGFibGUgTGlua0hhc2ggbV9jYWNoZWRWaXNp
dGVkTGlua0hhc2g7CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVsTGlzdD4gbV9yZWxMaXN0Owog
fTsKIAogaW5saW5lIExpbmtIYXNoIEhUTUxBbmNob3JFbGVtZW50Ojp2aXNpdGVkTGlua0hhc2go
KSBjb25zdApJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5pZGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MQW5jaG9yRWxlbWVudC5pZGwJ
KHJldmlzaW9uIDE3NTAyNykKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFuY2hvckVsZW1l
bnQuaWRsCSh3b3JraW5nIGNvcHkpCkBAIC02Niw1ICs2Niw3IEBAIGludGVyZmFjZSBIVE1MQW5j
aG9yRWxlbWVudCA6IEhUTUxFbGVtZW4KICAgICAvLyBPYmplY3RpdmUtQyBleHRlbnNpb246CiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIFVSTCBhYnNvbHV0ZUxpbmtVUkw7CiAjZW5kaWYKKworICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBET01Ub2tlbkxpc3QgcmVsTGlzdDsKIH07CiAKSW5kZXg6IFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmlkbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxBcmVhRWxlbWVudC5pZGwJKHJldmlzaW9uIDE3NTAyNykKKysr
IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEFyZWFFbGVtZW50LmlkbAkod29ya2luZyBjb3B5KQpA
QCAtMjQsNiArMjQsNyBAQCBpbnRlcmZhY2UgSFRNTEFyZWFFbGVtZW50IDogSFRNTEVsZW1lbnQg
CiAgICAgW1JlZmxlY3QsIFVSTF0gYXR0cmlidXRlIERPTVN0cmluZyBocmVmOwogICAgIFtSZWZs
ZWN0XSBhdHRyaWJ1dGUgYm9vbGVhbiBub0hyZWY7CiAgICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBE
T01TdHJpbmcgcGluZzsKKyAgICBbUmVmbGVjdF0gYXR0cmlidXRlIERPTVN0cmluZyByZWw7CiAg
ICAgW1JlZmxlY3RdIGF0dHJpYnV0ZSBET01TdHJpbmcgc2hhcGU7CiAgICAgW1JlZmxlY3RdIGF0
dHJpYnV0ZSBET01TdHJpbmcgdGFyZ2V0OwogCkBAIC00Myw1ICs0NCw3IEBAIGludGVyZmFjZSBI
VE1MQXJlYUVsZW1lbnQgOiBIVE1MRWxlbWVudCAKICAgICAvLyBPYmplY3RpdmUtQyBleHRlbnNp
b246CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFVSTCBhYnNvbHV0ZUxpbmtVUkw7CiAjZW5kaWYK
KworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01Ub2tlbkxpc3QgcmVsTGlzdDsKIH07CiAKSW5k
ZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxMaW5rRWxlbWVudC5jcHAJKHJldmlzaW9uIDE3NTAy
NykKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDYsNiArNDYsNyBAQAogI2luY2x1ZGUgIk1lZGlhUXVlcnlFdmFsdWF0b3IuaCIK
ICNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgorI2luY2x1ZGUgIlJl
bExpc3QuaCIKICNpbmNsdWRlICJSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIlNlY3VyaXR5T3Jp
Z2luLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKQEAgLTEzOSw2ICsxNDAsOCBAQCB2b2lkIEhU
TUxMaW5rRWxlbWVudDo6cGFyc2VBdHRyaWJ1dGUoY29uCiB7CiAgICAgaWYgKG5hbWUgPT0gcmVs
QXR0cikgewogICAgICAgICBtX3JlbEF0dHJpYnV0ZSA9IExpbmtSZWxBdHRyaWJ1dGUodmFsdWUp
OworICAgICAgICBpZiAobV9yZWxMaXN0KQorICAgICAgICAgICAgbV9yZWxMaXN0LT51cGRhdGVS
ZWxBdHRyaWJ1dGUodmFsdWUpOwogICAgICAgICBwcm9jZXNzKCk7CiAgICAgfSBlbHNlIGlmIChu
YW1lID09IGhyZWZBdHRyKSB7CiAgICAgICAgIGJvb2wgd2FzTGluayA9IGlzTGluaygpOwpAQCAt
MzgxLDYgKzM4NCwxMyBAQCB2b2lkIEhUTUxMaW5rRWxlbWVudDo6ZGlzcGF0Y2hQZW5kaW5nRXZl
CiAgICAgICAgIGxpbmtMb2FkaW5nRXJyb3JlZCgpOwogfQogCitET01Ub2tlbkxpc3QmIEhUTUxM
aW5rRWxlbWVudDo6cmVsTGlzdCgpCit7CisgICAgaWYgKCFtX3JlbExpc3QpIAorICAgICAgICBt
X3JlbExpc3QgPSBzdGQ6Om1ha2VfdW5pcXVlPFJlbExpc3Q+KCp0aGlzKTsKKyAgICByZXR1cm4g
Km1fcmVsTGlzdDsKK30KKwogdm9pZCBIVE1MTGlua0VsZW1lbnQ6Om5vdGlmeUxvYWRlZFNoZWV0
QW5kQWxsQ3JpdGljYWxTdWJyZXNvdXJjZXMoYm9vbCBlcnJvck9jY3VycmVkKQogewogICAgIGlm
IChtX2ZpcmVkTG9hZCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaAko
cmV2aXNpb24gMTc1MDI3KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtMzcsNiArMzcsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBIVE1MTGlua0VsZW1lbnQ7CitjbGFzcyBSZWxMaXN0OwogY2xhc3MgVVJMOwogCiB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBFdmVudFNlbmRlcjsKQEAgLTcxLDYgKzcyLDggQEAg
cHVibGljOgogICAgIHZvaWQgZGlzcGF0Y2hQZW5kaW5nRXZlbnQoTGlua0V2ZW50U2VuZGVyKik7
CiAgICAgc3RhdGljIHZvaWQgZGlzcGF0Y2hQZW5kaW5nTG9hZEV2ZW50cygpOwogCisgICAgRE9N
VG9rZW5MaXN0JiByZWxMaXN0KCk7CisKIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHBhcnNl
QXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmLCBjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVy
cmlkZTsKIApAQCAtMTAwLDcgKzEwMyw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIGRl
ZmF1bHRFdmVudEhhbmRsZXIoRXZlbnQqKSBvdmVycmlkZTsKICAgICB2b2lkIGhhbmRsZUNsaWNr
KEV2ZW50Jik7CiAKLXByaXZhdGU6CiAgICAgSFRNTExpbmtFbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmLCBEb2N1bWVudCYsIGJvb2wgY3JlYXRlZEJ5UGFyc2VyKTsKIAogICAgIHZpcnR1YWwg
dm9pZCBhZGRTdWJyZXNvdXJjZUF0dHJpYnV0ZVVSTHMoTGlzdEhhc2hTZXQ8VVJMPiYpIGNvbnN0
IG92ZXJyaWRlOwpAQCAtMTM4LDYgKzE0MCw4IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2xvYWRl
ZFNoZWV0OwogCiAgICAgUGVuZGluZ1NoZWV0VHlwZSBtX3BlbmRpbmdTaGVldFR5cGU7CisKKyAg
ICBzdGQ6OnVuaXF1ZV9wdHI8UmVsTGlzdD4gbV9yZWxMaXN0OwogfTsKIAogfSAvL25hbWVzcGFj
ZQpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaWRsCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTExpbmtFbGVtZW50LmlkbAkocmV2aXNpb24g
MTc1MDI3KQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTGlua0VsZW1lbnQuaWRsCSh3b3Jr
aW5nIGNvcHkpCkBAIC00MCw1ICs0MCw3IEBAIGludGVyZmFjZSBIVE1MTGlua0VsZW1lbnQgOiBI
VE1MRWxlbWVudCAKICAgICAvLyBPYmplY3RpdmUtQyBleHRlbnNpb246CiAgICAgcmVhZG9ubHkg
YXR0cmlidXRlIFVSTCBhYnNvbHV0ZUxpbmtVUkw7CiAjZW5kaWYKKworICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01Ub2tlbkxpc3QgcmVsTGlzdDsKIH07CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvUmVsTGlzdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvaHRtbC9SZWxM
aXN0LmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvUmVsTGlzdC5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw4NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NCBEaGkgQXVycmFobWFuIDxkaW9yYWhtYW5Acm9ja3liYXJzLmNvbT4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJSZWxMaXN0LmgiCisKKyNpbmNsdWRlICJFbGVt
ZW50LmgiCisjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
UmVsTGlzdDo6UmVsTGlzdChFbGVtZW50JiBlbGVtZW50KSAKKyAgICA6IG1fZWxlbWVudChlbGVt
ZW50KQorICAgICwgbV9yZWxBdHRyaWJ1dGVWYWx1ZShTcGFjZVNwbGl0U3RyaW5nKGVsZW1lbnQu
ZmFzdEdldEF0dHJpYnV0ZShIVE1MTmFtZXM6OnJlbEF0dHIpLCBmYWxzZSkpCit7Cit9CisKK3Zv
aWQgUmVsTGlzdDo6cmVmKCkKK3sKKyAgICBtX2VsZW1lbnQucmVmKCk7Cit9CisKK3ZvaWQgUmVs
TGlzdDo6ZGVyZWYoKQoreworICAgIG1fZWxlbWVudC5kZXJlZigpOworfQorCit1bnNpZ25lZCBS
ZWxMaXN0OjpsZW5ndGgoKSBjb25zdAoreworICAgIHJldHVybiBtX3JlbEF0dHJpYnV0ZVZhbHVl
LnNpemUoKTsKK30KKworY29uc3QgQXRvbWljU3RyaW5nIFJlbExpc3Q6Oml0ZW0odW5zaWduZWQg
aW5kZXgpIGNvbnN0Cit7CisgICAgaWYgKGluZGV4ID49IGxlbmd0aCgpKQorICAgICAgICByZXR1
cm4gbnVsbEF0b207CisgICAgcmV0dXJuIG1fcmVsQXR0cmlidXRlVmFsdWVbaW5kZXhdOworfQor
CitFbGVtZW50KiBSZWxMaXN0OjplbGVtZW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gJm1fZWxl
bWVudDsKK30KKwordm9pZCBSZWxMaXN0Ojp1cGRhdGVSZWxBdHRyaWJ1dGUoY29uc3QgQXRvbWlj
U3RyaW5nJiB2YWx1ZSkKK3sKKyAgICBtX3JlbEF0dHJpYnV0ZVZhbHVlLnNldCh2YWx1ZSwgZmFs
c2UpOworfQorCitib29sIFJlbExpc3Q6OmNvbnRhaW5zSW50ZXJuYWwoY29uc3QgQXRvbWljU3Ry
aW5nJiB0b2tlbikgY29uc3QKK3sKKyAgICByZXR1cm4gbV9yZWxBdHRyaWJ1dGVWYWx1ZS5jb250
YWlucyh0b2tlbik7Cit9CisKK0F0b21pY1N0cmluZyBSZWxMaXN0Ojp2YWx1ZSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1fZWxlbWVudC5mYXN0R2V0QXR0cmlidXRlKEhUTUxOYW1lczo6cmVsQXR0
cik7Cit9CisKK3ZvaWQgUmVsTGlzdDo6c2V0VmFsdWUoY29uc3QgQXRvbWljU3RyaW5nJiB2YWx1
ZSkKK3sKKyAgICBtX2VsZW1lbnQuc2V0QXR0cmlidXRlKEhUTUxOYW1lczo6cmVsQXR0ciwgdmFs
dWUpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2h0bWwvUmVsTGlzdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvUmVsTGlz
dC5oCShyZXZpc2lvbiAwKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9SZWxMaXN0LmgJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBEaGkg
QXVycmFobWFuIDxkaW9yYWhtYW5Acm9ja3liYXJzLmNvbT4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
ICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICog
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
UmVsTGlzdF9oCisjZGVmaW5lIFJlbExpc3RfaAorCisjaW5jbHVkZSAiRE9NVG9rZW5MaXN0Lmgi
CisjaW5jbHVkZSAiU3BhY2VTcGxpdFN0cmluZy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIEVsZW1lbnQ7CisKK2NsYXNzIFJlbExpc3QgZmluYWwgOiBwdWJsaWMgRE9NVG9rZW5M
aXN0IHsKK3B1YmxpYzoKKyAgICBSZWxMaXN0KEVsZW1lbnQmKTsKKyAgICB2b2lkIHVwZGF0ZVJl
bEF0dHJpYnV0ZShjb25zdCBBdG9taWNTdHJpbmcmKTsKKworcHJpdmF0ZToKKyAgICB2aXJ0dWFs
IHZvaWQgcmVmKCkgb3ZlcnJpZGU7CisgICAgdmlydHVhbCB2b2lkIGRlcmVmKCkgb3ZlcnJpZGU7
CisgICAgdmlydHVhbCB1bnNpZ25lZCBsZW5ndGgoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2aXJ0
dWFsIGNvbnN0IEF0b21pY1N0cmluZyBpdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdCBvdmVycmlk
ZTsKKyAgICB2aXJ0dWFsIEVsZW1lbnQqIGVsZW1lbnQoKSBjb25zdCBvdmVycmlkZTsKKyAgICB2
aXJ0dWFsIGJvb2wgY29udGFpbnNJbnRlcm5hbChjb25zdCBBdG9taWNTdHJpbmcmKSBjb25zdCBv
dmVycmlkZTsKKyAgICB2aXJ0dWFsIEF0b21pY1N0cmluZyB2YWx1ZSgpIGNvbnN0IG92ZXJyaWRl
OworICAgIHZpcnR1YWwgdm9pZCBzZXRWYWx1ZShjb25zdCBBdG9taWNTdHJpbmcmKSBvdmVycmlk
ZTsKKyAgICAKKyAgICBFbGVtZW50JiBtX2VsZW1lbnQ7CisgICAgbXV0YWJsZSBTcGFjZVNwbGl0
U3RyaW5nIG1fcmVsQXR0cmlidXRlVmFsdWU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZiAvLyBSZWxMaXN0X2gKKwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTc1MDI3KQorKysg
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIw
MTQtMTAtMjIgIERoaSBBdXJyYWhtYW4gIDxkaW9yYWhtYW5Acm9ja3liYXJzLmNvbT4KKworICAg
ICAgICBBZGQgcmVsTGlzdCB0byB0aGUgYW5jaG9yLCBhcmVhIGFuZCBsaW5rIGVsZW1lbnRzCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzc4NjAKKwor
ICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlciBhbmQgQ2hyaXMgRHVtZXouCisKKyAgICAg
ICAgVGVzdHMgcmVsTGlzdCBhc3BlY3RzIGZvciBhbmNob3IsIGFyZWEgYW5kIGxpc3QgZWxlbWVu
dHMuIAorICAgICAgICBVcGRhdGUgZG9tIHN0YXRpYyBwcm9wZXJ0eSBmb3ItaW4gaXRlcmF0aW9u
IHRlc3QgcmVzdWx0IHRvIGluY2x1ZGUgcmVsTGlzdC4KKworICAgICAgICAqIGZhc3QvZG9tL3Jl
bC1saXN0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vcmVsLWxpc3Qt
Z2MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9yZWwtbGlzdC1nYy5o
dG1sOiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9yZWwtbGlzdC5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBqcy9kb20vZG9tLXN0YXRpYy1wcm9wZXJ0eS1mb3ItaW4taXRlcmF0aW9uLWV4cGVj
dGVkLnR4dDogVXBkYXRlZCByZXN1bHRzLgorICAgICAgICAqIHBlcmYvcmVsLWxpc3QtcmVtb3Zl
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGVyZi9yZWwtbGlzdC1yZW1vdmUuaHRt
bDogQWRkZWQuCisKIDIwMTQtMTAtMjEgIEJyZW50IEZ1bGdoYW0gIDxiZnVsZ2hhbUBhcHBsZS5j
b20+CiAKICAgICAgICAgW1dpbl0gTW9yZSByZWJhc2VsaW5lcy4KSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvZG9tL3JlbC1saXN0LWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L2RvbS9yZWwtbGlzdC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9yZWwtbGlzdC1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwzNzggQEAKK1Rlc3RzIHRoYXQgcmVsTGlzdCB3b3JrcyBvbiBhbmNob3IsIGFyZWEgYW5k
IGxpbmsgZWxlbWVudHMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1Rlc3RzIHJl
bExpc3QgZm9yIGFuY2hvciBlbGVtZW50CitQQVNTIGVsZW1lbnQucmVsTGlzdCA9PSBudWxsIGlz
IGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdCA9PSB1bmRlZmluZWQgaXMgZmFsc2UKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0IGluc3RhbmNlb2YgRE9NVG9rZW5MaXN0IGlzIHRydWUKK1BBU1MgZWxl
bWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAzCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygi
YSIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJiIikgaXMgdHJ1ZQor
UEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImMiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5jb250YWlucygiZCIpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5n
dGggaXMgMworUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImZvbyIpIGlzIHRydWUKK1BB
U1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJiYXIiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5jb250YWlucygiY2hvY29sYXRlIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExp
c3QuY29udGFpbnMoIm9yYW5nZSIpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5n
dGggaXMgMAorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDAKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygibWFyc2ht
YWxsb3ciKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiY2hpcHMiKSBp
cyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygib3JhbmdlIikgaXMgZmFsc2UK
K1BBU1MgU3RyaW5nKGVsZW1lbnQucmVsTGlzdCkgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlz
dC5sZW5ndGggaXMgMAorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDEKK1BBU1MgZWxl
bWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMg
MgorUEFTUyBlbGVtZW50LnJlbCBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWwgaXMgIngiCitQQVNT
IGVsZW1lbnQucmVsIGlzICJ4ICB4IgorUEFTUyBlbGVtZW50LnJlbCBpcyAieSB4IgorUEFTUyBl
bGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJl
bCBpcyAiIHkgeSAiCitQQVNTIGVsZW1lbnQucmVsIGlzICJ5IgorRW5zdXJlIHRoYXQgd2UgY2Fu
IGhhbmRsZSBlbXB0eSByZWwgY29ycmVjdGx5CitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUo
J3gnKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExp
c3QudG9nZ2xlKCd4JykgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxl
bWVudC5yZWxMaXN0LmNvbnRhaW5zKCJ4IikgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0
WzFdIGlzIHVuZGVmaW5lZC4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJ4IikgaXMg
ZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJ4IikgaXMgdHJ1ZQorVGVzdCB0
b2dnbGUgd2l0aCBmb3JjZSBhcmd1bWVudAorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4
JywgdHJ1ZSkgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbCBpcyAieCIKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0LnRvZ2dsZSgneCcsIHRydWUpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWwgaXMgIngi
CitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnLCBmYWxzZSkgaXMgZmFsc2UKK1BBU1Mg
ZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcsIGZhbHNl
KSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExpc3Qu
dG9nZ2xlKCIiLCB0cnVlKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFN5bnRheEVycm9yOiBET00g
RXhjZXB0aW9uIDEyLgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCJ4IHkiLCBmYWxzZSkg
dGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRp
b24gNS4KK1Rlc3RpbmcgYWRkIGluIHByZXNlbmNlIG9mIHRyYWlsaW5nIHdoaXRlIHNwYWNlcy4K
K1BBU1MgZWxlbWVudC5yZWwgaXMgInggeSIKK1BBU1MgZWxlbWVudC5yZWwgaXMgInhcdHkiCitQ
QVNTIGVsZW1lbnQucmVsIGlzICIgeSIKK1Rlc3QgaW52YWxpZCB0b2tlbnMKK1BBU1MgZWxlbWVu
dC5yZWxMaXN0LmNvbnRhaW5zKCIiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFN5bnRheEVycm9y
OiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoInggeSIp
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZENoYXJhY3RlckVycm9yOiBET00gRXhjZXB0
aW9uIDUuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoIiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5h
ZGQoInggeSIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZENoYXJhY3RlckVycm9yOiBE
T00gRXhjZXB0aW9uIDUuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoIiIpIHRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5yZW1vdmUoInggeSIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZENo
YXJhY3RlckVycm9yOiBET00gRXhjZXB0aW9uIDUuCitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dn
bGUoIiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24g
MTIuCitJbmRleGluZworUEFTUyBlbGVtZW50LnJlbExpc3RbMF0gaXMgIngiCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5pdGVtKDApIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3RbMV0gaXMgIngi
CitQQVNTIGVsZW1lbnQucmVsTGlzdC5pdGVtKDEpIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExp
c3RbMV0gaXMgInkiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5pdGVtKDEpIGlzICJ5IgorUEFTUyBl
bGVtZW50LnJlbExpc3RbMF0gaXMgdW5kZWZpbmVkLgorUEFTUyBlbGVtZW50LnJlbExpc3QuaXRl
bSgwKSBpcyBudWxsCitQQVNTIGVsZW1lbnQucmVsTGlzdFs0XSBpcyB1bmRlZmluZWQuCitQQVNT
IGVsZW1lbnQucmVsTGlzdC5pdGVtKDQpIGlzIG51bGwKK1BBU1MgZWxlbWVudC5yZWxMaXN0Wy0x
XSBpcyB1bmRlZmluZWQuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5pdGVtKC0xKSBpcyBudWxsCitQ
QVNTIGVsZW1lbnQucmVsTGlzdC5pdGVtKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90
IGVub3VnaCBhcmd1bWVudHMuCitUZXN0IGNhc2Ugc2luY2UgRE9NVG9rZW5MaXN0IGlzIGNhc2Ug
c2Vuc2l0aXZlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygieCIpIGlzIHRydWUKK1BB
U1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJYIikgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0WzBdIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoKSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgZWxlbWVudC5y
ZWxMaXN0LmNvbnRhaW5zKCJYIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFp
bnMoIngiKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3RbMF0gaXMgIlgiCitUZXN0aW5n
IHdoaXRlc3BhY2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDIK
K1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQucmVsTGlzdC5s
ZW5ndGggaXMgMgorRE9NVG9rZW5MaXN0IHByZXNlbmNlIGFuZCB0eXBlCitQQVNTICd1bmRlZmlu
ZWQnICE9IHR5cGVvZiBET01Ub2tlbkxpc3QgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgRE9NVG9rZW5M
aXN0LnByb3RvdHlwZSBpcyAib2JqZWN0IgorUEFTUyB0eXBlb2YgZWxlbWVudC5yZWxMaXN0IGlz
ICJvYmplY3QiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb25zdHJ1Y3RvciBpcyBET01Ub2tlbkxp
c3QKK1BBU1MgZWxlbWVudC5yZWxMaXN0ID09PSBlbGVtZW50LnJlbExpc3QgaXMgdHJ1ZQorVmFy
aWFkaWMgY2FsbHMKK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVudC5yZWwg
aXMgImEgYiBjIgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIGMgbnVsbCBkIHVuZGVmaW5lZCAw
IGZhbHNlIgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIgorUEFTUyBlbGVtZW50LnJlbExpc3Qu
YWRkKCJhIiwgImIiLCAiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhFcnJvcjogRE9N
IEV4Y2VwdGlvbiAxMi4KK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxM
aXN0LmFkZCgiYSIsICJiIiwgImMgZCIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZENo
YXJhY3RlckVycm9yOiBET00gRXhjZXB0aW9uIDUuCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQ
QVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoImEiLCB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkgeyB0aHJv
dyBuZXcgRXJyb3IoInVzZXIgZXJyb3IiKTsgfX0sICJiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiB1c2VyIGVycm9yLgorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExp
c3QuYWRkKCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG9ic2VydmVyLnRha2VSZWNv
cmRzKCkubGVuZ3RoIGlzIDEKK1BBU1MgZWxlbWVudC5yZWwgaXMgImIgZCAgIgorUEFTUyBlbGVt
ZW50LnJlbCBpcyAiZCAgIgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIGMiCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5yZW1vdmUoImEiLCAiYiIsICIiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFN5
bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIgor
UEFTUyBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCJhIiwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHsg
dGhyb3cgbmV3IEVycm9yKCJ1c2VyIGVycm9yIik7IH19LCAiYiIpIHRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogdXNlciBlcnJvci4KK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVu
dC5yZWxMaXN0LnJlbW92ZSgiYSIsICJiIiwgImMgZCIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
SW52YWxpZENoYXJhY3RlckVycm9yOiBET00gRXhjZXB0aW9uIDUuCitQQVNTIGVsZW1lbnQucmVs
IGlzICJhIGIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoKSBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KK1BBU1Mgb2JzZXJ2ZXIudGFrZVJlY29yZHMoKS5sZW5ndGggaXMgMQorVGVzdHMg
cmVsTGlzdCBmb3IgYXJlYSBlbGVtZW50CitQQVNTIGVsZW1lbnQucmVsTGlzdCA9PSBudWxsIGlz
IGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdCA9PSB1bmRlZmluZWQgaXMgZmFsc2UKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0IGluc3RhbmNlb2YgRE9NVG9rZW5MaXN0IGlzIHRydWUKK1BBU1MgZWxl
bWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAzCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygi
YSIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJiIikgaXMgdHJ1ZQor
UEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImMiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5jb250YWlucygiZCIpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5n
dGggaXMgMworUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImZvbyIpIGlzIHRydWUKK1BB
U1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJiYXIiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5jb250YWlucygiY2hvY29sYXRlIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExp
c3QuY29udGFpbnMoIm9yYW5nZSIpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5n
dGggaXMgMAorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDAKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygibWFyc2ht
YWxsb3ciKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiY2hpcHMiKSBp
cyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygib3JhbmdlIikgaXMgZmFsc2UK
K1BBU1MgU3RyaW5nKGVsZW1lbnQucmVsTGlzdCkgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlz
dC5sZW5ndGggaXMgMAorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDEKK1BBU1MgZWxl
bWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMg
MgorUEFTUyBlbGVtZW50LnJlbCBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWwgaXMgIngiCitQQVNT
IGVsZW1lbnQucmVsIGlzICJ4ICB4IgorUEFTUyBlbGVtZW50LnJlbCBpcyAieSB4IgorUEFTUyBl
bGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJl
bCBpcyAiIHkgeSAiCitQQVNTIGVsZW1lbnQucmVsIGlzICJ5IgorRW5zdXJlIHRoYXQgd2UgY2Fu
IGhhbmRsZSBlbXB0eSByZWwgY29ycmVjdGx5CitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUo
J3gnKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExp
c3QudG9nZ2xlKCd4JykgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxl
bWVudC5yZWxMaXN0LmNvbnRhaW5zKCJ4IikgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0
WzFdIGlzIHVuZGVmaW5lZC4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJ4IikgaXMg
ZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJ4IikgaXMgdHJ1ZQorVGVzdCB0
b2dnbGUgd2l0aCBmb3JjZSBhcmd1bWVudAorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4
JywgdHJ1ZSkgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbCBpcyAieCIKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0LnRvZ2dsZSgneCcsIHRydWUpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWwgaXMgIngi
CitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnLCBmYWxzZSkgaXMgZmFsc2UKK1BBU1Mg
ZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcsIGZhbHNl
KSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExpc3Qu
dG9nZ2xlKCIiLCB0cnVlKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFN5bnRheEVycm9yOiBET00g
RXhjZXB0aW9uIDEyLgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCJ4IHkiLCBmYWxzZSkg
dGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRp
b24gNS4KK1Rlc3RpbmcgYWRkIGluIHByZXNlbmNlIG9mIHRyYWlsaW5nIHdoaXRlIHNwYWNlcy4K
K1BBU1MgZWxlbWVudC5yZWwgaXMgInggeSIKK1BBU1MgZWxlbWVudC5yZWwgaXMgInhcdHkiCitQ
QVNTIGVsZW1lbnQucmVsIGlzICIgeSIKK1Rlc3QgaW52YWxpZCB0b2tlbnMKK1BBU1MgZWxlbWVu
dC5yZWxMaXN0LmNvbnRhaW5zKCIiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFN5bnRheEVycm9y
OiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoInggeSIp
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZENoYXJhY3RlckVycm9yOiBET00gRXhjZXB0
aW9uIDUuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoIiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5h
ZGQoInggeSIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZENoYXJhY3RlckVycm9yOiBE
T00gRXhjZXB0aW9uIDUuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoIiIpIHRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5yZW1vdmUoInggeSIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZENo
YXJhY3RlckVycm9yOiBET00gRXhjZXB0aW9uIDUuCitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dn
bGUoIiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24g
MTIuCitJbmRleGluZworUEFTUyBlbGVtZW50LnJlbExpc3RbMF0gaXMgIngiCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5pdGVtKDApIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3RbMV0gaXMgIngi
CitQQVNTIGVsZW1lbnQucmVsTGlzdC5pdGVtKDEpIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExp
c3RbMV0gaXMgInkiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5pdGVtKDEpIGlzICJ5IgorUEFTUyBl
bGVtZW50LnJlbExpc3RbMF0gaXMgdW5kZWZpbmVkLgorUEFTUyBlbGVtZW50LnJlbExpc3QuaXRl
bSgwKSBpcyBudWxsCitQQVNTIGVsZW1lbnQucmVsTGlzdFs0XSBpcyB1bmRlZmluZWQuCitQQVNT
IGVsZW1lbnQucmVsTGlzdC5pdGVtKDQpIGlzIG51bGwKK1BBU1MgZWxlbWVudC5yZWxMaXN0Wy0x
XSBpcyB1bmRlZmluZWQuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5pdGVtKC0xKSBpcyBudWxsCitQ
QVNTIGVsZW1lbnQucmVsTGlzdC5pdGVtKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90
IGVub3VnaCBhcmd1bWVudHMuCitUZXN0IGNhc2Ugc2luY2UgRE9NVG9rZW5MaXN0IGlzIGNhc2Ug
c2Vuc2l0aXZlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygieCIpIGlzIHRydWUKK1BB
U1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJYIikgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0WzBdIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoKSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgZWxlbWVudC5y
ZWxMaXN0LmNvbnRhaW5zKCJYIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFp
bnMoIngiKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3RbMF0gaXMgIlgiCitUZXN0aW5n
IHdoaXRlc3BhY2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDIK
K1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQucmVsTGlzdC5s
ZW5ndGggaXMgMgorRE9NVG9rZW5MaXN0IHByZXNlbmNlIGFuZCB0eXBlCitQQVNTICd1bmRlZmlu
ZWQnICE9IHR5cGVvZiBET01Ub2tlbkxpc3QgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgRE9NVG9rZW5M
aXN0LnByb3RvdHlwZSBpcyAib2JqZWN0IgorUEFTUyB0eXBlb2YgZWxlbWVudC5yZWxMaXN0IGlz
ICJvYmplY3QiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb25zdHJ1Y3RvciBpcyBET01Ub2tlbkxp
c3QKK1BBU1MgZWxlbWVudC5yZWxMaXN0ID09PSBlbGVtZW50LnJlbExpc3QgaXMgdHJ1ZQorVmFy
aWFkaWMgY2FsbHMKK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVudC5yZWwg
aXMgImEgYiBjIgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIGMgbnVsbCBkIHVuZGVmaW5lZCAw
IGZhbHNlIgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIgorUEFTUyBlbGVtZW50LnJlbExpc3Qu
YWRkKCJhIiwgImIiLCAiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhFcnJvcjogRE9N
IEV4Y2VwdGlvbiAxMi4KK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxM
aXN0LmFkZCgiYSIsICJiIiwgImMgZCIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZENo
YXJhY3RlckVycm9yOiBET00gRXhjZXB0aW9uIDUuCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQ
QVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoImEiLCB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkgeyB0aHJv
dyBuZXcgRXJyb3IoInVzZXIgZXJyb3IiKTsgfX0sICJiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiB1c2VyIGVycm9yLgorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExp
c3QuYWRkKCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG9ic2VydmVyLnRha2VSZWNv
cmRzKCkubGVuZ3RoIGlzIDEKK1BBU1MgZWxlbWVudC5yZWwgaXMgImIgZCAgIgorUEFTUyBlbGVt
ZW50LnJlbCBpcyAiZCAgIgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIGMiCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5yZW1vdmUoImEiLCAiYiIsICIiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFN5
bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIgor
UEFTUyBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCJhIiwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHsg
dGhyb3cgbmV3IEVycm9yKCJ1c2VyIGVycm9yIik7IH19LCAiYiIpIHRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogdXNlciBlcnJvci4KK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVu
dC5yZWxMaXN0LnJlbW92ZSgiYSIsICJiIiwgImMgZCIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
SW52YWxpZENoYXJhY3RlckVycm9yOiBET00gRXhjZXB0aW9uIDUuCitQQVNTIGVsZW1lbnQucmVs
IGlzICJhIGIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoKSBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KK1BBU1Mgb2JzZXJ2ZXIudGFrZVJlY29yZHMoKS5sZW5ndGggaXMgMQorVGVzdHMg
cmVsTGlzdCBmb3IgbGluayBlbGVtZW50CitQQVNTIGVsZW1lbnQucmVsTGlzdCA9PSBudWxsIGlz
IGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdCA9PSB1bmRlZmluZWQgaXMgZmFsc2UKK1BBU1Mg
ZWxlbWVudC5yZWxMaXN0IGluc3RhbmNlb2YgRE9NVG9rZW5MaXN0IGlzIHRydWUKK1BBU1MgZWxl
bWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAzCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygi
YSIpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJiIikgaXMgdHJ1ZQor
UEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImMiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5jb250YWlucygiZCIpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5n
dGggaXMgMworUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImZvbyIpIGlzIHRydWUKK1BB
U1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJiYXIiKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQu
cmVsTGlzdC5jb250YWlucygiY2hvY29sYXRlIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExp
c3QuY29udGFpbnMoIm9yYW5nZSIpIGlzIGZhbHNlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5n
dGggaXMgMAorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDAKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygibWFyc2ht
YWxsb3ciKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygiY2hpcHMiKSBp
cyB0cnVlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygib3JhbmdlIikgaXMgZmFsc2UK
K1BBU1MgU3RyaW5nKGVsZW1lbnQucmVsTGlzdCkgaXMgIngiCitQQVNTIGVsZW1lbnQucmVsTGlz
dC5sZW5ndGggaXMgMAorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDEKK1BBU1MgZWxl
bWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQucmVsTGlzdC5sZW5ndGggaXMg
MgorUEFTUyBlbGVtZW50LnJlbCBpcyAieCIKK1BBU1MgZWxlbWVudC5yZWwgaXMgIngiCitQQVNT
IGVsZW1lbnQucmVsIGlzICJ4ICB4IgorUEFTUyBlbGVtZW50LnJlbCBpcyAieSB4IgorUEFTUyBl
bGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJl
bCBpcyAiIHkgeSAiCitQQVNTIGVsZW1lbnQucmVsIGlzICJ5IgorRW5zdXJlIHRoYXQgd2UgY2Fu
IGhhbmRsZSBlbXB0eSByZWwgY29ycmVjdGx5CitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUo
J3gnKSBpcyB0cnVlCitQQVNTIGVsZW1lbnQucmVsIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExp
c3QudG9nZ2xlKCd4JykgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxl
bWVudC5yZWxMaXN0LmNvbnRhaW5zKCJ4IikgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0
WzFdIGlzIHVuZGVmaW5lZC4KK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJ4IikgaXMg
ZmFsc2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJ4IikgaXMgdHJ1ZQorVGVzdCB0
b2dnbGUgd2l0aCBmb3JjZSBhcmd1bWVudAorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4
JywgdHJ1ZSkgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbCBpcyAieCIKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0LnRvZ2dsZSgneCcsIHRydWUpIGlzIHRydWUKK1BBU1MgZWxlbWVudC5yZWwgaXMgIngi
CitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dnbGUoJ3gnLCBmYWxzZSkgaXMgZmFsc2UKK1BBU1Mg
ZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcsIGZhbHNl
KSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExpc3Qu
dG9nZ2xlKCIiLCB0cnVlKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFN5bnRheEVycm9yOiBET00g
RXhjZXB0aW9uIDEyLgorUEFTUyBlbGVtZW50LnJlbExpc3QudG9nZ2xlKCJ4IHkiLCBmYWxzZSkg
dGhyZXcgZXhjZXB0aW9uIEVycm9yOiBJbnZhbGlkQ2hhcmFjdGVyRXJyb3I6IERPTSBFeGNlcHRp
b24gNS4KK1Rlc3RpbmcgYWRkIGluIHByZXNlbmNlIG9mIHRyYWlsaW5nIHdoaXRlIHNwYWNlcy4K
K1BBU1MgZWxlbWVudC5yZWwgaXMgInggeSIKK1BBU1MgZWxlbWVudC5yZWwgaXMgInhcdHkiCitQ
QVNTIGVsZW1lbnQucmVsIGlzICIgeSIKK1Rlc3QgaW52YWxpZCB0b2tlbnMKK1BBU1MgZWxlbWVu
dC5yZWxMaXN0LmNvbnRhaW5zKCIiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFN5bnRheEVycm9y
OiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoInggeSIp
IHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZENoYXJhY3RlckVycm9yOiBET00gRXhjZXB0
aW9uIDUuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoIiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5h
ZGQoInggeSIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZENoYXJhY3RlckVycm9yOiBE
T00gRXhjZXB0aW9uIDUuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoIiIpIHRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5yZW1vdmUoInggeSIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZENo
YXJhY3RlckVycm9yOiBET00gRXhjZXB0aW9uIDUuCitQQVNTIGVsZW1lbnQucmVsTGlzdC50b2dn
bGUoIiIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24g
MTIuCitJbmRleGluZworUEFTUyBlbGVtZW50LnJlbExpc3RbMF0gaXMgIngiCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5pdGVtKDApIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3RbMV0gaXMgIngi
CitQQVNTIGVsZW1lbnQucmVsTGlzdC5pdGVtKDEpIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExp
c3RbMV0gaXMgInkiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5pdGVtKDEpIGlzICJ5IgorUEFTUyBl
bGVtZW50LnJlbExpc3RbMF0gaXMgdW5kZWZpbmVkLgorUEFTUyBlbGVtZW50LnJlbExpc3QuaXRl
bSgwKSBpcyBudWxsCitQQVNTIGVsZW1lbnQucmVsTGlzdFs0XSBpcyB1bmRlZmluZWQuCitQQVNT
IGVsZW1lbnQucmVsTGlzdC5pdGVtKDQpIGlzIG51bGwKK1BBU1MgZWxlbWVudC5yZWxMaXN0Wy0x
XSBpcyB1bmRlZmluZWQuCitQQVNTIGVsZW1lbnQucmVsTGlzdC5pdGVtKC0xKSBpcyBudWxsCitQ
QVNTIGVsZW1lbnQucmVsTGlzdC5pdGVtKCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogTm90
IGVub3VnaCBhcmd1bWVudHMuCitUZXN0IGNhc2Ugc2luY2UgRE9NVG9rZW5MaXN0IGlzIGNhc2Ug
c2Vuc2l0aXZlCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb250YWlucygieCIpIGlzIHRydWUKK1BB
U1MgZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJYIikgaXMgZmFsc2UKK1BBU1MgZWxlbWVudC5y
ZWxMaXN0WzBdIGlzICJ4IgorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFpbnMoKSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBOb3QgZW5vdWdoIGFyZ3VtZW50cy4KK1BBU1MgZWxlbWVudC5y
ZWxMaXN0LmNvbnRhaW5zKCJYIikgaXMgdHJ1ZQorUEFTUyBlbGVtZW50LnJlbExpc3QuY29udGFp
bnMoIngiKSBpcyBmYWxzZQorUEFTUyBlbGVtZW50LnJlbExpc3RbMF0gaXMgIlgiCitUZXN0aW5n
IHdoaXRlc3BhY2UKK1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5sZW5ndGggaXMgMgorUEFTUyBlbGVtZW50LnJlbExpc3QubGVuZ3RoIGlzIDIK
K1BBU1MgZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCBpcyAyCitQQVNTIGVsZW1lbnQucmVsTGlzdC5s
ZW5ndGggaXMgMgorRE9NVG9rZW5MaXN0IHByZXNlbmNlIGFuZCB0eXBlCitQQVNTICd1bmRlZmlu
ZWQnICE9IHR5cGVvZiBET01Ub2tlbkxpc3QgaXMgdHJ1ZQorUEFTUyB0eXBlb2YgRE9NVG9rZW5M
aXN0LnByb3RvdHlwZSBpcyAib2JqZWN0IgorUEFTUyB0eXBlb2YgZWxlbWVudC5yZWxMaXN0IGlz
ICJvYmplY3QiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5jb25zdHJ1Y3RvciBpcyBET01Ub2tlbkxp
c3QKK1BBU1MgZWxlbWVudC5yZWxMaXN0ID09PSBlbGVtZW50LnJlbExpc3QgaXMgdHJ1ZQorVmFy
aWFkaWMgY2FsbHMKK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVudC5yZWwg
aXMgImEgYiBjIgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIGMgbnVsbCBkIHVuZGVmaW5lZCAw
IGZhbHNlIgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIgorUEFTUyBlbGVtZW50LnJlbExpc3Qu
YWRkKCJhIiwgImIiLCAiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhFcnJvcjogRE9N
IEV4Y2VwdGlvbiAxMi4KK1BBU1MgZWxlbWVudC5yZWwgaXMgIiIKK1BBU1MgZWxlbWVudC5yZWxM
aXN0LmFkZCgiYSIsICJiIiwgImMgZCIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogSW52YWxpZENo
YXJhY3RlckVycm9yOiBET00gRXhjZXB0aW9uIDUuCitQQVNTIGVsZW1lbnQucmVsIGlzICIiCitQ
QVNTIGVsZW1lbnQucmVsTGlzdC5hZGQoImEiLCB7dG9TdHJpbmc6IGZ1bmN0aW9uKCkgeyB0aHJv
dyBuZXcgRXJyb3IoInVzZXIgZXJyb3IiKTsgfX0sICJiIikgdGhyZXcgZXhjZXB0aW9uIEVycm9y
OiB1c2VyIGVycm9yLgorUEFTUyBlbGVtZW50LnJlbCBpcyAiIgorUEFTUyBlbGVtZW50LnJlbExp
c3QuYWRkKCkgZGlkIG5vdCB0aHJvdyBleGNlcHRpb24uCitQQVNTIG9ic2VydmVyLnRha2VSZWNv
cmRzKCkubGVuZ3RoIGlzIDEKK1BBU1MgZWxlbWVudC5yZWwgaXMgImIgZCAgIgorUEFTUyBlbGVt
ZW50LnJlbCBpcyAiZCAgIgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIGMiCitQQVNTIGVsZW1l
bnQucmVsTGlzdC5yZW1vdmUoImEiLCAiYiIsICIiKSB0aHJldyBleGNlcHRpb24gRXJyb3I6IFN5
bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBlbGVtZW50LnJlbCBpcyAiYSBiIgor
UEFTUyBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCJhIiwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHsg
dGhyb3cgbmV3IEVycm9yKCJ1c2VyIGVycm9yIik7IH19LCAiYiIpIHRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogdXNlciBlcnJvci4KK1BBU1MgZWxlbWVudC5yZWwgaXMgImEgYiIKK1BBU1MgZWxlbWVu
dC5yZWxMaXN0LnJlbW92ZSgiYSIsICJiIiwgImMgZCIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
SW52YWxpZENoYXJhY3RlckVycm9yOiBET00gRXhjZXB0aW9uIDUuCitQQVNTIGVsZW1lbnQucmVs
IGlzICJhIGIiCitQQVNTIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoKSBkaWQgbm90IHRocm93IGV4
Y2VwdGlvbi4KK1BBU1Mgb2JzZXJ2ZXIudGFrZVJlY29yZHMoKS5sZW5ndGggaXMgMQorUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvZG9tL3JlbC1saXN0LWdjLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9mYXN0L2RvbS9yZWwtbGlzdC1nYy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9yZWwtbGlzdC1nYy1leHBlY3RlZC50eHQJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwxMyBAQAorVGVzdHMgcmVsTGlzdCBnYyBmb3IgYW5jaG9yIGVs
ZW1lbnQKK1BBU1MgZWxlbWVudC5yZWxMaXN0LmxpZmUgaXMgNDIKK1BBU1MgZWxlbWVudC5yZWxM
aXN0LmxpZmUgaXMgNDIKK1Rlc3RzIHJlbExpc3QgZ2MgZm9yIGFyZWEgZWxlbWVudAorUEFTUyBl
bGVtZW50LnJlbExpc3QubGlmZSBpcyA0MgorUEFTUyBlbGVtZW50LnJlbExpc3QubGlmZSBpcyA0
MgorVGVzdHMgcmVsTGlzdCBnYyBmb3IgbGluayBlbGVtZW50CitQQVNTIGVsZW1lbnQucmVsTGlz
dC5saWZlIGlzIDQyCitQQVNTIGVsZW1lbnQucmVsTGlzdC5saWZlIGlzIDQyCitQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVz
dHMvZmFzdC9kb20vcmVsLWxpc3QtZ2MuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2RvbS9yZWwtbGlzdC1nYy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9kb20vcmVsLWxpc3QtZ2MuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDMwIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxzY3JpcHQ+Cit2YXIgZWxl
bWVudDsKKworZnVuY3Rpb24gdGVzdCh0eXBlKQoreworICAgIGVsZW1lbnQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KHR5cGUpOworICAgIHZhciByZWxMaXN0ID0gZWxlbWVudC5yZWxMaXN0Owor
ICAgIGVsZW1lbnQucmVsTGlzdC5saWZlID0gNDI7CisgICAgc2hvdWxkRXZhbHVhdGVUbygnZWxl
bWVudC5yZWxMaXN0LmxpZmUnLCA0Mik7CisgICAgcmVsTGlzdCA9IG51bGw7CisgICAgZ2MoKTsK
KyAgICBzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LnJlbExpc3QubGlmZScsIDQyKTsKK30KKwor
ZGVidWcoJ1Rlc3RzIHJlbExpc3QgZ2MgZm9yIGFuY2hvciBlbGVtZW50Jyk7Cit0ZXN0KCdhJyk7
CitkZWJ1ZygnVGVzdHMgcmVsTGlzdCBnYyBmb3IgYXJlYSBlbGVtZW50Jyk7Cit0ZXN0KCdhcmVh
Jyk7CitkZWJ1ZygnVGVzdHMgcmVsTGlzdCBnYyBmb3IgbGluayBlbGVtZW50Jyk7Cit0ZXN0KCds
aW5rJyk7CisKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0
LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL3JlbC1saXN0Lmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vcmVsLWxpc3QuaHRtbAkocmV2aXNpb24gMCkK
KysrIExheW91dFRlc3RzL2Zhc3QvZG9tL3JlbC1saXN0Lmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwzMDMgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgor
PGJvZHk+Cis8YSBpZD0iYSIgcmVsPSJhIGIgYyI+PC9hPgorPGFyZWEgaWQ9ImFyZWEiIHJlbD0i
YSBiIGMiPjwvYXJlYT4KKzxsaW5rIGlkPSJsaW5rIiByZWw9ImEgYiBjIj4KKzxzY3JpcHQ+Citk
ZXNjcmlwdGlvbignVGVzdHMgdGhhdCByZWxMaXN0IHdvcmtzIG9uIGFuY2hvciwgYXJlYSBhbmQg
bGluayBlbGVtZW50cycpOworCit2YXIgZWxlbWVudDsKK3ZhciB0eXBlOwordmFyIG9ic2VydmVy
OworCitmdW5jdGlvbiBjcmVhdGVFbGVtZW50KHJlbCkKK3sKKyAgICBlbGVtZW50ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCh0eXBlKTsKKyAgICBlbGVtZW50LnJlbCA9IHJlbDsKK30KKworZnVu
Y3Rpb24gdGVzdCgpIAoreworICAgIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0
eXBlKTsKKyAgICBzaG91bGRCZUZhbHNlKCdlbGVtZW50LnJlbExpc3QgPT0gbnVsbCcpOworICAg
IHNob3VsZEJlRmFsc2UoJ2VsZW1lbnQucmVsTGlzdCA9PSB1bmRlZmluZWQnKTsKKyAgICBzaG91
bGRCZVRydWUoJ2VsZW1lbnQucmVsTGlzdCBpbnN0YW5jZW9mIERPTVRva2VuTGlzdCcpOworICAg
IHNob3VsZEJlKCdlbGVtZW50LnJlbExpc3QubGVuZ3RoJywgJzMnKTsKKyAgICBzaG91bGRCZVRy
dWUoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygiYSIpJyk7CisgICAgc2hvdWxkQmVUcnVlKCdl
bGVtZW50LnJlbExpc3QuY29udGFpbnMoImIiKScpOworICAgIHNob3VsZEJlVHJ1ZSgnZWxlbWVu
dC5yZWxMaXN0LmNvbnRhaW5zKCJjIiknKTsKKyAgICBzaG91bGRCZUZhbHNlKCdlbGVtZW50LnJl
bExpc3QuY29udGFpbnMoImQiKScpOworCisgICAgY3JlYXRlRWxlbWVudCgiZm9vIGJhciBjaG9j
b2xhdGUiKTsKKyAgICBzaG91bGRCZSgnZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCcsICczJyk7Cisg
ICAgc2hvdWxkQmVUcnVlKCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImZvbyIpJyk7CisgICAg
c2hvdWxkQmVUcnVlKCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImJhciIpJyk7CisgICAgc2hv
dWxkQmVUcnVlKCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMoImNob2NvbGF0ZSIpJyk7CisgICAg
c2hvdWxkQmVGYWxzZSgnZWxlbWVudC5yZWxMaXN0LmNvbnRhaW5zKCJvcmFuZ2UiKScpOworCisg
ICAgZWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoJ3JlbCcpOworICAgIHNob3VsZEJlKCdlbGVtZW50
LnJlbExpc3QubGVuZ3RoJywgJzAnKTsKKyAgICAKKyAgICBlbGVtZW50LnNldEF0dHJpYnV0ZSgn
cmVsJywgJycpOworICAgIHNob3VsZEJlKCdlbGVtZW50LnJlbExpc3QubGVuZ3RoJywgJzAnKTsK
KworICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKCdyZWwnLCAnbWFyc2htYWxsb3cgY2hpcHMnKTsK
KyAgICBzaG91bGRCZSgnZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCcsICcyJyk7CisgICAgc2hvdWxk
QmVUcnVlKCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMoIm1hcnNobWFsbG93IiknKTsKKyAgICBz
aG91bGRCZVRydWUoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygiY2hpcHMiKScpOworICAgIHNo
b3VsZEJlRmFsc2UoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygib3JhbmdlIiknKTsKKworICAg
IGNyZWF0ZUVsZW1lbnQoJ3gnKTsKKyAgICBlbGVtZW50LnJlbExpc3QgPSAneSc7CisgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdTdHJpbmcoZWxlbWVudC5yZWxMaXN0KScsICd4Jyk7CisKKyAg
ICBjcmVhdGVFbGVtZW50KCcnKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LnJlbExp
c3QubGVuZ3RoJywgMCk7CisKKyAgICBjcmVhdGVFbGVtZW50KCd4Jyk7CisgICAgc2hvdWxkRXZh
bHVhdGVUbygnZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCcsIDEpOworCisgICAgY3JlYXRlRWxlbWVu
dCgneCB4Jyk7CisgICAgc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCcs
IDIpOworCisgICAgY3JlYXRlRWxlbWVudCgneCB5Jyk7CisgICAgc2hvdWxkRXZhbHVhdGVUbygn
ZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCcsIDIpOworCisgICAgY3JlYXRlRWxlbWVudCgnJyk7Cisg
ICAgZWxlbWVudC5yZWxMaXN0LmFkZCgneCcpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygn
ZWxlbWVudC5yZWwnLCAneCcpOworCisgICAgY3JlYXRlRWxlbWVudCgneCcpOworICAgIGVsZW1l
bnQucmVsTGlzdC5hZGQoJ3gnKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQu
cmVsJywgJ3gnKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJ3ggIHgnKTsKKyAgICBlbGVtZW50LnJl
bExpc3QuYWRkKCd4Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcs
ICd4ICB4Jyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCd5Jyk7CisgICAgZWxlbWVudC5yZWxMaXN0
LmFkZCgneCcpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAneSB4
Jyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCcnKTsKKyAgICBlbGVtZW50LnJlbExpc3QucmVtb3Zl
KCd4Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICcnKTsKKwor
ICAgIGNyZWF0ZUVsZW1lbnQoJ3gnKTsKKyAgICBlbGVtZW50LnJlbExpc3QucmVtb3ZlKCd4Jyk7
CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICcnKTsKKworICAgIGNy
ZWF0ZUVsZW1lbnQoJyB5IHggIHkgJyk7CisgICAgZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgneCcp
OworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnIHkgeSAnKTsKKwor
ICAgIGNyZWF0ZUVsZW1lbnQoJyB4IHkgIHggJyk7CisgICAgZWxlbWVudC5yZWxMaXN0LnJlbW92
ZSgneCcpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAneScpOwor
CisgICAgZGVidWcoJ0Vuc3VyZSB0aGF0IHdlIGNhbiBoYW5kbGUgZW1wdHkgcmVsIGNvcnJlY3Rs
eScpOworICAgIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KHR5cGUpOworICAgIHNo
b3VsZEJlVHJ1ZSgiZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcpIik7CisgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICd4Jyk7CisgICAgc2hvdWxkQmVGYWxzZSgiZWxl
bWVudC5yZWxMaXN0LnRvZ2dsZSgneCcpIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdl
bGVtZW50LnJlbCcsICcnKTsKKworICAgIGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KHR5cGUpOworICAgIHNob3VsZEJlRmFsc2UoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygieCIp
Jyk7CisgICAgc2hvdWxkQmVVbmRlZmluZWQoJ2VsZW1lbnQucmVsTGlzdFsxXScpOworICAgIGVs
ZW1lbnQucmVsTGlzdC5yZW1vdmUoJ3gnKTsKKyAgICBzaG91bGRCZUZhbHNlKCdlbGVtZW50LnJl
bExpc3QuY29udGFpbnMoIngiKScpOworICAgIGVsZW1lbnQucmVsTGlzdC5hZGQoJ3gnKTsKKyAg
ICBzaG91bGRCZVRydWUoJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygieCIpJyk7CisKKyAgICBk
ZWJ1ZygnVGVzdCB0b2dnbGUgd2l0aCBmb3JjZSBhcmd1bWVudCcpOworICAgIGNyZWF0ZUVsZW1l
bnQoJycpOworICAgIHNob3VsZEJlVHJ1ZSgiZWxlbWVudC5yZWxMaXN0LnRvZ2dsZSgneCcsIHRy
dWUpIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICd4Jyk7Cisg
ICAgc2hvdWxkQmVUcnVlKCJlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgdHJ1ZSkiKTsKKyAg
ICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJ3gnKTsKKyAgICBzaG91bGRC
ZUZhbHNlKCJlbGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgZmFsc2UpIik7CisgICAgc2hvdWxk
QmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICcnKTsKKyAgICBzaG91bGRCZUZhbHNlKCJl
bGVtZW50LnJlbExpc3QudG9nZ2xlKCd4JywgZmFsc2UpIik7CisgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCdlbGVtZW50LnJlbCcsICcnKTsKKyAgICBzaG91bGRUaHJvdygnZWxlbWVudC5yZWxM
aXN0LnRvZ2dsZSgiIiwgdHJ1ZSknKTsKKyAgICBzaG91bGRUaHJvdygnZWxlbWVudC5yZWxMaXN0
LnRvZ2dsZSgieCB5IiwgZmFsc2UpJyk7CisKKyAgICBkZWJ1ZygnVGVzdGluZyBhZGQgaW4gcHJl
c2VuY2Ugb2YgdHJhaWxpbmcgd2hpdGUgc3BhY2VzLicpOworICAgIGNyZWF0ZUVsZW1lbnQoJ3gg
Jyk7CisgICAgZWxlbWVudC5yZWxMaXN0LmFkZCgneScpOworICAgIHNob3VsZEJlRXF1YWxUb1N0
cmluZygnZWxlbWVudC5yZWwnLCAneCB5Jyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCd4XHQnKTsK
KyAgICBlbGVtZW50LnJlbExpc3QuYWRkKCd5Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCdlbGVtZW50LnJlbCcsICd4XHR5Jyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCcgJyk7CisgICAg
ZWxlbWVudC5yZWxMaXN0LmFkZCgneScpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxl
bWVudC5yZWwnLCAnIHknKTsKKworICAgIGRlYnVnKCdUZXN0IGludmFsaWQgdG9rZW5zJyk7CisK
KyAgICBjcmVhdGVFbGVtZW50KCd4Jyk7CisgICAgc2hvdWxkVGhyb3coJ2VsZW1lbnQucmVsTGlz
dC5jb250YWlucygiIiknKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJ3ggeScpOworICAgIHNob3Vs
ZFRocm93KCdlbGVtZW50LnJlbExpc3QuY29udGFpbnMoInggeSIpJyk7CisKKyAgICBjcmVhdGVF
bGVtZW50KCcnKTsKKyAgICBzaG91bGRUaHJvdygnZWxlbWVudC5yZWxMaXN0LmFkZCgiIiknKTsK
KworICAgIGNyZWF0ZUVsZW1lbnQoJycpOworICAgIHNob3VsZFRocm93KCdlbGVtZW50LnJlbExp
c3QuYWRkKCJ4IHkiKScpOworCisgICAgY3JlYXRlRWxlbWVudCgnJyk7CisgICAgc2hvdWxkVGhy
b3coJ2VsZW1lbnQucmVsTGlzdC5yZW1vdmUoIiIpJyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCcn
KTsKKyAgICBzaG91bGRUaHJvdygnZWxlbWVudC5yZWxMaXN0LnJlbW92ZSgieCB5IiknKTsKKwor
ICAgIGNyZWF0ZUVsZW1lbnQoJycpOworICAgIHNob3VsZFRocm93KCdlbGVtZW50LnJlbExpc3Qu
dG9nZ2xlKCIiKScpOworCisgICAgZGVidWcoJ0luZGV4aW5nJyk7CisgICAgY3JlYXRlRWxlbWVu
dCgneCcpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWxMaXN0WzBdJywg
J3gnKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsTGlzdC5pdGVtKDAp
JywgJ3gnKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJ3ggeCcpOworICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygnZWxlbWVudC5yZWxMaXN0WzFdJywgJ3gnKTsKKyAgICBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoJ2VsZW1lbnQucmVsTGlzdC5pdGVtKDEpJywgJ3gnKTsKKworICAgIGNyZWF0ZUVsZW1l
bnQoJ3ggeScpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWxMaXN0WzFd
JywgJ3knKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsTGlzdC5pdGVt
KDEpJywgJ3knKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJycpOworICAgIHNob3VsZEJlVW5kZWZp
bmVkKCdlbGVtZW50LnJlbExpc3RbMF0nKTsKKyAgICBzaG91bGRCZU51bGwoJ2VsZW1lbnQucmVs
TGlzdC5pdGVtKDApJyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCd4IHkgeicpOworICAgIHNob3Vs
ZEJlVW5kZWZpbmVkKCdlbGVtZW50LnJlbExpc3RbNF0nKTsKKyAgICBzaG91bGRCZU51bGwoJ2Vs
ZW1lbnQucmVsTGlzdC5pdGVtKDQpJyk7CisgICAgc2hvdWxkQmVVbmRlZmluZWQoJ2VsZW1lbnQu
cmVsTGlzdFstMV0nKTsKKyAgICBzaG91bGRCZU51bGwoJ2VsZW1lbnQucmVsTGlzdC5pdGVtKC0x
KScpOworICAgIHNob3VsZFRocm93KCdlbGVtZW50LnJlbExpc3QuaXRlbSgpJyk7CisKKyAgICBk
ZWJ1ZygnVGVzdCBjYXNlIHNpbmNlIERPTVRva2VuTGlzdCBpcyBjYXNlIHNlbnNpdGl2ZScpOwor
ICAgIGNyZWF0ZUVsZW1lbnQoJ3gnKTsKKyAgICBzaG91bGRCZVRydWUoJ2VsZW1lbnQucmVsTGlz
dC5jb250YWlucygieCIpJyk7CisgICAgc2hvdWxkQmVGYWxzZSgnZWxlbWVudC5yZWxMaXN0LmNv
bnRhaW5zKCJYIiknKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsTGlz
dFswXScsICd4Jyk7CisgICAgc2hvdWxkVGhyb3coJ2VsZW1lbnQucmVsTGlzdC5jb250YWlucygp
Jyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCdYJyk7CisgICAgc2hvdWxkQmVUcnVlKCdlbGVtZW50
LnJlbExpc3QuY29udGFpbnMoIlgiKScpOworICAgIHNob3VsZEJlRmFsc2UoJ2VsZW1lbnQucmVs
TGlzdC5jb250YWlucygieCIpJyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50
LnJlbExpc3RbMF0nLCAnWCcpOworCisgICAgZGVidWcoJ1Rlc3Rpbmcgd2hpdGVzcGFjZScpOwor
ICAgIGNyZWF0ZUVsZW1lbnQoJ3hcdTAwMjB5Jyk7CisgICAgc2hvdWxkRXZhbHVhdGVUbygnZWxl
bWVudC5yZWxMaXN0Lmxlbmd0aCcsIDIpOworCisgICAgY3JlYXRlRWxlbWVudCgneFx1MDAwOXkn
KTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCdlbGVtZW50LnJlbExpc3QubGVuZ3RoJywgMik7CisK
KyAgICBjcmVhdGVFbGVtZW50KCd4XHUwMDBBeScpOworICAgIHNob3VsZEV2YWx1YXRlVG8oJ2Vs
ZW1lbnQucmVsTGlzdC5sZW5ndGgnLCAyKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJ3hcdTAwMEN5
Jyk7CisgICAgc2hvdWxkRXZhbHVhdGVUbygnZWxlbWVudC5yZWxMaXN0Lmxlbmd0aCcsIDIpOwor
CisgICAgY3JlYXRlRWxlbWVudCgneFx1MDAwRHknKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCdl
bGVtZW50LnJlbExpc3QubGVuZ3RoJywgMik7CisKKyAgICBkZWJ1ZygnRE9NVG9rZW5MaXN0IHBy
ZXNlbmNlIGFuZCB0eXBlJyk7CisgICAgc2hvdWxkQmVUcnVlKCdcJ3VuZGVmaW5lZFwnICE9IHR5
cGVvZiBET01Ub2tlbkxpc3QnKTsKKworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygndHlwZW9m
IERPTVRva2VuTGlzdC5wcm90b3R5cGUnLCAnb2JqZWN0Jyk7CisKKyAgICBjcmVhdGVFbGVtZW50
KCd4Jyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCd0eXBlb2YgZWxlbWVudC5yZWxMaXN0
JywgJ29iamVjdCcpOworICAgIHNob3VsZEV2YWx1YXRlVG8oJ2VsZW1lbnQucmVsTGlzdC5jb25z
dHJ1Y3RvcicsICdET01Ub2tlbkxpc3QnKTsKKyAgICBzaG91bGRCZVRydWUoJ2VsZW1lbnQucmVs
TGlzdCA9PT0gZWxlbWVudC5yZWxMaXN0Jyk7CisKKyAgICBkZWJ1ZygnVmFyaWFkaWMgY2FsbHMn
KTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJycpOworICAgIGVsZW1lbnQucmVsTGlzdC5hZGQoJ2En
LCAnYicpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnYSBiJyk7
CisKKyAgICBlbGVtZW50LnJlbExpc3QuYWRkKCdhJywgJ2InLCAnYycpOworICAgIHNob3VsZEJl
RXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnYSBiIGMnKTsKKworICAgIGVsZW1lbnQucmVs
TGlzdC5hZGQobnVsbCwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHsgcmV0dXJuICdkJyB9fSwgdW5k
ZWZpbmVkLCAwLCBmYWxzZSk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJl
bCcsICdhIGIgYyBudWxsIGQgdW5kZWZpbmVkIDAgZmFsc2UnKTsKKworICAgIGNyZWF0ZUVsZW1l
bnQoJycpOworICAgIGVsZW1lbnQucmVsTGlzdC5hZGQoJ2EnLCAnYicsICdhJyk7CisgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50LnJlbCcsICdhIGInKTsKKworICAgIGNyZWF0ZUVs
ZW1lbnQoJycpOworICAgIHNob3VsZFRocm93KCdlbGVtZW50LnJlbExpc3QuYWRkKCJhIiwgImIi
LCAiIiknKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJycpOwor
ICAgIHNob3VsZFRocm93KCdlbGVtZW50LnJlbExpc3QuYWRkKCJhIiwgImIiLCAiYyBkIiknKTsK
KyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJycpOworICAgIHNob3Vs
ZFRocm93KCdlbGVtZW50LnJlbExpc3QuYWRkKCJhIiwge3RvU3RyaW5nOiBmdW5jdGlvbigpIHsg
dGhyb3cgbmV3IEVycm9yKCJ1c2VyIGVycm9yIik7IH19LCAiYiIpJywgJyJFcnJvcjogdXNlciBl
cnJvciInKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoJ2VsZW1lbnQucmVsJywgJycpOwor
CisgICAgY3JlYXRlRWxlbWVudCgnJyk7CisgICAgc2hvdWxkTm90VGhyb3coJ2VsZW1lbnQucmVs
TGlzdC5hZGQoKScpOworCisgICAgY3JlYXRlRWxlbWVudCgnJyk7CisgICAgb2JzZXJ2ZXIgPSBu
ZXcgV2ViS2l0TXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbigpIHt9KTsKKyAgICBvYnNlcnZlci5v
YnNlcnZlKGVsZW1lbnQsIHthdHRyaWJ1dGVzOiB0cnVlfSk7CisgICAgZWxlbWVudC5yZWxMaXN0
LmFkZCgnYScsICdjJyk7CisgICAgc2hvdWxkQmUoJ29ic2VydmVyLnRha2VSZWNvcmRzKCkubGVu
Z3RoJywgJzEnKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJ2EgYiBjIGQgICcpOworICAgIGVsZW1l
bnQucmVsTGlzdC5yZW1vdmUoJ2EnLCAnYycpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygn
ZWxlbWVudC5yZWwnLCAnYiBkICAnKTsKKworICAgIGVsZW1lbnQucmVsTGlzdC5yZW1vdmUoJ2In
LCAnYicpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnZCAgJyk7
CisKKyAgICBjcmVhdGVFbGVtZW50KCdhIGIgYyBudWxsIGQgdW5kZWZpbmVkIDAgZmFsc2UnKTsK
KyAgICBlbGVtZW50LnJlbExpc3QucmVtb3ZlKG51bGwsIHt0b1N0cmluZzogZnVuY3Rpb24oKSB7
IHJldHVybiAnZCcgfX0sIHVuZGVmaW5lZCwgMCwgZmFsc2UpOworICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygnZWxlbWVudC5yZWwnLCAnYSBiIGMnKTsKKworICAgIGNyZWF0ZUVsZW1lbnQoJ2Eg
YicpOworICAgIHNob3VsZFRocm93KCdlbGVtZW50LnJlbExpc3QucmVtb3ZlKCJhIiwgImIiLCAi
IiknKTsKKworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVudC5yZWwnLCAnYSBiJyk7
CisgICAgc2hvdWxkVGhyb3coJ2VsZW1lbnQucmVsTGlzdC5yZW1vdmUoImEiLCB7dG9TdHJpbmc6
IGZ1bmN0aW9uKCkgeyB0aHJvdyBuZXcgRXJyb3IoInVzZXIgZXJyb3IiKTsgfX0sICJiIiknLCAn
IkVycm9yOiB1c2VyIGVycm9yIicpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygnZWxlbWVu
dC5yZWwnLCAnYSBiJyk7CisKKyAgICBzaG91bGRUaHJvdygnZWxlbWVudC5yZWxMaXN0LnJlbW92
ZSgiYSIsICJiIiwgImMgZCIpJyk7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCdlbGVtZW50
LnJlbCcsICdhIGInKTsKKyAgICBzaG91bGROb3RUaHJvdygnZWxlbWVudC5yZWxMaXN0LnJlbW92
ZSgpJyk7CisKKyAgICBjcmVhdGVFbGVtZW50KCdhIGIgYycpOworICAgIG9ic2VydmVyID0gbmV3
IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oKSB7fSk7CisgICAgb2JzZXJ2ZXIub2Jz
ZXJ2ZShlbGVtZW50LCB7YXR0cmlidXRlczogdHJ1ZX0pOworICAgIGVsZW1lbnQucmVsTGlzdC5y
ZW1vdmUoJ2EnLCAnYycpOworICAgIHNob3VsZEJlKCdvYnNlcnZlci50YWtlUmVjb3JkcygpLmxl
bmd0aCcsICcxJyk7Cit9CisKK2RlYnVnKCdUZXN0cyByZWxMaXN0IGZvciBhbmNob3IgZWxlbWVu
dCcpOwordHlwZSA9ICdhJzsKK3Rlc3QoKTsKK2RlYnVnKCdUZXN0cyByZWxMaXN0IGZvciBhcmVh
IGVsZW1lbnQnKTsKK3R5cGUgPSAnYXJlYSc7Cit0ZXN0KCk7CitkZWJ1ZygnVGVzdHMgcmVsTGlz
dCBmb3IgbGluayBlbGVtZW50Jyk7Cit0eXBlID0gJ2xpbmsnOwordGVzdCgpOworCis8L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Njcmlw
dD4KKzwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBM
YXlvdXRUZXN0cy9qcy9kb20vZG9tLXN0YXRpYy1wcm9wZXJ0eS1mb3ItaW4taXRlcmF0aW9uLWV4
cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9qcy9kb20vZG9tLXN0YXRpYy1w
cm9wZXJ0eS1mb3ItaW4taXRlcmF0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMTc1MDI3KQor
KysgTGF5b3V0VGVzdHMvanMvZG9tL2RvbS1zdGF0aWMtcHJvcGVydHktZm9yLWluLWl0ZXJhdGlv
bi1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTI3LDYgKzI3LDcgQEAgUEFTUyBhWyJw
cm90b2NvbCJdIGlzIGZpbGU6CiBQQVNTIGFbInNlYXJjaCJdIGlzIAogUEFTUyBhWyJvcmlnaW4i
XSBpcyBmaWxlOi8vCiBQQVNTIGFbInRleHQiXSBpcyBuZXJnZXQKK1BBU1MgYVsicmVsTGlzdCJd
IGlzIAogUEFTUyBhWyJ0aXRsZSJdIGlzIAogUEFTUyBhWyJsYW5nIl0gaXMgCiBQQVNTIGFbInRy
YW5zbGF0ZSJdIGlzIHRydWUKQEAgLTQ5LDcgKzUwLDcgQEAgUEFTUyBhWyJhdHRyaWJ1dGVzIl0g
aXMgW29iamVjdCBOYW1lZE5vZAogUEFTUyBhWyJzdHlsZSJdIGlzIFtvYmplY3QgQ1NTU3R5bGVE
ZWNsYXJhdGlvbl0KIFBBU1MgYVsiaWQiXSBpcyBmb28KIFBBU1MgYVsib2Zmc2V0TGVmdCJdIGlz
IDgKLVBBU1MgYVsib2Zmc2V0VG9wIl0gaXMgNzc0CitQQVNTIGFbIm9mZnNldFRvcCJdIGlzIDc4
OQogUEFTUyBhWyJvZmZzZXRXaWR0aCJdIGlzIDM5CiBQQVNTIGFbIm9mZnNldEhlaWdodCJdIGlz
IDE4CiBQQVNTIGFbImNsaWVudExlZnQiXSBpcyAwCkluZGV4OiBMYXlvdXRUZXN0cy9wZXJmL3Jl
bC1saXN0LXJlbW92ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVy
Zi9yZWwtbGlzdC1yZW1vdmUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVz
dHMvcGVyZi9yZWwtbGlzdC1yZW1vdmUtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsOCBAQAorVGVzdHMgdGhhdCByZWxMaXN0IHJlbW92ZSBpcyBsaW5lYXIuCitQQVNTCitQ
QVNTCitQQVNTCitQQVNTCitQQVNTCitQQVNTCisKSW5kZXg6IExheW91dFRlc3RzL3BlcmYvcmVs
LWxpc3QtcmVtb3ZlLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGVyZi9yZWwtbGlz
dC1yZW1vdmUuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BlcmYvcmVsLWxpc3Qt
cmVtb3ZlLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MiBAQAorPHNjcmlwdCBzcmM9
Ii4uL3Jlc291cmNlcy9tYWduaXR1ZGUtcGVyZi5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0PgorCit2
YXIgZWxlbWVudCwgcmVsLCByZWxUb1JlbW92ZSwgdHlwZTsKKworLy8gVGVzdCAxIHRlc3RzIHRo
YXQgcmVtb3ZlIGlzIGxpbmVhciB3aGVuIHRoZXJlIGFyZSBOIHJlbHMuCisKK2Z1bmN0aW9uIHNl
dHVwRnVuY3Rpb24xKG1hZ25pdHVkZSkKK3sKKyAgICBlbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCh0eXBlKTsKKyAgICByZWxUb1JlbW92ZSA9ICdiJzsKKyAgICByZWwgPSBBcnJheSht
YWduaXR1ZGUpLmpvaW4oJ2EgJykgKyByZWxUb1JlbW92ZTsKK30KKworLy8gVGVzdCAyIHRlc3Rz
IHRoYXQgcmVtb3ZlIGlzIGxpbmVhciB3aGVuIHRoZSBsZW5ndGggb2YgdGhlIHJlbCBpcyBOLgor
CitmdW5jdGlvbiBzZXR1cEZ1bmN0aW9uMihtYWduaXR1ZGUpCit7CisgICAgZWxlbWVudCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQodHlwZSk7CisgICAgcmVsVG9SZW1vdmUgPSBBcnJheShtYWdu
aXR1ZGUgKyAxKS5qb2luKCdhJyk7CisgICAgcmVsID0gcmVsVG9SZW1vdmU7Cit9CisKK2Z1bmN0
aW9uIHRlc3QobWFnbml0dWRlKQoreworICAgIGVsZW1lbnQucmVsID0gcmVsOworICAgIGVsZW1l
bnQucmVsTGlzdC5yZW1vdmUocmVsVG9SZW1vdmUpOworfQorCitNYWduaXR1ZGUuZGVzY3JpcHRp
b24oJ1Rlc3RzIHRoYXQgcmVsTGlzdCByZW1vdmUgaXMgbGluZWFyLicpOwordHlwZSA9ICdhJwor
TWFnbml0dWRlLnJ1bihzZXR1cEZ1bmN0aW9uMSwgdGVzdCwgTWFnbml0dWRlLkxJTkVBUik7CitN
YWduaXR1ZGUucnVuKHNldHVwRnVuY3Rpb24yLCB0ZXN0LCBNYWduaXR1ZGUuTElORUFSKTsKK3R5
cGUgPSAnYXJlYScKK01hZ25pdHVkZS5ydW4oc2V0dXBGdW5jdGlvbjEsIHRlc3QsIE1hZ25pdHVk
ZS5MSU5FQVIpOworTWFnbml0dWRlLnJ1bihzZXR1cEZ1bmN0aW9uMiwgdGVzdCwgTWFnbml0dWRl
LkxJTkVBUik7Cit0eXBlID0gJ2xpbmsnCitNYWduaXR1ZGUucnVuKHNldHVwRnVuY3Rpb24xLCB0
ZXN0LCBNYWduaXR1ZGUuTElORUFSKTsKK01hZ25pdHVkZS5ydW4oc2V0dXBGdW5jdGlvbjIsIHRl
c3QsIE1hZ25pdHVkZS5MSU5FQVIpOworCis8L3NjcmlwdD4KKzwvYm9keT4K
</data>

          </attachment>
      

    </bug>

</bugzilla>