<?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>62284</bug_id>
          
          <creation_ts>2011-06-08 08:35:38 -0700</creation_ts>
          <short_desc>IndexedDB: implement compound (array) key support</short_desc>
          <delta_ts>2011-11-08 12:51:40 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</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="Mark Pilgrim (Google)">pilgrim</reporter>
          <assigned_to name="Joshua Bell">jsbell</assigned_to>
          <cc>abarth</cc>
    
    <cc>dgrogan</cc>
    
    <cc>fishd</cc>
    
    <cc>hans</cc>
    
    <cc>japhet</cc>
    
    <cc>jsbell</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>417253</commentid>
    <comment_count>0</comment_count>
      <attachid>96426</attachid>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2011-06-08 08:35:38 -0700</bug_when>
    <thetext>Created attachment 96426
test case

Note in http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#key-construct states &quot;Infinite float values are valid keys. As are empty Arrays.&quot;

Expected behavior: add a record with an empty array as key
Actual behavior: FAIL request = objectStore.add([], []); threw exception Error: TYPE_MISMATCH_ERR: DOM Exception 17

Layout test attached.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417267</commentid>
    <comment_count>1</comment_count>
    <who name="Mark Pilgrim (Google)">pilgrim</who>
    <bug_when>2011-06-08 09:00:15 -0700</bug_when>
    <thetext>Turns out we don&apos;t accept any kind of array as a key. [1,2] and [[]] should also be valid keys, but they each throw.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417273</commentid>
    <comment_count>2</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2011-06-08 09:08:55 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Turns out we don&apos;t accept any kind of array as a key. [1,2] and [[]] should also be valid keys, but they each throw.

Yep, support for arrays as keys is on the TODO list (but not very high on it).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493652</commentid>
    <comment_count>3</comment_count>
      <attachid>113111</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-10-31 17:20:23 -0700</bug_when>
    <thetext>Created attachment 113111
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493653</commentid>
    <comment_count>4</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-10-31 17:22:10 -0700</bug_when>
    <thetext>Needs more tests before a proper review, but if hans@ or dgrogan@ want to take a look I&apos;d appreciate it. Several of the inline array-populating methods should probably be factored out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493655</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-10-31 17:23:32 -0700</bug_when>
    <thetext>Please wait for approval from fishd@chromium.org before submitting because this patch contains changes to the Chromium public API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493733</commentid>
    <comment_count>6</comment_count>
      <attachid>113111</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-10-31 21:22:46 -0700</bug_when>
    <thetext>Comment on attachment 113111
Patch

WebKit API changes LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>493983</commentid>
    <comment_count>7</comment_count>
      <attachid>113111</attachid>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2011-11-01 10:15:54 -0700</bug_when>
    <thetext>Comment on attachment 113111
Patch

Good stuff! Very nice.

Some comments below. And you should extend IDBLevelDBCodingTest to cover this.
In fact, if you&apos;d like to split up this patch to make it easier to review and land, that would probably be a natural division point: i.e. put the IDBKey, LevelDBCoding, LevelDBCodingTest in one patch, and the rest in another.

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        IndexedDB add() should accept array as key

maybe we should rename the bug to talk about compound keys instead

&gt; Source/WebCore/bindings/v8/IDBBindingUtilities.cpp:79
&gt; +                    return subkey;

hmm, why?

&gt; Source/WebCore/storage/IDBKey.cpp:52
&gt; +            if (result)

you could do &quot;if (int result = m_array[i]-&gt;compare...)&quot; and save a line :)

&gt; Source/WebCore/storage/IDBKey.cpp:56
&gt; +                (m_array.size() &gt; other-&gt;m_array.size()) ? 1 : 0;

hmm, probably easier on the eyes to just do if-elseif-else here

&gt; Source/WebCore/storage/IDBLevelDBCoding.cpp:368
&gt; +            encodeIDBKey(*((*it).get()), into);

I&apos;d probably split *((*it).get()) into two lines: &quot;const RefPtr&lt;IDBKey&gt;&amp; subKey = *it; encodeIdbKey(*subkey, into);&quot; Or maybe you could just use **it?

&gt; Source/WebCore/storage/IDBLevelDBCoding.cpp:481
&gt; +            p = extractEncodedIDBKey(p, limit, &amp;subkey);

ah, nice :)

&gt; Source/WebCore/storage/IDBLevelDBCoding.cpp:537
&gt; +            if (cmp)

again, feel free to save a line with &quot;if (int cmp = ...)&quot; here if you prefer.

&gt; Source/WebCore/storage/IDBLevelDBCoding.cpp:541
&gt; +                (lenA &gt; lenB) ? 1 : 0;

nested ?:s make me scared, i&apos;d just write it out as if-elseif-else.

&gt; Source/WebCore/storage/IDBLevelDBCoding.h:59
&gt; +void encodeIDBKey(const IDBKey&amp;, Vector&lt;char&gt;&amp;);

nit: I&apos;d give a name to the vector parameter here; it&apos;s not obvious that it&apos;s &quot;into&quot;.

&gt; Source/WebKit/chromium/src/WebIDBKey.cpp:133
&gt; +void convertToWebIDBKeyArray(WebVector&lt;WebIDBKey&gt;&amp; result, const IDBKey::KeyArray&amp; array)

i think it&apos;s more common to have the &quot;output&quot; parameter last.

&gt; Source/WebKit/chromium/src/WebIDBKey.cpp:222
&gt; +    // FIXME: This is probably sketchy with compound keys

why?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494002</commentid>
    <comment_count>8</comment_count>
      <attachid>113111</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-11-01 10:35:40 -0700</bug_when>
    <thetext>Comment on attachment 113111
Patch

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

Thanks, all good stuff. I&apos;m working on the chromium/tests and browser_tests next.

&gt;&gt; Source/WebCore/ChangeLog:3
&gt;&gt; +        IndexedDB add() should accept array as key
&gt; 
&gt; maybe we should rename the bug to talk about compound keys instead

Done

&gt;&gt; Source/WebCore/bindings/v8/IDBBindingUtilities.cpp:79
&gt;&gt; +                    return subkey;
&gt; 
&gt; hmm, why?

I didn&apos;t want to throw away and re-create an invalid key during each step of the stack unwinding since there&apos;s a perfectly serviceable one at hand. I changed the if (!subkey) to ASSERT_NOT_REACHED. 

Alternately, I could avoid creating an invalid key at all in this method, let a NULL propagating up the stack flag invalid, and let the public create() method create an invalid key for the final result. Opinions?

&gt;&gt; Source/WebCore/storage/IDBLevelDBCoding.cpp:481
&gt;&gt; +            p = extractEncodedIDBKey(p, limit, &amp;subkey);
&gt; 
&gt; ah, nice :)

As an aside, I&apos;m slightly concerned about the about of Vector&lt;char&gt; churn (i.e. lots of small allocs/copies/frees) in the encode/decode/extract methods, but I suppose we&apos;ll fix that if/when it shows up on a profile.

&gt;&gt; Source/WebKit/chromium/src/WebIDBKey.cpp:222
&gt;&gt; +    // FIXME: This is probably sketchy with compound keys
&gt; 
&gt; why?

Early misunderstanding about how WebIDBKeys related to WebCore::IDBKeys; removed these notes-to-self.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494843</commentid>
    <comment_count>9</comment_count>
      <attachid>113357</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-11-02 13:10:39 -0700</bug_when>
    <thetext>Created attachment 113357
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495111</commentid>
    <comment_count>10</comment_count>
      <attachid>113412</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-11-02 17:59:41 -0700</bug_when>
    <thetext>Created attachment 113412
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495113</commentid>
    <comment_count>11</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-11-02 18:01:44 -0700</bug_when>
    <thetext>I think this is &quot;done&quot;, review at leisure - I have corresponding chromium-side browser_tests ready to go as well.

Better name suggestions for the &quot;codingToOrder&quot; function in IDBLevelDBCoding.cpp appreciated</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495202</commentid>
    <comment_count>12</comment_count>
      <attachid>113433</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-11-02 22:07:48 -0700</bug_when>
    <thetext>Created attachment 113433
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495203</commentid>
    <comment_count>13</comment_count>
      <attachid>113433</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-11-02 22:08:44 -0700</bug_when>
    <thetext>Comment on attachment 113433
Patch

Added one more layout test which validates cursor result ordering and that IDBCursor.key yields correct values for array-type keys.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495542</commentid>
    <comment_count>14</comment_count>
      <attachid>113433</attachid>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2011-11-03 09:38:00 -0700</bug_when>
    <thetext>Comment on attachment 113433
Patch

LGTM with nits


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

&gt; Source/WebCore/storage/IDBLevelDBCoding.cpp:520
&gt;  {

Or maybe KeyTypeByteToKeyType?

&gt; Source/WebCore/storage/IDBLevelDBCoding.cpp:549
&gt; +    if (int x = codingToOrder(typeB) - codingToOrder(typeA))

Maybe IDBKey should have a &quot;static int compareTypes(IDBKey::Type a, IDBKey::Type b)&quot; that does this.. as it is now, one needs to know what the enum inside IDBKey looks like to see why this subtraction does the right thing.

&gt; Source/WebKit/chromium/src/WebIDBKey.cpp:96
&gt; +PassRefPtr&lt;IDBKey&gt; convertFromWebIDBKeyArray(const WebVector&lt;WebIDBKey&gt;&amp; array)

should this be static?

&gt; Source/WebKit/chromium/src/WebIDBKey.cpp:122
&gt; +void convertToWebIDBKeyArray(const IDBKey::KeyArray&amp; array, WebVector&lt;WebIDBKey&gt;&amp; result)

should this be static?

&gt; Source/WebKit/chromium/src/WebIDBKey.cpp:124
&gt; +    WebVector&lt;WebIDBKey&gt; keys(array.size()), subkeys;

I&apos;d probably declare them on one line each

&gt; LayoutTests/storage/indexeddb/cursor-key-order.html:31
&gt; +    evalAndLog(&quot;openreq = indexedDB.open(&apos;db&apos;)&quot;);

we normally use the name of the layout test to name the database</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>495764</commentid>
    <comment_count>15</comment_count>
      <attachid>113551</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-11-03 13:43:29 -0700</bug_when>
    <thetext>Created attachment 113551
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496140</commentid>
    <comment_count>16</comment_count>
    <who name="Hans Wennborg">hans</who>
    <bug_when>2011-11-04 04:18:14 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; Created an attachment (id=113551) [details]
&gt; Patch

LGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496309</commentid>
    <comment_count>17</comment_count>
      <attachid>113551</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-11-04 10:59:44 -0700</bug_when>
    <thetext>Comment on attachment 113551
Patch

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

&gt; Source/WebCore/bindings/v8/IDBBindingUtilities.cpp:59
&gt; +    PassRefPtr&lt;IDBKey&gt; createInternal(v8::Handle&lt;v8::Value&gt; value)
&gt; +    {
&gt; +        if (value-&gt;IsNumber() &amp;&amp; !isnan(value-&gt;NumberValue()))

What&apos;s the benefit of having a KeyCreator class?  Couldn&apos;t it just be a static function?

&gt; Source/WebCore/bindings/v8/IDBBindingUtilities.cpp:74
&gt; +            for (uint32_t i = 0; i &lt; length; i++) {

Nit: ++i

&gt; Source/WebCore/bindings/v8/IDBBindingUtilities.cpp:91
&gt; +    Vector&lt;v8::Handle&lt;v8::Array&gt; &gt; m_stack;

Why is this a member variable?

&gt; Source/WebCore/bindings/v8/custom/V8IDBKeyCustom.cpp:63
&gt; +    case IDBKey::ArrayType:
&gt; +        array = v8::Array::New(key-&gt;array().size());
&gt; +        for (size_t i = 0; i &lt; key-&gt;array().size(); ++i)
&gt; +            array-&gt;Set(i, toV8(key-&gt;array()[i].get()));
&gt; +        return array;

Nit: I would declare array in the case block.  You&apos;ll need to use {} to scope the variable declartion.

&gt; Source/WebCore/storage/IDBLevelDBCoding.cpp:305
&gt; +int compareEncodedStringsWithLength(const char*&amp; p, const char* limitP, const char*&amp; q, const char* limitQ)

The pass by reference here seems unnecessary.  It looks like the changed values are only used in the unit test.  Can you instead ASSERT in this function that p + lenP*2 == limitP?

&gt; Source/WebCore/storage/IDBLevelDBCoding.cpp:365
&gt; +    size_t prevSize = into.size();
&gt; +    size_t len;

Nit: Avoid abbreviations for variable names.  prevSize -&gt; previousSize and len -&gt; length.

&gt; Source/WebCore/storage/IDBLevelDBCoding.cpp:379
&gt; +    case IDBKey::ArrayType:
&gt; +        into.append(encodeByte(kIDBKeyArrayTypeByte));
&gt; +        len = key.array().size();
&gt; +        into.append(encodeVarInt(len));
&gt; +        for (size_t i = 0; i &lt; len; ++i)
&gt; +            encodeIDBKey(*key.array()[i], into);
&gt; +        ASSERT_UNUSED(prevSize, into.size() &gt; prevSize);
&gt; +        return;

I would also put this in {} and scope the declaration of length.

&gt; Source/WebCore/storage/IDBLevelDBCoding.cpp:410
&gt; +    int64_t len;

Nit: len -&gt; length

&gt; Source/WebCore/storage/IDBLevelDBCoding.cpp:420
&gt; +    case kIDBKeyArrayTypeByte:

{} and scoped variables

&gt; Source/WebCore/storage/IDBLevelDBCoding.cpp:421
&gt; +        // Array.

I would remove this comment.

&gt; Source/WebCore/storage/IDBLevelDBCoding.cpp:471
&gt; +    int64_t len;

len -&gt; length

&gt; Source/WebCore/storage/IDBLevelDBCoding.cpp:480
&gt; +    case kIDBKeyArrayTypeByte:
&gt; +        // Array.

Same comments as above.

&gt; Source/WebCore/storage/IDBLevelDBCoding.cpp:498
&gt;      case kIDBKeyStringTypeByte:
&gt;          // String.
&gt; -        p = decodeVarInt(p, limit, stringLen);
&gt; +        p = decodeVarInt(p, limit, len);

I would scope stringLength and get rid of the comment.

&gt; Source/WebCore/storage/IDBLevelDBCoding.cpp:534
&gt; +    default:

No default: on switches so the compiler will give an error if you forget a case.  You&apos;ll need to move the ASSERT_NOT_REACHED and return InvalidType outside the switch to make some versions of gcc happy.

&gt; Source/WebCore/storage/IDBLevelDBCoding.cpp:547
&gt; +    int64_t lenA, lenB;

lenA -&gt; lengthA, lenB -&gt; lengthB.

&gt; Source/WebCore/storage/IDBLevelDBCoding.cpp:558
&gt; +    case kIDBKeyArrayTypeByte:
&gt; +        // Array type.

Scoped local variables, no comment.

&gt; Source/WebCore/storage/IDBLevelDBCoding.cpp:566
&gt; +            if (int cmp = compareEncodedIDBKeys(p, limitA, q, limitB))

Is it possible to nest arrays in arrays?  If so, is there a limit?  Otherwise I think you can overflow the stack (too much recursion) if you nest lots of arrays.

&gt; Source/WebKit/chromium/src/WebIDBKey.cpp:116
&gt; +        default:
&gt; +            ASSERT_NOT_REACHED();
&gt; +            break;

No default:

&gt; Source/WebKit/chromium/src/WebIDBKey.cpp:144
&gt; +        default:
&gt; +            ASSERT_NOT_REACHED();
&gt; +            break;

No default:</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496328</commentid>
    <comment_count>18</comment_count>
      <attachid>113551</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-11-04 11:13:16 -0700</bug_when>
    <thetext>Comment on attachment 113551
Patch

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

All the nits/style feedback is awesome, thanks.

&gt;&gt; Source/WebCore/bindings/v8/IDBBindingUtilities.cpp:59
&gt;&gt; +        if (value-&gt;IsNumber() &amp;&amp; !isnan(value-&gt;NumberValue()))
&gt; 
&gt; What&apos;s the benefit of having a KeyCreator class?  Couldn&apos;t it just be a static function?

This class exists to support cycle detection, i.e. ensuring that arrays don&apos;t contain themselves. A class is used to contain the m_stack state, which tracks parent arrays during the recursion.

If we want to impose a depth limit on nested arrays we&apos;d do so here (if m_stack.size() &gt; SOME_LIMIT ... return Invalid) since this is where script data enters the IDBKey system.

&gt; Source/WebCore/bindings/v8/IDBBindingUtilities.cpp:68
&gt; +            if (m_stack.contains(array))

^^^^ That&apos;s the the bit where we prevent cycles.

&gt;&gt; Source/WebCore/bindings/v8/custom/V8IDBKeyCustom.cpp:63
&gt;&gt; +        return array;
&gt; 
&gt; Nit: I would declare array in the case block.  You&apos;ll need to use {} to scope the variable declartion.

Excellent, I much prefer that style, I just didn&apos;t see it used in nearby examples or the style guide.

&gt;&gt; Source/WebCore/storage/IDBLevelDBCoding.cpp:305
&gt;&gt; +int compareEncodedStringsWithLength(const char*&amp; p, const char* limitP, const char*&amp; q, const char* limitQ)
&gt; 
&gt; The pass by reference here seems unnecessary.  It looks like the changed values are only used in the unit test.  Can you instead ASSERT in this function that p + lenP*2 == limitP?

They&apos;re used when decoding arrays; the string may exist within a larger buffer containing several concatenated strings (or other values). That assertion would be invalid, as limitP is the end of the overall buffer. 

(The inputs to this function end up being two start and two end pointers; the outputs are the comparison result plus the two updated pointers, for subsequent decoding/comparison operations.)

&gt;&gt; Source/WebCore/storage/IDBLevelDBCoding.cpp:566

&gt; 
&gt; Is it possible to nest arrays in arrays?  If so, is there a limit?  Otherwise I think you can overflow the stack (too much recursion) if you nest lots of arrays.

See above re: nesting and limits. Suggestions on a limit? I can borrow from what SerializedScriptValue uses. (SSV&apos;s explicitly support cycles but do have depth limits)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496401</commentid>
    <comment_count>19</comment_count>
      <attachid>113551</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-11-04 13:13:19 -0700</bug_when>
    <thetext>Comment on attachment 113551
Patch

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

&gt;&gt;&gt; Source/WebCore/bindings/v8/IDBBindingUtilities.cpp:59
&gt;&gt;&gt; +        if (value-&gt;IsNumber() &amp;&amp; !isnan(value-&gt;NumberValue()))
&gt;&gt; 
&gt;&gt; What&apos;s the benefit of having a KeyCreator class?  Couldn&apos;t it just be a static function?
&gt; 
&gt; This class exists to support cycle detection, i.e. ensuring that arrays don&apos;t contain themselves. A class is used to contain the m_stack state, which tracks parent arrays during the recursion.
&gt; 
&gt; If we want to impose a depth limit on nested arrays we&apos;d do so here (if m_stack.size() &gt; SOME_LIMIT ... return Invalid) since this is where script data enters the IDBKey system.

Can we pass m_stack in as a parameter (pass-by-reference) to createInteral?  You could either make 2 static functions or keep the class and have the stack created in the create() method above.

As for a limit, it looks like SerializedScriptValue has a limit of 40,000 in JSC and 20,000 in V8.  I&apos;m not sure what&apos;s appropriate for you, but 20,000 is probably plenty.  Make sure to add this case to your tests.

&gt;&gt;&gt; Source/WebCore/storage/IDBLevelDBCoding.cpp:305
&gt;&gt;&gt; +int compareEncodedStringsWithLength(const char*&amp; p, const char* limitP, const char*&amp; q, const char* limitQ)
&gt;&gt; 
&gt;&gt; The pass by reference here seems unnecessary.  It looks like the changed values are only used in the unit test.  Can you instead ASSERT in this function that p + lenP*2 == limitP?
&gt; 
&gt; They&apos;re used when decoding arrays; the string may exist within a larger buffer containing several concatenated strings (or other values). That assertion would be invalid, as limitP is the end of the overall buffer. 
&gt; 
&gt; (The inputs to this function end up being two start and two end pointers; the outputs are the comparison result plus the two updated pointers, for subsequent decoding/comparison operations.)

OK, that makes sense.  It makes me a bit nervous because it looks like in release builds, if an assert fails, we&apos;ll happily start pointing into random memory.  Should we be more cautious here or do we fully control all the serializing and unserializing code?  Do we have to worry about files being corrupted on disk?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496500</commentid>
    <comment_count>20</comment_count>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-11-04 15:20:15 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; Can we pass m_stack in as a parameter (pass-by-reference) to createInteral?  You could either make 2 static functions or keep the class and have the stack created in the create() method above.

Ah, much cleaner, will do.
 
&gt; As for a limit, it looks like SerializedScriptValue has a limit of 40,000 in JSC and 20,000 in V8.  I&apos;m not sure what&apos;s appropriate for you, but 20,000 is probably plenty.  Make sure to add this case to your tests.

Agreed.
 
&gt; &gt; (The inputs to this function end up being two start and two end pointers; the outputs are the comparison result plus the two updated pointers, for subsequent decoding/comparison operations.)
&gt; 
&gt; OK, that makes sense.  It makes me a bit nervous because it looks like in release builds, if an assert fails, we&apos;ll happily start pointing into random memory.  Should we be more cautious here or do we fully control all the serializing and unserializing code?  Do we have to worry about files being corrupted on disk?

We control the code but agree we should be more paranoid. I&apos;ve added an additional runtime check that p and q haven&apos;t gone past their limits, and bail if they have. This matches what the compareEncodedXXX() logic does if e.g. decodeVarInt wanders past the limit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496533</commentid>
    <comment_count>21</comment_count>
      <attachid>113727</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-11-04 16:19:48 -0700</bug_when>
    <thetext>Created attachment 113727
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496554</commentid>
    <comment_count>22</comment_count>
      <attachid>113727</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-11-04 16:43:36 -0700</bug_when>
    <thetext>Comment on attachment 113727
Patch

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

&gt; LayoutTests/storage/indexeddb/key-type-array.html:207
&gt; +    evalAndExpectException(&quot;indexedDB.cmp(makeArrayOfDepth(100000), 0)&quot;, &quot;IDBDatabaseException.DATA_ERR&quot;);

You may want to double check that this runs quickly in debug, but I think you&apos;ll be fine (looks like in release it&apos;s only like 50ms or so to create the structure).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496557</commentid>
    <comment_count>23</comment_count>
      <attachid>113727</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-11-04 16:48:07 -0700</bug_when>
    <thetext>Comment on attachment 113727
Patch

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

&gt;&gt; LayoutTests/storage/indexeddb/key-type-array.html:207
&gt;&gt; +    evalAndExpectException(&quot;indexedDB.cmp(makeArrayOfDepth(100000), 0)&quot;, &quot;IDBDatabaseException.DATA_ERR&quot;);
&gt; 
&gt; You may want to double check that this runs quickly in debug, but I think you&apos;ll be fine (looks like in release it&apos;s only like 50ms or so to create the structure).

Definitely slows down the test... looks like it takes ~650ms in Debug on my box. I&apos;ll drop the number to 50k (~350ms) which will still trip the depth check.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498307</commentid>
    <comment_count>24</comment_count>
      <attachid>114128</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-11-08 11:59:20 -0800</bug_when>
    <thetext>Created attachment 114128
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498308</commentid>
    <comment_count>25</comment_count>
      <attachid>114128</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-08 12:00:06 -0800</bug_when>
    <thetext>Comment on attachment 114128
Patch for landing

Rejecting attachment 114128 from commit-queue.

jsbell@chromium.org does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498311</commentid>
    <comment_count>26</comment_count>
      <attachid>114128</attachid>
    <who name="Joshua Bell">jsbell</who>
    <bug_when>2011-11-08 12:01:51 -0800</bug_when>
    <thetext>Comment on attachment 114128
Patch for landing

drops the max depth to 50k

@tony - one more look?

(dgrogan and I tried &quot;land-safely&quot; to preserve the r+ but that does not appear to have done what we&apos;d hoped)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498338</commentid>
    <comment_count>27</comment_count>
      <attachid>114128</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-11-08 12:21:55 -0800</bug_when>
    <thetext>Comment on attachment 114128
Patch for landing

Note that the new patch has &quot;Reviewed by Tony Chang.&quot; in it, so it doesn&apos;t need to be reviewed again.

That&apos;s really all land-safely does (change the OOPS to the reviewer name).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498373</commentid>
    <comment_count>28</comment_count>
      <attachid>114128</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-08 12:51:33 -0800</bug_when>
    <thetext>Comment on attachment 114128
Patch for landing

Clearing flags on attachment: 114128

Committed r99609: &lt;http://trac.webkit.org/changeset/99609&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498374</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-08 12:51:40 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>96426</attachid>
            <date>2011-06-08 08:35:38 -0700</date>
            <delta_ts>2011-06-08 08:35:38 -0700</delta_ts>
            <desc>test case</desc>
            <filename>key-types.html</filename>
            <type>text/html</type>
            <size>2366</size>
            <attacher name="Mark Pilgrim (Google)">pilgrim</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxodG1sPgo8aGVhZD4KPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+CjxzY3JpcHQgc3Jj
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CjxzY3Jp
cHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QtZnVuY3Rpb24uanMi
Pjwvc2NyaXB0Pgo8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYXJlZC5qcyI+PC9zY3JpcHQ+Cjwv
aGVhZD4KPGJvZHk+CjxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgo8ZGl2IGlkPSJjb25zb2xlIj48
L2Rpdj4KPHNjcmlwdD4KCmRlc2NyaXB0aW9uKCJUZXN0IEluZGV4ZWREQiBrZXkgdHlwZXMiKTsK
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKICAgIGxheW91dFRlc3RDb250cm9sbGVy
LndhaXRVbnRpbERvbmUoKTsKCmZ1bmN0aW9uIHRlc3QoKQp7CiAgICBpbmRleGVkREIgPSBldmFs
QW5kTG9nKCJpbmRleGVkREIgPSB3aW5kb3cuaW5kZXhlZERCIHx8IHdpbmRvdy53ZWJraXRJbmRl
eGVkREIgfHwgd2luZG93Lm1vekluZGV4ZWREQjsiKTsKICAgIHNob3VsZEJlRmFsc2UoImluZGV4
ZWREQiA9PSBudWxsIik7CiAgICBJREJEYXRhYmFzZUV4Y2VwdGlvbiA9IGV2YWxBbmRMb2coIklE
QkRhdGFiYXNlRXhjZXB0aW9uID0gd2luZG93LklEQkRhdGFiYXNlRXhjZXB0aW9uIHx8IHdpbmRv
dy53ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbjsiKTsKICAgIHNob3VsZEJlRmFsc2UoIklEQkRh
dGFiYXNlRXhjZXB0aW9uID09IG51bGwiKTsKICAgIElEQkN1cnNvciA9IGV2YWxBbmRMb2coIklE
QkN1cnNvciA9IHdpbmRvdy5JREJDdXJzb3IgfHwgd2luZG93LndlYmtpdElEQkN1cnNvcjsiKTsK
ICAgIHNob3VsZEJlRmFsc2UoIklEQkN1cnNvciA9PSBudWxsIik7CiAgICBJREJLZXlSYW5nZSA9
IGV2YWxBbmRMb2coIklEQktleVJhbmdlID0gd2luZG93LklEQktleVJhbmdlIHx8IHdpbmRvdy53
ZWJraXRJREJLZXlSYW5nZTsiKTsKICAgIHNob3VsZEJlRmFsc2UoIklEQktleVJhbmdlID09IG51
bGwiKTsKCiAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOwogICAgZGVzY3JpcHRp
b24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CiAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygiaW5kZXhl
ZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CiAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9IG9w
ZW5TdWNjZXNzOwogICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7
Cn0KCmZ1bmN0aW9uIG9wZW5TdWNjZXNzKCkKewogICAgZGIgPSBldmFsQW5kTG9nKCJkYiA9IGV2
ZW50LnRhcmdldC5yZXN1bHQiKTsKCiAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9
IGRiLnNldFZlcnNpb24oJzEnKSIpOwogICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSB0ZXN0R3JvdXAx
OwogICAgcmVxdWVzdC5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cn0KCmZ1bmN0
aW9uIHRlc3RHcm91cDEoKQp7CiAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIpOwoKICAgIG9i
amVjdFN0b3JlID0gZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ2ZvbycpOyIpOwog
ICAgZGVidWcoInRlc3Qga2V5IGFzIGZsb2F0Iik7CiAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygi
cmVxdWVzdCA9IG9iamVjdFN0b3JlLmFkZChbXSwgMC4xKTsiKTsKICAgIHJlcXVlc3Qub25zdWNj
ZXNzID0gdGVzdEdyb3VwMjsKICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNh
bGxiYWNrOwp9CgpmdW5jdGlvbiB0ZXN0R3JvdXAyKCkKewogICAgZGVidWcoInRlc3Qga2V5IGFz
IGRhdGUiKTsKICAgIHJlcXVlc3QgPSBldmFsQW5kTG9nKCJyZXF1ZXN0ID0gb2JqZWN0U3RvcmUu
YWRkKFtdLCBuZXcgRGF0ZSgpKTsiKTsKICAgIHJlcXVlc3Qub25zdWNjZXNzID0gdGVzdEdyb3Vw
MzsKICAgIHJlcXVlc3Qub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOwp9CgpmdW5j
dGlvbiB0ZXN0R3JvdXAzKCkKewogICAgZGVidWcoInRlc3Qga2V5IGFzIGVtcHR5IGFycmF5Iik7
CiAgICByZXF1ZXN0ID0gZXZhbEFuZExvZygicmVxdWVzdCA9IG9iamVjdFN0b3JlLmFkZChbXSwg
W10pOyIpOwogICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSB0ZXN0R3JvdXA0OwogICAgcmVxdWVzdC5v
bmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7Cn0KCmZ1bmN0aW9uIHRlc3RHcm91cDQo
KQp7CiAgICBkb25lKCk7Cn0KCnZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwoKdGVzdCgp
OwoKPC9zY3JpcHQ+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113111</attachid>
            <date>2011-10-31 17:20:23 -0700</date>
            <delta_ts>2011-11-02 13:10:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62284-20111031172022.patch</filename>
            <type>text/plain</type>
            <size>71744</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg3NTIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjMzczMTM0MmQ3M2ZjYjhk
YWFiZGVmODI5YjZlYmJiN2E0NjMyNzNkLi4zZmQyOGZmNDY1NjY5ODlmOGUyZTk3OTlhYzViM2M4
ZDAzMjQwZGIyIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzQgQEAKKzIwMTEtMTAtMzEgIEpvc2h1
YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREIgYWRkKCkg
c2hvdWxkIGFjY2VwdCBhcnJheSBhcyBrZXkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTYyMjg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGVzdDogc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtYXJyYXku
aHRtbAorCisgICAgICAgICogYmluZGluZ3MvanMvSlNJREJLZXlDdXN0b20uY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgICogYmluZGluZ3MvdjgvSURCQmluZGluZ1V0aWxp
dGllcy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJLZXlDcmVhdG9yOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6SURCS2V5Q3JlYXRvcjo6SURCS2V5Q3JlYXRvcik6CisgICAgICAgIChX
ZWJDb3JlOjpJREJLZXlDcmVhdG9yOjpjcmVhdGVJbnRlcm5hbCk6CisgICAgICAgIChXZWJDb3Jl
OjpjcmVhdGVJREJLZXlGcm9tVmFsdWUpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9W
OElEQktleUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b1Y4KToKKyAgICAgICAgKiBz
dG9yYWdlL0lEQktleS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJLZXk6OmNvbXBhcmUpOgor
ICAgICAgICAqIHN0b3JhZ2UvSURCS2V5Lmg6CisgICAgICAgIChXZWJDb3JlOjpJREJLZXk6OmNy
ZWF0ZUFycmF5KToKKyAgICAgICAgKFdlYkNvcmU6OklEQktleTo6dmFsaWQpOgorICAgICAgICAo
V2ViQ29yZTo6SURCS2V5OjphcnJheSk6CisgICAgICAgICogc3RvcmFnZS9JREJMZXZlbERCQ29k
aW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OklEQkxldmVsREJDb2Rpbmc6OmVuY29kZUlEQktl
eSk6CisgICAgICAgIChXZWJDb3JlOjpJREJMZXZlbERCQ29kaW5nOjpkZWNvZGVJREJLZXkpOgor
ICAgICAgICAoV2ViQ29yZTo6SURCTGV2ZWxEQkNvZGluZzo6ZXh0cmFjdEVuY29kZWRJREJLZXkp
OgorICAgICAgICAoV2ViQ29yZTo6SURCTGV2ZWxEQkNvZGluZzo6Y29tcGFyZUVuY29kZWRJREJL
ZXlzKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQkxldmVsREJDb2RpbmcuaDoKKwogMjAxMS0xMC0y
OCAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBGaXgg
YnVpbGRzIHdoaWNoIGhhdmUgQUNDRUxFUkFURURfQ09NUE9TSVRJTkcgZGlzYWJsZWQuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4IDkwNzU1NGZmYWRkNGU2MzU2NjcxYWQwNzg4YmM2YmRj
NGQ3NDFmNGQuLjgxOTU1YWQ2YTcwNjk2MWVjODI2ZTEyNDVhZGQzYzc4YmNmODEwODYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTEtMTAtMzEgIEpvc2h1
YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREIgYWRkKCkg
c2hvdWxkIGFjY2VwdCBhcnJheSBhcyBrZXkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTYyMjg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViSURCS2V5Lmg6CisgICAgICAgICogc3JjL0Fz
c2VydE1hdGNoaW5nRW51bXMuY3BwOgorICAgICAgICAqIHNyYy9XZWJJREJLZXkuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJJREJLZXk6OmNyZWF0ZUFycmF5KToKKyAgICAgICAgKFdlYktpdDo6
Y29udmVydEZyb21XZWJJREJLZXlBcnJheSk6CisgICAgICAgIChXZWJLaXQ6OmNvbnZlcnRUb1dl
YklEQktleUFycmF5KToKKyAgICAgICAgKFdlYktpdDo6V2ViSURCS2V5Ojphc3NpZ25BcnJheSk6
CisgICAgICAgIChXZWJLaXQ6OldlYklEQktleTo6YXJyYXkpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJJREJLZXk6OldlYklEQktleSk6CisgICAgICAgIChXZWJLaXQ6OldlYklEQktleTo6b3BlcmF0
b3I9KToKKwogMjAxMS0xMC0yOCAgSm9jaGVuIEVpc2luZ2VyICA8am9jaGVuQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBSZW5hbWUgYSBudW1iZXIgb2YgbWV0aG9kcyBtZW50aW9uaW5nIEphdmFT
Y3JpcHQgdG8ganVzdCBTY3JpcHQgaW5zdGVhZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNJREJLZXlDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNJREJLZXlDdXN0b20uY3BwCmluZGV4IDEwMjc4ZjNjY2YxZjRhNjY2ZGQ4NmU5OTkwNzdl
ZjlkZTgxMmI0OTMuLjYyZmE3Y2JlMThmYzk5ZjgxNzg5OTc5YjEwMTZiZjdlNGUyNGVlNDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSURCS2V5Q3VzdG9tLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0lEQktleUN1c3RvbS5jcHAKQEAgLTQ4
LDYgKzQ4LDcgQEAgSlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmpl
Y3QqLCBJREJLZXkqIGtleSkKICAgICBjYXNlIElEQktleTo6U3RyaW5nVHlwZToKICAgICAgICAg
cmV0dXJuIGpzU3RyaW5nKGV4ZWMsIGtleS0+c3RyaW5nKCkpOwogICAgIC8vIEZJWE1FOiBJbXBs
ZW1lbnQgZGF0ZXMuCisgICAgLy8gRklYTUU6IEltcGxlbWVudCBhcnJheXMuCiAgICAgfQogCiAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy92OC9JREJCaW5kaW5nVXRpbGl0aWVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L0lEQkJpbmRpbmdVdGlsaXRpZXMuY3BwCmluZGV4IGNiNmFiMGE3ZGNkNWJlYTczNTViMGI5
YjE0ZTE1MjE4MmRhY2ZlODkuLmE0YzcxYjE4NTRmNjc4ZWU1OTEwYTVkZjI1OTYwNTBlZDU0YmQ0
YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0lEQkJpbmRpbmdVdGls
aXRpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0lEQkJpbmRpbmdVdGls
aXRpZXMuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTM4LDE2ICszOCw1OSBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIElE
QktleUNyZWF0b3IgeworICBwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8SURCS2V5PiBj
cmVhdGUodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlKQorICAgIHsKKyAgICAgICAgSURCS2V5
Q3JlYXRvciBjcmVhdG9yOworICAgICAgICByZXR1cm4gY3JlYXRvci5jcmVhdGVJbnRlcm5hbCh2
YWx1ZSk7CisgICAgfQorCisgIHByaXZhdGU6CisgICAgSURCS2V5Q3JlYXRvcigpCisgICAgewor
ICAgIH0KKyAgICBJREJLZXlDcmVhdG9yKGNvbnN0IElEQktleUNyZWF0b3ImKTsKKyAgICBJREJL
ZXlDcmVhdG9yJiBvcGVyYXRvcj0oY29uc3QgSURCS2V5Q3JlYXRvciYpOworCisgICAgUGFzc1Jl
ZlB0cjxJREJLZXk+IGNyZWF0ZUludGVybmFsKHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2YWx1ZSkK
KyAgICB7CisgICAgICAgIGlmICh2YWx1ZS0+SXNOdW1iZXIoKSAmJiAhaXNuYW4odmFsdWUtPk51
bWJlclZhbHVlKCkpKQorICAgICAgICAgICAgcmV0dXJuIElEQktleTo6Y3JlYXRlTnVtYmVyKHZh
bHVlLT5OdW1iZXJWYWx1ZSgpKTsKKyAgICAgICAgaWYgKHZhbHVlLT5Jc1N0cmluZygpKQorICAg
ICAgICAgICAgcmV0dXJuIElEQktleTo6Y3JlYXRlU3RyaW5nKHY4VmFsdWVUb1dlYkNvcmVTdHJp
bmcodmFsdWUpKTsKKyAgICAgICAgaWYgKHZhbHVlLT5Jc0RhdGUoKSkKKyAgICAgICAgICAgIHJl
dHVybiBJREJLZXk6OmNyZWF0ZURhdGUodmFsdWUtPk51bWJlclZhbHVlKCkpOworICAgICAgICBp
ZiAodmFsdWUtPklzQXJyYXkoKSkgeworICAgICAgICAgICAgdjg6OkhhbmRsZTx2ODo6QXJyYXk+
IGFycmF5ID0gdjg6OkhhbmRsZTx2ODo6QXJyYXk+OjpDYXN0KHZhbHVlKTsKKworICAgICAgICAg
ICAgaWYgKG1fc3RhY2suY29udGFpbnMoYXJyYXkpKQorICAgICAgICAgICAgICAgIHJldHVybiBJ
REJLZXk6OmNyZWF0ZUludmFsaWQoKTsKKyAgICAgICAgICAgIG1fc3RhY2suYXBwZW5kKGFycmF5
KTsKKworICAgICAgICAgICAgSURCS2V5OjpLZXlBcnJheSBzdWJrZXlzOworICAgICAgICAgICAg
dWludDMyX3QgbGVuZ3RoID0gYXJyYXktPkxlbmd0aCgpOworICAgICAgICAgICAgZm9yICh1aW50
MzJfdCBpID0gMDsgaSA8IGxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICAgICAgdjg6OkxvY2Fs
PHY4OjpWYWx1ZT4gc3VidmFsdWUgPSBhcnJheS0+R2V0KHY4OjpJbnQzMjo6TmV3KGkpKTsKKyAg
ICAgICAgICAgICAgICBSZWZQdHI8SURCS2V5PiBzdWJrZXkgPSBjcmVhdGVJbnRlcm5hbChzdWJ2
YWx1ZSk7CisgICAgICAgICAgICAgICAgaWYgKCFzdWJrZXkpCisgICAgICAgICAgICAgICAgICAg
IHJldHVybiBJREJLZXk6OmNyZWF0ZUludmFsaWQoKTsKKyAgICAgICAgICAgICAgICBpZiAoIXN1
YmtleS0+dmFsaWQoKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHN1YmtleTsKKyAgICAg
ICAgICAgICAgICBzdWJrZXlzLmFwcGVuZChzdWJrZXkpOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgbV9zdGFjay5yZW1vdmVMYXN0KCk7CisgICAgICAgICAgICByZXR1cm4gSURCS2V5Ojpj
cmVhdGVBcnJheShzdWJrZXlzKTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gSURCS2V5Ojpj
cmVhdGVJbnZhbGlkKCk7CisgICAgfQorCisgICAgVmVjdG9yPHY4OjpIYW5kbGU8djg6OkFycmF5
PiA+IG1fc3RhY2s7Cit9OworCiBQYXNzUmVmUHRyPElEQktleT4gY3JlYXRlSURCS2V5RnJvbVZh
bHVlKHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2YWx1ZSkKIHsKLSAgICBpZiAodmFsdWUtPklzTnVt
YmVyKCkgJiYgIWlzbmFuKHZhbHVlLT5OdW1iZXJWYWx1ZSgpKSkKLSAgICAgICAgcmV0dXJuIElE
QktleTo6Y3JlYXRlTnVtYmVyKHZhbHVlLT5OdW1iZXJWYWx1ZSgpKTsKLSAgICBpZiAodmFsdWUt
PklzU3RyaW5nKCkpCi0gICAgICAgIHJldHVybiBJREJLZXk6OmNyZWF0ZVN0cmluZyh2OFZhbHVl
VG9XZWJDb3JlU3RyaW5nKHZhbHVlKSk7Ci0gICAgaWYgKHZhbHVlLT5Jc0RhdGUoKSkKLSAgICAg
ICAgcmV0dXJuIElEQktleTo6Y3JlYXRlRGF0ZSh2YWx1ZS0+TnVtYmVyVmFsdWUoKSk7Ci0KLSAg
ICByZXR1cm4gSURCS2V5OjpjcmVhdGVJbnZhbGlkKCk7CisgICAgcmV0dXJuIElEQktleUNyZWF0
b3I6OmNyZWF0ZSh2YWx1ZSk7CiB9CiAKIG5hbWVzcGFjZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJREJLZXlDdXN0b20uY3BwIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SURCS2V5Q3VzdG9tLmNwcAppbmRleCAzYjRlZGE4
NzdlYWY3YWUzNWU2YjFjZGVkYmEyZmExNzkzM2I1ZGRlLi4xZjc0NmI1OGVlNGRlOGQ4NWJjN2M5
ZjljNTZjMjU3ZWVmYTA3Njk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhJREJLZXlDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOElEQktleUN1c3RvbS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTM0LDYgKzM0LDggQEAKICNpbmNsdWRlICJJ
REJLZXkuaCIKICNpbmNsdWRlICJWOEJpbmRpbmcuaCIKIAorI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChJ
REJLZXkqIGtleSkKQEAgLTQxLDYgKzQzLDggQEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgo
SURCS2V5KiBrZXkpCiAgICAgaWYgKCFrZXkpCiAgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwog
CisgICAgdjg6OkxvY2FsPHY4OjpBcnJheT4gYXJyYXk7CisKICAgICBzd2l0Y2ggKGtleS0+dHlw
ZSgpKSB7CiAgICAgY2FzZSBJREJLZXk6OkludmFsaWRUeXBlOgogICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKQEAgLTUxLDYgKzU1LDExIEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4
KElEQktleSoga2V5KQogICAgICAgICByZXR1cm4gdjhTdHJpbmcoa2V5LT5zdHJpbmcoKSk7CiAg
ICAgY2FzZSBJREJLZXk6OkRhdGVUeXBlOgogICAgICAgICByZXR1cm4gdjg6OkRhdGU6Ok5ldyhr
ZXktPmRhdGUoKSk7CisgICAgY2FzZSBJREJLZXk6OkFycmF5VHlwZToKKyAgICAgICAgYXJyYXkg
PSB2ODo6QXJyYXk6Ok5ldyhrZXktPmFycmF5KCkuc2l6ZSgpKTsKKyAgICAgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBrZXktPmFycmF5KCkuc2l6ZSgpOyArK2kpCisgICAgICAgICAgICBhcnJh
eS0+U2V0KGksIHRvVjgoa2V5LT5hcnJheSgpW2ldLmdldCgpKSk7CisgICAgICAgIHJldHVybiBh
cnJheTsKICAgICB9CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2Uv
SURCS2V5LmNwcAppbmRleCA1ZTUyNmNlMjIzOWI5OGQzODZmYTg3MmIyMDdhOWIwZTNjMDllOWVl
Li5hNmFhN2ZkMTZlODE5OWFjMDA0NGQ0ZGZjMzRmN2YxM2IzZWEzODQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQktleS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9JREJLZXkuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEx
IEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTQ2LDYgKzQ2LDE0IEBAIGludCBJREJLZXk6OmNvbXBhcmUoY29uc3QgSURC
S2V5KiBvdGhlcikgY29uc3QKICAgICAgICAgcmV0dXJuIG1fdHlwZSA+IG90aGVyLT5tX3R5cGUg
PyAtMSA6IDE7CiAKICAgICBzd2l0Y2ggKG1fdHlwZSkgeworICAgIGNhc2UgQXJyYXlUeXBlOgor
ICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fYXJyYXkuc2l6ZSgpICYmIGkgPCBvdGhl
ci0+bV9hcnJheS5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgaW50IHJlc3VsdCA9IG1fYXJy
YXlbaV0tPmNvbXBhcmUob3RoZXItPm1fYXJyYXlbaV0uZ2V0KCkpOworICAgICAgICAgICAgaWYg
KHJlc3VsdCkKKyAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICB9CisgICAg
ICAgIHJldHVybiAobV9hcnJheS5zaXplKCkgPCBvdGhlci0+bV9hcnJheS5zaXplKCkpID8gLTEg
OgorICAgICAgICAgICAgICAgIChtX2FycmF5LnNpemUoKSA+IG90aGVyLT5tX2FycmF5LnNpemUo
KSkgPyAxIDogMDsKICAgICBjYXNlIFN0cmluZ1R5cGU6CiAgICAgICAgIHJldHVybiAtY29kZVBv
aW50Q29tcGFyZShvdGhlci0+bV9zdHJpbmcsIG1fc3RyaW5nKTsKICAgICBjYXNlIERhdGVUeXBl
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJLZXkuaCBiL1NvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvSURCS2V5LmgKaW5kZXggYzlhMWI0N2RhYmMzYTRmMmU5MzAxYjU3ZjAz
Y2ZjZjc4YWFjOTE1ZC4uNGUwMWQ1OTA0NmE2YzlkOTBmZjQzNTM0MzMwZjg4ZmQwMWM2N2UxOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJLZXkuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9zdG9yYWdlL0lEQktleS5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKQEAgLTMxLDExICszMSwxNCBAQAogI2luY2x1ZGUgIlBsYXRmb3Jt
U3RyaW5nLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvVGhyZWFk
aW5nLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIElEQktleSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxJREJLZXk+IHsKIHB1
YmxpYzoKKyAgICB0eXBlZGVmIFZlY3RvcjxSZWZQdHI8SURCS2V5PiA+IEtleUFycmF5OworCiAg
ICAgc3RhdGljIFBhc3NSZWZQdHI8SURCS2V5PiBjcmVhdGVJbnZhbGlkKCkKICAgICB7CiAgICAg
ICAgIFJlZlB0cjxJREJLZXk+IGlkYktleShuZXcgSURCS2V5KCkpOwpAQCAtNjcsMTcgKzcwLDMz
IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGlkYktleS5yZWxlYXNlKCk7CiAgICAgfQogCisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8SURCS2V5PiBjcmVhdGVBcnJheShjb25zdCBLZXlBcnJheSYg
YXJyYXkpCisgICAgeworICAgICAgICBSZWZQdHI8SURCS2V5PiBpZGJLZXkobmV3IElEQktleSgp
KTsKKyAgICAgICAgaWRiS2V5LT5tX3R5cGUgPSBBcnJheVR5cGU7CisgICAgICAgIGlkYktleS0+
bV9hcnJheSA9IGFycmF5OworICAgICAgICByZXR1cm4gaWRiS2V5LnJlbGVhc2UoKTsKKyAgICB9
CisKICAgICB+SURCS2V5KCk7CiAKICAgICAvLyBJbiBvcmRlciBvZiB0aGUgbGVhc3QgdG8gdGhl
IGhpZ2hlc3QgcHJlY2VkZW50IGluIHRlcm1zIG9mIHNvcnQgb3JkZXIuCiAgICAgZW51bSBUeXBl
IHsKICAgICAgICAgSW52YWxpZFR5cGUgPSAwLAorICAgICAgICBBcnJheVR5cGUsCiAgICAgICAg
IFN0cmluZ1R5cGUsCiAgICAgICAgIERhdGVUeXBlLAogICAgICAgICBOdW1iZXJUeXBlCiAgICAg
fTsKIAogICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQorICAgIGJvb2wg
dmFsaWQoKSBjb25zdCB7IHJldHVybiBtX3R5cGUgIT0gSW52YWxpZFR5cGU7IH0KKworICAgIGNv
bnN0IEtleUFycmF5JiBhcnJheSgpIGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQobV90eXBl
ID09IEFycmF5VHlwZSk7CisgICAgICAgIHJldHVybiBtX2FycmF5OworICAgIH0KIAogICAgIGNv
bnN0IFN0cmluZyYgc3RyaW5nKCkgY29uc3QKICAgICB7CkBAIC0xMDgsNiArMTI3LDcgQEAgcHJp
dmF0ZToKICAgICBJREJLZXkoKTsKIAogICAgIFR5cGUgbV90eXBlOworICAgIEtleUFycmF5IG1f
YXJyYXk7CiAgICAgU3RyaW5nIG1fc3RyaW5nOwogICAgIGRvdWJsZSBtX2RhdGU7CiAgICAgZG91
YmxlIG1fbnVtYmVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJMZXZl
bERCQ29kaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCTGV2ZWxEQkNvZGluZy5j
cHAKaW5kZXggN2NjNGFlZDAwZThiNTQ4ZGQ0YWFkOWFiNDdiNDNhYTE3YWM0NGQ2MS4uYjM1ZjU2
MGI5YjI5Zjg3ZDMxOTU5ZDNlNDI2NzMyYTY0MDk2ZjcxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9JREJMZXZlbERCQ29kaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL0lEQkxldmVsREJDb2RpbmcuY3BwCkBAIC0xMjksNyArMTI5LDggQEAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGNoYXIga0lEQktleU51bGxUeXBlQnl0ZSA9IDA7CiBzdGF0aWMgY29uc3Qg
dW5zaWduZWQgY2hhciBrSURCS2V5U3RyaW5nVHlwZUJ5dGUgPSAxOwogc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGNoYXIga0lEQktleURhdGVUeXBlQnl0ZSA9IDI7CiBzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgY2hhciBrSURCS2V5TnVtYmVyVHlwZUJ5dGUgPSAzOwotc3RhdGljIGNvbnN0IHVuc2lnbmVk
IGNoYXIga0lEQktleU1pbktleVR5cGVCeXRlID0gNDsKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBj
aGFyIGtJREJLZXlBcnJheVR5cGVCeXRlID0gNDsKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFy
IGtJREJLZXlNaW5LZXlUeXBlQnl0ZSA9IDU7CiAKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFy
IGtPYmplY3RTdG9yZURhdGFJbmRleElkID0gMTsKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFy
IGtFeGlzdHNFbnRyeUluZGV4SWQgPSAyOwpAQCAtMzQ4LDMxICszNDksNDYgQEAgY29uc3QgY2hh
ciogZGVjb2RlRG91YmxlKGNvbnN0IGNoYXIqIHAsIGNvbnN0IGNoYXIqIGxpbWl0LCBkb3VibGUq
IGQpCiBWZWN0b3I8Y2hhcj4gZW5jb2RlSURCS2V5KGNvbnN0IElEQktleSYga2V5KQogewogICAg
IFZlY3RvcjxjaGFyPiByZXQ7CisgICAgZW5jb2RlSURCS2V5KGtleSwgcmV0KTsKKyAgICByZXR1
cm4gcmV0OworfQogCit2b2lkIGVuY29kZUlEQktleShjb25zdCBJREJLZXkmIGtleSwgVmVjdG9y
PGNoYXI+JiBpbnRvKQoreworICAgIHNpemVfdCBwcmV2U2l6ZSA9IGludG8uc2l6ZSgpOwogICAg
IHN3aXRjaCAoa2V5LnR5cGUoKSkgewogICAgIGNhc2UgSURCS2V5OjpJbnZhbGlkVHlwZToKICAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiBlbmNvZGVCeXRlKGtJ
REJLZXlOdWxsVHlwZUJ5dGUpOworICAgICAgICBpbnRvLmFwcGVuZChlbmNvZGVCeXRlKGtJREJL
ZXlOdWxsVHlwZUJ5dGUpKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgSURCS2V5OjpBcnJh
eVR5cGU6CisgICAgICAgIGludG8uYXBwZW5kKGVuY29kZUJ5dGUoa0lEQktleUFycmF5VHlwZUJ5
dGUpKTsKKyAgICAgICAgaW50by5hcHBlbmQoZW5jb2RlVmFySW50KGtleS5hcnJheSgpLnNpemUo
KSkpOworICAgICAgICBmb3IgKElEQktleTo6S2V5QXJyYXk6OmNvbnN0X2l0ZXJhdG9yIGl0ID0g
a2V5LmFycmF5KCkuYmVnaW4oKTsgaXQgIT0ga2V5LmFycmF5KCkuZW5kKCk7ICsraXQpCisgICAg
ICAgICAgICBlbmNvZGVJREJLZXkoKigoKml0KS5nZXQoKSksIGludG8pOworICAgICAgICBBU1NF
UlRfVU5VU0VEKHByZXZTaXplLCBpbnRvLnNpemUoKSA+IHByZXZTaXplKTsKKyAgICAgICAgcmV0
dXJuOwogICAgIGNhc2UgSURCS2V5OjpTdHJpbmdUeXBlOgotICAgICAgICByZXQgPSBlbmNvZGVC
eXRlKGtJREJLZXlTdHJpbmdUeXBlQnl0ZSk7Ci0gICAgICAgIHJldC5hcHBlbmQoZW5jb2RlU3Ry
aW5nV2l0aExlbmd0aChrZXkuc3RyaW5nKCkpKTsKLSAgICAgICAgcmV0dXJuIHJldDsKKyAgICAg
ICAgaW50by5hcHBlbmQoZW5jb2RlQnl0ZShrSURCS2V5U3RyaW5nVHlwZUJ5dGUpKTsKKyAgICAg
ICAgaW50by5hcHBlbmQoZW5jb2RlU3RyaW5nV2l0aExlbmd0aChrZXkuc3RyaW5nKCkpKTsKKyAg
ICAgICAgQVNTRVJUX1VOVVNFRChwcmV2U2l6ZSwgaW50by5zaXplKCkgPiBwcmV2U2l6ZSk7Cisg
ICAgICAgIHJldHVybjsKICAgICBjYXNlIElEQktleTo6RGF0ZVR5cGU6Ci0gICAgICAgIHJldCA9
IGVuY29kZUJ5dGUoa0lEQktleURhdGVUeXBlQnl0ZSk7Ci0gICAgICAgIHJldC5hcHBlbmQoZW5j
b2RlRG91YmxlKGtleS5kYXRlKCkpKTsKLSAgICAgICAgQVNTRVJUKHJldC5zaXplKCkgPT0gOSk7
Ci0gICAgICAgIHJldHVybiByZXQ7CisgICAgICAgIGludG8uYXBwZW5kKGVuY29kZUJ5dGUoa0lE
QktleURhdGVUeXBlQnl0ZSkpOworICAgICAgICBpbnRvLmFwcGVuZChlbmNvZGVEb3VibGUoa2V5
LmRhdGUoKSkpOworICAgICAgICBBU1NFUlRfVU5VU0VEKHByZXZTaXplLCBpbnRvLnNpemUoKSAt
IHByZXZTaXplID09IDkpOworICAgICAgICByZXR1cm47CiAgICAgY2FzZSBJREJLZXk6Ok51bWJl
clR5cGU6Ci0gICAgICAgIHJldCA9IGVuY29kZUJ5dGUoa0lEQktleU51bWJlclR5cGVCeXRlKTsK
LSAgICAgICAgcmV0LmFwcGVuZChlbmNvZGVEb3VibGUoa2V5Lm51bWJlcigpKSk7Ci0gICAgICAg
IEFTU0VSVChyZXQuc2l6ZSgpID09IDkpOwotICAgICAgICByZXR1cm4gcmV0OworICAgICAgICBp
bnRvLmFwcGVuZChlbmNvZGVCeXRlKGtJREJLZXlOdW1iZXJUeXBlQnl0ZSkpOworICAgICAgICBp
bnRvLmFwcGVuZChlbmNvZGVEb3VibGUoa2V5Lm51bWJlcigpKSk7CisgICAgICAgIEFTU0VSVF9V
TlVTRUQocHJldlNpemUsIGludG8uc2l6ZSgpIC0gcHJldlNpemUgPT0gOSk7CisgICAgICAgIHJl
dHVybjsKICAgICB9CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gVmVj
dG9yPGNoYXI+KCk7CiB9CiAKKwogY29uc3QgY2hhciogZGVjb2RlSURCS2V5KGNvbnN0IGNoYXIq
IHAsIGNvbnN0IGNoYXIqIGxpbWl0LCBSZWZQdHI8SURCS2V5PiYgZm91bmRLZXkpCiB7CiAgICAg
QVNTRVJUKGxpbWl0ID49IHApOwpAQCAtMzgyLDEyICszOTgsMzEgQEAgY29uc3QgY2hhciogZGVj
b2RlSURCS2V5KGNvbnN0IGNoYXIqIHAsIGNvbnN0IGNoYXIqIGxpbWl0LCBSZWZQdHI8SURCS2V5
PiYgZm91bmQKICAgICB1bnNpZ25lZCBjaGFyIHR5cGUgPSAqcCsrOwogICAgIFN0cmluZyBzOwog
ICAgIGRvdWJsZSBkOworICAgIGludDY0X3QgbGVuOworICAgIFJlZlB0cjxJREJLZXk+IGtleTsK
KyAgICBJREJLZXk6OktleUFycmF5IGFycmF5OwogCiAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAg
Y2FzZSBrSURCS2V5TnVsbFR5cGVCeXRlOgogICAgICAgICAvLyBOdWxsLgogICAgICAgICBmb3Vu
ZEtleSA9IElEQktleTo6Y3JlYXRlSW52YWxpZCgpOwogICAgICAgICByZXR1cm4gcDsKKworICAg
IGNhc2Uga0lEQktleUFycmF5VHlwZUJ5dGU6CisgICAgICAgIC8vIEFycmF5LgorICAgICAgICBw
ID0gZGVjb2RlVmFySW50KHAsIGxpbWl0LCBsZW4pOworICAgICAgICBpZiAoIXApCisgICAgICAg
ICAgICByZXR1cm4gMDsKKyAgICAgICAgaWYgKGxlbiA8IDApCisgICAgICAgICAgICByZXR1cm4g
MDsKKyAgICAgICAgd2hpbGUgKGxlbi0tKSB7CisgICAgICAgICAgICBwID0gZGVjb2RlSURCS2V5
KHAsIGxpbWl0LCBrZXkpOworICAgICAgICAgICAgaWYgKCFwKQorICAgICAgICAgICAgICAgIHJl
dHVybiAwOworICAgICAgICAgICAgYXJyYXkuYXBwZW5kKGtleSk7CisgICAgICAgIH0KKyAgICAg
ICAgZm91bmRLZXkgPSBJREJLZXk6OmNyZWF0ZUFycmF5KGFycmF5KTsKKyAgICAgICAgcmV0dXJu
IHA7CiAgICAgY2FzZSBrSURCS2V5U3RyaW5nVHlwZUJ5dGU6CiAgICAgICAgIC8vIFN0cmluZy4K
ICAgICAgICAgcCA9IGRlY29kZVN0cmluZ1dpdGhMZW5ndGgocCwgbGltaXQsIHMpOwpAQCAtNDE3
LDI5ICs0NTIsNDggQEAgY29uc3QgY2hhciogZGVjb2RlSURCS2V5KGNvbnN0IGNoYXIqIHAsIGNv
bnN0IGNoYXIqIGxpbWl0LCBSZWZQdHI8SURCS2V5PiYgZm91bmQKIAogY29uc3QgY2hhciogZXh0
cmFjdEVuY29kZWRJREJLZXkoY29uc3QgY2hhciogc3RhcnQsIGNvbnN0IGNoYXIqIGxpbWl0LCBW
ZWN0b3I8Y2hhcj4qIHJlc3VsdCkKIHsKKyAgICBBU1NFUlQocmVzdWx0KTsKICAgICBjb25zdCBj
aGFyKiBwID0gc3RhcnQ7CiAgICAgaWYgKHAgPj0gbGltaXQpCiAgICAgICAgIHJldHVybiAwOwog
CiAgICAgdW5zaWduZWQgY2hhciB0eXBlID0gKnArKzsKIAotICAgIGludDY0X3Qgc3RyaW5nTGVu
OworICAgIGludDY0X3QgbGVuOworICAgIFZlY3RvcjxjaGFyPiBzdWJrZXk7CiAKICAgICBzd2l0
Y2ggKHR5cGUpIHsKICAgICBjYXNlIGtJREJLZXlOdWxsVHlwZUJ5dGU6CiAgICAgY2FzZSBrSURC
S2V5TWluS2V5VHlwZUJ5dGU6CiAgICAgICAgICpyZXN1bHQgPSBlbmNvZGVCeXRlKHR5cGUpOwog
ICAgICAgICByZXR1cm4gcDsKKyAgICBjYXNlIGtJREJLZXlBcnJheVR5cGVCeXRlOgorICAgICAg
ICAvLyBBcnJheS4KKyAgICAgICAgcCA9IGRlY29kZVZhckludChwLCBsaW1pdCwgbGVuKTsKKyAg
ICAgICAgaWYgKCFwKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIGlmIChsZW4gPCAw
KQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHJlc3VsdC0+Y2xlYXIoKTsKKyAgICAg
ICAgcmVzdWx0LT5hcHBlbmQoc3RhcnQsIHAgLSBzdGFydCk7CisgICAgICAgIHdoaWxlIChsZW4t
LSkgeworICAgICAgICAgICAgc3Via2V5LmNsZWFyKCk7CisgICAgICAgICAgICBwID0gZXh0cmFj
dEVuY29kZWRJREJLZXkocCwgbGltaXQsICZzdWJrZXkpOworICAgICAgICAgICAgaWYgKCFwKQor
ICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgcmVzdWx0LT5hcHBlbmQoc3Vi
a2V5KTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gcDsKICAgICBjYXNlIGtJREJLZXlTdHJp
bmdUeXBlQnl0ZToKICAgICAgICAgLy8gU3RyaW5nLgotICAgICAgICBwID0gZGVjb2RlVmFySW50
KHAsIGxpbWl0LCBzdHJpbmdMZW4pOworICAgICAgICBwID0gZGVjb2RlVmFySW50KHAsIGxpbWl0
LCBsZW4pOwogICAgICAgICBpZiAoIXApCiAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAg
aWYgKHAgKyBzdHJpbmdMZW4gKiAyID4gbGltaXQpCisgICAgICAgIGlmIChwICsgbGVuICogMiA+
IGxpbWl0KQogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIHJlc3VsdC0+Y2xlYXIoKTsK
LSAgICAgICAgcmVzdWx0LT5hcHBlbmQoc3RhcnQsIHAgLSBzdGFydCArIHN0cmluZ0xlbiAqIDIp
OwotICAgICAgICByZXR1cm4gcCArIHN0cmluZ0xlbiAqIDI7CisgICAgICAgIHJlc3VsdC0+YXBw
ZW5kKHN0YXJ0LCBwIC0gc3RhcnQgKyBsZW4gKiAyKTsKKyAgICAgICAgcmV0dXJuIHAgKyBsZW4g
KiAyOwogICAgIGNhc2Uga0lEQktleURhdGVUeXBlQnl0ZToKICAgICBjYXNlIGtJREJLZXlOdW1i
ZXJUeXBlQnl0ZToKICAgICAgICAgLy8gRGF0ZSBvciBudW1iZXIuCkBAIC00NTMsMjAgKzUwNywx
NCBAQCBjb25zdCBjaGFyKiBleHRyYWN0RW5jb2RlZElEQktleShjb25zdCBjaGFyKiBzdGFydCwg
Y29uc3QgY2hhciogbGltaXQsIFZlY3RvcjxjaAogICAgIHJldHVybiAwOwogfQogCi1pbnQgY29t
cGFyZUVuY29kZWRJREJLZXlzKGNvbnN0IFZlY3RvcjxjaGFyPiYga2V5QSwgY29uc3QgVmVjdG9y
PGNoYXI+JiBrZXlCKQotewotICAgIEFTU0VSVChrZXlBLnNpemUoKSA+PSAxKTsKLSAgICBBU1NF
UlQoa2V5Qi5zaXplKCkgPj0gMSk7Ci0KLSAgICBjb25zdCBjaGFyKiBwID0ga2V5QS5kYXRhKCk7
Ci0gICAgY29uc3QgY2hhciogbGltaXRBID0gcCArIGtleUEuc2l6ZSgpOwotICAgIGNvbnN0IGNo
YXIqIHEgPSBrZXlCLmRhdGEoKTsKLSAgICBjb25zdCBjaGFyKiBsaW1pdEIgPSBxICsga2V5Qi5z
aXplKCk7CiAKK2ludCBjb21wYXJlRW5jb2RlZElEQktleXMoY29uc3QgY2hhciogcCwgY29uc3Qg
Y2hhciogbGltaXRBLCBjb25zdCBjaGFyKiBxLCBjb25zdCBjaGFyKiBsaW1pdEIpCit7CiAgICAg
dW5zaWduZWQgY2hhciB0eXBlQSA9ICpwKys7CiAgICAgdW5zaWduZWQgY2hhciB0eXBlQiA9ICpx
Kys7CiAKICAgICBkb3VibGUgZCwgZTsKKyAgICBpbnQ2NF90IGxlbkEsIGxlbkI7CiAKICAgICBp
ZiAoaW50IHggPSB0eXBlQiAtIHR5cGVBKSAvLyBGSVhNRTogTm90ZSB0aGUgc3VidGxlbmVzcyEK
ICAgICAgICAgcmV0dXJuIHg7CkBAIC00NzYsNiArNTI0LDIxIEBAIGludCBjb21wYXJlRW5jb2Rl
ZElEQktleXMoY29uc3QgVmVjdG9yPGNoYXI+JiBrZXlBLCBjb25zdCBWZWN0b3I8Y2hhcj4mIGtl
eUIpCiAgICAgY2FzZSBrSURCS2V5TWluS2V5VHlwZUJ5dGU6CiAgICAgICAgIC8vIE51bGwgdHlw
ZSBvciBtYXggdHlwZTsgbm8gcGF5bG9hZCB0byBjb21wYXJlLgogICAgICAgICByZXR1cm4gMDsK
KyAgICBjYXNlIGtJREJLZXlBcnJheVR5cGVCeXRlOgorICAgICAgICAvLyBBcnJheSB0eXBlLgor
ICAgICAgICBwID0gZGVjb2RlVmFySW50KHAsIGxpbWl0QSwgbGVuQSk7CisgICAgICAgIGlmICgh
cCkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBxID0gZGVjb2RlVmFySW50KHEsIGxp
bWl0QiwgbGVuQik7CisgICAgICAgIGlmICghcSkKKyAgICAgICAgICAgIHJldHVybiAwOworICAg
ICAgICBmb3IgKGludDY0X3QgaSA9IDA7IGkgPCBsZW5BICYmIGkgPCBsZW5COyArK2kpIHsKKyAg
ICAgICAgICAgIGludCBjbXAgPSBjb21wYXJlRW5jb2RlZElEQktleXMocCwgbGltaXRBLCBxLCBs
aW1pdEIpOworICAgICAgICAgICAgaWYgKGNtcCkKKyAgICAgICAgICAgICAgICByZXR1cm4gY21w
OworICAgICAgICB9CisgICAgICAgIHJldHVybiAobGVuQSA8IGxlbkIpID8gLTEgOgorICAgICAg
ICAgICAgICAgIChsZW5BID4gbGVuQikgPyAxIDogMDsKICAgICBjYXNlIGtJREJLZXlTdHJpbmdU
eXBlQnl0ZToKICAgICAgICAgLy8gU3RyaW5nIHR5cGUuCiAgICAgICAgIHJldHVybiBjb21wYXJl
RW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3RoKHAsIGxpbWl0QSwgcSwgbGltaXRCKTsKQEAgLTQ5Nyw2
ICs1NjAsMTkgQEAgaW50IGNvbXBhcmVFbmNvZGVkSURCS2V5cyhjb25zdCBWZWN0b3I8Y2hhcj4m
IGtleUEsIGNvbnN0IFZlY3RvcjxjaGFyPiYga2V5QikKICAgICByZXR1cm4gMDsKIH0KIAoraW50
IGNvbXBhcmVFbmNvZGVkSURCS2V5cyhjb25zdCBWZWN0b3I8Y2hhcj4mIGtleUEsIGNvbnN0IFZl
Y3RvcjxjaGFyPiYga2V5QikKK3sKKyAgICBBU1NFUlQoa2V5QS5zaXplKCkgPj0gMSk7CisgICAg
QVNTRVJUKGtleUIuc2l6ZSgpID49IDEpOworCisgICAgY29uc3QgY2hhciogcCA9IGtleUEuZGF0
YSgpOworICAgIGNvbnN0IGNoYXIqIGxpbWl0QSA9IHAgKyBrZXlBLnNpemUoKTsKKyAgICBjb25z
dCBjaGFyKiBxID0ga2V5Qi5kYXRhKCk7CisgICAgY29uc3QgY2hhciogbGltaXRCID0gcSArIGtl
eUIuc2l6ZSgpOworCisgICAgcmV0dXJuIGNvbXBhcmVFbmNvZGVkSURCS2V5cyhwLCBsaW1pdEEs
IHEsIGxpbWl0Qik7Cit9CisKIG5hbWVzcGFjZSB7CiB0ZW1wbGF0ZTx0eXBlbmFtZSBLZXlUeXBl
PgogaW50IGRlY29kZUFuZENvbXBhcmUoY29uc3QgTGV2ZWxEQlNsaWNlJiBhLCBjb25zdCBMZXZl
bERCU2xpY2UmIGIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkxldmVs
REJDb2RpbmcuaCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCTGV2ZWxEQkNvZGluZy5oCmlu
ZGV4IGYzYmRjZjMwYjU2ZTA1NjkzY2Q0MTQ2Yjg1ODIwZjhkMDE5ZmNmNmMuLjlmNmUyNzM5NWE0
MTFhOGQ1ZjdkNTcxZmM2Yzk1NTY3ZWNiMzM2NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvSURCTGV2ZWxEQkNvZGluZy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2Uv
SURCTGV2ZWxEQkNvZGluZy5oCkBAIC01Niw2ICs1Niw3IEBAIGNvbnN0IGNoYXIqIGRlY29kZVN0
cmluZ1dpdGhMZW5ndGgoY29uc3QgY2hhciogcCwgY29uc3QgY2hhciogbGltaXQsIFN0cmluZyYg
Zm91CiBpbnQgY29tcGFyZUVuY29kZWRTdHJpbmdzV2l0aExlbmd0aChjb25zdCBjaGFyKiBwLCBj
b25zdCBjaGFyKiBsaW1pdFAsIGNvbnN0IGNoYXIqIHEsIGNvbnN0IGNoYXIqIGxpbWl0USk7CiBW
ZWN0b3I8Y2hhcj4gZW5jb2RlRG91YmxlKGRvdWJsZSk7CiBjb25zdCBjaGFyKiBkZWNvZGVEb3Vi
bGUoY29uc3QgY2hhciogcCwgY29uc3QgY2hhciogbGltaXQsIGRvdWJsZSopOwordm9pZCBlbmNv
ZGVJREJLZXkoY29uc3QgSURCS2V5JiwgVmVjdG9yPGNoYXI+Jik7CiBWZWN0b3I8Y2hhcj4gZW5j
b2RlSURCS2V5KGNvbnN0IElEQktleSYpOwogY29uc3QgY2hhciogZGVjb2RlSURCS2V5KGNvbnN0
IGNoYXIqIHAsIGNvbnN0IGNoYXIqIGxpbWl0LCBSZWZQdHI8SURCS2V5PiYgZm91bmRLZXkpOwog
Y29uc3QgY2hhciogZXh0cmFjdEVuY29kZWRJREJLZXkoY29uc3QgY2hhciogc3RhcnQsIGNvbnN0
IGNoYXIqIGxpbWl0LCBWZWN0b3I8Y2hhcj4qIHJlc3VsdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJREJLZXkuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYklEQktleS5oCmluZGV4IDcwN2U5NGNiMDAwZjViZjU0YTc0Y2JjMjBhZDQ2
NTFkNGVlZGJhNDYuLjczZmZiOTJmZTZiMGVhNGRlZDgwOTY1MTYwMDU4MDA1Y2NhZWUyYmQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYklEQktleS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYklEQktleS5oCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI5LDYgKzI5LDcgQEAKICNp
bmNsdWRlICJXZWJDb21tb24uaCIKICNpbmNsdWRlICJXZWJQcml2YXRlUHRyLmgiCiAjaW5jbHVk
ZSAiV2ViU3RyaW5nLmgiCisjaW5jbHVkZSAiV2ViVmVjdG9yLmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsgY2xhc3MgSURCS2V5OyB9CiAKQEAgLTQ0LDYgKzQ1LDcgQEAgcHVibGljOgogICAgIH5X
ZWJJREJLZXkoKSB7IHJlc2V0KCk7IH0KIAogICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIFdlYklE
QktleSBjcmVhdGVOdWxsKCk7CisgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgV2ViSURCS2V5IGNy
ZWF0ZUFycmF5KGNvbnN0IFdlYlZlY3RvcjxXZWJJREJLZXk+Jik7CiAgICAgV0VCS0lUX0VYUE9S
VCBzdGF0aWMgV2ViSURCS2V5IGNyZWF0ZVN0cmluZyhjb25zdCBXZWJTdHJpbmcmKTsKICAgICBX
RUJLSVRfRVhQT1JUIHN0YXRpYyBXZWJJREJLZXkgY3JlYXRlRGF0ZShkb3VibGUpOwogICAgIFdF
QktJVF9FWFBPUlQgc3RhdGljIFdlYklEQktleSBjcmVhdGVOdW1iZXIoZG91YmxlKTsKQEAgLTYw
LDYgKzYyLDcgQEAgcHVibGljOgogCiAgICAgV0VCS0lUX0VYUE9SVCB2b2lkIGFzc2lnbihjb25z
dCBXZWJJREJLZXkmKTsKICAgICBXRUJLSVRfRVhQT1JUIHZvaWQgYXNzaWduTnVsbCgpOworICAg
IFdFQktJVF9FWFBPUlQgdm9pZCBhc3NpZ25BcnJheShjb25zdCBXZWJWZWN0b3I8V2ViSURCS2V5
PiYpOwogICAgIFdFQktJVF9FWFBPUlQgdm9pZCBhc3NpZ25TdHJpbmcoY29uc3QgV2ViU3RyaW5n
Jik7CiAgICAgV0VCS0lUX0VYUE9SVCB2b2lkIGFzc2lnbkRhdGUoZG91YmxlKTsKICAgICBXRUJL
SVRfRVhQT1JUIHZvaWQgYXNzaWduTnVtYmVyKGRvdWJsZSk7CkBAIC02OCw2ICs3MSw3IEBAIHB1
YmxpYzoKIAogICAgIGVudW0gVHlwZSB7CiAgICAgICAgIE51bGxUeXBlID0gMCwKKyAgICAgICAg
QXJyYXlUeXBlLAogICAgICAgICBTdHJpbmdUeXBlLAogICAgICAgICBEYXRlVHlwZSwKICAgICAg
ICAgTnVtYmVyVHlwZSwKQEAgLTc2LDYgKzgwLDcgQEAgcHVibGljOgogICAgIH07CiAKICAgICBX
RUJLSVRfRVhQT1JUIFR5cGUgdHlwZSgpIGNvbnN0OworICAgIFdFQktJVF9FWFBPUlQgV2ViVmVj
dG9yPFdlYklEQktleT4gYXJyYXkoKSBjb25zdDsgLy8gT25seSB2YWxpZCBmb3IgQXJyYXlUeXBl
LgogICAgIFdFQktJVF9FWFBPUlQgV2ViU3RyaW5nIHN0cmluZygpIGNvbnN0OyAvLyBPbmx5IHZh
bGlkIGZvciBTdHJpbmdUeXBlLgogICAgIFdFQktJVF9FWFBPUlQgZG91YmxlIGRhdGUoKSBjb25z
dDsgLy8gT25seSB2YWxpZCBmb3IgRGF0ZVR5cGUuCiAgICAgV0VCS0lUX0VYUE9SVCBkb3VibGUg
bnVtYmVyKCkgY29uc3Q7IC8vIE9ubHkgdmFsaWQgZm9yIE51bWJlclR5cGUuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCmluZGV4IGQ4
M2QyOGFkZDJkMTg5MDk2YmUxZGJiNjE1ODQxZjI5ZjNlZGUzMzIuLmViMDNmYjU0NTVjMjI1OGE0
ZmUzNzYzNzdlNDRlODRlNmJmNDgxNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENv
cHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zOTksNiArMzk5LDcgQEAgQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJWaWV3OjpVc2VyU3R5bGVJbmplY3RJblN1YnNlcXVlbnRE
b2N1bWVudHMsIEluamUKIC8vIEZJWE1FOiBUZW1wb3Jhcnk7IFdlYklEQktleTo6TnVsbFR5cGUg
d2lsbCBiZSByZW1vdmVkIGluIGEgc3Vic2VxdWVudCBwYXRjaC4KIC8vIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA2NQogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShXZWJJREJLZXk6Ok51bGxUeXBlLCBJREJLZXk6OkludmFsaWRUeXBlKTsKK0NPTVBJTEVf
QVNTRVJUX01BVENISU5HX0VOVU0oV2ViSURCS2V5OjpBcnJheVR5cGUsIElEQktleTo6QXJyYXlU
eXBlKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViSURCS2V5OjpTdHJpbmdUeXBl
LCBJREJLZXk6OlN0cmluZ1R5cGUpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJJ
REJLZXk6OkRhdGVUeXBlLCBJREJLZXk6OkRhdGVUeXBlKTsKIENPTVBJTEVfQVNTRVJUX01BVENI
SU5HX0VOVU0oV2ViSURCS2V5OjpOdW1iZXJUeXBlLCBJREJLZXk6Ok51bWJlclR5cGUpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCS2V5LmNwcCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQktleS5jcHAKaW5kZXggNjJkY2ZkNzFjMzY5NDQw
ZDk3ZGMxOTZmZjVlNzNjM2M3MGI0Y2RjMy4uYWJiMDIxMzMyOTViNThmYWVhYjRjOGJiOWE2OTAy
NDRjNjRjY2I1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURC
S2V5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJLZXkuY3BwCkBA
IC00OCw2ICs0OCwxMyBAQCBXZWJJREJLZXkgV2ViSURCS2V5OjpjcmVhdGVOdWxsKCkKICAgICBy
ZXR1cm4ga2V5OwogfQogCitXZWJJREJLZXkgV2ViSURCS2V5OjpjcmVhdGVBcnJheShjb25zdCBX
ZWJWZWN0b3I8V2ViSURCS2V5PiYgYXJyYXkpCit7CisgICAgV2ViSURCS2V5IGtleTsKKyAgICBr
ZXkuYXNzaWduQXJyYXkoYXJyYXkpOworICAgIHJldHVybiBrZXk7Cit9CisKIFdlYklEQktleSBX
ZWJJREJLZXk6OmNyZWF0ZVN0cmluZyhjb25zdCBXZWJTdHJpbmcmIHN0cmluZykKIHsKICAgICBX
ZWJJREJLZXkga2V5OwpAQCAtOTgsNiArMTA1LDYzIEBAIHZvaWQgV2ViSURCS2V5Ojphc3NpZ25O
dWxsKCkKICAgICBtX3ByaXZhdGUgPSAwOwogfQogCitQYXNzUmVmUHRyPElEQktleT4gY29udmVy
dEZyb21XZWJJREJLZXlBcnJheShjb25zdCBXZWJWZWN0b3I8V2ViSURCS2V5PiYgYXJyYXkpCit7
CisgICAgSURCS2V5OjpLZXlBcnJheSBrZXlzKGFycmF5LnNpemUoKSk7CisgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBhcnJheS5zaXplKCk7ICsraSkgeworICAgICAgICBzd2l0Y2ggKGFycmF5
W2ldLnR5cGUoKSkgeworICAgICAgICBjYXNlIFdlYklEQktleTo6QXJyYXlUeXBlOgorICAgICAg
ICAgICAga2V5cy5hcHBlbmQoY29udmVydEZyb21XZWJJREJLZXlBcnJheShhcnJheVtpXS5hcnJh
eSgpKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBXZWJJREJLZXk6OlN0cmlu
Z1R5cGU6CisgICAgICAgICAgICBrZXlzLmFwcGVuZChJREJLZXk6OmNyZWF0ZVN0cmluZyhhcnJh
eVtpXS5zdHJpbmcoKSkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViSURC
S2V5OjpEYXRlVHlwZToKKyAgICAgICAgICAgIGtleXMuYXBwZW5kKElEQktleTo6Y3JlYXRlRGF0
ZShhcnJheVtpXS5kYXRlKCkpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFdl
YklEQktleTo6TnVtYmVyVHlwZToKKyAgICAgICAgICAgIGtleXMuYXBwZW5kKElEQktleTo6Y3Jl
YXRlTnVtYmVyKGFycmF5W2ldLm51bWJlcigpKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgZGVmYXVsdDoKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIElEQktleTo6Y3JlYXRlQXJy
YXkoa2V5cyk7Cit9CisKK3ZvaWQgY29udmVydFRvV2ViSURCS2V5QXJyYXkoV2ViVmVjdG9yPFdl
YklEQktleT4mIHJlc3VsdCwgY29uc3QgSURCS2V5OjpLZXlBcnJheSYgYXJyYXkpCit7CisgICAg
V2ViVmVjdG9yPFdlYklEQktleT4ga2V5cyhhcnJheS5zaXplKCkpLCBzdWJrZXlzOworICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgYXJyYXkuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgUmVmUHRy
PElEQktleT4ga2V5ID0gYXJyYXlbaV07CisgICAgICAgIHN3aXRjaCAoa2V5LT50eXBlKCkpIHsK
KyAgICAgICAgY2FzZSBJREJLZXk6OkFycmF5VHlwZToKKyAgICAgICAgICAgIGNvbnZlcnRUb1dl
YklEQktleUFycmF5KHN1YmtleXMsIGtleS0+YXJyYXkoKSk7CisgICAgICAgICAgICBrZXlzW2ld
ID0gV2ViSURCS2V5OjpjcmVhdGVBcnJheShzdWJrZXlzKTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBjYXNlIElEQktleTo6U3RyaW5nVHlwZToKKyAgICAgICAgICAgIGtleXNbaV0gPSBX
ZWJJREJLZXk6OmNyZWF0ZVN0cmluZyhrZXktPnN0cmluZygpKTsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBjYXNlIElEQktleTo6RGF0ZVR5cGU6CisgICAgICAgICAgICBrZXlzW2ldID0g
V2ViSURCS2V5OjpjcmVhdGVEYXRlKGtleS0+ZGF0ZSgpKTsKKyAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICBjYXNlIElEQktleTo6TnVtYmVyVHlwZToKKyAgICAgICAgICAgIGtleXNbaV0gPSBX
ZWJJREJLZXk6OmNyZWF0ZU51bWJlcihrZXktPm51bWJlcigpKTsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXN1bHQuc3dhcChrZXlz
KTsKK30KKwordm9pZCBXZWJJREJLZXk6OmFzc2lnbkFycmF5KGNvbnN0IFdlYlZlY3RvcjxXZWJJ
REJLZXk+JiBhcnJheSkKK3sKKyAgICBtX3ByaXZhdGUgPSBjb252ZXJ0RnJvbVdlYklEQktleUFy
cmF5KGFycmF5KTsKK30KKwogdm9pZCBXZWJJREJLZXk6OmFzc2lnblN0cmluZyhjb25zdCBXZWJT
dHJpbmcmIHN0cmluZykKIHsKICAgICBtX3ByaXZhdGUgPSBJREJLZXk6OmNyZWF0ZVN0cmluZyhz
dHJpbmcpOwpAQCAtMTMwLDYgKzE5NCwxMyBAQCBXZWJJREJLZXk6OlR5cGUgV2ViSURCS2V5Ojp0
eXBlKCkgY29uc3QKICAgICByZXR1cm4gVHlwZShtX3ByaXZhdGUtPnR5cGUoKSk7CiB9CiAKK1dl
YlZlY3RvcjxXZWJJREJLZXk+IFdlYklEQktleTo6YXJyYXkoKSBjb25zdAoreworICAgIFdlYlZl
Y3RvcjxXZWJJREJLZXk+IGtleXM7CisgICAgY29udmVydFRvV2ViSURCS2V5QXJyYXkoa2V5cywg
bV9wcml2YXRlLT5hcnJheSgpKTsKKyAgICByZXR1cm4ga2V5czsKK30KKwogV2ViU3RyaW5nIFdl
YklEQktleTo6c3RyaW5nKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9wcml2YXRlLT5zdHJpbmco
KTsKQEAgLTE0OCwxMCArMjE5LDEyIEBAIGRvdWJsZSBXZWJJREJLZXk6Om51bWJlcigpIGNvbnN0
CiBXZWJJREJLZXk6OldlYklEQktleShjb25zdCBQYXNzUmVmUHRyPElEQktleT4mIHZhbHVlKQog
ICAgIDogbV9wcml2YXRlKHZhbHVlKQogeworICAgIC8vIEZJWE1FOiBUaGlzIGlzIHByb2JhYmx5
IHNrZXRjaHkgd2l0aCBjb21wb3VuZCBrZXlzCiB9CiAKIFdlYklEQktleSYgV2ViSURCS2V5Ojpv
cGVyYXRvcj0oY29uc3QgUGFzc1JlZlB0cjxJREJLZXk+JiB2YWx1ZSkKIHsKKyAgICAvLyBGSVhN
RTogVGhpcyBpcyBwcm9iYWJseSBza2V0Y2h5IHdpdGggY29tcG91bmQga2V5cwogICAgIG1fcHJp
dmF0ZSA9IHZhbHVlOwogICAgIHJldHVybiAqdGhpczsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlZmY3MDVmYzJjZWMw
ZWFhODgwZmNiODM3ZDRjM2VmNzVkZjM2ZjA2Li5mOGU3YzAyNmVkOGI1M2Y3ZThmMzIzZWEyNGJj
MDYzOWM2MDEwOTVlIDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMTAtMzEgIEpvc2h1YSBC
ZWxsICA8anNiZWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREIgYWRkKCkgc2hv
dWxkIGFjY2VwdCBhcnJheSBhcyBrZXkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTYyMjg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWNtcC1leHBlY3RlZC50
eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1jbXAuaHRtbDoKKyAgICAg
ICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1iYXNpY3MtZXhwZWN0ZWQudHh0OgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy5odG1sOgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtYXJyYXkuaHRtbDogQWRkZWQuCisgICAgICAg
ICogc3RvcmFnZS9pbmRleGVkZGIva2V5cmFuZ2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL2tleXJhbmdlLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVk
ZGIvb2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2lu
ZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4
ZWRkYi9vcGVuLWN1cnNvci1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVk
ZGIvb3Blbi1jdXJzb3IuaHRtbDoKKwogMjAxMS0xMC0yOCAgSm9obiBHcmVnZyAgPGpvaG5ueWdA
Z29vZ2xlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGdhcmRlbmluZy4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21wLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21wLWV4cGVjdGVkLnR4dApp
bmRleCAyNmJlMTgyNWFmZTM3YmI4OTk3NmNlMTE5ZDJlNzVhODM1ZDEzNGIzLi4xOWY1NTQ0MDkz
OTdjYTRlODE1N2RiNWE3YWYxMzc5ZTc2ODYyZTM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWNtcC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1jbXAtZXhwZWN0ZWQudHh0CkBAIC0xMCw3ICsx
MCw2IEBAIFBBU1MgSURCRGF0YWJhc2VFeGNlcHRpb24gPT0gbnVsbCBpcyBmYWxzZQogUEFTUyB0
eXBlb2YgaW5kZXhlZERCLmNtcCA9PT0gJ2Z1bmN0aW9uJyBpcyB0cnVlCiAKIGNvbXBhcmUgdmFs
aWQga2V5cwotKEFycmF5IGtleXMgYXJlIG5vdCB5ZXQgaW1wbGVtZW50ZWQgc28gbWFueSB0ZXN0
cyB3aWxsIGZhaWwpCiBQQVNTIGluZGV4ZWREQi5jbXAoLUluZmluaXR5LC1OdW1iZXIuTUFYX1ZB
TFVFKSA9PT0gLTEgaXMgdHJ1ZQogUEFTUyBpbmRleGVkREIuY21wKC1OdW1iZXIuTUFYX1ZBTFVF
LC1JbmZpbml0eSkgPT09IDEgaXMgdHJ1ZQogUEFTUyBpbmRleGVkREIuY21wKC1JbmZpbml0eSwt
SW5maW5pdHkpID09PSAwIGlzIHRydWUKQEAgLTk1LDExOCArOTQsMTE4IEBAIFBBU1MgaW5kZXhl
ZERCLmNtcCgn8J2EnicsJ++/vScpID09PSAtMSBpcyB0cnVlCiBQQVNTIGluZGV4ZWREQi5jbXAo
J++/vScsJ/CdhJ4nKSA9PT0gMSBpcyB0cnVlCiBQQVNTIGluZGV4ZWREQi5jbXAoJ/CdhJ4nLCfw
nYSeJykgPT09IDAgaXMgdHJ1ZQogUEFTUyBpbmRleGVkREIuY21wKCfvv70nLCfvv70nKSA9PT0g
MCBpcyB0cnVlCi1GQUlMIGluZGV4ZWREQi5jbXAoJ++/vScsW10pID09PSAtMSBzaG91bGQgYmUg
dHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4
Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW10sJ++/vScpID09PSAxIHNob3VsZCBiZSB0
cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhj
ZXB0aW9uIDUKK1BBU1MgaW5kZXhlZERCLmNtcCgn77+9JyxbXSkgPT09IC0xIGlzIHRydWUKK1BB
U1MgaW5kZXhlZERCLmNtcChbXSwn77+9JykgPT09IDEgaXMgdHJ1ZQogUEFTUyBpbmRleGVkREIu
Y21wKCfvv70nLCfvv70nKSA9PT0gMCBpcyB0cnVlCi1GQUlMIGluZGV4ZWREQi5jbXAoW10sW10p
ID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBE
T00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbXSxbLUluZmlu
aXR5XSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFf
RVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbLUlu
ZmluaXR5XSxbXSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
REFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21w
KFtdLFtdKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRB
X0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWy1J
bmZpbml0eV0sWy1JbmZpbml0eV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRp
b24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5k
ZXhlZERCLmNtcChbLUluZmluaXR5XSxbLTEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XSkgPT09IC0x
IHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURC
RGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbLTEuNzk3NjkzMTM0ODYy
MzE1N2UrMzA4XSxbLUluZmluaXR5XSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBp
bmRleGVkREIuY21wKFstSW5maW5pdHldLFstSW5maW5pdHldKSA9PT0gMCBzaG91bGQgYmUgdHJ1
ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2Vw
dGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWy0xLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0sWy0x
Ljc5NzY5MzEzNDg2MjMxNTdlKzMwOF0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNl
cHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwg
aW5kZXhlZERCLmNtcChbLTEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XSxbLTFdKSA9PT0gLTEgc2hv
dWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRh
YmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFstMV0sWy0xLjc5NzY5MzEzNDg2
MjMxNTdlKzMwOF0pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6
IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNt
cChbLTEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XSxbLTEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XSkg
PT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERP
TSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFstMV0sWy0xXSkg
PT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERP
TSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFstMV0sWy01ZS0z
MjRdKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9F
UlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFstNWUt
MzI0XSxbLTFdKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBE
QVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAo
Wy0xXSxbLTFdKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBE
QVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAo
Wy01ZS0zMjRdLFstNWUtMzI0XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlv
biBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRl
eGVkREIuY21wKFstNWUtMzI0XSxbMF0pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlM
IGluZGV4ZWREQi5jbXAoWzBdLFstNWUtMzI0XSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQot
RkFJTCBpbmRleGVkREIuY21wKFstNWUtMzI0XSxbLTVlLTMyNF0pID09PSAwIHNob3VsZCBiZSB0
cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhj
ZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbMF0sWzBdKSA9PT0gMCBzaG91bGQgYmUgdHJ1
ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2Vw
dGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWzBdLFs1ZS0zMjRdKSA9PT0gLTEgc2hvdWxkIGJl
IHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBF
eGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFs1ZS0zMjRdLFswXSkgPT09IDEgc2hvdWxk
IGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFz
ZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFswXSxbMF0pID09PSAwIHNob3VsZCBi
ZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2Ug
RXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbNWUtMzI0XSxbNWUtMzI0XSkgPT09IDAg
c2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJE
YXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFs1ZS0zMjRdLFsxXSkgPT09
IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00g
SURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbMV0sWzVlLTMyNF0p
ID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBE
T00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbNWUtMzI0XSxb
NWUtMzI0XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFU
QV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsx
XSxbMV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFf
RVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbMV0s
WzEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBl
eGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZB
SUwgaW5kZXhlZERCLmNtcChbMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdLFsxXSkgPT09IDEgc2hv
dWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRh
YmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsxXSxbMV0pID09PSAwIHNob3Vs
ZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJh
c2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbMS43OTc2OTMxMzQ4NjIzMTU3ZSsz
MDhdLFsxLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJl
dyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUK
LUZBSUwgaW5kZXhlZERCLmNtcChbMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdLFtJbmZpbml0eV0p
ID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjog
RE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW0luZmluaXR5
XSxbMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1G
QUlMIGluZGV4ZWREQi5jbXAoWzEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XSxbMS43OTc2OTMxMzQ4
NjIzMTU3ZSszMDhdKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5j
bXAoW0luZmluaXR5XSxbSW5maW5pdHldKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlM
IGluZGV4ZWREQi5jbXAoW0luZmluaXR5XSxbbmV3IERhdGUoMCldKSA9PT0gLTEgc2hvdWxkIGJl
IHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBF
eGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgwKV0sW0luZmluaXR5XSkg
PT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERP
TSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtJbmZpbml0eV0s
W0luZmluaXR5XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
REFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21w
KFtuZXcgRGF0ZSgwKV0sW25ldyBEYXRlKDApXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQot
RkFJTCBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgwKV0sW25ldyBEYXRlKDEwMDApXSkgPT09IC0x
IHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURC
RGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTAwMCld
LFtuZXcgRGF0ZSgwKV0pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJy
b3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERC
LmNtcChbbmV3IERhdGUoMCldLFtuZXcgRGF0ZSgwKV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBU
aHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9u
IDUKLUZBSUwgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTAwMCldLFtuZXcgRGF0ZSgxMDAwKV0p
ID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBE
T00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbbmV3IERhdGUo
MTAwMCldLFtuZXcgRGF0ZSgxMzE3Mzk5OTMxMDIzKV0pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4g
VGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlv
biA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDEzMTczOTk5MzEwMjMpXSxbbmV3IERh
dGUoMTAwMCldKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBE
QVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAo
W25ldyBEYXRlKDEwMDApXSxbbmV3IERhdGUoMTAwMCldKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4g
VGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlv
biA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDEzMTczOTk5MzEwMjMpXSxbbmV3IERh
dGUoMTMxNzM5OTkzMTAyMyldKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4
ZWREQi5jbXAoW25ldyBEYXRlKDEzMTczOTk5MzEwMjMpXSxbJyddKSA9PT0gLTEgc2hvdWxkIGJl
IHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBF
eGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnJ10sW25ldyBEYXRlKDEzMTczOTk5MzEw
MjMpXSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9F
UlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtuZXcg
RGF0ZSgxMzE3Mzk5OTMxMDIzKV0sW25ldyBEYXRlKDEzMTczOTk5MzEwMjMpXSkgPT09IDAgc2hv
dWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRh
YmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnJ10sWycnXSkgPT09IDAgc2hv
dWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRh
YmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnJ10sWydcMCddKSA9PT0gLTEg
c2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJE
YXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnXDAnXSxbJyddKSA9PT0g
MSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElE
QkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWycnXSxbJyddKSA9PT0g
MCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElE
QkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydcMCddLFsnXDAnXSkg
PT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERP
TSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnXDAnXSxbJ2En
XSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJS
OiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ2EnXSxb
J1wwJ10pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFf
RVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ1ww
J10sWydcMCddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBE
QVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAo
WydhJ10sWydhJ10pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6
IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNt
cChbJ2EnXSxbJ2FhJ10pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWRE
Qi5jbXAoWydhYSddLFsnYSddKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4
ZWREQi5jbXAoWydhJ10sWydhJ10pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRp
b24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5k
ZXhlZERCLmNtcChbJ2FhJ10sWydhYSddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlM
IGluZGV4ZWREQi5jbXAoWydhYSddLFsnYiddKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQot
RkFJTCBpbmRleGVkREIuY21wKFsnYiddLFsnYWEnXSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24g
NQotRkFJTCBpbmRleGVkREIuY21wKFsnYWEnXSxbJ2FhJ10pID09PSAwIHNob3VsZCBiZSB0cnVl
LiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0
aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ2InXSxbJ2InXSkgPT09IDAgc2hvdWxkIGJlIHRy
dWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNl
cHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnYiddLFsnYmEnXSkgPT09IC0xIHNob3VsZCBi
ZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2Ug
RXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ2JhJ10sWydiJ10pID09PSAxIHNob3Vs
ZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJh
c2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ2InXSxbJ2InXSkgPT09IDAgc2hv
dWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRh
YmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnYmEnXSxbJ2JhJ10pID09PSAw
IHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURC
RGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ2JhJ10sWyfCoiddKSA9
PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERP
TSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnwqInXSxbJ2Jh
J10pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJS
OiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ2JhJ10s
WydiYSddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRB
X0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfC
oiddLFsnwqInXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
REFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21w
KFsnwqInXSxbJ+awtCddKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVk
REIuY21wKFsn5rC0J10sWyfCoiddKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGlu
ZGV4ZWREQi5jbXAoWyfCoiddLFsnwqInXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJ
TCBpbmRleGVkREIuY21wKFsn5rC0J10sWyfmsLQnXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24g
NQotRkFJTCBpbmRleGVkREIuY21wKFsn5rC0J10sWyfwnYSeJ10pID09PSAtMSBzaG91bGQgYmUg
dHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4
Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfwnYSeJ10sWyfmsLQnXSkgPT09IDEgc2hv
dWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRh
YmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsn5rC0J10sWyfmsLQnXSkgPT09
IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJ
REJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsn8J2EniddLFsn8J2E
niddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VS
UjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfwnYSe
J10sWyfvv70nXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6
IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNt
cChbJ++/vSddLFsn8J2EniddKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4
ZWREQi5jbXAoWyfwnYSeJ10sWyfwnYSeJ10pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBl
eGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZB
SUwgaW5kZXhlZERCLmNtcChbJ++/vSddLFsn77+9J10pID09PSAwIHNob3VsZCBiZSB0cnVlLiBU
aHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9u
IDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ++/vSddLFtbXV0pID09PSAtMSBzaG91bGQgYmUgdHJ1
ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2Vw
dGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tdXSxbJ++/vSddKSA9PT0gMSBzaG91bGQgYmUg
dHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4
Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfvv70nXSxbJ++/vSddKSA9PT0gMCBzaG91
bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFi
YXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tdXSxbW11dKSA9PT0gMCBzaG91
bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFi
YXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tdXSxbW10sIFtdXSkgPT09IC0x
IHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURC
RGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW10sIFtdXSxbW11dKSA9
PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9N
IElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tdXSxbW11dKSA9
PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9N
IElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tdLCBbXV0sW1td
LCBbXV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFf
RVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW10s
IFtdXSxbW10sIFtdLCBbXV0pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4
ZWREQi5jbXAoW1tdLCBbXSwgW11dLFtbXSwgW11dKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1
Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tdLCBbXV0sW1tdLCBbXV0pID09PSAwIHNob3VsZCBiZSB0
cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhj
ZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW10sIFtdLCBbXV0sW1tdLCBbXSwgW11dKSA9
PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9N
IElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tdLCBbXSwgW11d
LFtbW11dXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERB
VEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChb
W1tdXV0sW1tdLCBbXSwgW11dKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4
ZWREQi5jbXAoW1tdLCBbXSwgW11dLFtbXSwgW10sIFtdXSkgPT09IDAgc2hvdWxkIGJlIHRydWUu
IFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRp
b24gNQotRkFJTCBpbmRleGVkREIuY21wKFtbW11dXSxbW1tdXV0pID09PSAwIHNob3VsZCBiZSB0
cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhj
ZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW1tdXV0sW1tbW11dXV0pID09PSAtMSBzaG91
bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFi
YXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tbW11dXV0sW1tbXV1dKSA9PT0g
MSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElE
QkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tbXV1dLFtbW11dXSkg
PT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERP
TSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtbW1tdXV1dLFtb
W1tdXV1dKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRB
X0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1CitQQVNTIGluZGV4ZWREQi5jbXAoW10s
W10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbXSxbLUluZmluaXR5XSkgPT09
IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbLUluZmluaXR5XSxbXSkgPT09IDEgaXMg
dHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtdLFtdKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4
ZWREQi5jbXAoWy1JbmZpbml0eV0sWy1JbmZpbml0eV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5k
ZXhlZERCLmNtcChbLUluZmluaXR5XSxbLU51bWJlci5NQVhfVkFMVUVdKSA9PT0gLTEgaXMgdHJ1
ZQorUEFTUyBpbmRleGVkREIuY21wKFstTnVtYmVyLk1BWF9WQUxVRV0sWy1JbmZpbml0eV0pID09
PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbLUluZmluaXR5XSxbLUluZmluaXR5XSkg
PT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFstTnVtYmVyLk1BWF9WQUxVRV0sWy1O
dW1iZXIuTUFYX1ZBTFVFXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFstTnVt
YmVyLk1BWF9WQUxVRV0sWy0xXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChb
LTFdLFstTnVtYmVyLk1BWF9WQUxVRV0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNt
cChbLU51bWJlci5NQVhfVkFMVUVdLFstTnVtYmVyLk1BWF9WQUxVRV0pID09PSAwIGlzIHRydWUK
K1BBU1MgaW5kZXhlZERCLmNtcChbLTFdLFstMV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhl
ZERCLmNtcChbLTFdLFstTnVtYmVyLk1JTl9WQUxVRV0pID09PSAtMSBpcyB0cnVlCitQQVNTIGlu
ZGV4ZWREQi5jbXAoWy1OdW1iZXIuTUlOX1ZBTFVFXSxbLTFdKSA9PT0gMSBpcyB0cnVlCitQQVNT
IGluZGV4ZWREQi5jbXAoWy0xXSxbLTFdKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5j
bXAoWy1OdW1iZXIuTUlOX1ZBTFVFXSxbLU51bWJlci5NSU5fVkFMVUVdKSA9PT0gMCBpcyB0cnVl
CitQQVNTIGluZGV4ZWREQi5jbXAoWy1OdW1iZXIuTUlOX1ZBTFVFXSxbMF0pID09PSAtMSBpcyB0
cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWzBdLFstTnVtYmVyLk1JTl9WQUxVRV0pID09PSAxIGlz
IHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbLU51bWJlci5NSU5fVkFMVUVdLFstTnVtYmVyLk1J
Tl9WQUxVRV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbMF0sWzBdKSA9PT0g
MCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWzBdLFtOdW1iZXIuTUlOX1ZBTFVFXSkgPT09
IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbTnVtYmVyLk1JTl9WQUxVRV0sWzBdKSA9
PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWzBdLFswXSkgPT09IDAgaXMgdHJ1ZQor
UEFTUyBpbmRleGVkREIuY21wKFtOdW1iZXIuTUlOX1ZBTFVFXSxbTnVtYmVyLk1JTl9WQUxVRV0p
ID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbTnVtYmVyLk1JTl9WQUxVRV0sWzFd
KSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsxXSxbTnVtYmVyLk1JTl9WQUxV
RV0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbTnVtYmVyLk1JTl9WQUxVRV0s
W051bWJlci5NSU5fVkFMVUVdKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWzFd
LFsxXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsxXSxbTnVtYmVyLk1BWF9W
QUxVRV0pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW051bWJlci5NQVhfVkFM
VUVdLFsxXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsxXSxbMV0pID09PSAw
IGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbTnVtYmVyLk1BWF9WQUxVRV0sW051bWJlci5N
QVhfVkFMVUVdKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW051bWJlci5NQVhf
VkFMVUVdLFtJbmZpbml0eV0pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW0lu
ZmluaXR5XSxbTnVtYmVyLk1BWF9WQUxVRV0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERC
LmNtcChbTnVtYmVyLk1BWF9WQUxVRV0sW051bWJlci5NQVhfVkFMVUVdKSA9PT0gMCBpcyB0cnVl
CitQQVNTIGluZGV4ZWREQi5jbXAoW0luZmluaXR5XSxbSW5maW5pdHldKSA9PT0gMCBpcyB0cnVl
CitQQVNTIGluZGV4ZWREQi5jbXAoW0luZmluaXR5XSxbbmV3IERhdGUoMCldKSA9PT0gLTEgaXMg
dHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgwKV0sW0luZmluaXR5XSkgPT09IDEg
aXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtJbmZpbml0eV0sW0luZmluaXR5XSkgPT09IDAg
aXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgwKV0sW25ldyBEYXRlKDApXSkg
PT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgwKV0sW25ldyBEYXRl
KDEwMDApXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTAw
MCldLFtuZXcgRGF0ZSgwKV0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbbmV3
IERhdGUoMCldLFtuZXcgRGF0ZSgwKV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNt
cChbbmV3IERhdGUoMTAwMCldLFtuZXcgRGF0ZSgxMDAwKV0pID09PSAwIGlzIHRydWUKK1BBU1Mg
aW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTAwMCldLFtuZXcgRGF0ZSgxMzE3Mzk5OTMxMDIzKV0p
ID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDEzMTczOTk5MzEw
MjMpXSxbbmV3IERhdGUoMTAwMCldKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAo
W25ldyBEYXRlKDEwMDApXSxbbmV3IERhdGUoMTAwMCldKSA9PT0gMCBpcyB0cnVlCitQQVNTIGlu
ZGV4ZWREQi5jbXAoW25ldyBEYXRlKDEzMTczOTk5MzEwMjMpXSxbbmV3IERhdGUoMTMxNzM5OTkz
MTAyMyldKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDEzMTcz
OTk5MzEwMjMpXSxbJyddKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnJ10s
W25ldyBEYXRlKDEzMTczOTk5MzEwMjMpXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIu
Y21wKFtuZXcgRGF0ZSgxMzE3Mzk5OTMxMDIzKV0sW25ldyBEYXRlKDEzMTczOTk5MzEwMjMpXSkg
PT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnJ10sWycnXSkgPT09IDAgaXMgdHJ1
ZQorUEFTUyBpbmRleGVkREIuY21wKFsnJ10sWydcMCddKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBp
bmRleGVkREIuY21wKFsnXDAnXSxbJyddKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5j
bXAoWycnXSxbJyddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWydcMCddLFsn
XDAnXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnXDAnXSxbJ2EnXSkgPT09
IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ2EnXSxbJ1wwJ10pID09PSAxIGlzIHRy
dWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ1wwJ10sWydcMCddKSA9PT0gMCBpcyB0cnVlCitQQVNT
IGluZGV4ZWREQi5jbXAoWydhJ10sWydhJ10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERC
LmNtcChbJ2EnXSxbJ2FhJ10pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWydh
YSddLFsnYSddKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWydhJ10sWydhJ10p
ID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ2FhJ10sWydhYSddKSA9PT0gMCBp
cyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWydhYSddLFsnYiddKSA9PT0gLTEgaXMgdHJ1ZQor
UEFTUyBpbmRleGVkREIuY21wKFsnYiddLFsnYWEnXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRl
eGVkREIuY21wKFsnYWEnXSxbJ2FhJ10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNt
cChbJ2InXSxbJ2InXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYiddLFsn
YmEnXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ2JhJ10sWydiJ10pID09
PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ2InXSxbJ2InXSkgPT09IDAgaXMgdHJ1
ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYmEnXSxbJ2JhJ10pID09PSAwIGlzIHRydWUKK1BBU1Mg
aW5kZXhlZERCLmNtcChbJ2JhJ10sWyfCoiddKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVk
REIuY21wKFsnwqInXSxbJ2JhJ10pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChb
J2JhJ10sWydiYSddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfCoiddLFsn
wqInXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnwqInXSxbJ+awtCddKSA9
PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsn5rC0J10sWyfCoiddKSA9PT0gMSBp
cyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfCoiddLFsnwqInXSkgPT09IDAgaXMgdHJ1ZQor
UEFTUyBpbmRleGVkREIuY21wKFsn5rC0J10sWyfmsLQnXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBp
bmRleGVkREIuY21wKFsn5rC0J10sWyfwnYSeJ10pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4
ZWREQi5jbXAoWyfwnYSeJ10sWyfmsLQnXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIu
Y21wKFsn5rC0J10sWyfmsLQnXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsn
8J2EniddLFsn8J2EniddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfwnYSe
J10sWyfvv70nXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ++/vSddLFsn
8J2EniddKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfwnYSeJ10sWyfwnYSe
J10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ++/vSddLFsn77+9J10pID09
PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ++/vSddLFtbXV0pID09PSAtMSBpcyB0
cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW1tdXSxbJ++/vSddKSA9PT0gMSBpcyB0cnVlCitQQVNT
IGluZGV4ZWREQi5jbXAoWyfvv70nXSxbJ++/vSddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4
ZWREQi5jbXAoW1tdXSxbW11dKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW1td
XSxbW10sIFtdXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbW10sIFtdXSxb
W11dKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW1tdXSxbW11dKSA9PT0gMCBp
cyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW1tdLCBbXV0sW1tdLCBbXV0pID09PSAwIGlzIHRy
dWUKK1BBU1MgaW5kZXhlZERCLmNtcChbW10sIFtdXSxbW10sIFtdLCBbXV0pID09PSAtMSBpcyB0
cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW1tdLCBbXSwgW11dLFtbXSwgW11dKSA9PT0gMSBpcyB0
cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW1tdLCBbXV0sW1tdLCBbXV0pID09PSAwIGlzIHRydWUK
K1BBU1MgaW5kZXhlZERCLmNtcChbW10sIFtdLCBbXV0sW1tdLCBbXSwgW11dKSA9PT0gMCBpcyB0
cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW1tdLCBbXSwgW11dLFtbW11dXSkgPT09IC0xIGlzIHRy
dWUKK1BBU1MgaW5kZXhlZERCLmNtcChbW1tdXV0sW1tdLCBbXSwgW11dKSA9PT0gMSBpcyB0cnVl
CitQQVNTIGluZGV4ZWREQi5jbXAoW1tdLCBbXSwgW11dLFtbXSwgW10sIFtdXSkgPT09IDAgaXMg
dHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtbW11dXSxbW1tdXV0pID09PSAwIGlzIHRydWUKK1BB
U1MgaW5kZXhlZERCLmNtcChbW1tdXV0sW1tbW11dXV0pID09PSAtMSBpcyB0cnVlCitQQVNTIGlu
ZGV4ZWREQi5jbXAoW1tbW11dXV0sW1tbXV1dKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWRE
Qi5jbXAoW1tbXV1dLFtbW11dXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtb
W1tdXV1dLFtbW1tdXV1dKSA9PT0gMCBpcyB0cnVlCiAKIGNvbXBhcmUgaW52YWxpZCBrZXlzCiBF
eHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcCh2b2lkIDAsIHRydWUpCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWNtcC5odG1sIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1jbXAuaHRtbAppbmRleCBiYjgy
ODYxMTQ3YjhjM2VjMGNmNmEzZjdjZGQ3NzI0ODEyMjk3YTMwLi44MmQxMjk4ODMwYzhmZjQ3NTY2
MjgyY2M3NjEwYmJkZGQxZjMyMWViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9mYWN0b3J5LWNtcC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2ZhY3RvcnktY21wLmh0bWwKQEAgLTMzLDggKzMzLDYgQEAgZnVuY3Rpb24gdGVzdFZhbGlk
S2V5cygpCiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJjb21wYXJlIHZhbGlkIGtleXMiKTsK
IAotICAgIGRlYnVnKCIoQXJyYXkga2V5cyBhcmUgbm90IHlldCBpbXBsZW1lbnRlZCBzbyBtYW55
IHRlc3RzIHdpbGwgZmFpbCkiKTsKLQogICAgIHZhciBrZXlzID0gWwogICAgICAgICAiLUluZmlu
aXR5IiwKICAgICAgICAgIi1OdW1iZXIuTUFYX1ZBTFVFIiwKQEAgLTY2LDEzICs2NCwxMyBAQCBm
dW5jdGlvbiB0ZXN0VmFsaWRLZXlzKCkKICAgICAgICAgIltdIiwKIAogICAgICAgICAiWy1JbmZp
bml0eV0iLAotICAgICAgICAiWy0xLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0iLAorICAgICAgICAi
Wy1OdW1iZXIuTUFYX1ZBTFVFXSIsCiAgICAgICAgICJbLTFdIiwKLSAgICAgICAgIlstNWUtMzI0
XSIsCisgICAgICAgICJbLU51bWJlci5NSU5fVkFMVUVdIiwKICAgICAgICAgIlswXSIsCi0gICAg
ICAgICJbNWUtMzI0XSIsCisgICAgICAgICJbTnVtYmVyLk1JTl9WQUxVRV0iLAogICAgICAgICAi
WzFdIiwKLSAgICAgICAgIlsxLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0iLAorICAgICAgICAiW051
bWJlci5NQVhfVkFMVUVdIiwKICAgICAgICAgIltJbmZpbml0eV0iLAogIAogICAgICAgICAiW25l
dyBEYXRlKDApXSIsCkBAIC05Nyw3ICs5NSw3IEBAIGZ1bmN0aW9uIHRlc3RWYWxpZEtleXMoKQog
ICAgICAgICAiW1tdLCBbXSwgW11dIiwKIAogICAgICAgICAiW1tbXV1dIiwKLSAgICAgICAgIltb
W1tdXV1dIiwKKyAgICAgICAgIltbW1tdXV1dIgogICAgIF07CiAKICAgICB2YXIgaSwga2V5MSwg
a2V5MjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJh
c2ljcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1i
YXNpY3MtZXhwZWN0ZWQudHh0CmluZGV4IGM1ODljODEyOTdmMWE5MzNmNTY2YzM5ZGY0MGI3ODNm
ZWM1ZTk3MTYuLmZkYThkYmYzZmI2MGU1NzgwNGI3MjkyMDA1MmQ2MWVhZmZhNGIyOWIgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLWV4
cGVjdGVkLnR4dApAQCAtODEsOSArODEsOSBAQCBQQVNTIGV2ZW50LnRhcmdldC5yZXN1bHQudmFs
dWUueCBpcyAidmFsdWUzIgogUEFTUyBldmVudC50YXJnZXQucmVzdWx0LnZhbHVlLnkgaXMgIjQ1
NiIKIGV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoKQogUEFTUyBldmVudC50YXJnZXQucmVz
dWx0ID09PSBudWxsIGlzIHRydWUKLVBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBpbmRleE9i
amVjdC5nZXQoKS4KK1Bhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBpbmRleE9iamVjdC5nZXQo
e30pLgogUEFTUyBDYXVnaHQgZXhjZXB0aW9uOiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRh
YmFzZSBFeGNlcHRpb24gNQotUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGluZGV4T2JqZWN0
LmdldEtleSgpLgorUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGluZGV4T2JqZWN0LmdldEtl
eSh7fSkuCiBQQVNTIENhdWdodCBleGNlcHRpb246IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRh
dGFiYXNlIEV4Y2VwdGlvbiA1CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy5odG1s
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLmh0bWwKaW5kZXgg
YThmN2Q5NWQ0YzJhYjBiNDNlZTdmMzU1NTEwM2E5MzcwOTg1ZGJkNC4uNTNjMWY1YjlhMTQ5NTJi
YjVkY2U0MDg2Y2EzYmQyZjIzMTVlNjJhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvaW5kZXgtYmFzaWNzLmh0bWwKQEAgLTI0MSwxNiArMjQxLDE2IEBAIGZ1bmN0aW9u
IGxhc3QoKQogICAgIHNob3VsZEJlVHJ1ZSgiZXZlbnQudGFyZ2V0LnJlc3VsdCA9PT0gbnVsbCIp
OwogCiAgICAgdHJ5IHsKLSAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50
byBpbmRleE9iamVjdC5nZXQoKS4iKTsKLSAgICAgICAgaW5kZXhPYmplY3QuZ2V0KFtdKTsKKyAg
ICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBpbmRleE9iamVjdC5nZXQo
e30pLiIpOworICAgICAgICBpbmRleE9iamVjdC5nZXQoe30pOwogICAgICAgICB0ZXN0RmFpbGVk
KCJObyBleGNlcHRpb24gdGhyb3duIik7CiAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICB0ZXN0
UGFzc2VkKCJDYXVnaHQgZXhjZXB0aW9uOiAiICsgZS50b1N0cmluZygpKTsKICAgICB9CiAKICAg
ICB0cnkgewotICAgICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGluZGV4
T2JqZWN0LmdldEtleSgpLiIpOwotICAgICAgICBpbmRleE9iamVjdC5nZXRLZXkoW10pOworICAg
ICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGluZGV4T2JqZWN0LmdldEtl
eSh7fSkuIik7CisgICAgICAgIGluZGV4T2JqZWN0LmdldEtleSh7fSk7CiAgICAgICAgIHRlc3RG
YWlsZWQoIk5vIGV4Y2VwdGlvbiB0aHJvd24iKTsKICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAg
IHRlc3RQYXNzZWQoIkNhdWdodCBleGNlcHRpb246ICIgKyBlLnRvU3RyaW5nKCkpOwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtYXJyYXktZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtYXJyYXktZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg5YzY5OGI0MWEwMGYxZWQ3ZDI2OTRlMmZlNzRkMDY2MzQx
NGQ3NmIKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9r
ZXktdHlwZS1hcnJheS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMzMgQEAKK1Rlc3QgSW5kZXhl
ZERCIGtleSB0eXBlcworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBB
U1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworaW5kZXhlZERC
ID0gd2luZG93LmluZGV4ZWREQiB8fCB3aW5kb3cud2Via2l0SW5kZXhlZERCIHx8IHdpbmRvdy5t
b3pJbmRleGVkREI7CitQQVNTIGluZGV4ZWREQiA9PSBudWxsIGlzIGZhbHNlCitJREJUcmFuc2Fj
dGlvbiA9IHdpbmRvdy5JREJUcmFuc2FjdGlvbiB8fCB3aW5kb3cud2Via2l0SURCVHJhbnNhY3Rp
b247CitQQVNTIElEQlRyYW5zYWN0aW9uID09IG51bGwgaXMgZmFsc2UKK0lEQkRhdGFiYXNlRXhj
ZXB0aW9uID0gd2luZG93LklEQkRhdGFiYXNlRXhjZXB0aW9uIHx8IHdpbmRvdy53ZWJraXRJREJE
YXRhYmFzZUV4Y2VwdGlvbjsKK1BBU1MgSURCRGF0YWJhc2VFeGNlcHRpb24gPT0gbnVsbCBpcyBm
YWxzZQoraW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pCitkYiA9IG9wZW5yZXEucmVz
dWx0CityZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbignMScpCitwcmVwYXJpbmcgZGF0YWJhc2UKK0Rl
bGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCitkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnKTsK
KwordHJhbnMgPSBkYi50cmFuc2FjdGlvbignc3RvcmUnLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dS
SVRFKQorc3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmUnKQorCit0ZXN0aW5nIGFycmF5
IGtleTogW10KK3N0b3JlLnB1dCgndmFsdWUxJywgW10pOworc3RvcmUuZ2V0KFtdKTsKK1BBU1Mg
Z2V0cmVxLnJlc3VsdCBpcyAidmFsdWUxIgorCit0ZXN0aW5nIGFycmF5IGtleTogWy1JbmZpbml0
eV0KK3N0b3JlLnB1dCgndmFsdWUyJywgWy1JbmZpbml0eV0pOworc3RvcmUuZ2V0KFstSW5maW5p
dHldKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUyIgorCit0ZXN0aW5nIGFycmF5IGtl
eTogWy1OdW1iZXIuTUFYX1ZBTFVFXQorc3RvcmUucHV0KCd2YWx1ZTMnLCBbLU51bWJlci5NQVhf
VkFMVUVdKTsKK3N0b3JlLmdldChbLU51bWJlci5NQVhfVkFMVUVdKTsKK1BBU1MgZ2V0cmVxLnJl
c3VsdCBpcyAidmFsdWUzIgorCit0ZXN0aW5nIGFycmF5IGtleTogWy0xXQorc3RvcmUucHV0KCd2
YWx1ZTQnLCBbLTFdKTsKK3N0b3JlLmdldChbLTFdKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAi
dmFsdWU0IgorCit0ZXN0aW5nIGFycmF5IGtleTogWy1OdW1iZXIuTUlOX1ZBTFVFXQorc3RvcmUu
cHV0KCd2YWx1ZTUnLCBbLU51bWJlci5NSU5fVkFMVUVdKTsKK3N0b3JlLmdldChbLU51bWJlci5N
SU5fVkFMVUVdKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWU1IgorCit0ZXN0aW5nIGFy
cmF5IGtleTogWzBdCitzdG9yZS5wdXQoJ3ZhbHVlNicsIFswXSk7CitzdG9yZS5nZXQoWzBdKTsK
K1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWU2IgorCit0ZXN0aW5nIGFycmF5IGtleTogW051
bWJlci5NSU5fVkFMVUVdCitzdG9yZS5wdXQoJ3ZhbHVlNycsIFtOdW1iZXIuTUlOX1ZBTFVFXSk7
CitzdG9yZS5nZXQoW051bWJlci5NSU5fVkFMVUVdKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAi
dmFsdWU3IgorCit0ZXN0aW5nIGFycmF5IGtleTogWzFdCitzdG9yZS5wdXQoJ3ZhbHVlOCcsIFsx
XSk7CitzdG9yZS5nZXQoWzFdKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWU4IgorCit0
ZXN0aW5nIGFycmF5IGtleTogW051bWJlci5NQVhfVkFMVUVdCitzdG9yZS5wdXQoJ3ZhbHVlOScs
IFtOdW1iZXIuTUFYX1ZBTFVFXSk7CitzdG9yZS5nZXQoW051bWJlci5NQVhfVkFMVUVdKTsKK1BB
U1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWU5IgorCit0ZXN0aW5nIGFycmF5IGtleTogW0luZmlu
aXR5XQorc3RvcmUucHV0KCd2YWx1ZTEwJywgW0luZmluaXR5XSk7CitzdG9yZS5nZXQoW0luZmlu
aXR5XSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMTAiCisKK3Rlc3RpbmcgYXJyYXkg
a2V5OiBbMSwyLDNdCitzdG9yZS5wdXQoJ3ZhbHVlMTEnLCBbMSwyLDNdKTsKK3N0b3JlLmdldChb
MSwyLDNdKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUxMSIKKwordGVzdGluZyBhcnJh
eSBrZXk6IFtuZXcgRGF0ZSgwKV0KK3N0b3JlLnB1dCgndmFsdWUxMicsIFtuZXcgRGF0ZSgwKV0p
Oworc3RvcmUuZ2V0KFtuZXcgRGF0ZSgwKV0pOworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1
ZTEyIgorCit0ZXN0aW5nIGFycmF5IGtleTogW25ldyBEYXRlKCcyNTI1LTAxLTAxVDAwOjAwOjAw
WicpXQorc3RvcmUucHV0KCd2YWx1ZTEzJywgW25ldyBEYXRlKCcyNTI1LTAxLTAxVDAwOjAwOjAw
WicpXSk7CitzdG9yZS5nZXQoW25ldyBEYXRlKCcyNTI1LTAxLTAxVDAwOjAwOjAwWicpXSk7CitQ
QVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMTMiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbbmV3
IERhdGUoMCksIG5ldyBEYXRlKCcyNTI1LTAxLTAxVDAwOjAwOjAwWicpXQorc3RvcmUucHV0KCd2
YWx1ZTE0JywgW25ldyBEYXRlKDApLCBuZXcgRGF0ZSgnMjUyNS0wMS0wMVQwMDowMDowMFonKV0p
Oworc3RvcmUuZ2V0KFtuZXcgRGF0ZSgwKSwgbmV3IERhdGUoJzI1MjUtMDEtMDFUMDA6MDA6MDBa
JyldKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUxNCIKKwordGVzdGluZyBhcnJheSBr
ZXk6IFsnJ10KK3N0b3JlLnB1dCgndmFsdWUxNScsIFsnJ10pOworc3RvcmUuZ2V0KFsnJ10pOwor
UEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTE1IgorCit0ZXN0aW5nIGFycmF5IGtleTogWycn
XQorc3RvcmUucHV0KCd2YWx1ZTE2JywgWycnXSk7CitzdG9yZS5nZXQoWycnXSk7CitQQVNTIGdl
dHJlcS5yZXN1bHQgaXMgInZhbHVlMTYiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbJ2FiYzEyMydd
CitzdG9yZS5wdXQoJ3ZhbHVlMTcnLCBbJ2FiYzEyMyddKTsKK3N0b3JlLmdldChbJ2FiYzEyMydd
KTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUxNyIKKwordGVzdGluZyBhcnJheSBrZXk6
IFsnYWJjJywgJzEyMyddCitzdG9yZS5wdXQoJ3ZhbHVlMTgnLCBbJ2FiYycsICcxMjMnXSk7Citz
dG9yZS5nZXQoWydhYmMnLCAnMTIzJ10pOworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTE4
IgorCit0ZXN0aW5nIGFycmF5IGtleTogW1tdXQorc3RvcmUucHV0KCd2YWx1ZTE5JywgW1tdXSk7
CitzdG9yZS5nZXQoW1tdXSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMTkiCisKK3Rl
c3RpbmcgYXJyYXkga2V5OiBbW10sIFtdXQorc3RvcmUucHV0KCd2YWx1ZTIwJywgW1tdLCBbXV0p
Oworc3RvcmUuZ2V0KFtbXSwgW11dKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUyMCIK
KwordGVzdGluZyBhcnJheSBrZXk6IFtbXSwgW10sIFtdXQorc3RvcmUucHV0KCd2YWx1ZTIxJywg
W1tdLCBbXSwgW11dKTsKK3N0b3JlLmdldChbW10sIFtdLCBbXV0pOworUEFTUyBnZXRyZXEucmVz
dWx0IGlzICJ2YWx1ZTIxIgorCit0ZXN0aW5nIGFycmF5IGtleTogW1tbXV1dCitzdG9yZS5wdXQo
J3ZhbHVlMjInLCBbW1tdXV0pOworc3RvcmUuZ2V0KFtbW11dXSk7CitQQVNTIGdldHJlcS5yZXN1
bHQgaXMgInZhbHVlMjIiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbW1tbXV1dXQorc3RvcmUucHV0
KCd2YWx1ZTIzJywgW1tbW11dXV0pOworc3RvcmUuZ2V0KFtbW1tdXV1dKTsKK1BBU1MgZ2V0cmVx
LnJlc3VsdCBpcyAidmFsdWUyMyIKKwordGVzdGluZyBhcnJheSBrZXk6IFsxMjMsICdhYmMnLCBu
ZXcgRGF0ZSgwKSwgW11dCitzdG9yZS5wdXQoJ3ZhbHVlMjQnLCBbMTIzLCAnYWJjJywgbmV3IERh
dGUoMCksIFtdXSk7CitzdG9yZS5nZXQoWzEyMywgJ2FiYycsIG5ldyBEYXRlKDApLCBbXV0pOwor
UEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTI0IgorCit0ZXN0aW5nIGFycmF5IGtleTogW1sx
MjMsICdhYmMnLCBuZXcgRGF0ZSgwKSwgW11dLCBbNDU2LCAnZGVmJywgbmV3IERhdGUoOTk5KSwg
W1tdXV1dCitzdG9yZS5wdXQoJ3ZhbHVlMjUnLCBbWzEyMywgJ2FiYycsIG5ldyBEYXRlKDApLCBb
XV0sIFs0NTYsICdkZWYnLCBuZXcgRGF0ZSg5OTkpLCBbW11dXV0pOworc3RvcmUuZ2V0KFtbMTIz
LCAnYWJjJywgbmV3IERhdGUoMCksIFtdXSwgWzQ1NiwgJ2RlZicsIG5ldyBEYXRlKDk5OSksIFtb
XV1dXSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMjUiCisKK3RyYW5zID0gZGIudHJh
bnNhY3Rpb24oJ3N0b3JlJywgSURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3N0b3JlID0gdHJh
bnMub2JqZWN0U3RvcmUoJ3N0b3JlJykKKworYXJyYXkgdGhhdCBjb250YWlucyBpdHNlbGY6IGFy
cmF5ID0gWyBhcnJheSBdCitjeWNsaWNfYXJyYXkgPSBbXTsgY3ljbGljX2FycmF5LnB1c2goY3lj
bGljX2FycmF5KQorUEFTUyBKU09OLnN0cmluZ2lmeShjeWNsaWNfYXJyYXkpIHRocmV3IGV4Y2Vw
dGlvbiBUeXBlRXJyb3I6IENvbnZlcnRpbmcgY2lyY3VsYXIgc3RydWN0dXJlIHRvIEpTT04uCith
cnJheSB0aGF0IGNvbnRhaW5zIGl0c2VsZiwgb25lIGxldmVsIGRvd246IGFycmF5ID0gWyBbIGFy
cmF5IF0gXQorY3ljbGljX2FycmF5MiA9IFtdOyBjeWNsaWNfYXJyYXkyLnB1c2goW2N5Y2xpY19h
cnJheTJdKQorUEFTUyBKU09OLnN0cmluZ2lmeShjeWNsaWNfYXJyYXkpIHRocmV3IGV4Y2VwdGlv
biBUeXBlRXJyb3I6IENvbnZlcnRpbmcgY2lyY3VsYXIgc3RydWN0dXJlIHRvIEpTT04uCithcnJh
eSB0aGF0IGNvbnRhaW5zIGl0c2VsZiwgbm90IGFzIGZpcnN0IGVsZW1lbnQ6IGFycmF5ID0gWzEs
ICdiJywgW10sIGFycmF5XQorY3ljbGljX2FycmF5MyA9IFsxLCAnYicsIFtdXTsgY3ljbGljX2Fy
cmF5My5wdXNoKGN5Y2xpY19hcnJheTMpCitQQVNTIEpTT04uc3RyaW5naWZ5KGN5Y2xpY19hcnJh
eSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQ29udmVydGluZyBjaXJjdWxhciBzdHJ1Y3R1
cmUgdG8gSlNPTi4KKwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogWyB2b2lkIDAgXQorRXhw
ZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIHZvaWQgMCBdKTsKK1BB
U1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRp
b24uREFUQV9FUlIKKwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogWyB0cnVlIF0KK0V4cGVj
dGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyB0cnVlIF0pOworUEFTUyBF
eGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5E
QVRBX0VSUgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIGZhbHNlIF0KK0V4cGVjdGlu
ZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyBmYWxzZSBdKTsKK1BBU1MgRXhj
ZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFU
QV9FUlIKKwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogWyBOYU4gXQorRXhwZWN0aW5nIGV4
Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIE5hTiBdKTsKK1BBU1MgRXhjZXB0aW9u
IHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIK
KwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogWyBudWxsIF0KK0V4cGVjdGluZyBleGNlcHRp
b24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyBudWxsIF0pOworUEFTUyBFeGNlcHRpb24gd2Fz
IHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgorCit0
ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIHt9IF0KK0V4cGVjdGluZyBleGNlcHRpb24gZnJv
bSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyB7fSBdKTsKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24u
CitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKKwordGVzdGluZyBp
bnZhbGlkIGFycmF5IGtleTogWyBmdW5jdGlvbiAoKSB7fSBdCitFeHBlY3RpbmcgZXhjZXB0aW9u
IGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIFsgZnVuY3Rpb24gKCkge30gXSk7CitQQVNTIEV4Y2Vw
dGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFf
RVJSCisKK3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IFsgL3JlZ2V4LyBdCitFeHBlY3Rpbmcg
ZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIFsgL3JlZ2V4LyBdKTsKK1BBU1MgRXhj
ZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFU
QV9FUlIKKwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogWyB3aW5kb3cgXQorRXhwZWN0aW5n
IGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIHdpbmRvdyBdKTsKK1BBU1MgRXhj
ZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFU
QV9FUlIKKwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogWyB3aW5kb3cuZG9jdW1lbnQgXQor
RXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIHdpbmRvdy5kb2N1
bWVudCBdKTsKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0
YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKKwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogWyB3
aW5kb3cuZG9jdW1lbnQuYm9keSBdCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0
KCd2YWx1ZScsIFsgd2luZG93LmRvY3VtZW50LmJvZHkgXSk7CitQQVNTIEV4Y2VwdGlvbiB3YXMg
dGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCisKK3Rl
c3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IGN5Y2xpY19hcnJheQorRXhwZWN0aW5nIGV4Y2VwdGlv
biBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBjeWNsaWNfYXJyYXkpOworUEFTUyBFeGNlcHRpb24g
d2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgor
Cit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBjeWNsaWNfYXJyYXkyCitFeHBlY3RpbmcgZXhj
ZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIGN5Y2xpY19hcnJheTIpOworUEFTUyBFeGNl
cHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRB
X0VSUgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBjeWNsaWNfYXJyYXkzCitFeHBlY3Rp
bmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIGN5Y2xpY19hcnJheTMpOworUEFT
UyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlv
bi5EQVRBX0VSUgorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09N
UExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5
cGUtYXJyYXkuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFy
cmF5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNGYzYzdiZTg0Yzc0MWZjZDdkODE5OWU2ZWM1NWEwMDZmN2Nl
MDUzOAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tl
eS10eXBlLWFycmF5Lmh0bWwKQEAgLTAsMCArMSwxNzggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4vZmFzdC9qcy9y
ZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2Zhc3QvanMv
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJj
ZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9ImRlc2NyaXB0
aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK2Rlc2NyaXB0
aW9uKCJUZXN0IEluZGV4ZWREQiBrZXkgdHlwZXMiKTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworCitm
dW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBldmFsQW5kTG9nKCJpbmRleGVkREIgPSB3aW5kb3cuaW5k
ZXhlZERCIHx8IHdpbmRvdy53ZWJraXRJbmRleGVkREIgfHwgd2luZG93Lm1vekluZGV4ZWREQjsi
KTsKKyAgICBzaG91bGRCZUZhbHNlKCJpbmRleGVkREIgPT0gbnVsbCIpOworCisgICAgZXZhbEFu
ZExvZygiSURCVHJhbnNhY3Rpb24gPSB3aW5kb3cuSURCVHJhbnNhY3Rpb24gfHwgd2luZG93Lndl
YmtpdElEQlRyYW5zYWN0aW9uOyIpOworICAgIHNob3VsZEJlRmFsc2UoIklEQlRyYW5zYWN0aW9u
ID09IG51bGwiKTsKKworICAgIGV2YWxBbmRMb2coIklEQkRhdGFiYXNlRXhjZXB0aW9uID0gd2lu
ZG93LklEQkRhdGFiYXNlRXhjZXB0aW9uIHx8IHdpbmRvdy53ZWJraXRJREJEYXRhYmFzZUV4Y2Vw
dGlvbjsiKTsKKyAgICBzaG91bGRCZUZhbHNlKCJJREJEYXRhYmFzZUV4Y2VwdGlvbiA9PSBudWxs
Iik7CisKKworICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7CisgICAgZGVzY3Jp
cHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CisgICAgb3BlbnJlcSA9IGV2YWxBbmRMb2coImlu
ZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOworICAgIG9wZW5yZXEub25zdWNjZXNz
ID0gb3BlblN1Y2Nlc3M7CisgICAgb3BlbnJlcS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2Fs
bGJhY2s7Cit9CisKK2Z1bmN0aW9uIG9wZW5TdWNjZXNzKCkKK3sKKyAgICBldmFsQW5kTG9nKCJk
YiA9IG9wZW5yZXEucmVzdWx0Iik7CisgICAgc2V0dmVycmVxID0gZXZhbEFuZExvZygicmVxdWVz
dCA9IGRiLnNldFZlcnNpb24oJzEnKSIpOworICAgIHNldHZlcnJlcS5vbnN1Y2Nlc3MgPSBzZXRW
ZXJzaW9uU3VjY2VzczsKKyAgICBzZXR2ZXJyZXEub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNh
bGxiYWNrOworfQorCitmdW5jdGlvbiBzZXRWZXJzaW9uU3VjY2VzcygpCit7CisgICAgZGVidWco
InByZXBhcmluZyBkYXRhYmFzZSIpOworICAgIHRyYW5zID0gc2V0dmVycmVxLnJlc3VsdDsKKyAg
ICB0cmFucy5vbmNvbXBsZXRlID0gdGVzdFZhbGlkQXJyYXlLZXlzOworICAgIGRlbGV0ZUFsbE9i
amVjdFN0b3JlcyhkYik7CisgICAgb2JqZWN0U3RvcmUgPSBldmFsQW5kTG9nKCJkYi5jcmVhdGVP
YmplY3RTdG9yZSgnc3RvcmUnKTsiKTsKKyAgICBkZWJ1ZygiIik7Cit9CisKK2Z1bmN0aW9uIHRl
c3RWYWxpZEFycmF5S2V5cygpCit7CisgICAgZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2Fj
dGlvbignc3RvcmUnLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIGV2YWxBbmRM
b2coInN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlJykiKTsKKyAgICBkZWJ1ZygiIik7
CisKKyAgICB2YXIgbiA9IDAsIGNhc2VzID0gWworICAgICAgICAiW10iLAorCisgICAgICAgICJb
LUluZmluaXR5XSIsCisgICAgICAgICJbLU51bWJlci5NQVhfVkFMVUVdIiwKKyAgICAgICAgIlst
MV0iLAorICAgICAgICAiWy1OdW1iZXIuTUlOX1ZBTFVFXSIsCisgICAgICAgICJbMF0iLAorICAg
ICAgICAiW051bWJlci5NSU5fVkFMVUVdIiwKKyAgICAgICAgIlsxXSIsCisgICAgICAgICJbTnVt
YmVyLk1BWF9WQUxVRV0iLAorICAgICAgICAiW0luZmluaXR5XSIsCisKKyAgICAgICAgIlsxLDIs
M10iLAorCisgICAgICAgICJbbmV3IERhdGUoMCldIiwKKyAgICAgICAgIltuZXcgRGF0ZSgnMjUy
NS0wMS0wMVQwMDowMDowMFonKV0iLAorCisgICAgICAgICJbbmV3IERhdGUoMCksIG5ldyBEYXRl
KCcyNTI1LTAxLTAxVDAwOjAwOjAwWicpXSIsCisKKyAgICAgICAgIlsnJ10iLAorICAgICAgICAi
WydceDAwJ10iLAorICAgICAgICAiWydhYmMxMjMnXSIsCisKKyAgICAgICAgIlsnYWJjJywgJzEy
MyddIiwKKworICAgICAgICAiW1tdXSIsCisKKyAgICAgICAgIltbXSwgW11dIiwKKyAgICAgICAg
IltbXSwgW10sIFtdXSIsCisKKyAgICAgICAgIltbW11dXSIsCisgICAgICAgICJbW1tbXV1dXSIs
CisKKyAgICAgICAgIlsxMjMsICdhYmMnLCBuZXcgRGF0ZSgwKSwgW11dIiwKKyAgICAgICAgIltb
MTIzLCAnYWJjJywgbmV3IERhdGUoMCksIFtdXSwgWzQ1NiwgJ2RlZicsIG5ldyBEYXRlKDk5OSks
IFtbXV1dXSIKKyAgICBdOworCisgICAgZnVuY3Rpb24gdGVzdEFycmF5UHV0R2V0KHZhbHVlLCBr
ZXksIGNhbGxiYWNrKQorICAgIHsKKyAgICAgICAgZGVidWcoInRlc3RpbmcgYXJyYXkga2V5OiAi
ICsga2V5KTsKKyAgICAgICAgcHV0cmVxID0gZXZhbEFuZExvZygic3RvcmUucHV0KCciICsgdmFs
dWUgKyAiJywgIiArIGtleSArICIpOyIpOworICAgICAgICBwdXRyZXEub25lcnJvciA9IHVuZXhw
ZWN0ZWRFcnJvckNhbGxiYWNrOworICAgICAgICBwdXRyZXEub25zdWNjZXNzID0gZnVuY3Rpb24o
KSB7CisgICAgICAgICAgICBnZXRyZXEgPSBldmFsQW5kTG9nKCJzdG9yZS5nZXQoIiArIGtleSAr
ICIpOyIpOworICAgICAgICAgICAgZ2V0cmVxLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxs
YmFjazsKKyAgICAgICAgICAgIGdldHJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKKyAgICAg
ICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldHJlcS5yZXN1bHQiLCB2YWx1ZSk7
CisgICAgICAgICAgICAgICAgZGVidWcoIiIpOworICAgICAgICAgICAgICAgIGNhbGxiYWNrKCk7
CisgICAgICAgICAgICB9OworICAgICAgICB9OworICAgIH0KKworICAgIGZ1bmN0aW9uIG5leHRU
ZXN0KCkgeworICAgICAgICB2YXIgdGVzdGNhc2UgPSBjYXNlcy5zaGlmdCgpOworICAgICAgICBp
ZiAodGVzdGNhc2UpIHsKKyAgICAgICAgICAgIHRlc3RBcnJheVB1dEdldCgidmFsdWUiICsgKCsr
biksIHRlc3RjYXNlLCBuZXh0VGVzdCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBuZXh0VGVz
dCgpOworCisgICAgdHJhbnMub25jb21wbGV0ZSA9IHRlc3RJbnZhbGlkQXJyYXlLZXlzOworfQor
CisKK2Z1bmN0aW9uIHRlc3RJbnZhbGlkQXJyYXlLZXlzKCkKK3sKKyAgICBldmFsQW5kTG9nKCJ0
cmFucyA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScsIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUp
Iik7CisgICAgZXZhbEFuZExvZygic3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmUnKSIp
OworICAgIGRlYnVnKCIiKTsKKworICAgIGRlYnVnKCJhcnJheSB0aGF0IGNvbnRhaW5zIGl0c2Vs
ZjogYXJyYXkgPSBbIGFycmF5IF0iKTsKKyAgICBldmFsQW5kTG9nKCJjeWNsaWNfYXJyYXkgPSBb
XTsgY3ljbGljX2FycmF5LnB1c2goY3ljbGljX2FycmF5KSIpOworICAgIHNob3VsZFRocm93KCJK
U09OLnN0cmluZ2lmeShjeWNsaWNfYXJyYXkpIik7CisKKyAgICBkZWJ1ZygiYXJyYXkgdGhhdCBj
b250YWlucyBpdHNlbGYsIG9uZSBsZXZlbCBkb3duOiBhcnJheSA9IFsgWyBhcnJheSBdIF0iKTsK
KyAgICBldmFsQW5kTG9nKCJjeWNsaWNfYXJyYXkyID0gW107IGN5Y2xpY19hcnJheTIucHVzaChb
Y3ljbGljX2FycmF5Ml0pIik7CisgICAgc2hvdWxkVGhyb3coIkpTT04uc3RyaW5naWZ5KGN5Y2xp
Y19hcnJheSkiKTsKKworICAgIGRlYnVnKCJhcnJheSB0aGF0IGNvbnRhaW5zIGl0c2VsZiwgbm90
IGFzIGZpcnN0IGVsZW1lbnQ6IGFycmF5ID0gWzEsICdiJywgW10sIGFycmF5XSIpOworICAgIGV2
YWxBbmRMb2coImN5Y2xpY19hcnJheTMgPSBbMSwgJ2InLCBbXV07IGN5Y2xpY19hcnJheTMucHVz
aChjeWNsaWNfYXJyYXkzKSIpOworICAgIHNob3VsZFRocm93KCJKU09OLnN0cmluZ2lmeShjeWNs
aWNfYXJyYXkpIik7CisgICAgZGVidWcoIiIpOworCisgICAgdmFyIGludmFsaWRLZXlzID0gWwor
ICAgICAgICAiWyB2b2lkIDAgXSIsIC8vIHVuZGVmaW5lZAorICAgICAgICAiWyB0cnVlIF0iLAor
ICAgICAgICAiWyBmYWxzZSBdIiwKKyAgICAgICAgIlsgTmFOIF0iLAorICAgICAgICAiWyBudWxs
IF0iLAorICAgICAgICAiWyB7fSBdIiwKKyAgICAgICAgIlsgZnVuY3Rpb24gKCkge30gXSIsCisg
ICAgICAgICJbIC9yZWdleC8gXSIsCisgICAgICAgICJbIHdpbmRvdyBdIiwKKyAgICAgICAgIlsg
d2luZG93LmRvY3VtZW50IF0iLAorICAgICAgICAiWyB3aW5kb3cuZG9jdW1lbnQuYm9keSBdIiwK
KyAgICAgICAgImN5Y2xpY19hcnJheSIsCisgICAgICAgICJjeWNsaWNfYXJyYXkyIiwKKyAgICAg
ICAgImN5Y2xpY19hcnJheTMiCisgICAgXTsKKworICAgIGludmFsaWRLZXlzLmZvckVhY2goZnVu
Y3Rpb24gKGtleSkgeworICAgICAgICBkZWJ1ZygidGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTog
IiArIGtleSk7CisgICAgICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLnB1dCgndmFs
dWUnLCAiICsga2V5ICsgIik7IiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSIik7Cisg
ICAgICAgIGRlYnVnKCIiKTsKKyAgICB9KTsKKworICAgIGRvbmUoKTsKK30KKworCisKK3Rlc3Qo
KTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXlyYW5nZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9rZXlyYW5nZS1leHBlY3RlZC50eHQKaW5kZXggYmRiZjE1ZWJjNTNh
MzU5NDVjZTlhNjYxYTE5MTUyOWM2NGNjMzI3My4uNDU0ZWM5M2M1NWE4ZmU0M2U4OTliMzk5NTRl
OTgwOTkwMWQ0Zjk1NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
a2V5cmFuZ2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2tleXJhbmdlLWV4cGVjdGVkLnR4dApAQCAtMjA3LDE3ICsyMDcsMTcgQEAgUEFTUyBrZXlSYW5n
ZS5sb3dlciBpcyAnYWFmJwogUEFTUyBrZXlSYW5nZS51cHBlciBpcyAnYWJmJwogUEFTUyBrZXlS
YW5nZS5sb3dlck9wZW4gaXMgdHJ1ZQogUEFTUyBrZXlSYW5nZS51cHBlck9wZW4gaXMgdHJ1ZQot
UGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIG9ubHkoW10pCitQYXNzaW5nIGFuIGludmFsaWQg
a2V5IGludG8gb25seSh7fSkKIFBBU1MgQ2F1Z2h0IGV4Y2VwdGlvbjogRXJyb3I6IERBVEFfRVJS
OiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLVBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50
byB1cHBlckJvdW5kKFtdKQorUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIHVwcGVyQm91bmQo
e30pCiBQQVNTIENhdWdodCBleGNlcHRpb246IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFi
YXNlIEV4Y2VwdGlvbiA1Ci1QYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gbG93ZXJCb3VuZChb
XSkKK1Bhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBsb3dlckJvdW5kKHt9KQogUEFTUyBDYXVn
aHQgZXhjZXB0aW9uOiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24g
NQotUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGJvdW5kKG51bGwsIFtdKQorUGFzc2luZyBh
biBpbnZhbGlkIGtleSBpbnRvIGJvdW5kKG51bGwsIHt9KQogUEFTUyBDYXVnaHQgZXhjZXB0aW9u
OiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotUGFzc2luZyBh
biBpbnZhbGlkIGtleSBpbnRvIGJvdW5kKFtdLG51bGwpCitQYXNzaW5nIGFuIGludmFsaWQga2V5
IGludG8gYm91bmQoe30sbnVsbCkKIFBBU1MgQ2F1Z2h0IGV4Y2VwdGlvbjogRXJyb3I6IERBVEFf
RVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLVBhc3NpbmcgYW4gaW52YWxpZCBrZXkg
aW50byBib3VuZChbXSwgW10pCitQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gYm91bmQoe30s
IHt9KQogUEFTUyBDYXVnaHQgZXhjZXB0aW9uOiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRh
YmFzZSBFeGNlcHRpb24gNQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXlyYW5nZS5odG1sIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5cmFuZ2UuaHRtbAppbmRleCAwMzExMmQxOTFm
ZTlkMWM5ZTY1OTVlZjgyNDg3YzhmMTk2ZjQ4YjIzLi42NzhlOTJjZjZkY2JmNDAyMGVmNDBlNWRh
NTQ3YjE2MmI4OTI5NGFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9rZXlyYW5nZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleXJh
bmdlLmh0bWwKQEAgLTEyNiw0OCArMTI2LDQ4IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIGNoZWNr
Qm91bmRLZXlSYW5nZSgiJ2FhZiciLCAiJ2FiZiciLCB0cnVlLCB0cnVlKTsKIAogICAgIHRyeSB7
Ci0gICAgICAgIGRlYnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gb25seShbXSkiKTsK
LSAgICAgICAgd2Via2l0SURCS2V5UmFuZ2Uub25seShbXSk7CisgICAgICAgIGRlYnVnKCJQYXNz
aW5nIGFuIGludmFsaWQga2V5IGludG8gb25seSh7fSkiKTsKKyAgICAgICAgd2Via2l0SURCS2V5
UmFuZ2Uub25seSh7fSk7CiAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGV4Y2VwdGlvbiB0aHJvd24i
KTsKICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgIHRlc3RQYXNzZWQoIkNhdWdodCBleGNlcHRp
b246ICIgKyBlLnRvU3RyaW5nKCkpOwogICAgIH0KIAogICAgIHRyeSB7Ci0gICAgICAgIGRlYnVn
KCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gdXBwZXJCb3VuZChbXSkiKTsKLSAgICAgICAg
d2Via2l0SURCS2V5UmFuZ2UudXBwZXJCb3VuZChbXSk7CisgICAgICAgIGRlYnVnKCJQYXNzaW5n
IGFuIGludmFsaWQga2V5IGludG8gdXBwZXJCb3VuZCh7fSkiKTsKKyAgICAgICAgd2Via2l0SURC
S2V5UmFuZ2UudXBwZXJCb3VuZCh7fSk7CiAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGV4Y2VwdGlv
biB0aHJvd24iKTsKICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgIHRlc3RQYXNzZWQoIkNhdWdo
dCBleGNlcHRpb246ICIgKyBlLnRvU3RyaW5nKCkpOwogICAgIH0KICAKICAgICB0cnkgewotICAg
ICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGxvd2VyQm91bmQoW10pIik7
Ci0gICAgICAgIHdlYmtpdElEQktleVJhbmdlLmxvd2VyQm91bmQoW10pOworICAgICAgICBkZWJ1
ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGxvd2VyQm91bmQoe30pIik7CisgICAgICAg
IHdlYmtpdElEQktleVJhbmdlLmxvd2VyQm91bmQoe30pOwogICAgICAgICB0ZXN0RmFpbGVkKCJO
byBleGNlcHRpb24gdGhyb3duIik7CiAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICB0ZXN0UGFz
c2VkKCJDYXVnaHQgZXhjZXB0aW9uOiAiICsgZS50b1N0cmluZygpKTsKICAgICB9CiAKICAgICB0
cnkgewotICAgICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGJvdW5kKG51
bGwsIFtdKSIpOwotICAgICAgICB3ZWJraXRJREJLZXlSYW5nZS5ib3VuZChudWxsLCBbXSk7Cisg
ICAgICAgIGRlYnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gYm91bmQobnVsbCwge30p
Iik7CisgICAgICAgIHdlYmtpdElEQktleVJhbmdlLmJvdW5kKG51bGwsIHt9KTsKICAgICAgICAg
dGVzdEZhaWxlZCgiTm8gZXhjZXB0aW9uIHRocm93biIpOwogICAgIH0gY2F0Y2ggKGUpIHsKICAg
ICAgICAgdGVzdFBhc3NlZCgiQ2F1Z2h0IGV4Y2VwdGlvbjogIiArIGUudG9TdHJpbmcoKSk7CiAg
ICAgfQogCiAgICAgdHJ5IHsKLSAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkg
aW50byBib3VuZChbXSxudWxsKSIpOwotICAgICAgICB3ZWJraXRJREJLZXlSYW5nZS5ib3VuZChb
XSwgbnVsbCk7CisgICAgICAgIGRlYnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gYm91
bmQoe30sbnVsbCkiKTsKKyAgICAgICAgd2Via2l0SURCS2V5UmFuZ2UuYm91bmQoe30sIG51bGwp
OwogICAgICAgICB0ZXN0RmFpbGVkKCJObyBleGNlcHRpb24gdGhyb3duIik7CiAgICAgfSBjYXRj
aCAoZSkgewogICAgICAgICB0ZXN0UGFzc2VkKCJDYXVnaHQgZXhjZXB0aW9uOiAiICsgZS50b1N0
cmluZygpKTsKICAgICB9CiAKICAgICB0cnkgewotICAgICAgICBkZWJ1ZygiUGFzc2luZyBhbiBp
bnZhbGlkIGtleSBpbnRvIGJvdW5kKFtdLCBbXSkiKTsKLSAgICAgICAgd2Via2l0SURCS2V5UmFu
Z2UuYm91bmQoW10sIFtdKTsKKyAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkg
aW50byBib3VuZCh7fSwge30pIik7CisgICAgICAgIHdlYmtpdElEQktleVJhbmdlLmJvdW5kKHt9
LCB7fSk7CiAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGV4Y2VwdGlvbiB0aHJvd24iKTsKICAgICB9
IGNhdGNoIChlKSB7CiAgICAgICAgIHRlc3RQYXNzZWQoIkNhdWdodCBleGNlcHRpb246ICIgKyBl
LnRvU3RyaW5nKCkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
b2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy1leHBlY3RlZC50eHQKaW5kZXggNmVjYzQzMGMzODU5
NGVlYzhhMGE1YjgwMGVjM2ViNzliZTM4MjcxNi4uZDBkMjc4ZDdjM2JmOTNhMjQxZThiNjU5MWFm
MTE0NzY0MmVmMDFjMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
b2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MtZXhwZWN0ZWQudHh0CkBAIC05MywxOSArOTMs
MTkgQEAgcmVtb3ZlU3VjY2VzcygpOgogUEFTUyBldmVudC50YXJnZXQucmVzdWx0IGlzIG51bGwK
IHN0b3JlID0gZXZlbnQudGFyZ2V0LnNvdXJjZQogUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRv
IHN0b3JlLmdldCgpLgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLmdldChbXSkKK0V4
cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5nZXQoe30pCiBQQVNTIEV4Y2VwdGlvbiB3YXMg
dGhyb3duLgogUEFTUyBjb2RlIGlzIHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJS
CiBQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gc3RvcmUuZGVsZXRlKCkuCi1FeHBlY3Rpbmcg
ZXhjZXB0aW9uIGZyb20gc3RvcmUuZGVsZXRlKFtdKQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9t
IHN0b3JlLmRlbGV0ZSh7fSkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUg
aXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIFBhc3NpbmcgYW4gaW52YWxp
ZCBrZXkgaW50byBzdG9yZS5hZGQoKS4KLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5h
ZGQobnVsbCwgW10pCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUuYWRkKG51bGwsIHt9
KQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyB3ZWJraXRJREJEYXRh
YmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgogUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIHN0b3Jl
LnB1dCgpLgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dChudWxsLCBbXSkKK0V4
cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQobnVsbCwge30pCiBQQVNTIEV4Y2VwdGlv
biB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLkRB
VEFfRVJSCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MuaHRtbCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy5odG1sCmluZGV4IGJi
MTZjODk3NTg5ODlmZGNmMTc3NDRkYzUzNTM1Nzg5MGUzZTljYWQuLjllNzdiNzFhODU2YTU3NTI3
MTkyYjFiZTFjNTk1YTg0Mzc1OGY5Y2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy5odG1sCkBAIC0yNDEsMTYgKzI0MSwxNiBA
QCBmdW5jdGlvbiByZW1vdmVTdWNjZXNzKCkKICAgICB2YXIgc3RvcmUgPSBldmFsQW5kTG9nKCJz
dG9yZSA9IGV2ZW50LnRhcmdldC5zb3VyY2UiKTsKIAogICAgIGRlYnVnKCJQYXNzaW5nIGFuIGlu
dmFsaWQga2V5IGludG8gc3RvcmUuZ2V0KCkuIik7Ci0gICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlv
bigic3RvcmUuZ2V0KFtdKSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUiIp
OworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmdldCh7fSkiLCAid2Via2l0SURC
RGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKIAogICAgIGRlYnVnKCJQYXNzaW5nIGFuIGlu
dmFsaWQga2V5IGludG8gc3RvcmUuZGVsZXRlKCkuIik7Ci0gICAgZXZhbEFuZEV4cGVjdEV4Y2Vw
dGlvbigic3RvcmUuZGVsZXRlKFtdKSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRB
X0VSUiIpOworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmRlbGV0ZSh7fSkiLCAi
d2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKIAogICAgIGRlYnVnKCJQYXNz
aW5nIGFuIGludmFsaWQga2V5IGludG8gc3RvcmUuYWRkKCkuIik7Ci0gICAgZXZhbEFuZEV4cGVj
dEV4Y2VwdGlvbigic3RvcmUuYWRkKG51bGwsIFtdKSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2Vw
dGlvbi5EQVRBX0VSUiIpOworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmFkZChu
dWxsLCB7fSkiLCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKIAogICAg
IGRlYnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gc3RvcmUucHV0KCkuIik7Ci0gICAg
ZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUucHV0KG51bGwsIFtdKSIsICJ3ZWJraXRJREJE
YXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUiIpOworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24o
InN0b3JlLnB1dChudWxsLCB7fSkiLCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9F
UlIiKTsKIAogICAgIGRvbmUoKTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL29wZW4tY3Vyc29yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL29wZW4tY3Vyc29yLWV4cGVjdGVkLnR4dAppbmRleCA2MDIwZTI1NmY3YzNhMjQ4
N2NiNzU1NjMyZWU0MWZiYTAxOTIwODkxLi4zYTllMjAyODAzZmEwOGFmOGQxMDc3NDhjNTQ1ZDgz
OGI4MDczNmFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVu
LWN1cnNvci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
b3Blbi1jdXJzb3ItZXhwZWN0ZWQudHh0CkBAIC0xOSw3ICsxOSw3IEBAIFBBU1MgZXZlbnQudGFy
Z2V0LnJlc3VsdC5kaXJlY3Rpb24gaXMgMAogUEFTUyBldmVudC50YXJnZXQucmVzdWx0LmtleSBp
cyAnbXlLZXknCiBQQVNTIGV2ZW50LnRhcmdldC5yZXN1bHQudmFsdWUgaXMgJ215VmFsdWUnCiAK
LVBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byAuY29udGludWUoKS4KK1Bhc3NpbmcgYW4gaW52
YWxpZCBrZXkgaW50byAuY29udGludWUoe30pLgogUEFTUyBDYXVnaHQgZXhjZXB0aW9uOiBFcnJv
cjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQogCiBPcGVuaW5nIGFuIGVt
cHR5IGN1cnNvci4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29w
ZW4tY3Vyc29yLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWN1cnNv
ci5odG1sCmluZGV4IDkxNjA2MzE4ZDIzY2M4N2YzMDhmNzI0NmM0ZmEwY2UzYTBjNzBkNDMuLmNh
OTkyMjUxYWQ2ODNmNDA2ODc0ZGM2NTYwZWI4MzQzZGJlYzdlZjYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY3Vyc29yLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jdXJzb3IuaHRtbApAQCAtMzgsOCArMzgsOCBAQCBm
dW5jdGlvbiBjdXJzb3JTdWNjZXNzKCkKICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3Vs
dC52YWx1ZSIsICInbXlWYWx1ZSciKTsKICAgICBkZWJ1ZygiIik7CiAgICAgdHJ5IHsKLSAgICAg
ICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byAuY29udGludWUoKS4iKTsKLSAg
ICAgICAgZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZShbXSk7CisgICAgICAgIGRlYnVnKCJQ
YXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gLmNvbnRpbnVlKHt9KS4iKTsKKyAgICAgICAgZXZl
bnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSh7fSk7CiAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGV4
Y2VwdGlvbiB0aHJvd24iKTsKICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgIHRlc3RQYXNzZWQo
IkNhdWdodCBleGNlcHRpb246ICIgKyBlLnRvU3RyaW5nKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113357</attachid>
            <date>2011-11-02 13:10:39 -0700</date>
            <delta_ts>2011-11-02 17:59:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62284-20111102131037.patch</filename>
            <type>text/plain</type>
            <size>83589</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg5NjYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5ZWE2ZGEwOTg4ODk0ZDI3
NzZjZGNiNzU1Yjg4MTMwYmJhMTU4YTA3Li5kNTkzMTkzZTBhMDIxYTIyMTA0NzBiODUzZWIzYmQ5
ZTBkYTJkMmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTEtMTEtMDIgIEpvc2h1
YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IGltcGxl
bWVudCBjb21wb3VuZCAoYXJyYXkpIGtleSBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MjI4NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IHN0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBl
LWFycmF5Lmh0bWwKKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTSURCS2V5Q3VzdG9tLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L0lEQkJpbmRp
bmdVdGlsaXRpZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5Q3JlYXRvcjo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OklEQktleUNyZWF0b3I6OklEQktleUNyZWF0b3IpOgorICAg
ICAgICAoV2ViQ29yZTo6SURCS2V5Q3JlYXRvcjo6Y3JlYXRlSW50ZXJuYWwpOgorICAgICAgICAo
V2ViQ29yZTo6Y3JlYXRlSURCS2V5RnJvbVZhbHVlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9j
dXN0b20vVjhJREJLZXlDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAg
ICAgICogc3RvcmFnZS9JREJLZXkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5Ojpjb21w
YXJlKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQktleS5oOgorICAgICAgICAoV2ViQ29yZTo6SURC
S2V5OjpjcmVhdGVBcnJheSk6CisgICAgICAgIChXZWJDb3JlOjpJREJLZXk6OnZhbGlkKToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQktleTo6YXJyYXkpOgorICAgICAgICAqIHN0b3JhZ2UvSURCTGV2
ZWxEQkNvZGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJMZXZlbERCQ29kaW5nOjpjb21w
YXJlRW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkxldmVs
REJDb2Rpbmc6OmVuY29kZUlEQktleSk6CisgICAgICAgIChXZWJDb3JlOjpJREJMZXZlbERCQ29k
aW5nOjpkZWNvZGVJREJLZXkpOgorICAgICAgICAoV2ViQ29yZTo6SURCTGV2ZWxEQkNvZGluZzo6
ZXh0cmFjdEVuY29kZWRJREJLZXkpOgorICAgICAgICAoV2ViQ29yZTo6SURCTGV2ZWxEQkNvZGlu
Zzo6Y29kaW5nVG9PcmRlcik6CisgICAgICAgIChXZWJDb3JlOjpJREJMZXZlbERCQ29kaW5nOjpj
b21wYXJlRW5jb2RlZElEQktleXMpOgorICAgICAgICAqIHN0b3JhZ2UvSURCTGV2ZWxEQkNvZGlu
Zy5oOgorCiAyMDExLTExLTAxICBBbmRyZWFzIEtsaW5nICA8a2xpbmdAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBDU1NSdWxlOiBEZXZpcnR1YWxpemUgYWRkU3VicmVzb3VyY2VTdHlsZVVSTHMoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBlNGIwYjkyZTEzYWEwZTk1MjFiYjI4M2I3Njc3
OGQyNWVlOTc4NDZiLi43OGYwNTJkN2Q1ZmUzMmRhZmRjN2VmZTMwMGUwYjdiMTQ5NDAxNjg2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDExLTExLTAyICBK
b3NodWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBp
bXBsZW1lbnQgY29tcG91bmQgKGFycmF5KSBrZXkgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyODQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHB1YmxpYy9XZWJJREJLZXkuaDoKKyAgICAg
ICAgKiBzcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHA6CisgICAgICAgICogc3JjL1dlYklEQktl
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYklEQktleTo6Y3JlYXRlQXJyYXkpOgorICAgICAg
ICAoV2ViS2l0Ojpjb252ZXJ0RnJvbVdlYklEQktleUFycmF5KToKKyAgICAgICAgKFdlYktpdDo6
Y29udmVydFRvV2ViSURCS2V5QXJyYXkpOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJLZXk6OmFz
c2lnbkFycmF5KToKKyAgICAgICAgKFdlYktpdDo6V2ViSURCS2V5OjphcnJheSk6CisgICAgICAg
ICogdGVzdHMvSURCQmluZGluZ1V0aWxpdGllc1Rlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
VEVTVCk6CisgICAgICAgICogdGVzdHMvSURCTGV2ZWxEQkNvZGluZ1Rlc3QuY3BwOgorICAgICAg
ICAoSURCTGV2ZWxEQkNvZGluZzo6Y3JlYXRlQXJyYXlJREJLZXkpOgorICAgICAgICAoSURCTGV2
ZWxEQkNvZGluZzo6VEVTVCk6CisgICAgICAgIChJREJMZXZlbERCQ29kaW5nOjpjb21wYXJlU3Ry
aW5ncyk6CisKIDIwMTEtMTEtMDEgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29t
PgogCiAgICAgICAgIE5vdCByZXZpZXdlZDogZml4IGNocm9taXVtIGludGVyYWN0aXZlIHRlc3Rz
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJREJLZXlDdXN0b20u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJREJLZXlDdXN0b20uY3BwCmluZGV4
IDEwMjc4ZjNjY2YxZjRhNjY2ZGQ4NmU5OTkwNzdlZjlkZTgxMmI0OTMuLjYyZmE3Y2JlMThmYzk5
ZjgxNzg5OTc5YjEwMTZiZjdlNGUyNGVlNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTSURCS2V5Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0lEQktleUN1c3RvbS5jcHAKQEAgLTQ4LDYgKzQ4LDcgQEAgSlNWYWx1ZSB0b0pTKEV4
ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqLCBJREJLZXkqIGtleSkKICAgICBjYXNl
IElEQktleTo6U3RyaW5nVHlwZToKICAgICAgICAgcmV0dXJuIGpzU3RyaW5nKGV4ZWMsIGtleS0+
c3RyaW5nKCkpOwogICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgZGF0ZXMuCisgICAgLy8gRklYTUU6
IEltcGxlbWVudCBhcnJheXMuCiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9JREJCaW5kaW5nVXRpbGl0aWVz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0lEQkJpbmRpbmdVdGlsaXRpZXMuY3Bw
CmluZGV4IGNiNmFiMGE3ZGNkNWJlYTczNTViMGI5YjE0ZTE1MjE4MmRhY2ZlODkuLjRlOTMyZjE0
NzZiMTIyNmFiZmQyMDYzNzNlYWM1NmYxMzM5MDJhZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L0lEQkJpbmRpbmdVdGlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L0lEQkJpbmRpbmdVdGlsaXRpZXMuY3BwCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM4LDE2ICszOCw2MiBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIElEQktleUNyZWF0b3IgeworICBwdWJsaWM6Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8SURCS2V5PiBjcmVhdGUodjg6OkhhbmRsZTx2ODo6VmFsdWU+
IHZhbHVlKQorICAgIHsKKyAgICAgICAgSURCS2V5Q3JlYXRvciBjcmVhdG9yOworICAgICAgICBy
ZXR1cm4gY3JlYXRvci5jcmVhdGVJbnRlcm5hbCh2YWx1ZSk7CisgICAgfQorCisgIHByaXZhdGU6
CisgICAgSURCS2V5Q3JlYXRvcigpCisgICAgeworICAgIH0KKworICAgIElEQktleUNyZWF0b3Io
Y29uc3QgSURCS2V5Q3JlYXRvciYpOworICAgIElEQktleUNyZWF0b3ImIG9wZXJhdG9yPShjb25z
dCBJREJLZXlDcmVhdG9yJik7CisKKyAgICBQYXNzUmVmUHRyPElEQktleT4gY3JlYXRlSW50ZXJu
YWwodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlKQorICAgIHsKKyAgICAgICAgaWYgKHZhbHVl
LT5Jc051bWJlcigpICYmICFpc25hbih2YWx1ZS0+TnVtYmVyVmFsdWUoKSkpCisgICAgICAgICAg
ICByZXR1cm4gSURCS2V5OjpjcmVhdGVOdW1iZXIodmFsdWUtPk51bWJlclZhbHVlKCkpOworICAg
ICAgICBpZiAodmFsdWUtPklzU3RyaW5nKCkpCisgICAgICAgICAgICByZXR1cm4gSURCS2V5Ojpj
cmVhdGVTdHJpbmcodjhWYWx1ZVRvV2ViQ29yZVN0cmluZyh2YWx1ZSkpOworICAgICAgICBpZiAo
dmFsdWUtPklzRGF0ZSgpKQorICAgICAgICAgICAgcmV0dXJuIElEQktleTo6Y3JlYXRlRGF0ZSh2
YWx1ZS0+TnVtYmVyVmFsdWUoKSk7CisgICAgICAgIGlmICh2YWx1ZS0+SXNBcnJheSgpKSB7Cisg
ICAgICAgICAgICB2ODo6SGFuZGxlPHY4OjpBcnJheT4gYXJyYXkgPSB2ODo6SGFuZGxlPHY4OjpB
cnJheT46OkNhc3QodmFsdWUpOworCisgICAgICAgICAgICBpZiAobV9zdGFjay5jb250YWlucyhh
cnJheSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIElEQktleTo6Y3JlYXRlSW52YWxpZCgpOwor
ICAgICAgICAgICAgbV9zdGFjay5hcHBlbmQoYXJyYXkpOworCisgICAgICAgICAgICBJREJLZXk6
OktleUFycmF5IHN1YmtleXM7CisgICAgICAgICAgICB1aW50MzJfdCBsZW5ndGggPSBhcnJheS0+
TGVuZ3RoKCk7CisgICAgICAgICAgICBmb3IgKHVpbnQzMl90IGkgPSAwOyBpIDwgbGVuZ3RoOyBp
KyspIHsKKyAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiBzdWJ2YWx1ZSA9IGFy
cmF5LT5HZXQodjg6OkludDMyOjpOZXcoaSkpOworICAgICAgICAgICAgICAgIFJlZlB0cjxJREJL
ZXk+IHN1YmtleSA9IGNyZWF0ZUludGVybmFsKHN1YnZhbHVlKTsKKyAgICAgICAgICAgICAgICBp
ZiAoIXN1YmtleSkgeworICAgICAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIElEQktleTo6Y3JlYXRlSW52YWxpZCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAoIXN1YmtleS0+dmFsaWQoKSkKKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIHN1YmtleTsKKyAgICAgICAgICAgICAgICBzdWJrZXlz
LmFwcGVuZChzdWJrZXkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgbV9zdGFjay5yZW1v
dmVMYXN0KCk7CisgICAgICAgICAgICByZXR1cm4gSURCS2V5OjpjcmVhdGVBcnJheShzdWJrZXlz
KTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gSURCS2V5OjpjcmVhdGVJbnZhbGlkKCk7Cisg
ICAgfQorCisgICAgVmVjdG9yPHY4OjpIYW5kbGU8djg6OkFycmF5PiA+IG1fc3RhY2s7Cit9Owor
CiBQYXNzUmVmUHRyPElEQktleT4gY3JlYXRlSURCS2V5RnJvbVZhbHVlKHY4OjpIYW5kbGU8djg6
OlZhbHVlPiB2YWx1ZSkKIHsKLSAgICBpZiAodmFsdWUtPklzTnVtYmVyKCkgJiYgIWlzbmFuKHZh
bHVlLT5OdW1iZXJWYWx1ZSgpKSkKLSAgICAgICAgcmV0dXJuIElEQktleTo6Y3JlYXRlTnVtYmVy
KHZhbHVlLT5OdW1iZXJWYWx1ZSgpKTsKLSAgICBpZiAodmFsdWUtPklzU3RyaW5nKCkpCi0gICAg
ICAgIHJldHVybiBJREJLZXk6OmNyZWF0ZVN0cmluZyh2OFZhbHVlVG9XZWJDb3JlU3RyaW5nKHZh
bHVlKSk7Ci0gICAgaWYgKHZhbHVlLT5Jc0RhdGUoKSkKLSAgICAgICAgcmV0dXJuIElEQktleTo6
Y3JlYXRlRGF0ZSh2YWx1ZS0+TnVtYmVyVmFsdWUoKSk7Ci0KLSAgICByZXR1cm4gSURCS2V5Ojpj
cmVhdGVJbnZhbGlkKCk7CisgICAgcmV0dXJuIElEQktleUNyZWF0b3I6OmNyZWF0ZSh2YWx1ZSk7
CiB9CiAKIG5hbWVzcGFjZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhJREJLZXlDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4SURCS2V5Q3VzdG9tLmNwcAppbmRleCAzYjRlZGE4NzdlYWY3YWUzNWU2YjFjZGVk
YmEyZmExNzkzM2I1ZGRlLi45ZTEzMGUxNmQ3OTE4MjJjMzk3NTYxZmFhNjk0OWFjNDA1MWU4M2Vi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJREJLZXlD
dXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOElEQktl
eUN1c3RvbS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKQEAgLTM0LDYgKzM0LDggQEAKICNpbmNsdWRlICJJREJLZXkuaCIKICNpbmNsdWRl
ICJWOEJpbmRpbmcuaCIKIAorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKwogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChJREJLZXkqIGtleSkKQEAgLTQx
LDggKzQzLDExIEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KElEQktleSoga2V5KQogICAg
IGlmICgha2V5KQogICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKIAorICAgIHY4OjpMb2NhbDx2
ODo6QXJyYXk+IGFycmF5OworCiAgICAgc3dpdGNoIChrZXktPnR5cGUoKSkgewogICAgIGNhc2Ug
SURCS2V5OjpJbnZhbGlkVHlwZToKKyAgICBjYXNlIElEQktleTo6TWluVHlwZToKICAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiAg
ICAgY2FzZSBJREJLZXk6Ok51bWJlclR5cGU6CkBAIC01MSw2ICs1NiwxMSBAQCB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gdG9WOChJREJLZXkqIGtleSkKICAgICAgICAgcmV0dXJuIHY4U3RyaW5nKGtl
eS0+c3RyaW5nKCkpOwogICAgIGNhc2UgSURCS2V5OjpEYXRlVHlwZToKICAgICAgICAgcmV0dXJu
IHY4OjpEYXRlOjpOZXcoa2V5LT5kYXRlKCkpOworICAgIGNhc2UgSURCS2V5OjpBcnJheVR5cGU6
CisgICAgICAgIGFycmF5ID0gdjg6OkFycmF5OjpOZXcoa2V5LT5hcnJheSgpLnNpemUoKSk7Cisg
ICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwga2V5LT5hcnJheSgpLnNpemUoKTsgKytpKQor
ICAgICAgICAgICAgYXJyYXktPlNldChpLCB0b1Y4KGtleS0+YXJyYXkoKVtpXS5nZXQoKSkpOwor
ICAgICAgICByZXR1cm4gYXJyYXk7CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQktleS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9zdG9yYWdlL0lEQktleS5jcHAKaW5kZXggNWU1MjZjZTIyMzliOThkMzg2ZmE4NzJi
MjA3YTliMGUzYzA5ZTllZS4uZTkyOTdkNjQwYWZkZWExNjdiOWI3ZDkwODQ2ZGQwOWQxOGQxMjY2
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJLZXkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00Niw2ICs0NiwxNiBAQCBpbnQgSURCS2V5Ojpj
b21wYXJlKGNvbnN0IElEQktleSogb3RoZXIpIGNvbnN0CiAgICAgICAgIHJldHVybiBtX3R5cGUg
PiBvdGhlci0+bV90eXBlID8gLTEgOiAxOwogCiAgICAgc3dpdGNoIChtX3R5cGUpIHsKKyAgICBj
YXNlIEFycmF5VHlwZToKKyAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2FycmF5LnNp
emUoKSAmJiBpIDwgb3RoZXItPm1fYXJyYXkuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIGlm
IChpbnQgcmVzdWx0ID0gbV9hcnJheVtpXS0+Y29tcGFyZShvdGhlci0+bV9hcnJheVtpXS5nZXQo
KSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAgfQorICAgICAgICBp
ZiAobV9hcnJheS5zaXplKCkgPCBvdGhlci0+bV9hcnJheS5zaXplKCkpCisgICAgICAgICAgICBy
ZXR1cm4gLTE7CisgICAgICAgIGlmIChtX2FycmF5LnNpemUoKSA+IG90aGVyLT5tX2FycmF5LnNp
emUoKSkKKyAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICByZXR1cm4gMDsKICAgICBjYXNl
IFN0cmluZ1R5cGU6CiAgICAgICAgIHJldHVybiAtY29kZVBvaW50Q29tcGFyZShvdGhlci0+bV9z
dHJpbmcsIG1fc3RyaW5nKTsKICAgICBjYXNlIERhdGVUeXBlOgpAQCAtNTUsNiArNjUsNyBAQCBp
bnQgSURCS2V5Ojpjb21wYXJlKGNvbnN0IElEQktleSogb3RoZXIpIGNvbnN0CiAgICAgICAgIHJl
dHVybiAobV9udW1iZXIgPCBvdGhlci0+bV9udW1iZXIpID8gLTEgOgogICAgICAgICAgICAgICAg
IChtX251bWJlciA+IG90aGVyLT4gbV9udW1iZXIpID8gMSA6IDA7CiAgICAgY2FzZSBJbnZhbGlk
VHlwZToKKyAgICBjYXNlIE1pblR5cGU6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
ICAgICAgICByZXR1cm4gMDsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL0lEQktleS5oIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJLZXkuaAppbmRleCBjOWEx
YjQ3ZGFiYzNhNGYyZTkzMDFiNTdmMDNjZmNmNzhhYWM5MTVkLi5hZTg5ZmEzODRjMDljMWEwOTk1
ZWI1NmVmOTRlYmJiMTAzMGQ3NDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L0lEQktleS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5LmgKQEAgLTEsNSAr
MSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzEsMTEgKzMxLDE0
IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSURCS2V5IDogcHVibGljIFRocmVhZFNhZmVS
ZWZDb3VudGVkPElEQktleT4gewogcHVibGljOgorICAgIHR5cGVkZWYgVmVjdG9yPFJlZlB0cjxJ
REJLZXk+ID4gS2V5QXJyYXk7CisKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0
ZUludmFsaWQoKQogICAgIHsKICAgICAgICAgUmVmUHRyPElEQktleT4gaWRiS2V5KG5ldyBJREJL
ZXkoKSk7CkBAIC02NywxNyArNzAsMzQgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gaWRiS2V5
LnJlbGVhc2UoKTsKICAgICB9CiAKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0
ZUFycmF5KGNvbnN0IEtleUFycmF5JiBhcnJheSkKKyAgICB7CisgICAgICAgIFJlZlB0cjxJREJL
ZXk+IGlkYktleShuZXcgSURCS2V5KCkpOworICAgICAgICBpZGJLZXktPm1fdHlwZSA9IEFycmF5
VHlwZTsKKyAgICAgICAgaWRiS2V5LT5tX2FycmF5ID0gYXJyYXk7CisgICAgICAgIHJldHVybiBp
ZGJLZXkucmVsZWFzZSgpOworICAgIH0KKwogICAgIH5JREJLZXkoKTsKIAogICAgIC8vIEluIG9y
ZGVyIG9mIHRoZSBsZWFzdCB0byB0aGUgaGlnaGVzdCBwcmVjZWRlbnQgaW4gdGVybXMgb2Ygc29y
dCBvcmRlci4KICAgICBlbnVtIFR5cGUgewogICAgICAgICBJbnZhbGlkVHlwZSA9IDAsCisgICAg
ICAgIEFycmF5VHlwZSwKICAgICAgICAgU3RyaW5nVHlwZSwKICAgICAgICAgRGF0ZVR5cGUsCi0g
ICAgICAgIE51bWJlclR5cGUKKyAgICAgICAgTnVtYmVyVHlwZSwKKyAgICAgICAgTWluVHlwZQog
ICAgIH07CiAKICAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KKyAgICBi
b29sIHZhbGlkKCkgY29uc3QgeyByZXR1cm4gbV90eXBlICE9IEludmFsaWRUeXBlOyB9CisKKyAg
ICBjb25zdCBLZXlBcnJheSYgYXJyYXkoKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUKG1f
dHlwZSA9PSBBcnJheVR5cGUpOworICAgICAgICByZXR1cm4gbV9hcnJheTsKKyAgICB9CiAKICAg
ICBjb25zdCBTdHJpbmcmIHN0cmluZygpIGNvbnN0CiAgICAgewpAQCAtMTA4LDYgKzEyOCw3IEBA
IHByaXZhdGU6CiAgICAgSURCS2V5KCk7CiAKICAgICBUeXBlIG1fdHlwZTsKKyAgICBLZXlBcnJh
eSBtX2FycmF5OwogICAgIFN0cmluZyBtX3N0cmluZzsKICAgICBkb3VibGUgbV9kYXRlOwogICAg
IGRvdWJsZSBtX251bWJlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURC
TGV2ZWxEQkNvZGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkxldmVsREJDb2Rp
bmcuY3BwCmluZGV4IDdjYzRhZWQwMGU4YjU0OGRkNGFhZDlhYjQ3YjQzYWExN2FjNDRkNjEuLmQ1
YWYwYzJlZDhiYTE1ZTk0MDc2ZDlhN2QzOGYyNjM3YzM4Mjk0NWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvSURCTGV2ZWxEQkNvZGluZy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9JREJMZXZlbERCQ29kaW5nLmNwcApAQCAtMTI5LDcgKzEyOSw4IEBAIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBjaGFyIGtJREJLZXlOdWxsVHlwZUJ5dGUgPSAwOwogc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGNoYXIga0lEQktleVN0cmluZ1R5cGVCeXRlID0gMTsKIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBjaGFyIGtJREJLZXlEYXRlVHlwZUJ5dGUgPSAyOwogc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGNoYXIga0lEQktleU51bWJlclR5cGVCeXRlID0gMzsKLXN0YXRpYyBjb25zdCB1bnNp
Z25lZCBjaGFyIGtJREJLZXlNaW5LZXlUeXBlQnl0ZSA9IDQ7CitzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgY2hhciBrSURCS2V5QXJyYXlUeXBlQnl0ZSA9IDQ7CitzdGF0aWMgY29uc3QgdW5zaWduZWQg
Y2hhciBrSURCS2V5TWluS2V5VHlwZUJ5dGUgPSA1OwogCiBzdGF0aWMgY29uc3QgdW5zaWduZWQg
Y2hhciBrT2JqZWN0U3RvcmVEYXRhSW5kZXhJZCA9IDE7CiBzdGF0aWMgY29uc3QgdW5zaWduZWQg
Y2hhciBrRXhpc3RzRW50cnlJbmRleElkID0gMjsKQEAgLTMwMSw4ICszMDIsOSBAQCBjb25zdCBj
aGFyKiBkZWNvZGVTdHJpbmdXaXRoTGVuZ3RoKGNvbnN0IGNoYXIqIHAsIGNvbnN0IGNoYXIqIGxp
bWl0LCBTdHJpbmcmIGZvdQogICAgIHJldHVybiBwOwogfQogCi1pbnQgY29tcGFyZUVuY29kZWRT
dHJpbmdzV2l0aExlbmd0aChjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFyKiBsaW1pdFAsIGNvbnN0
IGNoYXIqIHEsIGNvbnN0IGNoYXIqIGxpbWl0USkKK2ludCBjb21wYXJlRW5jb2RlZFN0cmluZ3NX
aXRoTGVuZ3RoKGNvbnN0IGNoYXIqJiBwLCBjb25zdCBjaGFyKiBsaW1pdFAsIGNvbnN0IGNoYXIq
JiBxLCBjb25zdCBjaGFyKiBsaW1pdFEpCiB7CisgICAgQVNTRVJUKCZwICE9ICZxKTsKICAgICBB
U1NFUlQobGltaXRQID49IHApOwogICAgIEFTU0VSVChsaW1pdFEgPj0gcSk7CiAgICAgaW50NjRf
dCBsZW5QLCBsZW5ROwpAQCAtMzE0LDggKzMxNiwxMyBAQCBpbnQgY29tcGFyZUVuY29kZWRTdHJp
bmdzV2l0aExlbmd0aChjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFyKiBsaW1pdFAsIGNvbnN0IGNo
YQogICAgIEFTU0VSVChwICsgbGVuUCAqIDIgPD0gbGltaXRQKTsKICAgICBBU1NFUlQocSArIGxl
blEgKiAyIDw9IGxpbWl0USk7CiAKKyAgICBjb25zdCBjaGFyKiBzdGFydFAgPSBwOworICAgIGNv
bnN0IGNoYXIqIHN0YXJ0USA9IHE7CisgICAgcCArPSBsZW5QICogMjsKKyAgICBxICs9IGxlblEg
KiAyOworCiAgICAgY29uc3Qgc2l6ZV90IGxtaW4gPSBzdGF0aWNfY2FzdDxzaXplX3Q+KGxlblAg
PCBsZW5RID8gbGVuUCA6IGxlblEpOwotICAgIGlmIChpbnQgeCA9IG1lbWNtcChwLCBxLCBsbWlu
ICogMikpCisgICAgaWYgKGludCB4ID0gbWVtY21wKHN0YXJ0UCwgc3RhcnRRLCBsbWluICogMikp
CiAgICAgICAgIHJldHVybiB4OwogCiAgICAgaWYgKGxlblAgPT0gbGVuUSkKQEAgLTM0OCwzMSAr
MzU1LDQ5IEBAIGNvbnN0IGNoYXIqIGRlY29kZURvdWJsZShjb25zdCBjaGFyKiBwLCBjb25zdCBj
aGFyKiBsaW1pdCwgZG91YmxlKiBkKQogVmVjdG9yPGNoYXI+IGVuY29kZUlEQktleShjb25zdCBJ
REJLZXkmIGtleSkKIHsKICAgICBWZWN0b3I8Y2hhcj4gcmV0OworICAgIGVuY29kZUlEQktleShr
ZXksIHJldCk7CisgICAgcmV0dXJuIHJldDsKK30KIAordm9pZCBlbmNvZGVJREJLZXkoY29uc3Qg
SURCS2V5JiBrZXksIFZlY3RvcjxjaGFyPiYgaW50bykKK3sKKyAgICBzaXplX3QgcHJldlNpemUg
PSBpbnRvLnNpemUoKTsKKyAgICBzaXplX3QgbGVuOwogICAgIHN3aXRjaCAoa2V5LnR5cGUoKSkg
ewogICAgIGNhc2UgSURCS2V5OjpJbnZhbGlkVHlwZToKKyAgICBjYXNlIElEQktleTo6TWluVHlw
ZToKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiBlbmNvZGVC
eXRlKGtJREJLZXlOdWxsVHlwZUJ5dGUpOworICAgICAgICBpbnRvLmFwcGVuZChlbmNvZGVCeXRl
KGtJREJLZXlOdWxsVHlwZUJ5dGUpKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgSURCS2V5
OjpBcnJheVR5cGU6CisgICAgICAgIGludG8uYXBwZW5kKGVuY29kZUJ5dGUoa0lEQktleUFycmF5
VHlwZUJ5dGUpKTsKKyAgICAgICAgbGVuID0ga2V5LmFycmF5KCkuc2l6ZSgpOworICAgICAgICBp
bnRvLmFwcGVuZChlbmNvZGVWYXJJbnQobGVuKSk7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgbGVuOyArK2kpCisgICAgICAgICAgICBlbmNvZGVJREJLZXkoKmtleS5hcnJheSgpW2ld
LCBpbnRvKTsKKyAgICAgICAgQVNTRVJUX1VOVVNFRChwcmV2U2l6ZSwgaW50by5zaXplKCkgPiBw
cmV2U2l6ZSk7CisgICAgICAgIHJldHVybjsKICAgICBjYXNlIElEQktleTo6U3RyaW5nVHlwZToK
LSAgICAgICAgcmV0ID0gZW5jb2RlQnl0ZShrSURCS2V5U3RyaW5nVHlwZUJ5dGUpOwotICAgICAg
ICByZXQuYXBwZW5kKGVuY29kZVN0cmluZ1dpdGhMZW5ndGgoa2V5LnN0cmluZygpKSk7Ci0gICAg
ICAgIHJldHVybiByZXQ7CisgICAgICAgIGludG8uYXBwZW5kKGVuY29kZUJ5dGUoa0lEQktleVN0
cmluZ1R5cGVCeXRlKSk7CisgICAgICAgIGludG8uYXBwZW5kKGVuY29kZVN0cmluZ1dpdGhMZW5n
dGgoa2V5LnN0cmluZygpKSk7CisgICAgICAgIEFTU0VSVF9VTlVTRUQocHJldlNpemUsIGludG8u
c2l6ZSgpID4gcHJldlNpemUpOworICAgICAgICByZXR1cm47CiAgICAgY2FzZSBJREJLZXk6OkRh
dGVUeXBlOgotICAgICAgICByZXQgPSBlbmNvZGVCeXRlKGtJREJLZXlEYXRlVHlwZUJ5dGUpOwot
ICAgICAgICByZXQuYXBwZW5kKGVuY29kZURvdWJsZShrZXkuZGF0ZSgpKSk7Ci0gICAgICAgIEFT
U0VSVChyZXQuc2l6ZSgpID09IDkpOwotICAgICAgICByZXR1cm4gcmV0OworICAgICAgICBpbnRv
LmFwcGVuZChlbmNvZGVCeXRlKGtJREJLZXlEYXRlVHlwZUJ5dGUpKTsKKyAgICAgICAgaW50by5h
cHBlbmQoZW5jb2RlRG91YmxlKGtleS5kYXRlKCkpKTsKKyAgICAgICAgQVNTRVJUX1VOVVNFRChw
cmV2U2l6ZSwgaW50by5zaXplKCkgLSBwcmV2U2l6ZSA9PSA5KTsKKyAgICAgICAgcmV0dXJuOwog
ICAgIGNhc2UgSURCS2V5OjpOdW1iZXJUeXBlOgotICAgICAgICByZXQgPSBlbmNvZGVCeXRlKGtJ
REJLZXlOdW1iZXJUeXBlQnl0ZSk7Ci0gICAgICAgIHJldC5hcHBlbmQoZW5jb2RlRG91YmxlKGtl
eS5udW1iZXIoKSkpOwotICAgICAgICBBU1NFUlQocmV0LnNpemUoKSA9PSA5KTsKLSAgICAgICAg
cmV0dXJuIHJldDsKKyAgICAgICAgaW50by5hcHBlbmQoZW5jb2RlQnl0ZShrSURCS2V5TnVtYmVy
VHlwZUJ5dGUpKTsKKyAgICAgICAgaW50by5hcHBlbmQoZW5jb2RlRG91YmxlKGtleS5udW1iZXIo
KSkpOworICAgICAgICBBU1NFUlRfVU5VU0VEKHByZXZTaXplLCBpbnRvLnNpemUoKSAtIHByZXZT
aXplID09IDkpOworICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgcmV0dXJuIFZlY3RvcjxjaGFyPigpOwogfQogCisKIGNvbnN0IGNoYXIqIGRl
Y29kZUlEQktleShjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFyKiBsaW1pdCwgUmVmUHRyPElEQktl
eT4mIGZvdW5kS2V5KQogewogICAgIEFTU0VSVChsaW1pdCA+PSBwKTsKQEAgLTM4MiwxMiArNDA3
LDMxIEBAIGNvbnN0IGNoYXIqIGRlY29kZUlEQktleShjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFy
KiBsaW1pdCwgUmVmUHRyPElEQktleT4mIGZvdW5kCiAgICAgdW5zaWduZWQgY2hhciB0eXBlID0g
KnArKzsKICAgICBTdHJpbmcgczsKICAgICBkb3VibGUgZDsKKyAgICBpbnQ2NF90IGxlbjsKKyAg
ICBSZWZQdHI8SURCS2V5PiBrZXk7CisgICAgSURCS2V5OjpLZXlBcnJheSBhcnJheTsKIAogICAg
IHN3aXRjaCAodHlwZSkgewogICAgIGNhc2Uga0lEQktleU51bGxUeXBlQnl0ZToKICAgICAgICAg
Ly8gTnVsbC4KICAgICAgICAgZm91bmRLZXkgPSBJREJLZXk6OmNyZWF0ZUludmFsaWQoKTsKICAg
ICAgICAgcmV0dXJuIHA7CisKKyAgICBjYXNlIGtJREJLZXlBcnJheVR5cGVCeXRlOgorICAgICAg
ICAvLyBBcnJheS4KKyAgICAgICAgcCA9IGRlY29kZVZhckludChwLCBsaW1pdCwgbGVuKTsKKyAg
ICAgICAgaWYgKCFwKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIGlmIChsZW4gPCAw
KQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHdoaWxlIChsZW4tLSkgeworICAgICAg
ICAgICAgcCA9IGRlY29kZUlEQktleShwLCBsaW1pdCwga2V5KTsKKyAgICAgICAgICAgIGlmICgh
cCkKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIGFycmF5LmFwcGVuZChr
ZXkpOworICAgICAgICB9CisgICAgICAgIGZvdW5kS2V5ID0gSURCS2V5OjpjcmVhdGVBcnJheShh
cnJheSk7CisgICAgICAgIHJldHVybiBwOwogICAgIGNhc2Uga0lEQktleVN0cmluZ1R5cGVCeXRl
OgogICAgICAgICAvLyBTdHJpbmcuCiAgICAgICAgIHAgPSBkZWNvZGVTdHJpbmdXaXRoTGVuZ3Ro
KHAsIGxpbWl0LCBzKTsKQEAgLTQxNywyOSArNDYxLDQ4IEBAIGNvbnN0IGNoYXIqIGRlY29kZUlE
QktleShjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFyKiBsaW1pdCwgUmVmUHRyPElEQktleT4mIGZv
dW5kCiAKIGNvbnN0IGNoYXIqIGV4dHJhY3RFbmNvZGVkSURCS2V5KGNvbnN0IGNoYXIqIHN0YXJ0
LCBjb25zdCBjaGFyKiBsaW1pdCwgVmVjdG9yPGNoYXI+KiByZXN1bHQpCiB7CisgICAgQVNTRVJU
KHJlc3VsdCk7CiAgICAgY29uc3QgY2hhciogcCA9IHN0YXJ0OwogICAgIGlmIChwID49IGxpbWl0
KQogICAgICAgICByZXR1cm4gMDsKIAogICAgIHVuc2lnbmVkIGNoYXIgdHlwZSA9ICpwKys7CiAK
LSAgICBpbnQ2NF90IHN0cmluZ0xlbjsKKyAgICBpbnQ2NF90IGxlbjsKKyAgICBWZWN0b3I8Y2hh
cj4gc3Via2V5OwogCiAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAgY2FzZSBrSURCS2V5TnVsbFR5
cGVCeXRlOgogICAgIGNhc2Uga0lEQktleU1pbktleVR5cGVCeXRlOgogICAgICAgICAqcmVzdWx0
ID0gZW5jb2RlQnl0ZSh0eXBlKTsKICAgICAgICAgcmV0dXJuIHA7CisgICAgY2FzZSBrSURCS2V5
QXJyYXlUeXBlQnl0ZToKKyAgICAgICAgLy8gQXJyYXkuCisgICAgICAgIHAgPSBkZWNvZGVWYXJJ
bnQocCwgbGltaXQsIGxlbik7CisgICAgICAgIGlmICghcCkKKyAgICAgICAgICAgIHJldHVybiAw
OworICAgICAgICBpZiAobGVuIDwgMCkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBy
ZXN1bHQtPmNsZWFyKCk7CisgICAgICAgIHJlc3VsdC0+YXBwZW5kKHN0YXJ0LCBwIC0gc3RhcnQp
OworICAgICAgICB3aGlsZSAobGVuLS0pIHsKKyAgICAgICAgICAgIHN1YmtleS5jbGVhcigpOwor
ICAgICAgICAgICAgcCA9IGV4dHJhY3RFbmNvZGVkSURCS2V5KHAsIGxpbWl0LCAmc3Via2V5KTsK
KyAgICAgICAgICAgIGlmICghcCkKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAg
ICAgIHJlc3VsdC0+YXBwZW5kKHN1YmtleSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHA7
CiAgICAgY2FzZSBrSURCS2V5U3RyaW5nVHlwZUJ5dGU6CiAgICAgICAgIC8vIFN0cmluZy4KLSAg
ICAgICAgcCA9IGRlY29kZVZhckludChwLCBsaW1pdCwgc3RyaW5nTGVuKTsKKyAgICAgICAgcCA9
IGRlY29kZVZhckludChwLCBsaW1pdCwgbGVuKTsKICAgICAgICAgaWYgKCFwKQogICAgICAgICAg
ICAgcmV0dXJuIDA7Ci0gICAgICAgIGlmIChwICsgc3RyaW5nTGVuICogMiA+IGxpbWl0KQorICAg
ICAgICBpZiAocCArIGxlbiAqIDIgPiBsaW1pdCkKICAgICAgICAgICAgIHJldHVybiAwOwogICAg
ICAgICByZXN1bHQtPmNsZWFyKCk7Ci0gICAgICAgIHJlc3VsdC0+YXBwZW5kKHN0YXJ0LCBwIC0g
c3RhcnQgKyBzdHJpbmdMZW4gKiAyKTsKLSAgICAgICAgcmV0dXJuIHAgKyBzdHJpbmdMZW4gKiAy
OworICAgICAgICByZXN1bHQtPmFwcGVuZChzdGFydCwgcCAtIHN0YXJ0ICsgbGVuICogMik7Cisg
ICAgICAgIHJldHVybiBwICsgbGVuICogMjsKICAgICBjYXNlIGtJREJLZXlEYXRlVHlwZUJ5dGU6
CiAgICAgY2FzZSBrSURCS2V5TnVtYmVyVHlwZUJ5dGU6CiAgICAgICAgIC8vIERhdGUgb3IgbnVt
YmVyLgpAQCAtNDUzLDIyICs1MTYsMzcgQEAgY29uc3QgY2hhciogZXh0cmFjdEVuY29kZWRJREJL
ZXkoY29uc3QgY2hhciogc3RhcnQsIGNvbnN0IGNoYXIqIGxpbWl0LCBWZWN0b3I8Y2gKICAgICBy
ZXR1cm4gMDsKIH0KIAotaW50IGNvbXBhcmVFbmNvZGVkSURCS2V5cyhjb25zdCBWZWN0b3I8Y2hh
cj4mIGtleUEsIGNvbnN0IFZlY3RvcjxjaGFyPiYga2V5QikKK0lEQktleTo6VHlwZSBjb2RpbmdU
b09yZGVyKHVuc2lnbmVkIGNoYXIgdHlwZSkKIHsKLSAgICBBU1NFUlQoa2V5QS5zaXplKCkgPj0g
MSk7Ci0gICAgQVNTRVJUKGtleUIuc2l6ZSgpID49IDEpOwotCi0gICAgY29uc3QgY2hhciogcCA9
IGtleUEuZGF0YSgpOwotICAgIGNvbnN0IGNoYXIqIGxpbWl0QSA9IHAgKyBrZXlBLnNpemUoKTsK
LSAgICBjb25zdCBjaGFyKiBxID0ga2V5Qi5kYXRhKCk7Ci0gICAgY29uc3QgY2hhciogbGltaXRC
ID0gcSArIGtleUIuc2l6ZSgpOworICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2Uga0lEQktl
eU51bGxUeXBlQnl0ZToKKyAgICAgICAgcmV0dXJuIElEQktleTo6SW52YWxpZFR5cGU7CisgICAg
Y2FzZSBrSURCS2V5QXJyYXlUeXBlQnl0ZToKKyAgICAgICAgcmV0dXJuIElEQktleTo6QXJyYXlU
eXBlOworICAgIGNhc2Uga0lEQktleVN0cmluZ1R5cGVCeXRlOgorICAgICAgICByZXR1cm4gSURC
S2V5OjpTdHJpbmdUeXBlOworICAgIGNhc2Uga0lEQktleURhdGVUeXBlQnl0ZToKKyAgICAgICAg
cmV0dXJuIElEQktleTo6RGF0ZVR5cGU7CisgICAgY2FzZSBrSURCS2V5TnVtYmVyVHlwZUJ5dGU6
CisgICAgICAgIHJldHVybiBJREJLZXk6Ok51bWJlclR5cGU7CisgICAgY2FzZSBrSURCS2V5TWlu
S2V5VHlwZUJ5dGU6CisgICAgICAgIHJldHVybiBJREJLZXk6Ok1pblR5cGU7CisgICAgZGVmYXVs
dDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBJREJLZXk6
OkludmFsaWRUeXBlOworICAgIH0KK30KIAoraW50IGNvbXBhcmVFbmNvZGVkSURCS2V5cyhjb25z
dCBjaGFyKiYgcCwgY29uc3QgY2hhciogbGltaXRBLCBjb25zdCBjaGFyKiYgcSwgY29uc3QgY2hh
ciogbGltaXRCKQoreworICAgIEFTU0VSVCgmcCAhPSAmcSk7CiAgICAgdW5zaWduZWQgY2hhciB0
eXBlQSA9ICpwKys7CiAgICAgdW5zaWduZWQgY2hhciB0eXBlQiA9ICpxKys7CiAKICAgICBkb3Vi
bGUgZCwgZTsKKyAgICBpbnQ2NF90IGxlbkEsIGxlbkI7CiAKLSAgICBpZiAoaW50IHggPSB0eXBl
QiAtIHR5cGVBKSAvLyBGSVhNRTogTm90ZSB0aGUgc3VidGxlbmVzcyEKKyAgICBpZiAoaW50IHgg
PSBjb2RpbmdUb09yZGVyKHR5cGVCKSAtIGNvZGluZ1RvT3JkZXIodHlwZUEpKQogICAgICAgICBy
ZXR1cm4geDsKIAogICAgIHN3aXRjaCAodHlwZUEpIHsKQEAgLTQ3Niw2ICs1NTQsMjMgQEAgaW50
IGNvbXBhcmVFbmNvZGVkSURCS2V5cyhjb25zdCBWZWN0b3I8Y2hhcj4mIGtleUEsIGNvbnN0IFZl
Y3RvcjxjaGFyPiYga2V5QikKICAgICBjYXNlIGtJREJLZXlNaW5LZXlUeXBlQnl0ZToKICAgICAg
ICAgLy8gTnVsbCB0eXBlIG9yIG1heCB0eXBlOyBubyBwYXlsb2FkIHRvIGNvbXBhcmUuCiAgICAg
ICAgIHJldHVybiAwOworICAgIGNhc2Uga0lEQktleUFycmF5VHlwZUJ5dGU6CisgICAgICAgIC8v
IEFycmF5IHR5cGUuCisgICAgICAgIHAgPSBkZWNvZGVWYXJJbnQocCwgbGltaXRBLCBsZW5BKTsK
KyAgICAgICAgaWYgKCFwKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHEgPSBkZWNv
ZGVWYXJJbnQocSwgbGltaXRCLCBsZW5CKTsKKyAgICAgICAgaWYgKCFxKQorICAgICAgICAgICAg
cmV0dXJuIDA7CisgICAgICAgIGZvciAoaW50NjRfdCBpID0gMDsgaSA8IGxlbkEgJiYgaSA8IGxl
bkI7ICsraSkgeworICAgICAgICAgICAgaWYgKGludCBjbXAgPSBjb21wYXJlRW5jb2RlZElEQktl
eXMocCwgbGltaXRBLCBxLCBsaW1pdEIpKQorICAgICAgICAgICAgICAgIHJldHVybiBjbXA7Cisg
ICAgICAgIH0KKyAgICAgICAgaWYgKGxlbkEgPCBsZW5CKQorICAgICAgICAgICAgcmV0dXJuIC0x
OworICAgICAgICBpZiAobGVuQSA+IGxlbkIpCisgICAgICAgICAgICByZXR1cm4gMTsKKyAgICAg
ICAgcmV0dXJuIDA7CiAgICAgY2FzZSBrSURCS2V5U3RyaW5nVHlwZUJ5dGU6CiAgICAgICAgIC8v
IFN0cmluZyB0eXBlLgogICAgICAgICByZXR1cm4gY29tcGFyZUVuY29kZWRTdHJpbmdzV2l0aExl
bmd0aChwLCBsaW1pdEEsIHEsIGxpbWl0Qik7CkBAIC00OTcsNiArNTkyLDE5IEBAIGludCBjb21w
YXJlRW5jb2RlZElEQktleXMoY29uc3QgVmVjdG9yPGNoYXI+JiBrZXlBLCBjb25zdCBWZWN0b3I8
Y2hhcj4mIGtleUIpCiAgICAgcmV0dXJuIDA7CiB9CiAKK2ludCBjb21wYXJlRW5jb2RlZElEQktl
eXMoY29uc3QgVmVjdG9yPGNoYXI+JiBrZXlBLCBjb25zdCBWZWN0b3I8Y2hhcj4mIGtleUIpCit7
CisgICAgQVNTRVJUKGtleUEuc2l6ZSgpID49IDEpOworICAgIEFTU0VSVChrZXlCLnNpemUoKSA+
PSAxKTsKKworICAgIGNvbnN0IGNoYXIqIHAgPSBrZXlBLmRhdGEoKTsKKyAgICBjb25zdCBjaGFy
KiBsaW1pdEEgPSBwICsga2V5QS5zaXplKCk7CisgICAgY29uc3QgY2hhciogcSA9IGtleUIuZGF0
YSgpOworICAgIGNvbnN0IGNoYXIqIGxpbWl0QiA9IHEgKyBrZXlCLnNpemUoKTsKKworICAgIHJl
dHVybiBjb21wYXJlRW5jb2RlZElEQktleXMocCwgbGltaXRBLCBxLCBsaW1pdEIpOworfQorCiBu
YW1lc3BhY2UgewogdGVtcGxhdGU8dHlwZW5hbWUgS2V5VHlwZT4KIGludCBkZWNvZGVBbmRDb21w
YXJlKGNvbnN0IExldmVsREJTbGljZSYgYSwgY29uc3QgTGV2ZWxEQlNsaWNlJiBiKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJMZXZlbERCQ29kaW5nLmggYi9Tb3VyY2Uv
V2ViQ29yZS9zdG9yYWdlL0lEQkxldmVsREJDb2RpbmcuaAppbmRleCBmM2JkY2YzMGI1NmUwNTY5
M2NkNDE0NmI4NTgyMGY4ZDAxOWZjZjZjLi4xNTgxZmJiYmZkNzlmMmZkNjdkZWQwZjNhMmI1OGFj
MTk0YTA1ZmRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkxldmVsREJD
b2RpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkxldmVsREJDb2RpbmcuaApA
QCAtNTMsOSArNTMsMTAgQEAgVmVjdG9yPGNoYXI+IGVuY29kZVN0cmluZyhjb25zdCBTdHJpbmcm
KTsKIFN0cmluZyBkZWNvZGVTdHJpbmcoY29uc3QgY2hhciogcCwgY29uc3QgY2hhciogZW5kKTsK
IFZlY3RvcjxjaGFyPiBlbmNvZGVTdHJpbmdXaXRoTGVuZ3RoKGNvbnN0IFN0cmluZyYpOwogY29u
c3QgY2hhciogZGVjb2RlU3RyaW5nV2l0aExlbmd0aChjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFy
KiBsaW1pdCwgU3RyaW5nJiBmb3VuZFN0cmluZyk7Ci1pbnQgY29tcGFyZUVuY29kZWRTdHJpbmdz
V2l0aExlbmd0aChjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFyKiBsaW1pdFAsIGNvbnN0IGNoYXIq
IHEsIGNvbnN0IGNoYXIqIGxpbWl0USk7CitpbnQgY29tcGFyZUVuY29kZWRTdHJpbmdzV2l0aExl
bmd0aChjb25zdCBjaGFyKiYgcCwgY29uc3QgY2hhciogbGltaXRQLCBjb25zdCBjaGFyKiYgcSwg
Y29uc3QgY2hhciogbGltaXRRKTsKIFZlY3RvcjxjaGFyPiBlbmNvZGVEb3VibGUoZG91YmxlKTsK
IGNvbnN0IGNoYXIqIGRlY29kZURvdWJsZShjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFyKiBsaW1p
dCwgZG91YmxlKik7Cit2b2lkIGVuY29kZUlEQktleShjb25zdCBJREJLZXkmLCBWZWN0b3I8Y2hh
cj4mIGludG8pOwogVmVjdG9yPGNoYXI+IGVuY29kZUlEQktleShjb25zdCBJREJLZXkmKTsKIGNv
bnN0IGNoYXIqIGRlY29kZUlEQktleShjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFyKiBsaW1pdCwg
UmVmUHRyPElEQktleT4mIGZvdW5kS2V5KTsKIGNvbnN0IGNoYXIqIGV4dHJhY3RFbmNvZGVkSURC
S2V5KGNvbnN0IGNoYXIqIHN0YXJ0LCBjb25zdCBjaGFyKiBsaW1pdCwgVmVjdG9yPGNoYXI+KiBy
ZXN1bHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURC
S2V5LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJREJLZXkuaAppbmRleCAx
ZGI0NjdmZTI3MGE2MGI4ZGVhOGU0YzRjZTk2NmMwNTQ0MjNiZDE5Li5jYTBkMTI5MDY0OTA0YzUy
MTc3ODFhYzlmNjZjN2RkMzVlODQ2YWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJJREJLZXkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJJREJLZXkuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiV2ViQ29tbW9uLmgiCiAjaW5jbHVk
ZSAiV2ViUHJpdmF0ZVB0ci5oIgogI2luY2x1ZGUgIldlYlN0cmluZy5oIgorI2luY2x1ZGUgIldl
YlZlY3Rvci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7IGNsYXNzIElEQktleTsgfQogCkBAIC00
Myw2ICs0NCw3IEBAIHB1YmxpYzoKICAgICBXZWJJREJLZXkoKSB7IH0KICAgICB+V2ViSURCS2V5
KCkgeyByZXNldCgpOyB9CiAKKyAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyBXZWJJREJLZXkgY3Jl
YXRlQXJyYXkoY29uc3QgV2ViVmVjdG9yPFdlYklEQktleT4mKTsKICAgICBXRUJLSVRfRVhQT1JU
IHN0YXRpYyBXZWJJREJLZXkgY3JlYXRlU3RyaW5nKGNvbnN0IFdlYlN0cmluZyYpOwogICAgIFdF
QktJVF9FWFBPUlQgc3RhdGljIFdlYklEQktleSBjcmVhdGVEYXRlKGRvdWJsZSk7CiAgICAgV0VC
S0lUX0VYUE9SVCBzdGF0aWMgV2ViSURCS2V5IGNyZWF0ZU51bWJlcihkb3VibGUpOwpAQCAtNTgs
NiArNjAsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgV0VCS0lUX0VYUE9SVCB2b2lkIGFzc2ln
bihjb25zdCBXZWJJREJLZXkmKTsKKyAgICBXRUJLSVRfRVhQT1JUIHZvaWQgYXNzaWduQXJyYXko
Y29uc3QgV2ViVmVjdG9yPFdlYklEQktleT4mKTsKICAgICBXRUJLSVRfRVhQT1JUIHZvaWQgYXNz
aWduU3RyaW5nKGNvbnN0IFdlYlN0cmluZyYpOwogICAgIFdFQktJVF9FWFBPUlQgdm9pZCBhc3Np
Z25EYXRlKGRvdWJsZSk7CiAgICAgV0VCS0lUX0VYUE9SVCB2b2lkIGFzc2lnbk51bWJlcihkb3Vi
bGUpOwpAQCAtNjYsMTIgKzY5LDE0IEBAIHB1YmxpYzoKIAogICAgIGVudW0gVHlwZSB7CiAgICAg
ICAgIEludmFsaWRUeXBlID0gMCwKKyAgICAgICAgQXJyYXlUeXBlLAogICAgICAgICBTdHJpbmdU
eXBlLAogICAgICAgICBEYXRlVHlwZSwKICAgICAgICAgTnVtYmVyVHlwZQogICAgIH07CiAKICAg
ICBXRUJLSVRfRVhQT1JUIFR5cGUgdHlwZSgpIGNvbnN0OworICAgIFdFQktJVF9FWFBPUlQgV2Vi
VmVjdG9yPFdlYklEQktleT4gYXJyYXkoKSBjb25zdDsgLy8gT25seSB2YWxpZCBmb3IgQXJyYXlU
eXBlLgogICAgIFdFQktJVF9FWFBPUlQgV2ViU3RyaW5nIHN0cmluZygpIGNvbnN0OyAvLyBPbmx5
IHZhbGlkIGZvciBTdHJpbmdUeXBlLgogICAgIFdFQktJVF9FWFBPUlQgZG91YmxlIGRhdGUoKSBj
b25zdDsgLy8gT25seSB2YWxpZCBmb3IgRGF0ZVR5cGUuCiAgICAgV0VCS0lUX0VYUE9SVCBkb3Vi
bGUgbnVtYmVyKCkgY29uc3Q7IC8vIE9ubHkgdmFsaWQgZm9yIE51bWJlclR5cGUuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCmluZGV4
IGIxMDY4MjgyZTE4OTdlNGM0MDYxMzM1ZjMzZTA5ZTE3NTU0OTIwMTcuLmU3MzBjYmU5NTExZjA2
NGUzODQ0NDExNGIwZDRhMTg0ZmUyMWE5ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zOTcsNiArMzk3LDcgQEAgQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJWaWV3OjpVc2VyU3R5bGVJbmplY3RJbkV4aXN0aW5n
RG9jdW1lbnRzLCBJbmplY3QKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViVmlldzo6
VXNlclN0eWxlSW5qZWN0SW5TdWJzZXF1ZW50RG9jdW1lbnRzLCBJbmplY3RJblN1YnNlcXVlbnRE
b2N1bWVudHMpOwogCiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYklEQktleTo6SW52
YWxpZFR5cGUsIElEQktleTo6SW52YWxpZFR5cGUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShXZWJJREJLZXk6OkFycmF5VHlwZSwgSURCS2V5OjpBcnJheVR5cGUpOwogQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJJREJLZXk6OlN0cmluZ1R5cGUsIElEQktleTo6U3RyaW5n
VHlwZSk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYklEQktleTo6RGF0ZVR5cGUs
IElEQktleTo6RGF0ZVR5cGUpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJJREJL
ZXk6Ok51bWJlclR5cGUsIElEQktleTo6TnVtYmVyVHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJLZXkuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViSURCS2V5LmNwcAppbmRleCA5ZjZhMDkwNTI2ZTUwZmY2NWE5Y2RkZTFmMTNkMzcx
ZTRlMDY5ZGFlLi42N2U4Yjc4YjhkOGQxYjllMTI2MWQzNjA2OTE5MzI4Mjg4YTNjNTc4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJLZXkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQktleS5jcHAKQEAgLTQxLDYgKzQxLDEzIEBA
IHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorV2ViSURC
S2V5IFdlYklEQktleTo6Y3JlYXRlQXJyYXkoY29uc3QgV2ViVmVjdG9yPFdlYklEQktleT4mIGFy
cmF5KQoreworICAgIFdlYklEQktleSBrZXk7CisgICAga2V5LmFzc2lnbkFycmF5KGFycmF5KTsK
KyAgICByZXR1cm4ga2V5OworfQorCiBXZWJJREJLZXkgV2ViSURCS2V5OjpjcmVhdGVTdHJpbmco
Y29uc3QgV2ViU3RyaW5nJiBzdHJpbmcpCiB7CiAgICAgV2ViSURCS2V5IGtleTsKQEAgLTg2LDYg
KzkzLDYzIEBAIHZvaWQgV2ViSURCS2V5Ojphc3NpZ24oY29uc3QgV2ViSURCS2V5JiB2YWx1ZSkK
ICAgICBtX3ByaXZhdGUgPSB2YWx1ZS5tX3ByaXZhdGU7CiB9CiAKK1Bhc3NSZWZQdHI8SURCS2V5
PiBjb252ZXJ0RnJvbVdlYklEQktleUFycmF5KGNvbnN0IFdlYlZlY3RvcjxXZWJJREJLZXk+JiBh
cnJheSkKK3sKKyAgICBJREJLZXk6OktleUFycmF5IGtleXMoYXJyYXkuc2l6ZSgpKTsKKyAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IGFycmF5LnNpemUoKTsgKytpKSB7CisgICAgICAgIHN3aXRj
aCAoYXJyYXlbaV0udHlwZSgpKSB7CisgICAgICAgIGNhc2UgV2ViSURCS2V5OjpBcnJheVR5cGU6
CisgICAgICAgICAgICBrZXlzLmFwcGVuZChjb252ZXJ0RnJvbVdlYklEQktleUFycmF5KGFycmF5
W2ldLmFycmF5KCkpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFdlYklEQktl
eTo6U3RyaW5nVHlwZToKKyAgICAgICAgICAgIGtleXMuYXBwZW5kKElEQktleTo6Y3JlYXRlU3Ry
aW5nKGFycmF5W2ldLnN0cmluZygpKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2Fz
ZSBXZWJJREJLZXk6OkRhdGVUeXBlOgorICAgICAgICAgICAga2V5cy5hcHBlbmQoSURCS2V5Ojpj
cmVhdGVEYXRlKGFycmF5W2ldLmRhdGUoKSkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
IGNhc2UgV2ViSURCS2V5OjpOdW1iZXJUeXBlOgorICAgICAgICAgICAga2V5cy5hcHBlbmQoSURC
S2V5OjpjcmVhdGVOdW1iZXIoYXJyYXlbaV0ubnVtYmVyKCkpKTsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gSURCS2V5Ojpj
cmVhdGVBcnJheShrZXlzKTsKK30KKwordm9pZCBjb252ZXJ0VG9XZWJJREJLZXlBcnJheShjb25z
dCBJREJLZXk6OktleUFycmF5JiBhcnJheSwgV2ViVmVjdG9yPFdlYklEQktleT4mIHJlc3VsdCkK
K3sKKyAgICBXZWJWZWN0b3I8V2ViSURCS2V5PiBrZXlzKGFycmF5LnNpemUoKSksIHN1YmtleXM7
CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBhcnJheS5zaXplKCk7ICsraSkgeworICAgICAg
ICBSZWZQdHI8SURCS2V5PiBrZXkgPSBhcnJheVtpXTsKKyAgICAgICAgc3dpdGNoIChrZXktPnR5
cGUoKSkgeworICAgICAgICBjYXNlIElEQktleTo6QXJyYXlUeXBlOgorICAgICAgICAgICAgY29u
dmVydFRvV2ViSURCS2V5QXJyYXkoa2V5LT5hcnJheSgpLCBzdWJrZXlzKTsKKyAgICAgICAgICAg
IGtleXNbaV0gPSBXZWJJREJLZXk6OmNyZWF0ZUFycmF5KHN1YmtleXMpOworICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIGNhc2UgSURCS2V5OjpTdHJpbmdUeXBlOgorICAgICAgICAgICAga2V5
c1tpXSA9IFdlYklEQktleTo6Y3JlYXRlU3RyaW5nKGtleS0+c3RyaW5nKCkpOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIGNhc2UgSURCS2V5OjpEYXRlVHlwZToKKyAgICAgICAgICAgIGtl
eXNbaV0gPSBXZWJJREJLZXk6OmNyZWF0ZURhdGUoa2V5LT5kYXRlKCkpOworICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIGNhc2UgSURCS2V5OjpOdW1iZXJUeXBlOgorICAgICAgICAgICAga2V5
c1tpXSA9IFdlYklEQktleTo6Y3JlYXRlTnVtYmVyKGtleS0+bnVtYmVyKCkpOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CisgICAgfQorICAgIHJlc3VsdC5z
d2FwKGtleXMpOworfQorCit2b2lkIFdlYklEQktleTo6YXNzaWduQXJyYXkoY29uc3QgV2ViVmVj
dG9yPFdlYklEQktleT4mIGFycmF5KQoreworICAgIG1fcHJpdmF0ZSA9IGNvbnZlcnRGcm9tV2Vi
SURCS2V5QXJyYXkoYXJyYXkpOworfQorCiB2b2lkIFdlYklEQktleTo6YXNzaWduU3RyaW5nKGNv
bnN0IFdlYlN0cmluZyYgc3RyaW5nKQogewogICAgIG1fcHJpdmF0ZSA9IElEQktleTo6Y3JlYXRl
U3RyaW5nKHN0cmluZyk7CkBAIC0xMTgsNiArMTgyLDEzIEBAIFdlYklEQktleTo6VHlwZSBXZWJJ
REJLZXk6OnR5cGUoKSBjb25zdAogICAgIHJldHVybiBUeXBlKG1fcHJpdmF0ZS0+dHlwZSgpKTsK
IH0KIAorV2ViVmVjdG9yPFdlYklEQktleT4gV2ViSURCS2V5OjphcnJheSgpIGNvbnN0Cit7Cisg
ICAgV2ViVmVjdG9yPFdlYklEQktleT4ga2V5czsKKyAgICBjb252ZXJ0VG9XZWJJREJLZXlBcnJh
eShtX3ByaXZhdGUtPmFycmF5KCksIGtleXMpOworICAgIHJldHVybiBrZXlzOworfQorCiBXZWJT
dHJpbmcgV2ViSURCS2V5OjpzdHJpbmcoKSBjb25zdAogewogICAgIHJldHVybiBtX3ByaXZhdGUt
PnN0cmluZygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJC
aW5kaW5nVXRpbGl0aWVzVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lE
QkJpbmRpbmdVdGlsaXRpZXNUZXN0LmNwcAppbmRleCAzMjFmMGFmN2QyYThhMTRjZGY1ZGExYzk4
ZjRjODMzMTg2MzkyOTA4Li43ZGU2YTZjOGZlODM4ZDBhYjlmY2IyMjcxM2E2YjNkOTIwZGUwZDYz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lEQkJpbmRpbmdVdGls
aXRpZXNUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lEQkJpbmRp
bmdVdGlsaXRpZXNUZXN0LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMp
IDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCkBAIC0xNTUsNiArMTU1LDggQEAgVEVTVChJbmplY3RJREJLZXlUZXN0LCBT
dWJQcm9wZXJ0eSkKICAgICBjaGVja0luamVjdGlvbihJREJLZXk6OmNyZWF0ZU51bWJlcig3ODkp
LCBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShvYmplY3QpLCAiZm9vLmJheiIpOwogICAg
IGNoZWNrSW5qZWN0aW9uKElEQktleTo6Y3JlYXRlRGF0ZSg0NTY3KSwgU2VyaWFsaXplZFNjcmlw
dFZhbHVlOjpjcmVhdGUob2JqZWN0KSwgImZvby5iYXoiKTsKICAgICBjaGVja0luamVjdGlvbihJ
REJLZXk6OmNyZWF0ZURhdGUoNDU2NyksIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKG9i
amVjdCksICJiYXIiKTsKKyAgICBjaGVja0luamVjdGlvbihJREJLZXk6OmNyZWF0ZUFycmF5KElE
QktleTo6S2V5QXJyYXkoKSksIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKG9iamVjdCks
ICJmb28uYmF6Iik7CisgICAgY2hlY2tJbmplY3Rpb24oSURCS2V5OjpjcmVhdGVBcnJheShJREJL
ZXk6OktleUFycmF5KCkpLCBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShvYmplY3QpLCAi
YmFyIik7CiAKICAgICBjaGVja0luamVjdGlvbkZhaWxzKElEQktleTo6Y3JlYXRlU3RyaW5nKCJ6
b28iKSwgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUob2JqZWN0KSwgImZvby5iYXIuYmF6
Iik7CiAgICAgY2hlY2tJbmplY3Rpb25GYWlscyhJREJLZXk6OmNyZWF0ZVN0cmluZygiem9vIiks
IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKG9iamVjdCksICJmb28ueHl6LmZvbyIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJMZXZlbERCQ29kaW5n
VGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lEQkxldmVsREJDb2RpbmdU
ZXN0LmNwcAppbmRleCA0YzA0YzU0NjBjZTYwODM0MTEwM2ZiYzRlMDM5MjNiMzdlMzA3NGNlLi5i
ZWU4NGFkZDljZTg3Mzk5NDhlZGM1ZmRkYTUxMjE4ODRlOTUxMDg0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lEQkxldmVsREJDb2RpbmdUZXN0LmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lEQkxldmVsREJDb2RpbmdUZXN0LmNwcApAQCAt
MzksNiArMzksMzEgQEAgdXNpbmcgbmFtZXNwYWNlIElEQkxldmVsREJDb2Rpbmc7CiAKIG5hbWVz
cGFjZSB7CiAKK1Bhc3NSZWZQdHI8SURCS2V5PiBjcmVhdGVBcnJheUlEQktleSgpCit7CisgICAg
cmV0dXJuIElEQktleTo6Y3JlYXRlQXJyYXkoSURCS2V5OjpLZXlBcnJheSgpKTsKK30KKworUGFz
c1JlZlB0cjxJREJLZXk+IGNyZWF0ZUFycmF5SURCS2V5KFBhc3NSZWZQdHI8SURCS2V5PiBwcnBL
ZXkxKQoreworICAgIFJlZlB0cjxJREJLZXk+IGtleTEgPSBwcnBLZXkxOworCisgICAgSURCS2V5
OjpLZXlBcnJheSBhcnJheTsKKyAgICBhcnJheS5hcHBlbmQoa2V5MSk7CisgICAgcmV0dXJuIElE
QktleTo6Y3JlYXRlQXJyYXkoYXJyYXkpOworfQorCitQYXNzUmVmUHRyPElEQktleT4gY3JlYXRl
QXJyYXlJREJLZXkoUGFzc1JlZlB0cjxJREJLZXk+IHBycEtleTEsIFBhc3NSZWZQdHI8SURCS2V5
PiBwcnBLZXkyKQoreworICAgIFJlZlB0cjxJREJLZXk+IGtleTEgPSBwcnBLZXkxOworICAgIFJl
ZlB0cjxJREJLZXk+IGtleTIgPSBwcnBLZXkyOworCisgICAgSURCS2V5OjpLZXlBcnJheSBhcnJh
eTsKKyAgICBhcnJheS5hcHBlbmQoa2V5MSk7CisgICAgYXJyYXkuYXBwZW5kKGtleTIpOworICAg
IHJldHVybiBJREJLZXk6OmNyZWF0ZUFycmF5KGFycmF5KTsKK30KKwogVEVTVChJREJMZXZlbERC
Q29kaW5nVGVzdCwgRW5jb2RlQnl0ZSkKIHsKICAgICBWZWN0b3I8Y2hhcj4gZXhwZWN0ZWQ7CkBA
IC02MywxMSArODgsMTMgQEAgVEVTVChJREJMZXZlbERCQ29kaW5nVGVzdCwgTWF4SURCS2V5KQog
ICAgIFZlY3RvcjxjaGFyPiBtYXhLZXkgPSBtYXhJREJLZXkoKTsKIAogICAgIFZlY3RvcjxjaGFy
PiBtaW5LZXkgPSBtaW5JREJLZXkoKTsKKyAgICBWZWN0b3I8Y2hhcj4gYXJyYXlLZXkgPSBlbmNv
ZGVJREJLZXkoKklEQktleTo6Y3JlYXRlQXJyYXkoSURCS2V5OjpLZXlBcnJheSgpKSk7CiAgICAg
VmVjdG9yPGNoYXI+IHN0cmluZ0tleSA9IGVuY29kZUlEQktleSgqSURCS2V5OjpjcmVhdGVTdHJp
bmcoIkhlbGxvIHdvcmxkIikpOwogICAgIFZlY3RvcjxjaGFyPiBudW1iZXJLZXkgPSBlbmNvZGVJ
REJLZXkoKklEQktleTo6Y3JlYXRlTnVtYmVyKDMuMTQpKTsKICAgICBWZWN0b3I8Y2hhcj4gZGF0
ZUtleSA9IGVuY29kZUlEQktleSgqSURCS2V5OjpjcmVhdGVEYXRlKDEwMDAwMDApKTsKIAogICAg
IEVYUEVDVF9HVChjb21wYXJlRW5jb2RlZElEQktleXMobWF4S2V5LCBtaW5LZXkpLCAwKTsKKyAg
ICBFWFBFQ1RfR1QoY29tcGFyZUVuY29kZWRJREJLZXlzKG1heEtleSwgYXJyYXlLZXkpLCAwKTsK
ICAgICBFWFBFQ1RfR1QoY29tcGFyZUVuY29kZWRJREJLZXlzKG1heEtleSwgc3RyaW5nS2V5KSwg
MCk7CiAgICAgRVhQRUNUX0dUKGNvbXBhcmVFbmNvZGVkSURCS2V5cyhtYXhLZXksIG51bWJlcktl
eSksIDApOwogICAgIEVYUEVDVF9HVChjb21wYXJlRW5jb2RlZElEQktleXMobWF4S2V5LCBkYXRl
S2V5KSwgMCk7CkBAIC03OCwxMSArMTA1LDEzIEBAIFRFU1QoSURCTGV2ZWxEQkNvZGluZ1Rlc3Qs
IE1pbklEQktleSkKICAgICBWZWN0b3I8Y2hhcj4gbWluS2V5ID0gbWluSURCS2V5KCk7CiAKICAg
ICBWZWN0b3I8Y2hhcj4gbWF4S2V5ID0gbWF4SURCS2V5KCk7CisgICAgVmVjdG9yPGNoYXI+IGFy
cmF5S2V5ID0gZW5jb2RlSURCS2V5KCpJREJLZXk6OmNyZWF0ZUFycmF5KElEQktleTo6S2V5QXJy
YXkoKSkpOwogICAgIFZlY3RvcjxjaGFyPiBzdHJpbmdLZXkgPSBlbmNvZGVJREJLZXkoKklEQktl
eTo6Y3JlYXRlU3RyaW5nKCJIZWxsbyB3b3JsZCIpKTsKICAgICBWZWN0b3I8Y2hhcj4gbnVtYmVy
S2V5ID0gZW5jb2RlSURCS2V5KCpJREJLZXk6OmNyZWF0ZU51bWJlcigzLjE0KSk7CiAgICAgVmVj
dG9yPGNoYXI+IGRhdGVLZXkgPSBlbmNvZGVJREJLZXkoKklEQktleTo6Y3JlYXRlRGF0ZSgxMDAw
MDAwKSk7CiAKICAgICBFWFBFQ1RfTFQoY29tcGFyZUVuY29kZWRJREJLZXlzKG1pbktleSwgbWF4
S2V5KSwgMCk7CisgICAgRVhQRUNUX0xUKGNvbXBhcmVFbmNvZGVkSURCS2V5cyhtaW5LZXksIGFy
cmF5S2V5KSwgMCk7CiAgICAgRVhQRUNUX0xUKGNvbXBhcmVFbmNvZGVkSURCS2V5cyhtaW5LZXks
IHN0cmluZ0tleSksIDApOwogICAgIEVYUEVDVF9MVChjb21wYXJlRW5jb2RlZElEQktleXMobWlu
S2V5LCBudW1iZXJLZXkpLCAwKTsKICAgICBFWFBFQ1RfTFQoY29tcGFyZUVuY29kZWRJREJLZXlz
KG1pbktleSwgZGF0ZUtleSksIDApOwpAQCAtMjMwLDYgKzI1OSwxNCBAQCBURVNUKElEQkxldmVs
REJDb2RpbmdUZXN0LCBEZWNvZGVTdHJpbmdXaXRoTGVuZ3RoKQogICAgIH0KIH0KIAoraW50IGNv
bXBhcmVTdHJpbmdzKGNvbnN0IGNoYXIqIHAsIGNvbnN0IGNoYXIqIGxpbWl0UCwgY29uc3QgY2hh
ciogcSwgY29uc3QgY2hhciogbGltaXRRKQoreworICAgIGludCByZXN1bHQgPSBjb21wYXJlRW5j
b2RlZFN0cmluZ3NXaXRoTGVuZ3RoKHAsIGxpbWl0UCwgcSwgbGltaXRRKTsKKyAgICBFWFBFQ1Rf
RVEocCwgbGltaXRQKTsKKyAgICBFWFBFQ1RfRVEocSwgbGltaXRRKTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQorCiBURVNUKElEQkxldmVsREJDb2RpbmdUZXN0LCBDb21wYXJlRW5jb2RlZFN0cmlu
Z3NXaXRoTGVuZ3RoKQogewogICAgIGNvbnN0IFVDaGFyIHRlc3RTdHJpbmdBW10gPSB7MHgxMDAw
LCAweDEwMDAsICdcMCd9OwpAQCAtMjcyLDEwICszMDksMTAgQEAgVEVTVChJREJMZXZlbERCQ29k
aW5nVGVzdCwgQ29tcGFyZUVuY29kZWRTdHJpbmdzV2l0aExlbmd0aCkKICAgICAgICAgY29uc3Qg
Y2hhciogcSA9IGVuY29kZWRCLmRhdGEoKTsKICAgICAgICAgY29uc3QgY2hhciogbGltaXRRID0g
cSArIGVuY29kZWRCLnNpemUoKTsKIAotICAgICAgICBFWFBFQ1RfTFQoY29tcGFyZUVuY29kZWRT
dHJpbmdzV2l0aExlbmd0aChwLCBsaW1pdFAsIHEsIGxpbWl0USksIDApOwotICAgICAgICBFWFBF
Q1RfR1QoY29tcGFyZUVuY29kZWRTdHJpbmdzV2l0aExlbmd0aChxLCBsaW1pdFEsIHAsIGxpbWl0
UCksIDApOwotICAgICAgICBFWFBFQ1RfRVEoY29tcGFyZUVuY29kZWRTdHJpbmdzV2l0aExlbmd0
aChwLCBsaW1pdFAsIHAsIGxpbWl0UCksIDApOwotICAgICAgICBFWFBFQ1RfRVEoY29tcGFyZUVu
Y29kZWRTdHJpbmdzV2l0aExlbmd0aChxLCBsaW1pdFEsIHEsIGxpbWl0USksIDApOworICAgICAg
ICBFWFBFQ1RfTFQoY29tcGFyZVN0cmluZ3MocCwgbGltaXRQLCBxLCBsaW1pdFEpLCAwKTsKKyAg
ICAgICAgRVhQRUNUX0dUKGNvbXBhcmVTdHJpbmdzKHEsIGxpbWl0USwgcCwgbGltaXRQKSwgMCk7
CisgICAgICAgIEVYUEVDVF9FUShjb21wYXJlU3RyaW5ncyhwLCBsaW1pdFAsIHAsIGxpbWl0UCks
IDApOworICAgICAgICBFWFBFQ1RfRVEoY29tcGFyZVN0cmluZ3MocSwgbGltaXRRLCBxLCBsaW1p
dFEpLCAwKTsKICAgICB9CiB9CiAKQEAgLTMyNywxMiArMzY0LDMwIEBAIFRFU1QoSURCTGV2ZWxE
QkNvZGluZ1Rlc3QsIEVuY29kZURlY29kZUlEQktleSkKICAgICBFWFBFQ1RfRVEodi5kYXRhKCkg
KyB2LnNpemUoKSwgcCk7CiAgICAgRVhQRUNUX0VRKDAsIGRlY29kZUlEQktleSh2LmRhdGEoKSwg
di5kYXRhKCkgKyB2LnNpemUoKSAtIDEsIGRlY29kZWRLZXkpKTsKIAorICAgIGV4cGVjdGVkS2V5
ID0gY3JlYXRlQXJyYXlJREJLZXkoKTsKKyAgICB2ID0gZW5jb2RlSURCS2V5KCpleHBlY3RlZEtl
eSk7CisgICAgcCA9IGRlY29kZUlEQktleSh2LmRhdGEoKSwgdi5kYXRhKCkgKyB2LnNpemUoKSwg
ZGVjb2RlZEtleSk7CisgICAgRVhQRUNUX1RSVUUoZGVjb2RlZEtleS0+aXNFcXVhbChleHBlY3Rl
ZEtleS5nZXQoKSkpOworICAgIEVYUEVDVF9FUSh2LmRhdGEoKSArIHYuc2l6ZSgpLCBwKTsKKyAg
ICBFWFBFQ1RfRVEoMCwgZGVjb2RlSURCS2V5KHYuZGF0YSgpLCB2LmRhdGEoKSArIHYuc2l6ZSgp
IC0gMSwgZGVjb2RlZEtleSkpOworCiAgICAgZXhwZWN0ZWRLZXkgPSBJREJLZXk6OmNyZWF0ZURh
dGUoNzg5MCk7CiAgICAgdiA9IGVuY29kZUlEQktleSgqZXhwZWN0ZWRLZXkpOwogICAgIHAgPSBk
ZWNvZGVJREJLZXkodi5kYXRhKCksIHYuZGF0YSgpICsgdi5zaXplKCksIGRlY29kZWRLZXkpOwog
ICAgIEVYUEVDVF9UUlVFKGRlY29kZWRLZXktPmlzRXF1YWwoZXhwZWN0ZWRLZXkuZ2V0KCkpKTsK
ICAgICBFWFBFQ1RfRVEodi5kYXRhKCkgKyB2LnNpemUoKSwgcCk7CiAgICAgRVhQRUNUX0VRKDAs
IGRlY29kZUlEQktleSh2LmRhdGEoKSwgdi5kYXRhKCkgKyB2LnNpemUoKSAtIDEsIGRlY29kZWRL
ZXkpKTsKKworICAgIElEQktleTo6S2V5QXJyYXkgYXJyYXk7CisgICAgYXJyYXkuYXBwZW5kKElE
QktleTo6Y3JlYXRlTnVtYmVyKDEyMzQpKTsKKyAgICBhcnJheS5hcHBlbmQoSURCS2V5OjpjcmVh
dGVTdHJpbmcoIkhlbGxvIFdvcmxkISIpKTsKKyAgICBhcnJheS5hcHBlbmQoSURCS2V5OjpjcmVh
dGVEYXRlKDc4OTApKTsKKyAgICBleHBlY3RlZEtleSA9IElEQktleTo6Y3JlYXRlQXJyYXkoYXJy
YXkpOworICAgIHYgPSBlbmNvZGVJREJLZXkoKmV4cGVjdGVkS2V5KTsKKyAgICBwID0gZGVjb2Rl
SURCS2V5KHYuZGF0YSgpLCB2LmRhdGEoKSArIHYuc2l6ZSgpLCBkZWNvZGVkS2V5KTsKKyAgICBF
WFBFQ1RfVFJVRShkZWNvZGVkS2V5LT5pc0VxdWFsKGV4cGVjdGVkS2V5LmdldCgpKSk7CisgICAg
RVhQRUNUX0VRKHYuZGF0YSgpICsgdi5zaXplKCksIHApOworICAgIEVYUEVDVF9FUSgwLCBkZWNv
ZGVJREJLZXkodi5kYXRhKCksIHYuZGF0YSgpICsgdi5zaXplKCkgLSAxLCBkZWNvZGVkS2V5KSk7
CiB9CiAKIFRFU1QoSURCTGV2ZWxEQkNvZGluZ1Rlc3QsIEV4dHJhY3RBbmRDb21wYXJlSURCS2V5
cykKQEAgLTM1NCw2ICs0MDksMTggQEAgVEVTVChJREJMZXZlbERCQ29kaW5nVGVzdCwgRXh0cmFj
dEFuZENvbXBhcmVJREJLZXlzKQogICAgIGtleXMuYXBwZW5kKElEQktleTo6Y3JlYXRlU3RyaW5n
KCJiYWFiIikpOwogICAgIGtleXMuYXBwZW5kKElEQktleTo6Y3JlYXRlU3RyaW5nKCJjIikpOwog
CisgICAga2V5cy5hcHBlbmQoY3JlYXRlQXJyYXlJREJLZXkoKSk7CisgICAga2V5cy5hcHBlbmQo
Y3JlYXRlQXJyYXlJREJLZXkoSURCS2V5OjpjcmVhdGVOdW1iZXIoMCkpKTsKKyAgICBrZXlzLmFw
cGVuZChjcmVhdGVBcnJheUlEQktleShJREJLZXk6OmNyZWF0ZU51bWJlcigwKSwgSURCS2V5Ojpj
cmVhdGVOdW1iZXIoMy4xNCkpKTsKKyAgICBrZXlzLmFwcGVuZChjcmVhdGVBcnJheUlEQktleShJ
REJLZXk6OmNyZWF0ZURhdGUoMCkpKTsKKyAgICBrZXlzLmFwcGVuZChjcmVhdGVBcnJheUlEQktl
eShJREJLZXk6OmNyZWF0ZURhdGUoMCksIElEQktleTo6Y3JlYXRlRGF0ZSgwKSkpOworICAgIGtl
eXMuYXBwZW5kKGNyZWF0ZUFycmF5SURCS2V5KElEQktleTo6Y3JlYXRlU3RyaW5nKCIiKSkpOwor
ICAgIGtleXMuYXBwZW5kKGNyZWF0ZUFycmF5SURCS2V5KElEQktleTo6Y3JlYXRlU3RyaW5nKCIi
KSwgSURCS2V5OjpjcmVhdGVTdHJpbmcoImEiKSkpOworICAgIGtleXMuYXBwZW5kKGNyZWF0ZUFy
cmF5SURCS2V5KGNyZWF0ZUFycmF5SURCS2V5KCkpKTsKKyAgICBrZXlzLmFwcGVuZChjcmVhdGVB
cnJheUlEQktleShjcmVhdGVBcnJheUlEQktleSgpLCBjcmVhdGVBcnJheUlEQktleSgpKSk7Cisg
ICAga2V5cy5hcHBlbmQoY3JlYXRlQXJyYXlJREJLZXkoY3JlYXRlQXJyYXlJREJLZXkoY3JlYXRl
QXJyYXlJREJLZXkoKSkpKTsKKyAgICBrZXlzLmFwcGVuZChjcmVhdGVBcnJheUlEQktleShjcmVh
dGVBcnJheUlEQktleShjcmVhdGVBcnJheUlEQktleShjcmVhdGVBcnJheUlEQktleSgpKSkpKTsK
KwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwga2V5cy5zaXplKCkgLSAxOyArK2kpIHsKICAg
ICAgICAgUmVmUHRyPElEQktleT4ga2V5QSA9IGtleXNbaV07CiAgICAgICAgIFJlZlB0cjxJREJL
ZXk+IGtleUIgPSBrZXlzW2kgKyAxXTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA3ZjNiODg4NGU4ODIxMjg3NzE0ZDY2Y2Q4
ZTA1MDg3NmUyZTAyNGVlLi5hOTMzN2EzNmFmOTNlMjUxOWE1M2I0NmJkNGU2NWI0ZWM1OTI2ZDlm
IDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEtMTEtMDIgIEpvc2h1YSBCZWxsICA8anNiZWxs
QGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IGltcGxlbWVudCBjb21wb3VuZCAo
YXJyYXkpIGtleSBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD02MjI4NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1jbXAtZXhwZWN0ZWQudHh0Ogor
ICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21wLmh0bWw6CisgICAgICAgICog
c3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBz
dG9yYWdlL2luZGV4ZWRkYi9pbmRleC1iYXNpY3MuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2lu
ZGV4ZWRkYi9rZXktdHlwZS1hcnJheS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN0
b3JhZ2UvaW5kZXhlZGRiL2tleXJhbmdlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdl
L2luZGV4ZWRkYi9rZXlyYW5nZS5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29i
amVjdHN0b3JlLWJhc2ljcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVk
ZGIvb2JqZWN0c3RvcmUtYmFzaWNzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
b3Blbi1jdXJzb3ItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29w
ZW4tY3Vyc29yLmh0bWw6CisKIDIwMTEtMTEtMDEgIEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBGaXhlZCBjb25mbGljdGluZyBlbnRy
aWVzIGluIHRlc3QgZXhwZWN0YXRpb25zLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvZmFjdG9yeS1jbXAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvZmFjdG9yeS1jbXAtZXhwZWN0ZWQudHh0CmluZGV4IDI2YmUxODI1YWZlMzdi
Yjg5OTc2Y2UxMTlkMmU3NWE4MzVkMTM0YjMuLjE5ZjU1NDQwOTM5N2NhNGU4MTU3ZGI1YTdhZjEz
NzllNzY4NjJlMzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2Zh
Y3RvcnktY21wLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9mYWN0b3J5LWNtcC1leHBlY3RlZC50eHQKQEAgLTEwLDcgKzEwLDYgQEAgUEFTUyBJREJEYXRh
YmFzZUV4Y2VwdGlvbiA9PSBudWxsIGlzIGZhbHNlCiBQQVNTIHR5cGVvZiBpbmRleGVkREIuY21w
ID09PSAnZnVuY3Rpb24nIGlzIHRydWUKIAogY29tcGFyZSB2YWxpZCBrZXlzCi0oQXJyYXkga2V5
cyBhcmUgbm90IHlldCBpbXBsZW1lbnRlZCBzbyBtYW55IHRlc3RzIHdpbGwgZmFpbCkKIFBBU1Mg
aW5kZXhlZERCLmNtcCgtSW5maW5pdHksLU51bWJlci5NQVhfVkFMVUUpID09PSAtMSBpcyB0cnVl
CiBQQVNTIGluZGV4ZWREQi5jbXAoLU51bWJlci5NQVhfVkFMVUUsLUluZmluaXR5KSA9PT0gMSBp
cyB0cnVlCiBQQVNTIGluZGV4ZWREQi5jbXAoLUluZmluaXR5LC1JbmZpbml0eSkgPT09IDAgaXMg
dHJ1ZQpAQCAtOTUsMTE4ICs5NCwxMTggQEAgUEFTUyBpbmRleGVkREIuY21wKCfwnYSeJywn77+9
JykgPT09IC0xIGlzIHRydWUKIFBBU1MgaW5kZXhlZERCLmNtcCgn77+9Jywn8J2EnicpID09PSAx
IGlzIHRydWUKIFBBU1MgaW5kZXhlZERCLmNtcCgn8J2EnicsJ/CdhJ4nKSA9PT0gMCBpcyB0cnVl
CiBQQVNTIGluZGV4ZWREQi5jbXAoJ++/vScsJ++/vScpID09PSAwIGlzIHRydWUKLUZBSUwgaW5k
ZXhlZERCLmNtcCgn77+9JyxbXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRp
b24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5k
ZXhlZERCLmNtcChbXSwn77+9JykgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlv
biBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQorUEFTUyBpbmRl
eGVkREIuY21wKCfvv70nLFtdKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtd
LCfvv70nKSA9PT0gMSBpcyB0cnVlCiBQQVNTIGluZGV4ZWREQi5jbXAoJ++/vScsJ++/vScpID09
PSAwIGlzIHRydWUKLUZBSUwgaW5kZXhlZERCLmNtcChbXSxbXSkgPT09IDAgc2hvdWxkIGJlIHRy
dWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNl
cHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtdLFstSW5maW5pdHldKSA9PT0gLTEgc2hvdWxk
IGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFz
ZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFstSW5maW5pdHldLFtdKSA9PT0gMSBz
aG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRh
dGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW10sW10pID09PSAwIHNob3Vs
ZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJh
c2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbLUluZmluaXR5XSxbLUluZmluaXR5
XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6
IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFstSW5maW5p
dHldLFstMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24g
NQotRkFJTCBpbmRleGVkREIuY21wKFstMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdLFstSW5maW5p
dHldKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VS
UjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWy1JbmZp
bml0eV0sWy1JbmZpbml0eV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24g
RXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhl
ZERCLmNtcChbLTEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XSxbLTEuNzk3NjkzMTM0ODYyMzE1N2Ur
MzA4XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9F
UlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFstMS43
OTc2OTMxMzQ4NjIzMTU3ZSszMDhdLFstMV0pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1G
QUlMIGluZGV4ZWREQi5jbXAoWy0xXSxbLTEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XSkgPT09IDEg
c2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJE
YXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFstMS43OTc2OTMxMzQ4NjIz
MTU3ZSszMDhdLFstMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdKSA9PT0gMCBzaG91bGQgYmUgdHJ1
ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2Vw
dGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWy0xXSxbLTFdKSA9PT0gMCBzaG91bGQgYmUgdHJ1
ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2Vw
dGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWy0xXSxbLTVlLTMyNF0pID09PSAtMSBzaG91bGQg
YmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNl
IEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWy01ZS0zMjRdLFstMV0pID09PSAxIHNo
b3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0
YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbLTFdLFstMV0pID09PSAwIHNo
b3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0
YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbLTVlLTMyNF0sWy01ZS0zMjRd
KSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjog
RE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWy01ZS0zMjRd
LFswXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFf
RVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbMF0s
Wy01ZS0zMjRdKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBE
QVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAo
Wy01ZS0zMjRdLFstNWUtMzI0XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlv
biBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRl
eGVkREIuY21wKFswXSxbMF0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24g
RXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhl
ZERCLmNtcChbMF0sWzVlLTMyNF0pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGlu
ZGV4ZWREQi5jbXAoWzVlLTMyNF0sWzBdKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlM
IGluZGV4ZWREQi5jbXAoWzBdLFswXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBp
bmRleGVkREIuY21wKFs1ZS0zMjRdLFs1ZS0zMjRdKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1
Ci1GQUlMIGluZGV4ZWREQi5jbXAoWzVlLTMyNF0sWzFdKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUu
IFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRp
b24gNQotRkFJTCBpbmRleGVkREIuY21wKFsxXSxbNWUtMzI0XSkgPT09IDEgc2hvdWxkIGJlIHRy
dWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNl
cHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFs1ZS0zMjRdLFs1ZS0zMjRdKSA9PT0gMCBzaG91
bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFi
YXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWzFdLFsxXSkgPT09IDAgc2hvdWxk
IGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFz
ZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsxXSxbMS43OTc2OTMxMzQ4NjIzMTU3
ZSszMDhdKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFU
QV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsx
Ljc5NzY5MzEzNDg2MjMxNTdlKzMwOF0sWzFdKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1G
QUlMIGluZGV4ZWREQi5jbXAoWzFdLFsxXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJ
TCBpbmRleGVkREIuY21wKFsxLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0sWzEuNzk3NjkzMTM0ODYy
MzE1N2UrMzA4XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
REFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21w
KFsxLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0sW0luZmluaXR5XSkgPT09IC0xIHNob3VsZCBiZSB0
cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhj
ZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbSW5maW5pdHldLFsxLjc5NzY5MzEzNDg2MjMx
NTdlKzMwOF0pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERB
VEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChb
MS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdLFsxLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0pID09PSAw
IHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURC
RGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbSW5maW5pdHldLFtJbmZp
bml0eV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFf
RVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbSW5m
aW5pdHldLFtuZXcgRGF0ZSgwKV0pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGlu
ZGV4ZWREQi5jbXAoW25ldyBEYXRlKDApXSxbSW5maW5pdHldKSA9PT0gMSBzaG91bGQgYmUgdHJ1
ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2Vw
dGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW0luZmluaXR5XSxbSW5maW5pdHldKSA9PT0gMCBz
aG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRh
dGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDApXSxbbmV3
IERhdGUoMCldKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBE
QVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAo
W25ldyBEYXRlKDApXSxbbmV3IERhdGUoMTAwMCldKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24g
NQotRkFJTCBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgxMDAwKV0sW25ldyBEYXRlKDApXSkgPT09
IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJ
REJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgwKV0s
W25ldyBEYXRlKDApXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIu
Y21wKFtuZXcgRGF0ZSgxMDAwKV0sW25ldyBEYXRlKDEwMDApXSkgPT09IDAgc2hvdWxkIGJlIHRy
dWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNl
cHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgxMDAwKV0sW25ldyBEYXRlKDEz
MTczOTk5MzEwMjMpXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJy
b3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERC
LmNtcChbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldLFtuZXcgRGF0ZSgxMDAwKV0pID09PSAxIHNo
b3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0
YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTAwMCldLFtu
ZXcgRGF0ZSgxMDAwKV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJy
b3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERC
LmNtcChbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldLFtuZXcgRGF0ZSgxMzE3Mzk5OTMxMDIzKV0p
ID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBE
T00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbbmV3IERhdGUo
MTMxNzM5OTkzMTAyMyldLFsnJ10pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGlu
ZGV4ZWREQi5jbXAoWycnXSxbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldKSA9PT0gMSBzaG91bGQg
YmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNl
IEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDEzMTczOTk5MzEwMjMp
XSxbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1G
QUlMIGluZGV4ZWREQi5jbXAoWycnXSxbJyddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1G
QUlMIGluZGV4ZWREQi5jbXAoWycnXSxbJ1wwJ10pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1
Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydcMCddLFsnJ10pID09PSAxIHNob3VsZCBiZSB0cnVlLiBU
aHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9u
IDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJyddLFsnJ10pID09PSAwIHNob3VsZCBiZSB0cnVlLiBU
aHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9u
IDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ1wwJ10sWydcMCddKSA9PT0gMCBzaG91bGQgYmUgdHJ1
ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2Vw
dGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydcMCddLFsnYSddKSA9PT0gLTEgc2hvdWxkIGJl
IHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBF
eGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnYSddLFsnXDAnXSkgPT09IDEgc2hvdWxk
IGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFz
ZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnXDAnXSxbJ1wwJ10pID09PSAwIHNo
b3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0
YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ2EnXSxbJ2EnXSkgPT09IDAg
c2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJE
YXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnYSddLFsnYWEnXSkgPT09
IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00g
SURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ2FhJ10sWydhJ10p
ID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBE
T00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ2EnXSxbJ2En
XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6
IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnYWEnXSxb
J2FhJ10pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFf
RVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ2Fh
J10sWydiJ10pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBE
QVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAo
WydiJ10sWydhYSddKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5j
bXAoWydhYSddLFsnYWEnXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVk
REIuY21wKFsnYiddLFsnYiddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4
ZWREQi5jbXAoWydiJ10sWydiYSddKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBp
bmRleGVkREIuY21wKFsnYmEnXSxbJ2InXSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJ
TCBpbmRleGVkREIuY21wKFsnYiddLFsnYiddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1G
QUlMIGluZGV4ZWREQi5jbXAoWydiYSddLFsnYmEnXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24g
NQotRkFJTCBpbmRleGVkREIuY21wKFsnYmEnXSxbJ8KiJ10pID09PSAtMSBzaG91bGQgYmUgdHJ1
ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2Vw
dGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfCoiddLFsnYmEnXSkgPT09IDEgc2hvdWxkIGJl
IHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBF
eGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnYmEnXSxbJ2JhJ10pID09PSAwIHNob3Vs
ZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJh
c2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ8KiJ10sWyfCoiddKSA9PT0gMCBz
aG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRh
dGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfCoiddLFsn5rC0J10pID09
PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9N
IElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfmsLQnXSxbJ8Ki
J10pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJS
OiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ8KiJ10s
WyfCoiddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRB
X0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfm
sLQnXSxbJ+awtCddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5j
bXAoWyfmsLQnXSxbJ/CdhJ4nXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRp
b24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5k
ZXhlZERCLmNtcChbJ/CdhJ4nXSxbJ+awtCddKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1G
QUlMIGluZGV4ZWREQi5jbXAoWyfmsLQnXSxbJ+awtCddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4g
VGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlv
biA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfwnYSeJ10sWyfwnYSeJ10pID09PSAwIHNob3VsZCBi
ZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2Ug
RXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ/CdhJ4nXSxbJ++/vSddKSA9PT0gLTEg
c2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJE
YXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsn77+9J10sWyfwnYSeJ10p
ID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBE
T00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ/CdhJ4nXSxb
J/CdhJ4nXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFU
QV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsn
77+9J10sWyfvv70nXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIu
Y21wKFsn77+9J10sW1tdXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24g
RXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhl
ZERCLmNtcChbW11dLFsn77+9J10pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRp
b24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5k
ZXhlZERCLmNtcChbJ++/vSddLFsn77+9J10pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBl
eGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZB
SUwgaW5kZXhlZERCLmNtcChbW11dLFtbXV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBl
eGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZB
SUwgaW5kZXhlZERCLmNtcChbW11dLFtbXSwgW11dKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24g
NQotRkFJTCBpbmRleGVkREIuY21wKFtbXSwgW11dLFtbXV0pID09PSAxIHNob3VsZCBiZSB0cnVl
LiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0
aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW11dLFtbXV0pID09PSAwIHNob3VsZCBiZSB0cnVl
LiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0
aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW10sIFtdXSxbW10sIFtdXSkgPT09IDAgc2hvdWxk
IGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFz
ZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtbXSwgW11dLFtbXSwgW10sIFtdXSkg
PT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBE
T00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW10sIFtdLCBb
XV0sW1tdLCBbXV0pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6
IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNt
cChbW10sIFtdXSxbW10sIFtdXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlv
biBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRl
eGVkREIuY21wKFtbXSwgW10sIFtdXSxbW10sIFtdLCBbXV0pID09PSAwIHNob3VsZCBiZSB0cnVl
LiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0
aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW10sIFtdLCBbXV0sW1tbXV1dKSA9PT0gLTEgc2hv
dWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRh
YmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtbW11dXSxbW10sIFtdLCBbXV0p
ID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBE
T00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW10sIFtdLCBb
XV0sW1tdLCBbXSwgW11dKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWRE
Qi5jbXAoW1tbXV1dLFtbW11dXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlv
biBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRl
eGVkREIuY21wKFtbW11dXSxbW1tbXV1dXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBl
eGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZB
SUwgaW5kZXhlZERCLmNtcChbW1tbXV1dXSxbW1tdXV0pID09PSAxIHNob3VsZCBiZSB0cnVlLiBU
aHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9u
IDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW1tdXV0sW1tbXV1dKSA9PT0gMCBzaG91bGQgYmUgdHJ1
ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2Vw
dGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tbW11dXV0sW1tbW11dXV0pID09PSAwIHNob3Vs
ZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJh
c2UgRXhjZXB0aW9uIDUKK1BBU1MgaW5kZXhlZERCLmNtcChbXSxbXSkgPT09IDAgaXMgdHJ1ZQor
UEFTUyBpbmRleGVkREIuY21wKFtdLFstSW5maW5pdHldKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBp
bmRleGVkREIuY21wKFstSW5maW5pdHldLFtdKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWRE
Qi5jbXAoW10sW10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbLUluZmluaXR5
XSxbLUluZmluaXR5XSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFstSW5maW5p
dHldLFstTnVtYmVyLk1BWF9WQUxVRV0pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5j
bXAoWy1OdW1iZXIuTUFYX1ZBTFVFXSxbLUluZmluaXR5XSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBp
bmRleGVkREIuY21wKFstSW5maW5pdHldLFstSW5maW5pdHldKSA9PT0gMCBpcyB0cnVlCitQQVNT
IGluZGV4ZWREQi5jbXAoWy1OdW1iZXIuTUFYX1ZBTFVFXSxbLU51bWJlci5NQVhfVkFMVUVdKSA9
PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWy1OdW1iZXIuTUFYX1ZBTFVFXSxbLTFd
KSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFstMV0sWy1OdW1iZXIuTUFYX1ZB
TFVFXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFstTnVtYmVyLk1BWF9WQUxV
RV0sWy1OdW1iZXIuTUFYX1ZBTFVFXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21w
KFstMV0sWy0xXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFstMV0sWy1OdW1i
ZXIuTUlOX1ZBTFVFXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbLU51bWJl
ci5NSU5fVkFMVUVdLFstMV0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbLTFd
LFstMV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbLU51bWJlci5NSU5fVkFM
VUVdLFstTnVtYmVyLk1JTl9WQUxVRV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNt
cChbLU51bWJlci5NSU5fVkFMVUVdLFswXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERC
LmNtcChbMF0sWy1OdW1iZXIuTUlOX1ZBTFVFXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVk
REIuY21wKFstTnVtYmVyLk1JTl9WQUxVRV0sWy1OdW1iZXIuTUlOX1ZBTFVFXSkgPT09IDAgaXMg
dHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFswXSxbMF0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5k
ZXhlZERCLmNtcChbMF0sW051bWJlci5NSU5fVkFMVUVdKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBp
bmRleGVkREIuY21wKFtOdW1iZXIuTUlOX1ZBTFVFXSxbMF0pID09PSAxIGlzIHRydWUKK1BBU1Mg
aW5kZXhlZERCLmNtcChbMF0sWzBdKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAo
W051bWJlci5NSU5fVkFMVUVdLFtOdW1iZXIuTUlOX1ZBTFVFXSkgPT09IDAgaXMgdHJ1ZQorUEFT
UyBpbmRleGVkREIuY21wKFtOdW1iZXIuTUlOX1ZBTFVFXSxbMV0pID09PSAtMSBpcyB0cnVlCitQ
QVNTIGluZGV4ZWREQi5jbXAoWzFdLFtOdW1iZXIuTUlOX1ZBTFVFXSkgPT09IDEgaXMgdHJ1ZQor
UEFTUyBpbmRleGVkREIuY21wKFtOdW1iZXIuTUlOX1ZBTFVFXSxbTnVtYmVyLk1JTl9WQUxVRV0p
ID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbMV0sWzFdKSA9PT0gMCBpcyB0cnVl
CitQQVNTIGluZGV4ZWREQi5jbXAoWzFdLFtOdW1iZXIuTUFYX1ZBTFVFXSkgPT09IC0xIGlzIHRy
dWUKK1BBU1MgaW5kZXhlZERCLmNtcChbTnVtYmVyLk1BWF9WQUxVRV0sWzFdKSA9PT0gMSBpcyB0
cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWzFdLFsxXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRl
eGVkREIuY21wKFtOdW1iZXIuTUFYX1ZBTFVFXSxbTnVtYmVyLk1BWF9WQUxVRV0pID09PSAwIGlz
IHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbTnVtYmVyLk1BWF9WQUxVRV0sW0luZmluaXR5XSkg
PT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbSW5maW5pdHldLFtOdW1iZXIuTUFY
X1ZBTFVFXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtOdW1iZXIuTUFYX1ZB
TFVFXSxbTnVtYmVyLk1BWF9WQUxVRV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNt
cChbSW5maW5pdHldLFtJbmZpbml0eV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNt
cChbSW5maW5pdHldLFtuZXcgRGF0ZSgwKV0pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWRE
Qi5jbXAoW25ldyBEYXRlKDApXSxbSW5maW5pdHldKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4
ZWREQi5jbXAoW0luZmluaXR5XSxbSW5maW5pdHldKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4
ZWREQi5jbXAoW25ldyBEYXRlKDApXSxbbmV3IERhdGUoMCldKSA9PT0gMCBpcyB0cnVlCitQQVNT
IGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDApXSxbbmV3IERhdGUoMTAwMCldKSA9PT0gLTEgaXMg
dHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgxMDAwKV0sW25ldyBEYXRlKDApXSkg
PT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgwKV0sW25ldyBEYXRl
KDApXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgxMDAwKV0s
W25ldyBEYXRlKDEwMDApXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtuZXcg
RGF0ZSgxMDAwKV0sW25ldyBEYXRlKDEzMTczOTk5MzEwMjMpXSkgPT09IC0xIGlzIHRydWUKK1BB
U1MgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldLFtuZXcgRGF0ZSgxMDAw
KV0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTAwMCldLFtu
ZXcgRGF0ZSgxMDAwKV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbbmV3IERh
dGUoMTMxNzM5OTkzMTAyMyldLFtuZXcgRGF0ZSgxMzE3Mzk5OTMxMDIzKV0pID09PSAwIGlzIHRy
dWUKK1BBU1MgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldLFsnJ10pID09
PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWycnXSxbbmV3IERhdGUoMTMxNzM5OTkz
MTAyMyldKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDEzMTcz
OTk5MzEwMjMpXSxbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldKSA9PT0gMCBpcyB0cnVlCitQQVNT
IGluZGV4ZWREQi5jbXAoWycnXSxbJyddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5j
bXAoWycnXSxbJ1wwJ10pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWydcMCdd
LFsnJ10pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJyddLFsnJ10pID09PSAw
IGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ1wwJ10sWydcMCddKSA9PT0gMCBpcyB0cnVl
CitQQVNTIGluZGV4ZWREQi5jbXAoWydcMCddLFsnYSddKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBp
bmRleGVkREIuY21wKFsnYSddLFsnXDAnXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIu
Y21wKFsnXDAnXSxbJ1wwJ10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ2En
XSxbJ2EnXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYSddLFsnYWEnXSkg
PT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ2FhJ10sWydhJ10pID09PSAxIGlz
IHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ2EnXSxbJ2EnXSkgPT09IDAgaXMgdHJ1ZQorUEFT
UyBpbmRleGVkREIuY21wKFsnYWEnXSxbJ2FhJ10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhl
ZERCLmNtcChbJ2FhJ10sWydiJ10pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAo
WydiJ10sWydhYSddKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWydhYSddLFsn
YWEnXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYiddLFsnYiddKSA9PT0g
MCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWydiJ10sWydiYSddKSA9PT0gLTEgaXMgdHJ1
ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYmEnXSxbJ2InXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBp
bmRleGVkREIuY21wKFsnYiddLFsnYiddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5j
bXAoWydiYSddLFsnYmEnXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYmEn
XSxbJ8KiJ10pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfCoiddLFsnYmEn
XSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYmEnXSxbJ2JhJ10pID09PSAw
IGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ8KiJ10sWyfCoiddKSA9PT0gMCBpcyB0cnVl
CitQQVNTIGluZGV4ZWREQi5jbXAoWyfCoiddLFsn5rC0J10pID09PSAtMSBpcyB0cnVlCitQQVNT
IGluZGV4ZWREQi5jbXAoWyfmsLQnXSxbJ8KiJ10pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhl
ZERCLmNtcChbJ8KiJ10sWyfCoiddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAo
WyfmsLQnXSxbJ+awtCddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfmsLQn
XSxbJ/CdhJ4nXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ/CdhJ4nXSxb
J+awtCddKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfmsLQnXSxbJ+awtCdd
KSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfwnYSeJ10sWyfwnYSeJ10pID09
PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ/CdhJ4nXSxbJ++/vSddKSA9PT0gLTEg
aXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsn77+9J10sWyfwnYSeJ10pID09PSAxIGlzIHRy
dWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ/CdhJ4nXSxbJ/CdhJ4nXSkgPT09IDAgaXMgdHJ1ZQor
UEFTUyBpbmRleGVkREIuY21wKFsn77+9J10sWyfvv70nXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBp
bmRleGVkREIuY21wKFsn77+9J10sW1tdXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERC
LmNtcChbW11dLFsn77+9J10pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ++/
vSddLFsn77+9J10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbW11dLFtbXV0p
ID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbW11dLFtbXSwgW11dKSA9PT0gLTEg
aXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtbXSwgW11dLFtbXV0pID09PSAxIGlzIHRydWUK
K1BBU1MgaW5kZXhlZERCLmNtcChbW11dLFtbXV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhl
ZERCLmNtcChbW10sIFtdXSxbW10sIFtdXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIu
Y21wKFtbXSwgW11dLFtbXSwgW10sIFtdXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERC
LmNtcChbW10sIFtdLCBbXV0sW1tdLCBbXV0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERC
LmNtcChbW10sIFtdXSxbW10sIFtdXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21w
KFtbXSwgW10sIFtdXSxbW10sIFtdLCBbXV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERC
LmNtcChbW10sIFtdLCBbXV0sW1tbXV1dKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIu
Y21wKFtbW11dXSxbW10sIFtdLCBbXV0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNt
cChbW10sIFtdLCBbXV0sW1tdLCBbXSwgW11dKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWRE
Qi5jbXAoW1tbXV1dLFtbW11dXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtb
W11dXSxbW1tbXV1dXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbW1tbXV1d
XSxbW1tdXV0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbW1tdXV0sW1tbXV1d
KSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW1tbW11dXV0sW1tbW11dXV0pID09
PSAwIGlzIHRydWUKIAogY29tcGFyZSBpbnZhbGlkIGtleXMKIEV4cGVjdGluZyBleGNlcHRpb24g
ZnJvbSBpbmRleGVkREIuY21wKHZvaWQgMCwgdHJ1ZSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21wLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9mYWN0b3J5LWNtcC5odG1sCmluZGV4IGJiODI4NjExNDdiOGMzZWMwY2Y2YTNm
N2NkZDc3MjQ4MTIyOTdhMzAuLmJiOGU1MzRjYWJkOWEwZDk3MzRmYmY5NGRkNTBkZmEzNGFhNjNh
NGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21w
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1jbXAuaHRt
bApAQCAtMzMsOCArMzMsNiBAQCBmdW5jdGlvbiB0ZXN0VmFsaWRLZXlzKCkKICAgICBkZWJ1Zygi
Iik7CiAgICAgZGVidWcoImNvbXBhcmUgdmFsaWQga2V5cyIpOwogCi0gICAgZGVidWcoIihBcnJh
eSBrZXlzIGFyZSBub3QgeWV0IGltcGxlbWVudGVkIHNvIG1hbnkgdGVzdHMgd2lsbCBmYWlsKSIp
OwotCiAgICAgdmFyIGtleXMgPSBbCiAgICAgICAgICItSW5maW5pdHkiLAogICAgICAgICAiLU51
bWJlci5NQVhfVkFMVUUiLApAQCAtNjIsMTcgKzYwLDE2IEBAIGZ1bmN0aW9uIHRlc3RWYWxpZEtl
eXMoKQogICAgICAgICAiJ1x1RDgzNFx1REQxRSciLCAvLyBVKzFEMTFFIE1VU0lDQUwgU1lNQk9M
IEctQ0xFRiAoVVRGLTE2IHN1cnJvZ2F0ZSBwYWlyKQogICAgICAgICAiJ1x1RkZGRCciLCAvLyBV
K0ZGRkQgUkVQTEFDRU1FTlQgQ0hBUkFDVEVSCiAKLSAgICAgICAgLy8gRklYTUU6IEFycmF5IGtl
eXMgYXJlIE5ZSSwgYnV0IHRoZXNlIHNob3VsZCBwYXNzIG9uY2UgaW1wbGVtZW50ZWQKICAgICAg
ICAgIltdIiwKIAogICAgICAgICAiWy1JbmZpbml0eV0iLAotICAgICAgICAiWy0xLjc5NzY5MzEz
NDg2MjMxNTdlKzMwOF0iLAorICAgICAgICAiWy1OdW1iZXIuTUFYX1ZBTFVFXSIsCiAgICAgICAg
ICJbLTFdIiwKLSAgICAgICAgIlstNWUtMzI0XSIsCisgICAgICAgICJbLU51bWJlci5NSU5fVkFM
VUVdIiwKICAgICAgICAgIlswXSIsCi0gICAgICAgICJbNWUtMzI0XSIsCisgICAgICAgICJbTnVt
YmVyLk1JTl9WQUxVRV0iLAogICAgICAgICAiWzFdIiwKLSAgICAgICAgIlsxLjc5NzY5MzEzNDg2
MjMxNTdlKzMwOF0iLAorICAgICAgICAiW051bWJlci5NQVhfVkFMVUVdIiwKICAgICAgICAgIltJ
bmZpbml0eV0iLAogIAogICAgICAgICAiW25ldyBEYXRlKDApXSIsCkBAIC05Nyw3ICs5NCw3IEBA
IGZ1bmN0aW9uIHRlc3RWYWxpZEtleXMoKQogICAgICAgICAiW1tdLCBbXSwgW11dIiwKIAogICAg
ICAgICAiW1tbXV1dIiwKLSAgICAgICAgIltbW1tdXV1dIiwKKyAgICAgICAgIltbW1tdXV1dIgog
ICAgIF07CiAKICAgICB2YXIgaSwga2V5MSwga2V5MjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1iYXNpY3MtZXhwZWN0ZWQudHh0CmluZGV4IGM1ODlj
ODEyOTdmMWE5MzNmNTY2YzM5ZGY0MGI3ODNmZWM1ZTk3MTYuLmZkYThkYmYzZmI2MGU1NzgwNGI3
MjkyMDA1MmQ2MWVhZmZhNGIyOWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2luZGV4LWJhc2ljcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLWV4cGVjdGVkLnR4dApAQCAtODEsOSArODEsOSBAQCBQ
QVNTIGV2ZW50LnRhcmdldC5yZXN1bHQudmFsdWUueCBpcyAidmFsdWUzIgogUEFTUyBldmVudC50
YXJnZXQucmVzdWx0LnZhbHVlLnkgaXMgIjQ1NiIKIGV2ZW50LnRhcmdldC5yZXN1bHQuY29udGlu
dWUoKQogUEFTUyBldmVudC50YXJnZXQucmVzdWx0ID09PSBudWxsIGlzIHRydWUKLVBhc3Npbmcg
YW4gaW52YWxpZCBrZXkgaW50byBpbmRleE9iamVjdC5nZXQoKS4KK1Bhc3NpbmcgYW4gaW52YWxp
ZCBrZXkgaW50byBpbmRleE9iamVjdC5nZXQoe30pLgogUEFTUyBDYXVnaHQgZXhjZXB0aW9uOiBF
cnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotUGFzc2luZyBhbiBp
bnZhbGlkIGtleSBpbnRvIGluZGV4T2JqZWN0LmdldEtleSgpLgorUGFzc2luZyBhbiBpbnZhbGlk
IGtleSBpbnRvIGluZGV4T2JqZWN0LmdldEtleSh7fSkuCiBQQVNTIENhdWdodCBleGNlcHRpb246
IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1CiBQQVNTIHN1Y2Nl
c3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2luZGV4LWJhc2ljcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvaW5kZXgtYmFzaWNzLmh0bWwKaW5kZXggYThmN2Q5NWQ0YzJhYjBiNDNlZTdmMzU1NTEwM2E5
MzcwOTg1ZGJkNC4uNTNjMWY1YjlhMTQ5NTJiYjVkY2U0MDg2Y2EzYmQyZjIzMTVlNjJhMiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLmh0bWwKQEAg
LTI0MSwxNiArMjQxLDE2IEBAIGZ1bmN0aW9uIGxhc3QoKQogICAgIHNob3VsZEJlVHJ1ZSgiZXZl
bnQudGFyZ2V0LnJlc3VsdCA9PT0gbnVsbCIpOwogCiAgICAgdHJ5IHsKLSAgICAgICAgZGVidWco
IlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBpbmRleE9iamVjdC5nZXQoKS4iKTsKLSAgICAg
ICAgaW5kZXhPYmplY3QuZ2V0KFtdKTsKKyAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxp
ZCBrZXkgaW50byBpbmRleE9iamVjdC5nZXQoe30pLiIpOworICAgICAgICBpbmRleE9iamVjdC5n
ZXQoe30pOwogICAgICAgICB0ZXN0RmFpbGVkKCJObyBleGNlcHRpb24gdGhyb3duIik7CiAgICAg
fSBjYXRjaCAoZSkgewogICAgICAgICB0ZXN0UGFzc2VkKCJDYXVnaHQgZXhjZXB0aW9uOiAiICsg
ZS50b1N0cmluZygpKTsKICAgICB9CiAKICAgICB0cnkgewotICAgICAgICBkZWJ1ZygiUGFzc2lu
ZyBhbiBpbnZhbGlkIGtleSBpbnRvIGluZGV4T2JqZWN0LmdldEtleSgpLiIpOwotICAgICAgICBp
bmRleE9iamVjdC5nZXRLZXkoW10pOworICAgICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlk
IGtleSBpbnRvIGluZGV4T2JqZWN0LmdldEtleSh7fSkuIik7CisgICAgICAgIGluZGV4T2JqZWN0
LmdldEtleSh7fSk7CiAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGV4Y2VwdGlvbiB0aHJvd24iKTsK
ICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgIHRlc3RQYXNzZWQoIkNhdWdodCBleGNlcHRpb246
ICIgKyBlLnRvU3RyaW5nKCkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIva2V5LXR5cGUtYXJyYXktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIva2V5LXR5cGUtYXJyYXktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2ZTQxZDRk
YzkyOGMyZTQ3OGZlYzI4NDI4YjY5OTVhNmQxNDMxMjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktdHlwZS1hcnJheS1leHBlY3RlZC50eHQKQEAg
LTAsMCArMSwyNjIgQEAKK1Rlc3QgSW5kZXhlZERCIGtleSB0eXBlcworCitPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCisKKworaW5kZXhlZERCID0gd2luZG93LmluZGV4ZWREQiB8fCB3aW5kb3cu
d2Via2l0SW5kZXhlZERCIHx8IHdpbmRvdy5tb3pJbmRleGVkREI7CitQQVNTIGluZGV4ZWREQiA9
PSBudWxsIGlzIGZhbHNlCitJREJUcmFuc2FjdGlvbiA9IHdpbmRvdy5JREJUcmFuc2FjdGlvbiB8
fCB3aW5kb3cud2Via2l0SURCVHJhbnNhY3Rpb247CitQQVNTIElEQlRyYW5zYWN0aW9uID09IG51
bGwgaXMgZmFsc2UKK0lEQkRhdGFiYXNlRXhjZXB0aW9uID0gd2luZG93LklEQkRhdGFiYXNlRXhj
ZXB0aW9uIHx8IHdpbmRvdy53ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbjsKK1BBU1MgSURCRGF0
YWJhc2VFeGNlcHRpb24gPT0gbnVsbCBpcyBmYWxzZQoraW5kZXhlZERCLm9wZW4obmFtZSwgZGVz
Y3JpcHRpb24pCitkYiA9IG9wZW5yZXEucmVzdWx0CityZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbign
MScpCitwcmVwYXJpbmcgZGF0YWJhc2UKK0RlbGV0ZWQgYWxsIG9iamVjdCBzdG9yZXMuCitkYi5j
cmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnKTsKKwordHJhbnMgPSBkYi50cmFuc2FjdGlvbignc3Rv
cmUnLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQorc3RvcmUgPSB0cmFucy5vYmplY3RTdG9y
ZSgnc3RvcmUnKQorCitsb25nX2FycmF5ID0gW107IGZvciAoaSA9IDA7IGkgPCAxMDAwOyArK2kp
IHsgbG9uZ19hcnJheS5wdXNoKCdhYmMnLCAxMjMsIG5ldyBEYXRlKDApLCBbXSk7IH0KKworYXJy
YXkgdGhhdCBjb250YWlucyBub24tbnVtZXJpYyBzZWxmLXJlZmVyZW5jZQorc2VsZl9yZWZlcnJl
bnRpYWxfYXJyYXkgPSBbXTsgc2VsZl9yZWZlcnJlbnRpYWxfYXJyYXkuc2VsZiA9IHNlbGZfcmVm
ZXJyZW50aWFsX2FycmF5OworCit0ZXN0aW5nIGFycmF5IGtleTogW10KK3N0b3JlLnB1dCgndmFs
dWUxJywgW10pOworc3RvcmUuZ2V0KFtdKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUx
IgorCit0ZXN0aW5nIGFycmF5IGtleTogWy1JbmZpbml0eV0KK3N0b3JlLnB1dCgndmFsdWUyJywg
Wy1JbmZpbml0eV0pOworc3RvcmUuZ2V0KFstSW5maW5pdHldKTsKK1BBU1MgZ2V0cmVxLnJlc3Vs
dCBpcyAidmFsdWUyIgorCit0ZXN0aW5nIGFycmF5IGtleTogWy1OdW1iZXIuTUFYX1ZBTFVFXQor
c3RvcmUucHV0KCd2YWx1ZTMnLCBbLU51bWJlci5NQVhfVkFMVUVdKTsKK3N0b3JlLmdldChbLU51
bWJlci5NQVhfVkFMVUVdKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUzIgorCit0ZXN0
aW5nIGFycmF5IGtleTogWy0xXQorc3RvcmUucHV0KCd2YWx1ZTQnLCBbLTFdKTsKK3N0b3JlLmdl
dChbLTFdKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWU0IgorCit0ZXN0aW5nIGFycmF5
IGtleTogWy1OdW1iZXIuTUlOX1ZBTFVFXQorc3RvcmUucHV0KCd2YWx1ZTUnLCBbLU51bWJlci5N
SU5fVkFMVUVdKTsKK3N0b3JlLmdldChbLU51bWJlci5NSU5fVkFMVUVdKTsKK1BBU1MgZ2V0cmVx
LnJlc3VsdCBpcyAidmFsdWU1IgorCit0ZXN0aW5nIGFycmF5IGtleTogWzBdCitzdG9yZS5wdXQo
J3ZhbHVlNicsIFswXSk7CitzdG9yZS5nZXQoWzBdKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAi
dmFsdWU2IgorCit0ZXN0aW5nIGFycmF5IGtleTogW051bWJlci5NSU5fVkFMVUVdCitzdG9yZS5w
dXQoJ3ZhbHVlNycsIFtOdW1iZXIuTUlOX1ZBTFVFXSk7CitzdG9yZS5nZXQoW051bWJlci5NSU5f
VkFMVUVdKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWU3IgorCit0ZXN0aW5nIGFycmF5
IGtleTogWzFdCitzdG9yZS5wdXQoJ3ZhbHVlOCcsIFsxXSk7CitzdG9yZS5nZXQoWzFdKTsKK1BB
U1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWU4IgorCit0ZXN0aW5nIGFycmF5IGtleTogW051bWJl
ci5NQVhfVkFMVUVdCitzdG9yZS5wdXQoJ3ZhbHVlOScsIFtOdW1iZXIuTUFYX1ZBTFVFXSk7Citz
dG9yZS5nZXQoW051bWJlci5NQVhfVkFMVUVdKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFs
dWU5IgorCit0ZXN0aW5nIGFycmF5IGtleTogW0luZmluaXR5XQorc3RvcmUucHV0KCd2YWx1ZTEw
JywgW0luZmluaXR5XSk7CitzdG9yZS5nZXQoW0luZmluaXR5XSk7CitQQVNTIGdldHJlcS5yZXN1
bHQgaXMgInZhbHVlMTAiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbMSwyLDNdCitzdG9yZS5wdXQo
J3ZhbHVlMTEnLCBbMSwyLDNdKTsKK3N0b3JlLmdldChbMSwyLDNdKTsKK1BBU1MgZ2V0cmVxLnJl
c3VsdCBpcyAidmFsdWUxMSIKKwordGVzdGluZyBhcnJheSBrZXk6IFtuZXcgRGF0ZSgwKV0KK3N0
b3JlLnB1dCgndmFsdWUxMicsIFtuZXcgRGF0ZSgwKV0pOworc3RvcmUuZ2V0KFtuZXcgRGF0ZSgw
KV0pOworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTEyIgorCit0ZXN0aW5nIGFycmF5IGtl
eTogW25ldyBEYXRlKCcyNTI1LTAxLTAxVDAwOjAwOjAwWicpXQorc3RvcmUucHV0KCd2YWx1ZTEz
JywgW25ldyBEYXRlKCcyNTI1LTAxLTAxVDAwOjAwOjAwWicpXSk7CitzdG9yZS5nZXQoW25ldyBE
YXRlKCcyNTI1LTAxLTAxVDAwOjAwOjAwWicpXSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZh
bHVlMTMiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbbmV3IERhdGUoMCksIG5ldyBEYXRlKCcyNTI1
LTAxLTAxVDAwOjAwOjAwWicpXQorc3RvcmUucHV0KCd2YWx1ZTE0JywgW25ldyBEYXRlKDApLCBu
ZXcgRGF0ZSgnMjUyNS0wMS0wMVQwMDowMDowMFonKV0pOworc3RvcmUuZ2V0KFtuZXcgRGF0ZSgw
KSwgbmV3IERhdGUoJzI1MjUtMDEtMDFUMDA6MDA6MDBaJyldKTsKK1BBU1MgZ2V0cmVxLnJlc3Vs
dCBpcyAidmFsdWUxNCIKKwordGVzdGluZyBhcnJheSBrZXk6IFsnJ10KK3N0b3JlLnB1dCgndmFs
dWUxNScsIFsnJ10pOworc3RvcmUuZ2V0KFsnJ10pOworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2
YWx1ZTE1IgorCit0ZXN0aW5nIGFycmF5IGtleTogWycnXQorc3RvcmUucHV0KCd2YWx1ZTE2Jywg
WycnXSk7CitzdG9yZS5nZXQoWycnXSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMTYi
CisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbJ2FiYzEyMyddCitzdG9yZS5wdXQoJ3ZhbHVlMTcnLCBb
J2FiYzEyMyddKTsKK3N0b3JlLmdldChbJ2FiYzEyMyddKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBp
cyAidmFsdWUxNyIKKwordGVzdGluZyBhcnJheSBrZXk6IFsnYWJjJywgMTIzXQorc3RvcmUucHV0
KCd2YWx1ZTE4JywgWydhYmMnLCAxMjNdKTsKK3N0b3JlLmdldChbJ2FiYycsIDEyM10pOworUEFT
UyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTE4IgorCit0ZXN0aW5nIGFycmF5IGtleTogW1tdXQor
c3RvcmUucHV0KCd2YWx1ZTE5JywgW1tdXSk7CitzdG9yZS5nZXQoW1tdXSk7CitQQVNTIGdldHJl
cS5yZXN1bHQgaXMgInZhbHVlMTkiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbW10sIFtdXQorc3Rv
cmUucHV0KCd2YWx1ZTIwJywgW1tdLCBbXV0pOworc3RvcmUuZ2V0KFtbXSwgW11dKTsKK1BBU1Mg
Z2V0cmVxLnJlc3VsdCBpcyAidmFsdWUyMCIKKwordGVzdGluZyBhcnJheSBrZXk6IFtbXSwgW10s
IFtdXQorc3RvcmUucHV0KCd2YWx1ZTIxJywgW1tdLCBbXSwgW11dKTsKK3N0b3JlLmdldChbW10s
IFtdLCBbXV0pOworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTIxIgorCit0ZXN0aW5nIGFy
cmF5IGtleTogW1tbXV1dCitzdG9yZS5wdXQoJ3ZhbHVlMjInLCBbW1tdXV0pOworc3RvcmUuZ2V0
KFtbW11dXSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMjIiCisKK3Rlc3RpbmcgYXJy
YXkga2V5OiBbW1tbXV1dXQorc3RvcmUucHV0KCd2YWx1ZTIzJywgW1tbW11dXV0pOworc3RvcmUu
Z2V0KFtbW1tdXV1dKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUyMyIKKwordGVzdGlu
ZyBhcnJheSBrZXk6IFsxMjMsICdhYmMnLCBuZXcgRGF0ZSgwKSwgW11dCitzdG9yZS5wdXQoJ3Zh
bHVlMjQnLCBbMTIzLCAnYWJjJywgbmV3IERhdGUoMCksIFtdXSk7CitzdG9yZS5nZXQoWzEyMywg
J2FiYycsIG5ldyBEYXRlKDApLCBbXV0pOworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTI0
IgorCit0ZXN0aW5nIGFycmF5IGtleTogW1sxMjMsICdhYmMnLCBuZXcgRGF0ZSgwKSwgW11dLCBb
NDU2LCAnZGVmJywgbmV3IERhdGUoOTk5KSwgW1tdXV1dCitzdG9yZS5wdXQoJ3ZhbHVlMjUnLCBb
WzEyMywgJ2FiYycsIG5ldyBEYXRlKDApLCBbXV0sIFs0NTYsICdkZWYnLCBuZXcgRGF0ZSg5OTkp
LCBbW11dXV0pOworc3RvcmUuZ2V0KFtbMTIzLCAnYWJjJywgbmV3IERhdGUoMCksIFtdXSwgWzQ1
NiwgJ2RlZicsIG5ldyBEYXRlKDk5OSksIFtbXV1dXSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMg
InZhbHVlMjUiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBsb25nX2FycmF5CitzdG9yZS5wdXQoJ3Zh
bHVlMjYnLCBsb25nX2FycmF5KTsKK3N0b3JlLmdldChsb25nX2FycmF5KTsKK1BBU1MgZ2V0cmVx
LnJlc3VsdCBpcyAidmFsdWUyNiIKKwordGVzdGluZyBhcnJheSBrZXk6IHNlbGZfcmVmZXJyZW50
aWFsX2FycmF5CitzdG9yZS5wdXQoJ3ZhbHVlMjcnLCBzZWxmX3JlZmVycmVudGlhbF9hcnJheSk7
CitzdG9yZS5nZXQoc2VsZl9yZWZlcnJlbnRpYWxfYXJyYXkpOworUEFTUyBnZXRyZXEucmVzdWx0
IGlzICJ2YWx1ZTI3IgorCit0cmFucyA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScsIElEQlRyYW5z
YWN0aW9uLlJFQURfV1JJVEUpCitzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZScpCisK
K2FycmF5IHRoYXQgY29udGFpbnMgaXRzZWxmOiBhcnJheSA9IFsgYXJyYXkgXQorY3ljbGljX2Fy
cmF5ID0gW107IGN5Y2xpY19hcnJheS5wdXNoKGN5Y2xpY19hcnJheSkKK1BBU1MgSlNPTi5zdHJp
bmdpZnkoY3ljbGljX2FycmF5KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBDb252ZXJ0aW5n
IGNpcmN1bGFyIHN0cnVjdHVyZSB0byBKU09OLgorYXJyYXkgdGhhdCBjb250YWlucyBpdHNlbGYs
IG9uZSBsZXZlbCBkb3duOiBhcnJheSA9IFsgWyBhcnJheSBdIF0KK2N5Y2xpY19hcnJheTIgPSBb
XTsgY3ljbGljX2FycmF5Mi5wdXNoKFtjeWNsaWNfYXJyYXkyXSkKK1BBU1MgSlNPTi5zdHJpbmdp
ZnkoY3ljbGljX2FycmF5MikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQ29udmVydGluZyBj
aXJjdWxhciBzdHJ1Y3R1cmUgdG8gSlNPTi4KK2FycmF5IHRoYXQgY29udGFpbnMgaXRzZWxmLCBu
b3QgYXMgZmlyc3QgZWxlbWVudDogYXJyYXkgPSBbMSwgJ2InLCBbXSwgYXJyYXldCitjeWNsaWNf
YXJyYXkzID0gWzEsICdiJywgW11dOyBjeWNsaWNfYXJyYXkzLnB1c2goY3ljbGljX2FycmF5MykK
K1BBU1MgSlNPTi5zdHJpbmdpZnkoY3ljbGljX2FycmF5MykgdGhyZXcgZXhjZXB0aW9uIFR5cGVF
cnJvcjogQ29udmVydGluZyBjaXJjdWxhciBzdHJ1Y3R1cmUgdG8gSlNPTi4KKworYXJyYXkgdGhh
dCBjb250YWlucyBhcnJheSB0aGF0IGNvbnRhaW5zIGl0c2VsZgorY3ljbGljX2FycmF5NCA9IFtj
eWNsaWNfYXJyYXldOworUEFTUyBKU09OLnN0cmluZ2lmeShjeWNsaWNfYXJyYXk0KSB0aHJldyBl
eGNlcHRpb24gVHlwZUVycm9yOiBDb252ZXJ0aW5nIGNpcmN1bGFyIHN0cnVjdHVyZSB0byBKU09O
LgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIHZvaWQgMCBdCitFeHBlY3RpbmcgZXhj
ZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIFsgdm9pZCAwIF0pOworUEFTUyBFeGNlcHRp
b24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VS
UgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIHRydWUgXQorRXhwZWN0aW5nIGV4Y2Vw
dGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIHRydWUgXSk7CitQQVNTIEV4Y2VwdGlvbiB3
YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCisK
K3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IFsgZmFsc2UgXQorRXhwZWN0aW5nIGV4Y2VwdGlv
biBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIGZhbHNlIF0pOworUEFTUyBFeGNlcHRpb24gd2Fz
IHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgorCit0
ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIE5hTiBdCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZy
b20gc3RvcmUucHV0KCd2YWx1ZScsIFsgTmFOIF0pOworUEFTUyBFeGNlcHRpb24gd2FzIHRocm93
bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgorCit0ZXN0aW5n
IGludmFsaWQgYXJyYXkga2V5OiBbIG51bGwgXQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0
b3JlLnB1dCgndmFsdWUnLCBbIG51bGwgXSk7CitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgor
UEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCisKK3Rlc3RpbmcgaW52
YWxpZCBhcnJheSBrZXk6IFsge30gXQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1
dCgndmFsdWUnLCBbIHt9IF0pOworUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29k
ZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgorCit0ZXN0aW5nIGludmFsaWQgYXJy
YXkga2V5OiBbIGZ1bmN0aW9uICgpIHt9IF0KK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9y
ZS5wdXQoJ3ZhbHVlJywgWyBmdW5jdGlvbiAoKSB7fSBdKTsKK1BBU1MgRXhjZXB0aW9uIHdhcyB0
aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKKwordGVz
dGluZyBpbnZhbGlkIGFycmF5IGtleTogWyAvcmVnZXgvIF0KK0V4cGVjdGluZyBleGNlcHRpb24g
ZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyAvcmVnZXgvIF0pOworUEFTUyBFeGNlcHRpb24gd2Fz
IHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgorCit0
ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIHdpbmRvdyBdCitFeHBlY3RpbmcgZXhjZXB0aW9u
IGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIFsgd2luZG93IF0pOworUEFTUyBFeGNlcHRpb24gd2Fz
IHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgorCit0
ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIHdpbmRvdy5kb2N1bWVudCBdCitFeHBlY3Rpbmcg
ZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIFsgd2luZG93LmRvY3VtZW50IF0pOwor
UEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2Vw
dGlvbi5EQVRBX0VSUgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIHdpbmRvdy5kb2N1
bWVudC5ib2R5IF0KK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywg
WyB3aW5kb3cuZG9jdW1lbnQuYm9keSBdKTsKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQ
QVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKKwordGVzdGluZyBpbnZh
bGlkIGFycmF5IGtleTogY3ljbGljX2FycmF5CitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3Rv
cmUucHV0KCd2YWx1ZScsIGN5Y2xpY19hcnJheSk7CitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3du
LgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCisKK3Rlc3Rpbmcg
aW52YWxpZCBhcnJheSBrZXk6IGN5Y2xpY19hcnJheTIKK0V4cGVjdGluZyBleGNlcHRpb24gZnJv
bSBzdG9yZS5wdXQoJ3ZhbHVlJywgY3ljbGljX2FycmF5Mik7CitQQVNTIEV4Y2VwdGlvbiB3YXMg
dGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCisKK3Rl
c3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IGN5Y2xpY19hcnJheTMKK0V4cGVjdGluZyBleGNlcHRp
b24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgY3ljbGljX2FycmF5Myk7CitQQVNTIEV4Y2VwdGlv
biB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJS
CisKK3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IGN5Y2xpY19hcnJheTQKK0V4cGVjdGluZyBl
eGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgY3ljbGljX2FycmF5NCk7CitQQVNTIEV4
Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRB
VEFfRVJSCisKK3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IEFycmF5KDEwMDApCitFeHBlY3Rp
bmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIEFycmF5KDEwMDApKTsKK1BBU1Mg
RXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24u
REFUQV9FUlIKKworUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBl
LWFycmF5Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktdHlwZS1hcnJh
eS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjkzZjg5MDRhMGU4Yzk1ZWM2ZWZiMDI5YjAwZjAyNDZkNjMzZDIw
YzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXkt
dHlwZS1hcnJheS5odG1sCkBAIC0wLDAgKzEsMTkzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVz
b3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2Vz
L3NoYXJlZC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlv
biI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlv
bigiVGVzdCBJbmRleGVkREIga2V5IHR5cGVzIik7CitpZiAod2luZG93LmxheW91dFRlc3RDb250
cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKworZnVu
Y3Rpb24gdGVzdCgpCit7CisgICAgZXZhbEFuZExvZygiaW5kZXhlZERCID0gd2luZG93LmluZGV4
ZWREQiB8fCB3aW5kb3cud2Via2l0SW5kZXhlZERCIHx8IHdpbmRvdy5tb3pJbmRleGVkREI7Iik7
CisgICAgc2hvdWxkQmVGYWxzZSgiaW5kZXhlZERCID09IG51bGwiKTsKKworICAgIGV2YWxBbmRM
b2coIklEQlRyYW5zYWN0aW9uID0gd2luZG93LklEQlRyYW5zYWN0aW9uIHx8IHdpbmRvdy53ZWJr
aXRJREJUcmFuc2FjdGlvbjsiKTsKKyAgICBzaG91bGRCZUZhbHNlKCJJREJUcmFuc2FjdGlvbiA9
PSBudWxsIik7CisKKyAgICBldmFsQW5kTG9nKCJJREJEYXRhYmFzZUV4Y2VwdGlvbiA9IHdpbmRv
dy5JREJEYXRhYmFzZUV4Y2VwdGlvbiB8fCB3aW5kb3cud2Via2l0SURCRGF0YWJhc2VFeGNlcHRp
b247Iik7CisgICAgc2hvdWxkQmVGYWxzZSgiSURCRGF0YWJhc2VFeGNlcHRpb24gPT0gbnVsbCIp
OworCisKKyAgICBuYW1lID0gd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIGRlc2NyaXB0
aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOworICAgIG9wZW5yZXEgPSBldmFsQW5kTG9nKCJpbmRl
eGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbikiKTsKKyAgICBvcGVucmVxLm9uc3VjY2VzcyA9
IG9wZW5TdWNjZXNzOworICAgIG9wZW5yZXEub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxi
YWNrOworfQorCitmdW5jdGlvbiBvcGVuU3VjY2VzcygpCit7CisgICAgZXZhbEFuZExvZygiZGIg
PSBvcGVucmVxLnJlc3VsdCIpOworICAgIHNldHZlcnJlcSA9IGV2YWxBbmRMb2coInJlcXVlc3Qg
PSBkYi5zZXRWZXJzaW9uKCcxJykiKTsKKyAgICBzZXR2ZXJyZXEub25zdWNjZXNzID0gc2V0VmVy
c2lvblN1Y2Nlc3M7CisgICAgc2V0dmVycmVxLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxs
YmFjazsKK30KKworZnVuY3Rpb24gc2V0VmVyc2lvblN1Y2Nlc3MoKQoreworICAgIGRlYnVnKCJw
cmVwYXJpbmcgZGF0YWJhc2UiKTsKKyAgICB0cmFucyA9IHNldHZlcnJlcS5yZXN1bHQ7CisgICAg
dHJhbnMub25jb21wbGV0ZSA9IHRlc3RWYWxpZEFycmF5S2V5czsKKyAgICBkZWxldGVBbGxPYmpl
Y3RTdG9yZXMoZGIpOworICAgIG9iamVjdFN0b3JlID0gZXZhbEFuZExvZygiZGIuY3JlYXRlT2Jq
ZWN0U3RvcmUoJ3N0b3JlJyk7Iik7CisgICAgZGVidWcoIiIpOworfQorCitmdW5jdGlvbiB0ZXN0
VmFsaWRBcnJheUtleXMoKQoreworICAgIGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rp
b24oJ3N0b3JlJywgSURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICBldmFsQW5kTG9n
KCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZScpIik7CisgICAgZGVidWcoIiIpOwor
CisgICAgZXZhbEFuZExvZygibG9uZ19hcnJheSA9IFtdOyBmb3IgKGkgPSAwOyBpIDwgMTAwMDsg
KytpKSB7IGxvbmdfYXJyYXkucHVzaCgnYWJjJywgMTIzLCBuZXcgRGF0ZSgwKSwgW10pOyB9Iik7
CisgICAgZGVidWcoIiIpOworCisgICAgZGVidWcoImFycmF5IHRoYXQgY29udGFpbnMgbm9uLW51
bWVyaWMgc2VsZi1yZWZlcmVuY2UiKTsKKyAgICBldmFsQW5kTG9nKCJzZWxmX3JlZmVycmVudGlh
bF9hcnJheSA9IFtdOyBzZWxmX3JlZmVycmVudGlhbF9hcnJheS5zZWxmID0gc2VsZl9yZWZlcnJl
bnRpYWxfYXJyYXk7Iik7CisgICAgZGVidWcoIiIpOworCisgICAgdmFyIG4gPSAwLCBjYXNlcyA9
IFsKKyAgICAgICAgIltdIiwKKworICAgICAgICAiWy1JbmZpbml0eV0iLAorICAgICAgICAiWy1O
dW1iZXIuTUFYX1ZBTFVFXSIsCisgICAgICAgICJbLTFdIiwKKyAgICAgICAgIlstTnVtYmVyLk1J
Tl9WQUxVRV0iLAorICAgICAgICAiWzBdIiwKKyAgICAgICAgIltOdW1iZXIuTUlOX1ZBTFVFXSIs
CisgICAgICAgICJbMV0iLAorICAgICAgICAiW051bWJlci5NQVhfVkFMVUVdIiwKKyAgICAgICAg
IltJbmZpbml0eV0iLAorCisgICAgICAgICJbMSwyLDNdIiwKKworICAgICAgICAiW25ldyBEYXRl
KDApXSIsCisgICAgICAgICJbbmV3IERhdGUoJzI1MjUtMDEtMDFUMDA6MDA6MDBaJyldIiwKKwor
ICAgICAgICAiW25ldyBEYXRlKDApLCBuZXcgRGF0ZSgnMjUyNS0wMS0wMVQwMDowMDowMFonKV0i
LAorCisgICAgICAgICJbJyddIiwKKyAgICAgICAgIlsnXHgwMCddIiwKKyAgICAgICAgIlsnYWJj
MTIzJ10iLAorCisgICAgICAgICJbJ2FiYycsIDEyM10iLAorCisgICAgICAgICJbW11dIiwKKwor
ICAgICAgICAiW1tdLCBbXV0iLAorICAgICAgICAiW1tdLCBbXSwgW11dIiwKKworICAgICAgICAi
W1tbXV1dIiwKKyAgICAgICAgIltbW1tdXV1dIiwKKworICAgICAgICAiWzEyMywgJ2FiYycsIG5l
dyBEYXRlKDApLCBbXV0iLAorICAgICAgICAiW1sxMjMsICdhYmMnLCBuZXcgRGF0ZSgwKSwgW11d
LCBbNDU2LCAnZGVmJywgbmV3IERhdGUoOTk5KSwgW1tdXV1dIiwKKworICAgICAgICAibG9uZ19h
cnJheSIsCisgICAgICAgICJzZWxmX3JlZmVycmVudGlhbF9hcnJheSIKKyAgICBdOworCisgICAg
ZnVuY3Rpb24gdGVzdEFycmF5UHV0R2V0KHZhbHVlLCBrZXksIGNhbGxiYWNrKQorICAgIHsKKyAg
ICAgICAgZGVidWcoInRlc3RpbmcgYXJyYXkga2V5OiAiICsga2V5KTsKKyAgICAgICAgcHV0cmVx
ID0gZXZhbEFuZExvZygic3RvcmUucHV0KCciICsgdmFsdWUgKyAiJywgIiArIGtleSArICIpOyIp
OworICAgICAgICBwdXRyZXEub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAg
ICAgICBwdXRyZXEub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBnZXRyZXEg
PSBldmFsQW5kTG9nKCJzdG9yZS5nZXQoIiArIGtleSArICIpOyIpOworICAgICAgICAgICAgZ2V0
cmVxLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKKyAgICAgICAgICAgIGdldHJl
cS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImdldHJlcS5yZXN1bHQiLCB2YWx1ZSk7CisgICAgICAgICAgICAgICAgZGVidWco
IiIpOworICAgICAgICAgICAgICAgIGNhbGxiYWNrKCk7CisgICAgICAgICAgICB9OworICAgICAg
ICB9OworICAgIH0KKworICAgIGZ1bmN0aW9uIG5leHRUZXN0KCkgeworICAgICAgICB2YXIgdGVz
dGNhc2UgPSBjYXNlcy5zaGlmdCgpOworICAgICAgICBpZiAodGVzdGNhc2UpIHsKKyAgICAgICAg
ICAgIHRlc3RBcnJheVB1dEdldCgidmFsdWUiICsgKCsrbiksIHRlc3RjYXNlLCBuZXh0VGVzdCk7
CisgICAgICAgIH0KKyAgICB9CisKKyAgICBuZXh0VGVzdCgpOworCisgICAgdHJhbnMub25jb21w
bGV0ZSA9IHRlc3RJbnZhbGlkQXJyYXlLZXlzOworfQorCisKK2Z1bmN0aW9uIHRlc3RJbnZhbGlk
QXJyYXlLZXlzKCkKK3sKKyAgICBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKCdz
dG9yZScsIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CisgICAgZXZhbEFuZExvZygic3Rv
cmUgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmUnKSIpOworICAgIGRlYnVnKCIiKTsKKworICAg
IGRlYnVnKCJhcnJheSB0aGF0IGNvbnRhaW5zIGl0c2VsZjogYXJyYXkgPSBbIGFycmF5IF0iKTsK
KyAgICBldmFsQW5kTG9nKCJjeWNsaWNfYXJyYXkgPSBbXTsgY3ljbGljX2FycmF5LnB1c2goY3lj
bGljX2FycmF5KSIpOworICAgIHNob3VsZFRocm93KCJKU09OLnN0cmluZ2lmeShjeWNsaWNfYXJy
YXkpIik7CisKKyAgICBkZWJ1ZygiYXJyYXkgdGhhdCBjb250YWlucyBpdHNlbGYsIG9uZSBsZXZl
bCBkb3duOiBhcnJheSA9IFsgWyBhcnJheSBdIF0iKTsKKyAgICBldmFsQW5kTG9nKCJjeWNsaWNf
YXJyYXkyID0gW107IGN5Y2xpY19hcnJheTIucHVzaChbY3ljbGljX2FycmF5Ml0pIik7CisgICAg
c2hvdWxkVGhyb3coIkpTT04uc3RyaW5naWZ5KGN5Y2xpY19hcnJheTIpIik7CisKKyAgICBkZWJ1
ZygiYXJyYXkgdGhhdCBjb250YWlucyBpdHNlbGYsIG5vdCBhcyBmaXJzdCBlbGVtZW50OiBhcnJh
eSA9IFsxLCAnYicsIFtdLCBhcnJheV0iKTsKKyAgICBldmFsQW5kTG9nKCJjeWNsaWNfYXJyYXkz
ID0gWzEsICdiJywgW11dOyBjeWNsaWNfYXJyYXkzLnB1c2goY3ljbGljX2FycmF5MykiKTsKKyAg
ICBzaG91bGRUaHJvdygiSlNPTi5zdHJpbmdpZnkoY3ljbGljX2FycmF5MykiKTsKKyAgICBkZWJ1
ZygiIik7CisKKyAgICBkZWJ1ZygiYXJyYXkgdGhhdCBjb250YWlucyBhcnJheSB0aGF0IGNvbnRh
aW5zIGl0c2VsZiIpOworICAgIGV2YWxBbmRMb2coImN5Y2xpY19hcnJheTQgPSBbY3ljbGljX2Fy
cmF5XTsiKTsKKyAgICBzaG91bGRUaHJvdygiSlNPTi5zdHJpbmdpZnkoY3ljbGljX2FycmF5NCki
KTsKKyAgICBkZWJ1ZygiIik7CisKKyAgICB2YXIgaW52YWxpZEtleXMgPSBbCisgICAgICAgICJb
IHZvaWQgMCBdIiwgLy8gdW5kZWZpbmVkCisgICAgICAgICJbIHRydWUgXSIsCisgICAgICAgICJb
IGZhbHNlIF0iLAorICAgICAgICAiWyBOYU4gXSIsCisgICAgICAgICJbIG51bGwgXSIsCisgICAg
ICAgICJbIHt9IF0iLAorICAgICAgICAiWyBmdW5jdGlvbiAoKSB7fSBdIiwKKyAgICAgICAgIlsg
L3JlZ2V4LyBdIiwKKyAgICAgICAgIlsgd2luZG93IF0iLAorICAgICAgICAiWyB3aW5kb3cuZG9j
dW1lbnQgXSIsCisgICAgICAgICJbIHdpbmRvdy5kb2N1bWVudC5ib2R5IF0iLAorICAgICAgICAi
Y3ljbGljX2FycmF5IiwKKyAgICAgICAgImN5Y2xpY19hcnJheTIiLAorICAgICAgICAiY3ljbGlj
X2FycmF5MyIsCisgICAgICAgICJjeWNsaWNfYXJyYXk0IiwKKyAgICAgICAgIkFycmF5KDEwMDAp
IiAvLyBzcGFyc2UKKyAgICBdOworCisgICAgaW52YWxpZEtleXMuZm9yRWFjaChmdW5jdGlvbiAo
a2V5KSB7CisgICAgICAgIGRlYnVnKCJ0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiAiICsga2V5
KTsKKyAgICAgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUucHV0KCd2YWx1ZScsICIg
KyBrZXkgKyAiKTsiLCAiSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKKyAgICAgICAg
ZGVidWcoIiIpOworICAgIH0pOworCisgICAgZG9uZSgpOworfQorCit0ZXN0KCk7CisKKzwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIva2V5cmFuZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIva2V5cmFuZ2UtZXhwZWN0ZWQudHh0CmluZGV4IGJkYmYxNWViYzUzYTM1OTQ1Y2U5YTY2
MWExOTE1MjljNjRjYzMyNzMuLjQ1NGVjOTNjNTVhOGZlNDNlODk5YjM5OTU0ZTk4MDk5MDFkNGY5
NTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleXJhbmdlLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXlyYW5nZS1l
eHBlY3RlZC50eHQKQEAgLTIwNywxNyArMjA3LDE3IEBAIFBBU1Mga2V5UmFuZ2UubG93ZXIgaXMg
J2FhZicKIFBBU1Mga2V5UmFuZ2UudXBwZXIgaXMgJ2FiZicKIFBBU1Mga2V5UmFuZ2UubG93ZXJP
cGVuIGlzIHRydWUKIFBBU1Mga2V5UmFuZ2UudXBwZXJPcGVuIGlzIHRydWUKLVBhc3NpbmcgYW4g
aW52YWxpZCBrZXkgaW50byBvbmx5KFtdKQorUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIG9u
bHkoe30pCiBQQVNTIENhdWdodCBleGNlcHRpb246IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRh
dGFiYXNlIEV4Y2VwdGlvbiA1Ci1QYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gdXBwZXJCb3Vu
ZChbXSkKK1Bhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byB1cHBlckJvdW5kKHt9KQogUEFTUyBD
YXVnaHQgZXhjZXB0aW9uOiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRp
b24gNQotUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGxvd2VyQm91bmQoW10pCitQYXNzaW5n
IGFuIGludmFsaWQga2V5IGludG8gbG93ZXJCb3VuZCh7fSkKIFBBU1MgQ2F1Z2h0IGV4Y2VwdGlv
bjogRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLVBhc3Npbmcg
YW4gaW52YWxpZCBrZXkgaW50byBib3VuZChudWxsLCBbXSkKK1Bhc3NpbmcgYW4gaW52YWxpZCBr
ZXkgaW50byBib3VuZChudWxsLCB7fSkKIFBBU1MgQ2F1Z2h0IGV4Y2VwdGlvbjogRXJyb3I6IERB
VEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLVBhc3NpbmcgYW4gaW52YWxpZCBr
ZXkgaW50byBib3VuZChbXSxudWxsKQorUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGJvdW5k
KHt9LG51bGwpCiBQQVNTIENhdWdodCBleGNlcHRpb246IEVycm9yOiBEQVRBX0VSUjogRE9NIElE
QkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1QYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gYm91bmQo
W10sIFtdKQorUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGJvdW5kKHt9LCB7fSkKIFBBU1Mg
Q2F1Z2h0IGV4Y2VwdGlvbjogRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0
aW9uIDUKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5cmFuZ2UuaHRtbCBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2tleXJhbmdlLmh0bWwKaW5kZXggMDMxMTJkMTkxZmU5ZDFjOWU2NTk1
ZWY4MjQ4N2M4ZjE5NmY0OGIyMy4uNjc4ZTkyY2Y2ZGNiZjQwMjBlZjQwZTVkYTU0N2IxNjJiODky
OTRhZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5cmFuZ2Uu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXlyYW5nZS5odG1sCkBA
IC0xMjYsNDggKzEyNiw0OCBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICBjaGVja0JvdW5kS2V5UmFu
Z2UoIidhYWYnIiwgIidhYmYnIiwgdHJ1ZSwgdHJ1ZSk7CiAKICAgICB0cnkgewotICAgICAgICBk
ZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIG9ubHkoW10pIik7Ci0gICAgICAgIHdl
YmtpdElEQktleVJhbmdlLm9ubHkoW10pOworICAgICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZh
bGlkIGtleSBpbnRvIG9ubHkoe30pIik7CisgICAgICAgIHdlYmtpdElEQktleVJhbmdlLm9ubHko
e30pOwogICAgICAgICB0ZXN0RmFpbGVkKCJObyBleGNlcHRpb24gdGhyb3duIik7CiAgICAgfSBj
YXRjaCAoZSkgewogICAgICAgICB0ZXN0UGFzc2VkKCJDYXVnaHQgZXhjZXB0aW9uOiAiICsgZS50
b1N0cmluZygpKTsKICAgICB9CiAKICAgICB0cnkgewotICAgICAgICBkZWJ1ZygiUGFzc2luZyBh
biBpbnZhbGlkIGtleSBpbnRvIHVwcGVyQm91bmQoW10pIik7Ci0gICAgICAgIHdlYmtpdElEQktl
eVJhbmdlLnVwcGVyQm91bmQoW10pOworICAgICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlk
IGtleSBpbnRvIHVwcGVyQm91bmQoe30pIik7CisgICAgICAgIHdlYmtpdElEQktleVJhbmdlLnVw
cGVyQm91bmQoe30pOwogICAgICAgICB0ZXN0RmFpbGVkKCJObyBleGNlcHRpb24gdGhyb3duIik7
CiAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICB0ZXN0UGFzc2VkKCJDYXVnaHQgZXhjZXB0aW9u
OiAiICsgZS50b1N0cmluZygpKTsKICAgICB9CiAgCiAgICAgdHJ5IHsKLSAgICAgICAgZGVidWco
IlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBsb3dlckJvdW5kKFtdKSIpOwotICAgICAgICB3
ZWJraXRJREJLZXlSYW5nZS5sb3dlckJvdW5kKFtdKTsKKyAgICAgICAgZGVidWcoIlBhc3Npbmcg
YW4gaW52YWxpZCBrZXkgaW50byBsb3dlckJvdW5kKHt9KSIpOworICAgICAgICB3ZWJraXRJREJL
ZXlSYW5nZS5sb3dlckJvdW5kKHt9KTsKICAgICAgICAgdGVzdEZhaWxlZCgiTm8gZXhjZXB0aW9u
IHRocm93biIpOwogICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgdGVzdFBhc3NlZCgiQ2F1Z2h0
IGV4Y2VwdGlvbjogIiArIGUudG9TdHJpbmcoKSk7CiAgICAgfQogCiAgICAgdHJ5IHsKLSAgICAg
ICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBib3VuZChudWxsLCBbXSkiKTsK
LSAgICAgICAgd2Via2l0SURCS2V5UmFuZ2UuYm91bmQobnVsbCwgW10pOworICAgICAgICBkZWJ1
ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGJvdW5kKG51bGwsIHt9KSIpOworICAgICAg
ICB3ZWJraXRJREJLZXlSYW5nZS5ib3VuZChudWxsLCB7fSk7CiAgICAgICAgIHRlc3RGYWlsZWQo
Ik5vIGV4Y2VwdGlvbiB0aHJvd24iKTsKICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgIHRlc3RQ
YXNzZWQoIkNhdWdodCBleGNlcHRpb246ICIgKyBlLnRvU3RyaW5nKCkpOwogICAgIH0KIAogICAg
IHRyeSB7Ci0gICAgICAgIGRlYnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gYm91bmQo
W10sbnVsbCkiKTsKLSAgICAgICAgd2Via2l0SURCS2V5UmFuZ2UuYm91bmQoW10sIG51bGwpOwor
ICAgICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGJvdW5kKHt9LG51bGwp
Iik7CisgICAgICAgIHdlYmtpdElEQktleVJhbmdlLmJvdW5kKHt9LCBudWxsKTsKICAgICAgICAg
dGVzdEZhaWxlZCgiTm8gZXhjZXB0aW9uIHRocm93biIpOwogICAgIH0gY2F0Y2ggKGUpIHsKICAg
ICAgICAgdGVzdFBhc3NlZCgiQ2F1Z2h0IGV4Y2VwdGlvbjogIiArIGUudG9TdHJpbmcoKSk7CiAg
ICAgfQogCiAgICAgdHJ5IHsKLSAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkg
aW50byBib3VuZChbXSwgW10pIik7Ci0gICAgICAgIHdlYmtpdElEQktleVJhbmdlLmJvdW5kKFtd
LCBbXSk7CisgICAgICAgIGRlYnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gYm91bmQo
e30sIHt9KSIpOworICAgICAgICB3ZWJraXRJREJLZXlSYW5nZS5ib3VuZCh7fSwge30pOwogICAg
ICAgICB0ZXN0RmFpbGVkKCJObyBleGNlcHRpb24gdGhyb3duIik7CiAgICAgfSBjYXRjaCAoZSkg
ewogICAgICAgICB0ZXN0UGFzc2VkKCJDYXVnaHQgZXhjZXB0aW9uOiAiICsgZS50b1N0cmluZygp
KTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3Jl
LWJhc2ljcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmpl
Y3RzdG9yZS1iYXNpY3MtZXhwZWN0ZWQudHh0CmluZGV4IDZlY2M0MzBjMzg1OTRlZWM4YTBhNWI4
MDBlYzNlYjc5YmUzODI3MTYuLmQwZDI3OGQ3YzNiZjkzYTI0MWU4YjY1OTFhZjExNDc2NDJlZjAx
YzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3Jl
LWJhc2ljcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
b2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4dApAQCAtOTMsMTkgKzkzLDE5IEBAIHJlbW92
ZVN1Y2Nlc3MoKToKIFBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdCBpcyBudWxsCiBzdG9yZSA9IGV2
ZW50LnRhcmdldC5zb3VyY2UKIFBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBzdG9yZS5nZXQo
KS4KLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5nZXQoW10pCitFeHBlY3RpbmcgZXhj
ZXB0aW9uIGZyb20gc3RvcmUuZ2V0KHt9KQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBB
U1MgY29kZSBpcyB3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgogUGFzc2luZyBh
biBpbnZhbGlkIGtleSBpbnRvIHN0b3JlLmRlbGV0ZSgpLgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBm
cm9tIHN0b3JlLmRlbGV0ZShbXSkKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5kZWxl
dGUoe30pCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIHdlYmtpdElE
QkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCiBQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8g
c3RvcmUuYWRkKCkuCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUuYWRkKG51bGwsIFtd
KQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLmFkZChudWxsLCB7fSkKIFBBU1MgRXhj
ZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRp
b24uREFUQV9FUlIKIFBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBzdG9yZS5wdXQoKS4KLUV4
cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQobnVsbCwgW10pCitFeHBlY3RpbmcgZXhj
ZXB0aW9uIGZyb20gc3RvcmUucHV0KG51bGwsIHt9KQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93
bi4KIFBBU1MgY29kZSBpcyB3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgogUEFT
UyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MuaHRtbAppbmRleCBiYjE2Yzg5NzU4OTg5
ZmRjZjE3NzQ0ZGM1MzUzNTc4OTBlM2U5Y2FkLi45ZTc3YjcxYTg1NmE1NzUyNzE5MmIxYmUxYzU5
NWE4NDM3NThmOWNmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9v
YmplY3RzdG9yZS1iYXNpY3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9vYmplY3RzdG9yZS1iYXNpY3MuaHRtbApAQCAtMjQxLDE2ICsyNDEsMTYgQEAgZnVuY3Rpb24g
cmVtb3ZlU3VjY2VzcygpCiAgICAgdmFyIHN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSBldmVu
dC50YXJnZXQuc291cmNlIik7CiAKICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBp
bnRvIHN0b3JlLmdldCgpLiIpOwotICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmdl
dChbXSkiLCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKKyAgICBldmFs
QW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5nZXQoe30pIiwgIndlYmtpdElEQkRhdGFiYXNlRXhj
ZXB0aW9uLkRBVEFfRVJSIik7CiAKICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBp
bnRvIHN0b3JlLmRlbGV0ZSgpLiIpOwotICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3Jl
LmRlbGV0ZShbXSkiLCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKKyAg
ICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5kZWxldGUoe30pIiwgIndlYmtpdElEQkRh
dGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSIik7CiAKICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZh
bGlkIGtleSBpbnRvIHN0b3JlLmFkZCgpLiIpOwotICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24o
InN0b3JlLmFkZChudWxsLCBbXSkiLCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9F
UlIiKTsKKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5hZGQobnVsbCwge30pIiwg
IndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSIik7CiAKICAgICBkZWJ1ZygiUGFz
c2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIHN0b3JlLnB1dCgpLiIpOwotICAgIGV2YWxBbmRFeHBl
Y3RFeGNlcHRpb24oInN0b3JlLnB1dChudWxsLCBbXSkiLCAid2Via2l0SURCRGF0YWJhc2VFeGNl
cHRpb24uREFUQV9FUlIiKTsKKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5wdXQo
bnVsbCwge30pIiwgIndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSIik7CiAKICAg
ICBkb25lKCk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9v
cGVuLWN1cnNvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9v
cGVuLWN1cnNvci1leHBlY3RlZC50eHQKaW5kZXggNjAyMGUyNTZmN2MzYTI0ODdjYjc1NTYzMmVl
NDFmYmEwMTkyMDg5MS4uM2E5ZTIwMjgwM2ZhMDhhZjhkMTA3NzQ4YzU0NWQ4MzhiODA3MzZhYiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jdXJzb3ItZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY3Vyc29y
LWV4cGVjdGVkLnR4dApAQCAtMTksNyArMTksNyBAQCBQQVNTIGV2ZW50LnRhcmdldC5yZXN1bHQu
ZGlyZWN0aW9uIGlzIDAKIFBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdC5rZXkgaXMgJ215S2V5Jwog
UEFTUyBldmVudC50YXJnZXQucmVzdWx0LnZhbHVlIGlzICdteVZhbHVlJwogCi1QYXNzaW5nIGFu
IGludmFsaWQga2V5IGludG8gLmNvbnRpbnVlKCkuCitQYXNzaW5nIGFuIGludmFsaWQga2V5IGlu
dG8gLmNvbnRpbnVlKHt9KS4KIFBBU1MgQ2F1Z2h0IGV4Y2VwdGlvbjogRXJyb3I6IERBVEFfRVJS
OiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKIAogT3BlbmluZyBhbiBlbXB0eSBjdXJzb3Iu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWN1cnNvci5o
dG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jdXJzb3IuaHRtbAppbmRl
eCA5MTYwNjMxOGQyM2NjODdmMzA4ZjcyNDZjNGZhMGNlM2EwYzcwZDQzLi5jYTk5MjI1MWFkNjgz
ZjQwNjg3NGRjNjU2MGViODM0M2RiZWM3ZWY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9vcGVuLWN1cnNvci5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL29wZW4tY3Vyc29yLmh0bWwKQEAgLTM4LDggKzM4LDggQEAgZnVuY3Rpb24gY3Vy
c29yU3VjY2VzcygpCiAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQudmFsdWUiLCAi
J215VmFsdWUnIik7CiAgICAgZGVidWcoIiIpOwogICAgIHRyeSB7Ci0gICAgICAgIGRlYnVnKCJQ
YXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gLmNvbnRpbnVlKCkuIik7Ci0gICAgICAgIGV2ZW50
LnRhcmdldC5yZXN1bHQuY29udGludWUoW10pOworICAgICAgICBkZWJ1ZygiUGFzc2luZyBhbiBp
bnZhbGlkIGtleSBpbnRvIC5jb250aW51ZSh7fSkuIik7CisgICAgICAgIGV2ZW50LnRhcmdldC5y
ZXN1bHQuY29udGludWUoe30pOwogICAgICAgICB0ZXN0RmFpbGVkKCJObyBleGNlcHRpb24gdGhy
b3duIik7CiAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICB0ZXN0UGFzc2VkKCJDYXVnaHQgZXhj
ZXB0aW9uOiAiICsgZS50b1N0cmluZygpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113412</attachid>
            <date>2011-11-02 17:59:41 -0700</date>
            <delta_ts>2011-11-02 22:07:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62284-20111102175940.patch</filename>
            <type>text/plain</type>
            <size>83616</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg5NjYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5ZWE2ZGEwOTg4ODk0ZDI3
NzZjZGNiNzU1Yjg4MTMwYmJhMTU4YTA3Li5kNTkzMTkzZTBhMDIxYTIyMTA0NzBiODUzZWIzYmQ5
ZTBkYTJkMmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTEtMTEtMDIgIEpvc2h1
YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IGltcGxl
bWVudCBjb21wb3VuZCAoYXJyYXkpIGtleSBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MjI4NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IHN0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBl
LWFycmF5Lmh0bWwKKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTSURCS2V5Q3VzdG9tLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L0lEQkJpbmRp
bmdVdGlsaXRpZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5Q3JlYXRvcjo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OklEQktleUNyZWF0b3I6OklEQktleUNyZWF0b3IpOgorICAg
ICAgICAoV2ViQ29yZTo6SURCS2V5Q3JlYXRvcjo6Y3JlYXRlSW50ZXJuYWwpOgorICAgICAgICAo
V2ViQ29yZTo6Y3JlYXRlSURCS2V5RnJvbVZhbHVlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9j
dXN0b20vVjhJREJLZXlDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAg
ICAgICogc3RvcmFnZS9JREJLZXkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5Ojpjb21w
YXJlKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQktleS5oOgorICAgICAgICAoV2ViQ29yZTo6SURC
S2V5OjpjcmVhdGVBcnJheSk6CisgICAgICAgIChXZWJDb3JlOjpJREJLZXk6OnZhbGlkKToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQktleTo6YXJyYXkpOgorICAgICAgICAqIHN0b3JhZ2UvSURCTGV2
ZWxEQkNvZGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJMZXZlbERCQ29kaW5nOjpjb21w
YXJlRW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkxldmVs
REJDb2Rpbmc6OmVuY29kZUlEQktleSk6CisgICAgICAgIChXZWJDb3JlOjpJREJMZXZlbERCQ29k
aW5nOjpkZWNvZGVJREJLZXkpOgorICAgICAgICAoV2ViQ29yZTo6SURCTGV2ZWxEQkNvZGluZzo6
ZXh0cmFjdEVuY29kZWRJREJLZXkpOgorICAgICAgICAoV2ViQ29yZTo6SURCTGV2ZWxEQkNvZGlu
Zzo6Y29kaW5nVG9PcmRlcik6CisgICAgICAgIChXZWJDb3JlOjpJREJMZXZlbERCQ29kaW5nOjpj
b21wYXJlRW5jb2RlZElEQktleXMpOgorICAgICAgICAqIHN0b3JhZ2UvSURCTGV2ZWxEQkNvZGlu
Zy5oOgorCiAyMDExLTExLTAxICBBbmRyZWFzIEtsaW5nICA8a2xpbmdAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBDU1NSdWxlOiBEZXZpcnR1YWxpemUgYWRkU3VicmVzb3VyY2VTdHlsZVVSTHMoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBlNGIwYjkyZTEzYWEwZTk1MjFiYjI4M2I3Njc3
OGQyNWVlOTc4NDZiLi43OGYwNTJkN2Q1ZmUzMmRhZmRjN2VmZTMwMGUwYjdiMTQ5NDAxNjg2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDExLTExLTAyICBK
b3NodWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBp
bXBsZW1lbnQgY29tcG91bmQgKGFycmF5KSBrZXkgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyODQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHB1YmxpYy9XZWJJREJLZXkuaDoKKyAgICAg
ICAgKiBzcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHA6CisgICAgICAgICogc3JjL1dlYklEQktl
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYklEQktleTo6Y3JlYXRlQXJyYXkpOgorICAgICAg
ICAoV2ViS2l0Ojpjb252ZXJ0RnJvbVdlYklEQktleUFycmF5KToKKyAgICAgICAgKFdlYktpdDo6
Y29udmVydFRvV2ViSURCS2V5QXJyYXkpOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJLZXk6OmFz
c2lnbkFycmF5KToKKyAgICAgICAgKFdlYktpdDo6V2ViSURCS2V5OjphcnJheSk6CisgICAgICAg
ICogdGVzdHMvSURCQmluZGluZ1V0aWxpdGllc1Rlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
VEVTVCk6CisgICAgICAgICogdGVzdHMvSURCTGV2ZWxEQkNvZGluZ1Rlc3QuY3BwOgorICAgICAg
ICAoSURCTGV2ZWxEQkNvZGluZzo6Y3JlYXRlQXJyYXlJREJLZXkpOgorICAgICAgICAoSURCTGV2
ZWxEQkNvZGluZzo6VEVTVCk6CisgICAgICAgIChJREJMZXZlbERCQ29kaW5nOjpjb21wYXJlU3Ry
aW5ncyk6CisKIDIwMTEtMTEtMDEgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29t
PgogCiAgICAgICAgIE5vdCByZXZpZXdlZDogZml4IGNocm9taXVtIGludGVyYWN0aXZlIHRlc3Rz
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJREJLZXlDdXN0b20u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJREJLZXlDdXN0b20uY3BwCmluZGV4
IDEwMjc4ZjNjY2YxZjRhNjY2ZGQ4NmU5OTkwNzdlZjlkZTgxMmI0OTMuLjYyZmE3Y2JlMThmYzk5
ZjgxNzg5OTc5YjEwMTZiZjdlNGUyNGVlNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTSURCS2V5Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0lEQktleUN1c3RvbS5jcHAKQEAgLTQ4LDYgKzQ4LDcgQEAgSlNWYWx1ZSB0b0pTKEV4
ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqLCBJREJLZXkqIGtleSkKICAgICBjYXNl
IElEQktleTo6U3RyaW5nVHlwZToKICAgICAgICAgcmV0dXJuIGpzU3RyaW5nKGV4ZWMsIGtleS0+
c3RyaW5nKCkpOwogICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgZGF0ZXMuCisgICAgLy8gRklYTUU6
IEltcGxlbWVudCBhcnJheXMuCiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9JREJCaW5kaW5nVXRpbGl0aWVz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0lEQkJpbmRpbmdVdGlsaXRpZXMuY3Bw
CmluZGV4IGNiNmFiMGE3ZGNkNWJlYTczNTViMGI5YjE0ZTE1MjE4MmRhY2ZlODkuLjRlOTMyZjE0
NzZiMTIyNmFiZmQyMDYzNzNlYWM1NmYxMzM5MDJhZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L0lEQkJpbmRpbmdVdGlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L0lEQkJpbmRpbmdVdGlsaXRpZXMuY3BwCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM4LDE2ICszOCw2MiBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIElEQktleUNyZWF0b3IgeworICBwdWJsaWM6Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8SURCS2V5PiBjcmVhdGUodjg6OkhhbmRsZTx2ODo6VmFsdWU+
IHZhbHVlKQorICAgIHsKKyAgICAgICAgSURCS2V5Q3JlYXRvciBjcmVhdG9yOworICAgICAgICBy
ZXR1cm4gY3JlYXRvci5jcmVhdGVJbnRlcm5hbCh2YWx1ZSk7CisgICAgfQorCisgIHByaXZhdGU6
CisgICAgSURCS2V5Q3JlYXRvcigpCisgICAgeworICAgIH0KKworICAgIElEQktleUNyZWF0b3Io
Y29uc3QgSURCS2V5Q3JlYXRvciYpOworICAgIElEQktleUNyZWF0b3ImIG9wZXJhdG9yPShjb25z
dCBJREJLZXlDcmVhdG9yJik7CisKKyAgICBQYXNzUmVmUHRyPElEQktleT4gY3JlYXRlSW50ZXJu
YWwodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlKQorICAgIHsKKyAgICAgICAgaWYgKHZhbHVl
LT5Jc051bWJlcigpICYmICFpc25hbih2YWx1ZS0+TnVtYmVyVmFsdWUoKSkpCisgICAgICAgICAg
ICByZXR1cm4gSURCS2V5OjpjcmVhdGVOdW1iZXIodmFsdWUtPk51bWJlclZhbHVlKCkpOworICAg
ICAgICBpZiAodmFsdWUtPklzU3RyaW5nKCkpCisgICAgICAgICAgICByZXR1cm4gSURCS2V5Ojpj
cmVhdGVTdHJpbmcodjhWYWx1ZVRvV2ViQ29yZVN0cmluZyh2YWx1ZSkpOworICAgICAgICBpZiAo
dmFsdWUtPklzRGF0ZSgpKQorICAgICAgICAgICAgcmV0dXJuIElEQktleTo6Y3JlYXRlRGF0ZSh2
YWx1ZS0+TnVtYmVyVmFsdWUoKSk7CisgICAgICAgIGlmICh2YWx1ZS0+SXNBcnJheSgpKSB7Cisg
ICAgICAgICAgICB2ODo6SGFuZGxlPHY4OjpBcnJheT4gYXJyYXkgPSB2ODo6SGFuZGxlPHY4OjpB
cnJheT46OkNhc3QodmFsdWUpOworCisgICAgICAgICAgICBpZiAobV9zdGFjay5jb250YWlucyhh
cnJheSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIElEQktleTo6Y3JlYXRlSW52YWxpZCgpOwor
ICAgICAgICAgICAgbV9zdGFjay5hcHBlbmQoYXJyYXkpOworCisgICAgICAgICAgICBJREJLZXk6
OktleUFycmF5IHN1YmtleXM7CisgICAgICAgICAgICB1aW50MzJfdCBsZW5ndGggPSBhcnJheS0+
TGVuZ3RoKCk7CisgICAgICAgICAgICBmb3IgKHVpbnQzMl90IGkgPSAwOyBpIDwgbGVuZ3RoOyBp
KyspIHsKKyAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiBzdWJ2YWx1ZSA9IGFy
cmF5LT5HZXQodjg6OkludDMyOjpOZXcoaSkpOworICAgICAgICAgICAgICAgIFJlZlB0cjxJREJL
ZXk+IHN1YmtleSA9IGNyZWF0ZUludGVybmFsKHN1YnZhbHVlKTsKKyAgICAgICAgICAgICAgICBp
ZiAoIXN1YmtleSkgeworICAgICAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIElEQktleTo6Y3JlYXRlSW52YWxpZCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAoIXN1YmtleS0+dmFsaWQoKSkKKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIHN1YmtleTsKKyAgICAgICAgICAgICAgICBzdWJrZXlz
LmFwcGVuZChzdWJrZXkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgbV9zdGFjay5yZW1v
dmVMYXN0KCk7CisgICAgICAgICAgICByZXR1cm4gSURCS2V5OjpjcmVhdGVBcnJheShzdWJrZXlz
KTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gSURCS2V5OjpjcmVhdGVJbnZhbGlkKCk7Cisg
ICAgfQorCisgICAgVmVjdG9yPHY4OjpIYW5kbGU8djg6OkFycmF5PiA+IG1fc3RhY2s7Cit9Owor
CiBQYXNzUmVmUHRyPElEQktleT4gY3JlYXRlSURCS2V5RnJvbVZhbHVlKHY4OjpIYW5kbGU8djg6
OlZhbHVlPiB2YWx1ZSkKIHsKLSAgICBpZiAodmFsdWUtPklzTnVtYmVyKCkgJiYgIWlzbmFuKHZh
bHVlLT5OdW1iZXJWYWx1ZSgpKSkKLSAgICAgICAgcmV0dXJuIElEQktleTo6Y3JlYXRlTnVtYmVy
KHZhbHVlLT5OdW1iZXJWYWx1ZSgpKTsKLSAgICBpZiAodmFsdWUtPklzU3RyaW5nKCkpCi0gICAg
ICAgIHJldHVybiBJREJLZXk6OmNyZWF0ZVN0cmluZyh2OFZhbHVlVG9XZWJDb3JlU3RyaW5nKHZh
bHVlKSk7Ci0gICAgaWYgKHZhbHVlLT5Jc0RhdGUoKSkKLSAgICAgICAgcmV0dXJuIElEQktleTo6
Y3JlYXRlRGF0ZSh2YWx1ZS0+TnVtYmVyVmFsdWUoKSk7Ci0KLSAgICByZXR1cm4gSURCS2V5Ojpj
cmVhdGVJbnZhbGlkKCk7CisgICAgcmV0dXJuIElEQktleUNyZWF0b3I6OmNyZWF0ZSh2YWx1ZSk7
CiB9CiAKIG5hbWVzcGFjZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhJREJLZXlDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4SURCS2V5Q3VzdG9tLmNwcAppbmRleCAzYjRlZGE4NzdlYWY3YWUzNWU2YjFjZGVk
YmEyZmExNzkzM2I1ZGRlLi45ZTEzMGUxNmQ3OTE4MjJjMzk3NTYxZmFhNjk0OWFjNDA1MWU4M2Vi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJREJLZXlD
dXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOElEQktl
eUN1c3RvbS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKQEAgLTM0LDYgKzM0LDggQEAKICNpbmNsdWRlICJJREJLZXkuaCIKICNpbmNsdWRl
ICJWOEJpbmRpbmcuaCIKIAorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKwogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChJREJLZXkqIGtleSkKQEAgLTQx
LDggKzQzLDExIEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KElEQktleSoga2V5KQogICAg
IGlmICgha2V5KQogICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKIAorICAgIHY4OjpMb2NhbDx2
ODo6QXJyYXk+IGFycmF5OworCiAgICAgc3dpdGNoIChrZXktPnR5cGUoKSkgewogICAgIGNhc2Ug
SURCS2V5OjpJbnZhbGlkVHlwZToKKyAgICBjYXNlIElEQktleTo6TWluVHlwZToKICAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiAg
ICAgY2FzZSBJREJLZXk6Ok51bWJlclR5cGU6CkBAIC01MSw2ICs1NiwxMSBAQCB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gdG9WOChJREJLZXkqIGtleSkKICAgICAgICAgcmV0dXJuIHY4U3RyaW5nKGtl
eS0+c3RyaW5nKCkpOwogICAgIGNhc2UgSURCS2V5OjpEYXRlVHlwZToKICAgICAgICAgcmV0dXJu
IHY4OjpEYXRlOjpOZXcoa2V5LT5kYXRlKCkpOworICAgIGNhc2UgSURCS2V5OjpBcnJheVR5cGU6
CisgICAgICAgIGFycmF5ID0gdjg6OkFycmF5OjpOZXcoa2V5LT5hcnJheSgpLnNpemUoKSk7Cisg
ICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwga2V5LT5hcnJheSgpLnNpemUoKTsgKytpKQor
ICAgICAgICAgICAgYXJyYXktPlNldChpLCB0b1Y4KGtleS0+YXJyYXkoKVtpXS5nZXQoKSkpOwor
ICAgICAgICByZXR1cm4gYXJyYXk7CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQktleS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9zdG9yYWdlL0lEQktleS5jcHAKaW5kZXggNWU1MjZjZTIyMzliOThkMzg2ZmE4NzJi
MjA3YTliMGUzYzA5ZTllZS4uZTkyOTdkNjQwYWZkZWExNjdiOWI3ZDkwODQ2ZGQwOWQxOGQxMjY2
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJLZXkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00Niw2ICs0NiwxNiBAQCBpbnQgSURCS2V5Ojpj
b21wYXJlKGNvbnN0IElEQktleSogb3RoZXIpIGNvbnN0CiAgICAgICAgIHJldHVybiBtX3R5cGUg
PiBvdGhlci0+bV90eXBlID8gLTEgOiAxOwogCiAgICAgc3dpdGNoIChtX3R5cGUpIHsKKyAgICBj
YXNlIEFycmF5VHlwZToKKyAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2FycmF5LnNp
emUoKSAmJiBpIDwgb3RoZXItPm1fYXJyYXkuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIGlm
IChpbnQgcmVzdWx0ID0gbV9hcnJheVtpXS0+Y29tcGFyZShvdGhlci0+bV9hcnJheVtpXS5nZXQo
KSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAgfQorICAgICAgICBp
ZiAobV9hcnJheS5zaXplKCkgPCBvdGhlci0+bV9hcnJheS5zaXplKCkpCisgICAgICAgICAgICBy
ZXR1cm4gLTE7CisgICAgICAgIGlmIChtX2FycmF5LnNpemUoKSA+IG90aGVyLT5tX2FycmF5LnNp
emUoKSkKKyAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICByZXR1cm4gMDsKICAgICBjYXNl
IFN0cmluZ1R5cGU6CiAgICAgICAgIHJldHVybiAtY29kZVBvaW50Q29tcGFyZShvdGhlci0+bV9z
dHJpbmcsIG1fc3RyaW5nKTsKICAgICBjYXNlIERhdGVUeXBlOgpAQCAtNTUsNiArNjUsNyBAQCBp
bnQgSURCS2V5Ojpjb21wYXJlKGNvbnN0IElEQktleSogb3RoZXIpIGNvbnN0CiAgICAgICAgIHJl
dHVybiAobV9udW1iZXIgPCBvdGhlci0+bV9udW1iZXIpID8gLTEgOgogICAgICAgICAgICAgICAg
IChtX251bWJlciA+IG90aGVyLT4gbV9udW1iZXIpID8gMSA6IDA7CiAgICAgY2FzZSBJbnZhbGlk
VHlwZToKKyAgICBjYXNlIE1pblR5cGU6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
ICAgICAgICByZXR1cm4gMDsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL0lEQktleS5oIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJLZXkuaAppbmRleCBjOWEx
YjQ3ZGFiYzNhNGYyZTkzMDFiNTdmMDNjZmNmNzhhYWM5MTVkLi5hZTg5ZmEzODRjMDljMWEwOTk1
ZWI1NmVmOTRlYmJiMTAzMGQ3NDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L0lEQktleS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5LmgKQEAgLTEsNSAr
MSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzEsMTEgKzMxLDE0
IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSURCS2V5IDogcHVibGljIFRocmVhZFNhZmVS
ZWZDb3VudGVkPElEQktleT4gewogcHVibGljOgorICAgIHR5cGVkZWYgVmVjdG9yPFJlZlB0cjxJ
REJLZXk+ID4gS2V5QXJyYXk7CisKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0
ZUludmFsaWQoKQogICAgIHsKICAgICAgICAgUmVmUHRyPElEQktleT4gaWRiS2V5KG5ldyBJREJL
ZXkoKSk7CkBAIC02NywxNyArNzAsMzQgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gaWRiS2V5
LnJlbGVhc2UoKTsKICAgICB9CiAKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0
ZUFycmF5KGNvbnN0IEtleUFycmF5JiBhcnJheSkKKyAgICB7CisgICAgICAgIFJlZlB0cjxJREJL
ZXk+IGlkYktleShuZXcgSURCS2V5KCkpOworICAgICAgICBpZGJLZXktPm1fdHlwZSA9IEFycmF5
VHlwZTsKKyAgICAgICAgaWRiS2V5LT5tX2FycmF5ID0gYXJyYXk7CisgICAgICAgIHJldHVybiBp
ZGJLZXkucmVsZWFzZSgpOworICAgIH0KKwogICAgIH5JREJLZXkoKTsKIAogICAgIC8vIEluIG9y
ZGVyIG9mIHRoZSBsZWFzdCB0byB0aGUgaGlnaGVzdCBwcmVjZWRlbnQgaW4gdGVybXMgb2Ygc29y
dCBvcmRlci4KICAgICBlbnVtIFR5cGUgewogICAgICAgICBJbnZhbGlkVHlwZSA9IDAsCisgICAg
ICAgIEFycmF5VHlwZSwKICAgICAgICAgU3RyaW5nVHlwZSwKICAgICAgICAgRGF0ZVR5cGUsCi0g
ICAgICAgIE51bWJlclR5cGUKKyAgICAgICAgTnVtYmVyVHlwZSwKKyAgICAgICAgTWluVHlwZQog
ICAgIH07CiAKICAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KKyAgICBi
b29sIHZhbGlkKCkgY29uc3QgeyByZXR1cm4gbV90eXBlICE9IEludmFsaWRUeXBlOyB9CisKKyAg
ICBjb25zdCBLZXlBcnJheSYgYXJyYXkoKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUKG1f
dHlwZSA9PSBBcnJheVR5cGUpOworICAgICAgICByZXR1cm4gbV9hcnJheTsKKyAgICB9CiAKICAg
ICBjb25zdCBTdHJpbmcmIHN0cmluZygpIGNvbnN0CiAgICAgewpAQCAtMTA4LDYgKzEyOCw3IEBA
IHByaXZhdGU6CiAgICAgSURCS2V5KCk7CiAKICAgICBUeXBlIG1fdHlwZTsKKyAgICBLZXlBcnJh
eSBtX2FycmF5OwogICAgIFN0cmluZyBtX3N0cmluZzsKICAgICBkb3VibGUgbV9kYXRlOwogICAg
IGRvdWJsZSBtX251bWJlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURC
TGV2ZWxEQkNvZGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkxldmVsREJDb2Rp
bmcuY3BwCmluZGV4IDdjYzRhZWQwMGU4YjU0OGRkNGFhZDlhYjQ3YjQzYWExN2FjNDRkNjEuLmQ1
YWYwYzJlZDhiYTE1ZTk0MDc2ZDlhN2QzOGYyNjM3YzM4Mjk0NWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvSURCTGV2ZWxEQkNvZGluZy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9JREJMZXZlbERCQ29kaW5nLmNwcApAQCAtMTI5LDcgKzEyOSw4IEBAIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBjaGFyIGtJREJLZXlOdWxsVHlwZUJ5dGUgPSAwOwogc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGNoYXIga0lEQktleVN0cmluZ1R5cGVCeXRlID0gMTsKIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBjaGFyIGtJREJLZXlEYXRlVHlwZUJ5dGUgPSAyOwogc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGNoYXIga0lEQktleU51bWJlclR5cGVCeXRlID0gMzsKLXN0YXRpYyBjb25zdCB1bnNp
Z25lZCBjaGFyIGtJREJLZXlNaW5LZXlUeXBlQnl0ZSA9IDQ7CitzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgY2hhciBrSURCS2V5QXJyYXlUeXBlQnl0ZSA9IDQ7CitzdGF0aWMgY29uc3QgdW5zaWduZWQg
Y2hhciBrSURCS2V5TWluS2V5VHlwZUJ5dGUgPSA1OwogCiBzdGF0aWMgY29uc3QgdW5zaWduZWQg
Y2hhciBrT2JqZWN0U3RvcmVEYXRhSW5kZXhJZCA9IDE7CiBzdGF0aWMgY29uc3QgdW5zaWduZWQg
Y2hhciBrRXhpc3RzRW50cnlJbmRleElkID0gMjsKQEAgLTMwMSw4ICszMDIsOSBAQCBjb25zdCBj
aGFyKiBkZWNvZGVTdHJpbmdXaXRoTGVuZ3RoKGNvbnN0IGNoYXIqIHAsIGNvbnN0IGNoYXIqIGxp
bWl0LCBTdHJpbmcmIGZvdQogICAgIHJldHVybiBwOwogfQogCi1pbnQgY29tcGFyZUVuY29kZWRT
dHJpbmdzV2l0aExlbmd0aChjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFyKiBsaW1pdFAsIGNvbnN0
IGNoYXIqIHEsIGNvbnN0IGNoYXIqIGxpbWl0USkKK2ludCBjb21wYXJlRW5jb2RlZFN0cmluZ3NX
aXRoTGVuZ3RoKGNvbnN0IGNoYXIqJiBwLCBjb25zdCBjaGFyKiBsaW1pdFAsIGNvbnN0IGNoYXIq
JiBxLCBjb25zdCBjaGFyKiBsaW1pdFEpCiB7CisgICAgQVNTRVJUKCZwICE9ICZxKTsKICAgICBB
U1NFUlQobGltaXRQID49IHApOwogICAgIEFTU0VSVChsaW1pdFEgPj0gcSk7CiAgICAgaW50NjRf
dCBsZW5QLCBsZW5ROwpAQCAtMzE0LDggKzMxNiwxMyBAQCBpbnQgY29tcGFyZUVuY29kZWRTdHJp
bmdzV2l0aExlbmd0aChjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFyKiBsaW1pdFAsIGNvbnN0IGNo
YQogICAgIEFTU0VSVChwICsgbGVuUCAqIDIgPD0gbGltaXRQKTsKICAgICBBU1NFUlQocSArIGxl
blEgKiAyIDw9IGxpbWl0USk7CiAKKyAgICBjb25zdCBjaGFyKiBzdGFydFAgPSBwOworICAgIGNv
bnN0IGNoYXIqIHN0YXJ0USA9IHE7CisgICAgcCArPSBsZW5QICogMjsKKyAgICBxICs9IGxlblEg
KiAyOworCiAgICAgY29uc3Qgc2l6ZV90IGxtaW4gPSBzdGF0aWNfY2FzdDxzaXplX3Q+KGxlblAg
PCBsZW5RID8gbGVuUCA6IGxlblEpOwotICAgIGlmIChpbnQgeCA9IG1lbWNtcChwLCBxLCBsbWlu
ICogMikpCisgICAgaWYgKGludCB4ID0gbWVtY21wKHN0YXJ0UCwgc3RhcnRRLCBsbWluICogMikp
CiAgICAgICAgIHJldHVybiB4OwogCiAgICAgaWYgKGxlblAgPT0gbGVuUSkKQEAgLTM0OCwzMSAr
MzU1LDQ5IEBAIGNvbnN0IGNoYXIqIGRlY29kZURvdWJsZShjb25zdCBjaGFyKiBwLCBjb25zdCBj
aGFyKiBsaW1pdCwgZG91YmxlKiBkKQogVmVjdG9yPGNoYXI+IGVuY29kZUlEQktleShjb25zdCBJ
REJLZXkmIGtleSkKIHsKICAgICBWZWN0b3I8Y2hhcj4gcmV0OworICAgIGVuY29kZUlEQktleShr
ZXksIHJldCk7CisgICAgcmV0dXJuIHJldDsKK30KIAordm9pZCBlbmNvZGVJREJLZXkoY29uc3Qg
SURCS2V5JiBrZXksIFZlY3RvcjxjaGFyPiYgaW50bykKK3sKKyAgICBzaXplX3QgcHJldlNpemUg
PSBpbnRvLnNpemUoKTsKKyAgICBzaXplX3QgbGVuOwogICAgIHN3aXRjaCAoa2V5LnR5cGUoKSkg
ewogICAgIGNhc2UgSURCS2V5OjpJbnZhbGlkVHlwZToKKyAgICBjYXNlIElEQktleTo6TWluVHlw
ZToKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiBlbmNvZGVC
eXRlKGtJREJLZXlOdWxsVHlwZUJ5dGUpOworICAgICAgICBpbnRvLmFwcGVuZChlbmNvZGVCeXRl
KGtJREJLZXlOdWxsVHlwZUJ5dGUpKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgSURCS2V5
OjpBcnJheVR5cGU6CisgICAgICAgIGludG8uYXBwZW5kKGVuY29kZUJ5dGUoa0lEQktleUFycmF5
VHlwZUJ5dGUpKTsKKyAgICAgICAgbGVuID0ga2V5LmFycmF5KCkuc2l6ZSgpOworICAgICAgICBp
bnRvLmFwcGVuZChlbmNvZGVWYXJJbnQobGVuKSk7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgbGVuOyArK2kpCisgICAgICAgICAgICBlbmNvZGVJREJLZXkoKmtleS5hcnJheSgpW2ld
LCBpbnRvKTsKKyAgICAgICAgQVNTRVJUX1VOVVNFRChwcmV2U2l6ZSwgaW50by5zaXplKCkgPiBw
cmV2U2l6ZSk7CisgICAgICAgIHJldHVybjsKICAgICBjYXNlIElEQktleTo6U3RyaW5nVHlwZToK
LSAgICAgICAgcmV0ID0gZW5jb2RlQnl0ZShrSURCS2V5U3RyaW5nVHlwZUJ5dGUpOwotICAgICAg
ICByZXQuYXBwZW5kKGVuY29kZVN0cmluZ1dpdGhMZW5ndGgoa2V5LnN0cmluZygpKSk7Ci0gICAg
ICAgIHJldHVybiByZXQ7CisgICAgICAgIGludG8uYXBwZW5kKGVuY29kZUJ5dGUoa0lEQktleVN0
cmluZ1R5cGVCeXRlKSk7CisgICAgICAgIGludG8uYXBwZW5kKGVuY29kZVN0cmluZ1dpdGhMZW5n
dGgoa2V5LnN0cmluZygpKSk7CisgICAgICAgIEFTU0VSVF9VTlVTRUQocHJldlNpemUsIGludG8u
c2l6ZSgpID4gcHJldlNpemUpOworICAgICAgICByZXR1cm47CiAgICAgY2FzZSBJREJLZXk6OkRh
dGVUeXBlOgotICAgICAgICByZXQgPSBlbmNvZGVCeXRlKGtJREJLZXlEYXRlVHlwZUJ5dGUpOwot
ICAgICAgICByZXQuYXBwZW5kKGVuY29kZURvdWJsZShrZXkuZGF0ZSgpKSk7Ci0gICAgICAgIEFT
U0VSVChyZXQuc2l6ZSgpID09IDkpOwotICAgICAgICByZXR1cm4gcmV0OworICAgICAgICBpbnRv
LmFwcGVuZChlbmNvZGVCeXRlKGtJREJLZXlEYXRlVHlwZUJ5dGUpKTsKKyAgICAgICAgaW50by5h
cHBlbmQoZW5jb2RlRG91YmxlKGtleS5kYXRlKCkpKTsKKyAgICAgICAgQVNTRVJUX1VOVVNFRChw
cmV2U2l6ZSwgaW50by5zaXplKCkgLSBwcmV2U2l6ZSA9PSA5KTsKKyAgICAgICAgcmV0dXJuOwog
ICAgIGNhc2UgSURCS2V5OjpOdW1iZXJUeXBlOgotICAgICAgICByZXQgPSBlbmNvZGVCeXRlKGtJ
REJLZXlOdW1iZXJUeXBlQnl0ZSk7Ci0gICAgICAgIHJldC5hcHBlbmQoZW5jb2RlRG91YmxlKGtl
eS5udW1iZXIoKSkpOwotICAgICAgICBBU1NFUlQocmV0LnNpemUoKSA9PSA5KTsKLSAgICAgICAg
cmV0dXJuIHJldDsKKyAgICAgICAgaW50by5hcHBlbmQoZW5jb2RlQnl0ZShrSURCS2V5TnVtYmVy
VHlwZUJ5dGUpKTsKKyAgICAgICAgaW50by5hcHBlbmQoZW5jb2RlRG91YmxlKGtleS5udW1iZXIo
KSkpOworICAgICAgICBBU1NFUlRfVU5VU0VEKHByZXZTaXplLCBpbnRvLnNpemUoKSAtIHByZXZT
aXplID09IDkpOworICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgcmV0dXJuIFZlY3RvcjxjaGFyPigpOwogfQogCisKIGNvbnN0IGNoYXIqIGRl
Y29kZUlEQktleShjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFyKiBsaW1pdCwgUmVmUHRyPElEQktl
eT4mIGZvdW5kS2V5KQogewogICAgIEFTU0VSVChsaW1pdCA+PSBwKTsKQEAgLTM4MiwxMiArNDA3
LDMxIEBAIGNvbnN0IGNoYXIqIGRlY29kZUlEQktleShjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFy
KiBsaW1pdCwgUmVmUHRyPElEQktleT4mIGZvdW5kCiAgICAgdW5zaWduZWQgY2hhciB0eXBlID0g
KnArKzsKICAgICBTdHJpbmcgczsKICAgICBkb3VibGUgZDsKKyAgICBpbnQ2NF90IGxlbjsKKyAg
ICBSZWZQdHI8SURCS2V5PiBrZXk7CisgICAgSURCS2V5OjpLZXlBcnJheSBhcnJheTsKIAogICAg
IHN3aXRjaCAodHlwZSkgewogICAgIGNhc2Uga0lEQktleU51bGxUeXBlQnl0ZToKICAgICAgICAg
Ly8gTnVsbC4KICAgICAgICAgZm91bmRLZXkgPSBJREJLZXk6OmNyZWF0ZUludmFsaWQoKTsKICAg
ICAgICAgcmV0dXJuIHA7CisKKyAgICBjYXNlIGtJREJLZXlBcnJheVR5cGVCeXRlOgorICAgICAg
ICAvLyBBcnJheS4KKyAgICAgICAgcCA9IGRlY29kZVZhckludChwLCBsaW1pdCwgbGVuKTsKKyAg
ICAgICAgaWYgKCFwKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIGlmIChsZW4gPCAw
KQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHdoaWxlIChsZW4tLSkgeworICAgICAg
ICAgICAgcCA9IGRlY29kZUlEQktleShwLCBsaW1pdCwga2V5KTsKKyAgICAgICAgICAgIGlmICgh
cCkKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIGFycmF5LmFwcGVuZChr
ZXkpOworICAgICAgICB9CisgICAgICAgIGZvdW5kS2V5ID0gSURCS2V5OjpjcmVhdGVBcnJheShh
cnJheSk7CisgICAgICAgIHJldHVybiBwOwogICAgIGNhc2Uga0lEQktleVN0cmluZ1R5cGVCeXRl
OgogICAgICAgICAvLyBTdHJpbmcuCiAgICAgICAgIHAgPSBkZWNvZGVTdHJpbmdXaXRoTGVuZ3Ro
KHAsIGxpbWl0LCBzKTsKQEAgLTQxNywyOSArNDYxLDQ4IEBAIGNvbnN0IGNoYXIqIGRlY29kZUlE
QktleShjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFyKiBsaW1pdCwgUmVmUHRyPElEQktleT4mIGZv
dW5kCiAKIGNvbnN0IGNoYXIqIGV4dHJhY3RFbmNvZGVkSURCS2V5KGNvbnN0IGNoYXIqIHN0YXJ0
LCBjb25zdCBjaGFyKiBsaW1pdCwgVmVjdG9yPGNoYXI+KiByZXN1bHQpCiB7CisgICAgQVNTRVJU
KHJlc3VsdCk7CiAgICAgY29uc3QgY2hhciogcCA9IHN0YXJ0OwogICAgIGlmIChwID49IGxpbWl0
KQogICAgICAgICByZXR1cm4gMDsKIAogICAgIHVuc2lnbmVkIGNoYXIgdHlwZSA9ICpwKys7CiAK
LSAgICBpbnQ2NF90IHN0cmluZ0xlbjsKKyAgICBpbnQ2NF90IGxlbjsKKyAgICBWZWN0b3I8Y2hh
cj4gc3Via2V5OwogCiAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAgY2FzZSBrSURCS2V5TnVsbFR5
cGVCeXRlOgogICAgIGNhc2Uga0lEQktleU1pbktleVR5cGVCeXRlOgogICAgICAgICAqcmVzdWx0
ID0gZW5jb2RlQnl0ZSh0eXBlKTsKICAgICAgICAgcmV0dXJuIHA7CisgICAgY2FzZSBrSURCS2V5
QXJyYXlUeXBlQnl0ZToKKyAgICAgICAgLy8gQXJyYXkuCisgICAgICAgIHAgPSBkZWNvZGVWYXJJ
bnQocCwgbGltaXQsIGxlbik7CisgICAgICAgIGlmICghcCkKKyAgICAgICAgICAgIHJldHVybiAw
OworICAgICAgICBpZiAobGVuIDwgMCkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBy
ZXN1bHQtPmNsZWFyKCk7CisgICAgICAgIHJlc3VsdC0+YXBwZW5kKHN0YXJ0LCBwIC0gc3RhcnQp
OworICAgICAgICB3aGlsZSAobGVuLS0pIHsKKyAgICAgICAgICAgIHN1YmtleS5jbGVhcigpOwor
ICAgICAgICAgICAgcCA9IGV4dHJhY3RFbmNvZGVkSURCS2V5KHAsIGxpbWl0LCAmc3Via2V5KTsK
KyAgICAgICAgICAgIGlmICghcCkKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAg
ICAgIHJlc3VsdC0+YXBwZW5kKHN1YmtleSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHA7
CiAgICAgY2FzZSBrSURCS2V5U3RyaW5nVHlwZUJ5dGU6CiAgICAgICAgIC8vIFN0cmluZy4KLSAg
ICAgICAgcCA9IGRlY29kZVZhckludChwLCBsaW1pdCwgc3RyaW5nTGVuKTsKKyAgICAgICAgcCA9
IGRlY29kZVZhckludChwLCBsaW1pdCwgbGVuKTsKICAgICAgICAgaWYgKCFwKQogICAgICAgICAg
ICAgcmV0dXJuIDA7Ci0gICAgICAgIGlmIChwICsgc3RyaW5nTGVuICogMiA+IGxpbWl0KQorICAg
ICAgICBpZiAocCArIGxlbiAqIDIgPiBsaW1pdCkKICAgICAgICAgICAgIHJldHVybiAwOwogICAg
ICAgICByZXN1bHQtPmNsZWFyKCk7Ci0gICAgICAgIHJlc3VsdC0+YXBwZW5kKHN0YXJ0LCBwIC0g
c3RhcnQgKyBzdHJpbmdMZW4gKiAyKTsKLSAgICAgICAgcmV0dXJuIHAgKyBzdHJpbmdMZW4gKiAy
OworICAgICAgICByZXN1bHQtPmFwcGVuZChzdGFydCwgcCAtIHN0YXJ0ICsgbGVuICogMik7Cisg
ICAgICAgIHJldHVybiBwICsgbGVuICogMjsKICAgICBjYXNlIGtJREJLZXlEYXRlVHlwZUJ5dGU6
CiAgICAgY2FzZSBrSURCS2V5TnVtYmVyVHlwZUJ5dGU6CiAgICAgICAgIC8vIERhdGUgb3IgbnVt
YmVyLgpAQCAtNDUzLDIyICs1MTYsMzcgQEAgY29uc3QgY2hhciogZXh0cmFjdEVuY29kZWRJREJL
ZXkoY29uc3QgY2hhciogc3RhcnQsIGNvbnN0IGNoYXIqIGxpbWl0LCBWZWN0b3I8Y2gKICAgICBy
ZXR1cm4gMDsKIH0KIAotaW50IGNvbXBhcmVFbmNvZGVkSURCS2V5cyhjb25zdCBWZWN0b3I8Y2hh
cj4mIGtleUEsIGNvbnN0IFZlY3RvcjxjaGFyPiYga2V5QikKK0lEQktleTo6VHlwZSBjb2RpbmdU
b09yZGVyKHVuc2lnbmVkIGNoYXIgdHlwZSkKIHsKLSAgICBBU1NFUlQoa2V5QS5zaXplKCkgPj0g
MSk7Ci0gICAgQVNTRVJUKGtleUIuc2l6ZSgpID49IDEpOwotCi0gICAgY29uc3QgY2hhciogcCA9
IGtleUEuZGF0YSgpOwotICAgIGNvbnN0IGNoYXIqIGxpbWl0QSA9IHAgKyBrZXlBLnNpemUoKTsK
LSAgICBjb25zdCBjaGFyKiBxID0ga2V5Qi5kYXRhKCk7Ci0gICAgY29uc3QgY2hhciogbGltaXRC
ID0gcSArIGtleUIuc2l6ZSgpOworICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2Uga0lEQktl
eU51bGxUeXBlQnl0ZToKKyAgICAgICAgcmV0dXJuIElEQktleTo6SW52YWxpZFR5cGU7CisgICAg
Y2FzZSBrSURCS2V5QXJyYXlUeXBlQnl0ZToKKyAgICAgICAgcmV0dXJuIElEQktleTo6QXJyYXlU
eXBlOworICAgIGNhc2Uga0lEQktleVN0cmluZ1R5cGVCeXRlOgorICAgICAgICByZXR1cm4gSURC
S2V5OjpTdHJpbmdUeXBlOworICAgIGNhc2Uga0lEQktleURhdGVUeXBlQnl0ZToKKyAgICAgICAg
cmV0dXJuIElEQktleTo6RGF0ZVR5cGU7CisgICAgY2FzZSBrSURCS2V5TnVtYmVyVHlwZUJ5dGU6
CisgICAgICAgIHJldHVybiBJREJLZXk6Ok51bWJlclR5cGU7CisgICAgY2FzZSBrSURCS2V5TWlu
S2V5VHlwZUJ5dGU6CisgICAgICAgIHJldHVybiBJREJLZXk6Ok1pblR5cGU7CisgICAgZGVmYXVs
dDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBJREJLZXk6
OkludmFsaWRUeXBlOworICAgIH0KK30KIAoraW50IGNvbXBhcmVFbmNvZGVkSURCS2V5cyhjb25z
dCBjaGFyKiYgcCwgY29uc3QgY2hhciogbGltaXRBLCBjb25zdCBjaGFyKiYgcSwgY29uc3QgY2hh
ciogbGltaXRCKQoreworICAgIEFTU0VSVCgmcCAhPSAmcSk7CiAgICAgdW5zaWduZWQgY2hhciB0
eXBlQSA9ICpwKys7CiAgICAgdW5zaWduZWQgY2hhciB0eXBlQiA9ICpxKys7CiAKICAgICBkb3Vi
bGUgZCwgZTsKKyAgICBpbnQ2NF90IGxlbkEsIGxlbkI7CiAKLSAgICBpZiAoaW50IHggPSB0eXBl
QiAtIHR5cGVBKSAvLyBGSVhNRTogTm90ZSB0aGUgc3VidGxlbmVzcyEKKyAgICBpZiAoaW50IHgg
PSBjb2RpbmdUb09yZGVyKHR5cGVCKSAtIGNvZGluZ1RvT3JkZXIodHlwZUEpKQogICAgICAgICBy
ZXR1cm4geDsKIAogICAgIHN3aXRjaCAodHlwZUEpIHsKQEAgLTQ3Niw2ICs1NTQsMjMgQEAgaW50
IGNvbXBhcmVFbmNvZGVkSURCS2V5cyhjb25zdCBWZWN0b3I8Y2hhcj4mIGtleUEsIGNvbnN0IFZl
Y3RvcjxjaGFyPiYga2V5QikKICAgICBjYXNlIGtJREJLZXlNaW5LZXlUeXBlQnl0ZToKICAgICAg
ICAgLy8gTnVsbCB0eXBlIG9yIG1heCB0eXBlOyBubyBwYXlsb2FkIHRvIGNvbXBhcmUuCiAgICAg
ICAgIHJldHVybiAwOworICAgIGNhc2Uga0lEQktleUFycmF5VHlwZUJ5dGU6CisgICAgICAgIC8v
IEFycmF5IHR5cGUuCisgICAgICAgIHAgPSBkZWNvZGVWYXJJbnQocCwgbGltaXRBLCBsZW5BKTsK
KyAgICAgICAgaWYgKCFwKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHEgPSBkZWNv
ZGVWYXJJbnQocSwgbGltaXRCLCBsZW5CKTsKKyAgICAgICAgaWYgKCFxKQorICAgICAgICAgICAg
cmV0dXJuIDA7CisgICAgICAgIGZvciAoaW50NjRfdCBpID0gMDsgaSA8IGxlbkEgJiYgaSA8IGxl
bkI7ICsraSkgeworICAgICAgICAgICAgaWYgKGludCBjbXAgPSBjb21wYXJlRW5jb2RlZElEQktl
eXMocCwgbGltaXRBLCBxLCBsaW1pdEIpKQorICAgICAgICAgICAgICAgIHJldHVybiBjbXA7Cisg
ICAgICAgIH0KKyAgICAgICAgaWYgKGxlbkEgPCBsZW5CKQorICAgICAgICAgICAgcmV0dXJuIC0x
OworICAgICAgICBpZiAobGVuQSA+IGxlbkIpCisgICAgICAgICAgICByZXR1cm4gMTsKKyAgICAg
ICAgcmV0dXJuIDA7CiAgICAgY2FzZSBrSURCS2V5U3RyaW5nVHlwZUJ5dGU6CiAgICAgICAgIC8v
IFN0cmluZyB0eXBlLgogICAgICAgICByZXR1cm4gY29tcGFyZUVuY29kZWRTdHJpbmdzV2l0aExl
bmd0aChwLCBsaW1pdEEsIHEsIGxpbWl0Qik7CkBAIC00OTcsNiArNTkyLDE5IEBAIGludCBjb21w
YXJlRW5jb2RlZElEQktleXMoY29uc3QgVmVjdG9yPGNoYXI+JiBrZXlBLCBjb25zdCBWZWN0b3I8
Y2hhcj4mIGtleUIpCiAgICAgcmV0dXJuIDA7CiB9CiAKK2ludCBjb21wYXJlRW5jb2RlZElEQktl
eXMoY29uc3QgVmVjdG9yPGNoYXI+JiBrZXlBLCBjb25zdCBWZWN0b3I8Y2hhcj4mIGtleUIpCit7
CisgICAgQVNTRVJUKGtleUEuc2l6ZSgpID49IDEpOworICAgIEFTU0VSVChrZXlCLnNpemUoKSA+
PSAxKTsKKworICAgIGNvbnN0IGNoYXIqIHAgPSBrZXlBLmRhdGEoKTsKKyAgICBjb25zdCBjaGFy
KiBsaW1pdEEgPSBwICsga2V5QS5zaXplKCk7CisgICAgY29uc3QgY2hhciogcSA9IGtleUIuZGF0
YSgpOworICAgIGNvbnN0IGNoYXIqIGxpbWl0QiA9IHEgKyBrZXlCLnNpemUoKTsKKworICAgIHJl
dHVybiBjb21wYXJlRW5jb2RlZElEQktleXMocCwgbGltaXRBLCBxLCBsaW1pdEIpOworfQorCiBu
YW1lc3BhY2UgewogdGVtcGxhdGU8dHlwZW5hbWUgS2V5VHlwZT4KIGludCBkZWNvZGVBbmRDb21w
YXJlKGNvbnN0IExldmVsREJTbGljZSYgYSwgY29uc3QgTGV2ZWxEQlNsaWNlJiBiKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJMZXZlbERCQ29kaW5nLmggYi9Tb3VyY2Uv
V2ViQ29yZS9zdG9yYWdlL0lEQkxldmVsREJDb2RpbmcuaAppbmRleCBmM2JkY2YzMGI1NmUwNTY5
M2NkNDE0NmI4NTgyMGY4ZDAxOWZjZjZjLi4xNTgxZmJiYmZkNzlmMmZkNjdkZWQwZjNhMmI1OGFj
MTk0YTA1ZmRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkxldmVsREJD
b2RpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkxldmVsREJDb2RpbmcuaApA
QCAtNTMsOSArNTMsMTAgQEAgVmVjdG9yPGNoYXI+IGVuY29kZVN0cmluZyhjb25zdCBTdHJpbmcm
KTsKIFN0cmluZyBkZWNvZGVTdHJpbmcoY29uc3QgY2hhciogcCwgY29uc3QgY2hhciogZW5kKTsK
IFZlY3RvcjxjaGFyPiBlbmNvZGVTdHJpbmdXaXRoTGVuZ3RoKGNvbnN0IFN0cmluZyYpOwogY29u
c3QgY2hhciogZGVjb2RlU3RyaW5nV2l0aExlbmd0aChjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFy
KiBsaW1pdCwgU3RyaW5nJiBmb3VuZFN0cmluZyk7Ci1pbnQgY29tcGFyZUVuY29kZWRTdHJpbmdz
V2l0aExlbmd0aChjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFyKiBsaW1pdFAsIGNvbnN0IGNoYXIq
IHEsIGNvbnN0IGNoYXIqIGxpbWl0USk7CitpbnQgY29tcGFyZUVuY29kZWRTdHJpbmdzV2l0aExl
bmd0aChjb25zdCBjaGFyKiYgcCwgY29uc3QgY2hhciogbGltaXRQLCBjb25zdCBjaGFyKiYgcSwg
Y29uc3QgY2hhciogbGltaXRRKTsKIFZlY3RvcjxjaGFyPiBlbmNvZGVEb3VibGUoZG91YmxlKTsK
IGNvbnN0IGNoYXIqIGRlY29kZURvdWJsZShjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFyKiBsaW1p
dCwgZG91YmxlKik7Cit2b2lkIGVuY29kZUlEQktleShjb25zdCBJREJLZXkmLCBWZWN0b3I8Y2hh
cj4mIGludG8pOwogVmVjdG9yPGNoYXI+IGVuY29kZUlEQktleShjb25zdCBJREJLZXkmKTsKIGNv
bnN0IGNoYXIqIGRlY29kZUlEQktleShjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFyKiBsaW1pdCwg
UmVmUHRyPElEQktleT4mIGZvdW5kS2V5KTsKIGNvbnN0IGNoYXIqIGV4dHJhY3RFbmNvZGVkSURC
S2V5KGNvbnN0IGNoYXIqIHN0YXJ0LCBjb25zdCBjaGFyKiBsaW1pdCwgVmVjdG9yPGNoYXI+KiBy
ZXN1bHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURC
S2V5LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJREJLZXkuaAppbmRleCAx
ZGI0NjdmZTI3MGE2MGI4ZGVhOGU0YzRjZTk2NmMwNTQ0MjNiZDE5Li5jYTBkMTI5MDY0OTA0YzUy
MTc3ODFhYzlmNjZjN2RkMzVlODQ2YWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJJREJLZXkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJJREJLZXkuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiV2ViQ29tbW9uLmgiCiAjaW5jbHVk
ZSAiV2ViUHJpdmF0ZVB0ci5oIgogI2luY2x1ZGUgIldlYlN0cmluZy5oIgorI2luY2x1ZGUgIldl
YlZlY3Rvci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7IGNsYXNzIElEQktleTsgfQogCkBAIC00
Myw2ICs0NCw3IEBAIHB1YmxpYzoKICAgICBXZWJJREJLZXkoKSB7IH0KICAgICB+V2ViSURCS2V5
KCkgeyByZXNldCgpOyB9CiAKKyAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyBXZWJJREJLZXkgY3Jl
YXRlQXJyYXkoY29uc3QgV2ViVmVjdG9yPFdlYklEQktleT4mKTsKICAgICBXRUJLSVRfRVhQT1JU
IHN0YXRpYyBXZWJJREJLZXkgY3JlYXRlU3RyaW5nKGNvbnN0IFdlYlN0cmluZyYpOwogICAgIFdF
QktJVF9FWFBPUlQgc3RhdGljIFdlYklEQktleSBjcmVhdGVEYXRlKGRvdWJsZSk7CiAgICAgV0VC
S0lUX0VYUE9SVCBzdGF0aWMgV2ViSURCS2V5IGNyZWF0ZU51bWJlcihkb3VibGUpOwpAQCAtNTgs
NiArNjAsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgV0VCS0lUX0VYUE9SVCB2b2lkIGFzc2ln
bihjb25zdCBXZWJJREJLZXkmKTsKKyAgICBXRUJLSVRfRVhQT1JUIHZvaWQgYXNzaWduQXJyYXko
Y29uc3QgV2ViVmVjdG9yPFdlYklEQktleT4mKTsKICAgICBXRUJLSVRfRVhQT1JUIHZvaWQgYXNz
aWduU3RyaW5nKGNvbnN0IFdlYlN0cmluZyYpOwogICAgIFdFQktJVF9FWFBPUlQgdm9pZCBhc3Np
Z25EYXRlKGRvdWJsZSk7CiAgICAgV0VCS0lUX0VYUE9SVCB2b2lkIGFzc2lnbk51bWJlcihkb3Vi
bGUpOwpAQCAtNjYsMTIgKzY5LDE0IEBAIHB1YmxpYzoKIAogICAgIGVudW0gVHlwZSB7CiAgICAg
ICAgIEludmFsaWRUeXBlID0gMCwKKyAgICAgICAgQXJyYXlUeXBlLAogICAgICAgICBTdHJpbmdU
eXBlLAogICAgICAgICBEYXRlVHlwZSwKICAgICAgICAgTnVtYmVyVHlwZQogICAgIH07CiAKICAg
ICBXRUJLSVRfRVhQT1JUIFR5cGUgdHlwZSgpIGNvbnN0OworICAgIFdFQktJVF9FWFBPUlQgV2Vi
VmVjdG9yPFdlYklEQktleT4gYXJyYXkoKSBjb25zdDsgLy8gT25seSB2YWxpZCBmb3IgQXJyYXlU
eXBlLgogICAgIFdFQktJVF9FWFBPUlQgV2ViU3RyaW5nIHN0cmluZygpIGNvbnN0OyAvLyBPbmx5
IHZhbGlkIGZvciBTdHJpbmdUeXBlLgogICAgIFdFQktJVF9FWFBPUlQgZG91YmxlIGRhdGUoKSBj
b25zdDsgLy8gT25seSB2YWxpZCBmb3IgRGF0ZVR5cGUuCiAgICAgV0VCS0lUX0VYUE9SVCBkb3Vi
bGUgbnVtYmVyKCkgY29uc3Q7IC8vIE9ubHkgdmFsaWQgZm9yIE51bWJlclR5cGUuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCmluZGV4
IGIxMDY4MjgyZTE4OTdlNGM0MDYxMzM1ZjMzZTA5ZTE3NTU0OTIwMTcuLmU3MzBjYmU5NTExZjA2
NGUzODQ0NDExNGIwZDRhMTg0ZmUyMWE5ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zOTcsNiArMzk3LDcgQEAgQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJWaWV3OjpVc2VyU3R5bGVJbmplY3RJbkV4aXN0aW5n
RG9jdW1lbnRzLCBJbmplY3QKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViVmlldzo6
VXNlclN0eWxlSW5qZWN0SW5TdWJzZXF1ZW50RG9jdW1lbnRzLCBJbmplY3RJblN1YnNlcXVlbnRE
b2N1bWVudHMpOwogCiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYklEQktleTo6SW52
YWxpZFR5cGUsIElEQktleTo6SW52YWxpZFR5cGUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShXZWJJREJLZXk6OkFycmF5VHlwZSwgSURCS2V5OjpBcnJheVR5cGUpOwogQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJJREJLZXk6OlN0cmluZ1R5cGUsIElEQktleTo6U3RyaW5n
VHlwZSk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYklEQktleTo6RGF0ZVR5cGUs
IElEQktleTo6RGF0ZVR5cGUpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJJREJL
ZXk6Ok51bWJlclR5cGUsIElEQktleTo6TnVtYmVyVHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJLZXkuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViSURCS2V5LmNwcAppbmRleCA5ZjZhMDkwNTI2ZTUwZmY2NWE5Y2RkZTFmMTNkMzcx
ZTRlMDY5ZGFlLi5mZmI3MDM4ZTJlODE2OTU2NDVjYzc2MmU5YmFhMDg2MTAyZWRhYTgxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJLZXkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQktleS5jcHAKQEAgLTQxLDYgKzQxLDEzIEBA
IHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorV2ViSURC
S2V5IFdlYklEQktleTo6Y3JlYXRlQXJyYXkoY29uc3QgV2ViVmVjdG9yPFdlYklEQktleT4mIGFy
cmF5KQoreworICAgIFdlYklEQktleSBrZXk7CisgICAga2V5LmFzc2lnbkFycmF5KGFycmF5KTsK
KyAgICByZXR1cm4ga2V5OworfQorCiBXZWJJREJLZXkgV2ViSURCS2V5OjpjcmVhdGVTdHJpbmco
Y29uc3QgV2ViU3RyaW5nJiBzdHJpbmcpCiB7CiAgICAgV2ViSURCS2V5IGtleTsKQEAgLTg2LDYg
KzkzLDY0IEBAIHZvaWQgV2ViSURCS2V5Ojphc3NpZ24oY29uc3QgV2ViSURCS2V5JiB2YWx1ZSkK
ICAgICBtX3ByaXZhdGUgPSB2YWx1ZS5tX3ByaXZhdGU7CiB9CiAKK1Bhc3NSZWZQdHI8SURCS2V5
PiBjb252ZXJ0RnJvbVdlYklEQktleUFycmF5KGNvbnN0IFdlYlZlY3RvcjxXZWJJREJLZXk+JiBh
cnJheSkKK3sKKyAgICBJREJLZXk6OktleUFycmF5IGtleXM7CisgICAga2V5cy5yZXNlcnZlQ2Fw
YWNpdHkoYXJyYXkuc2l6ZSgpKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGFycmF5LnNp
emUoKTsgKytpKSB7CisgICAgICAgIHN3aXRjaCAoYXJyYXlbaV0udHlwZSgpKSB7CisgICAgICAg
IGNhc2UgV2ViSURCS2V5OjpBcnJheVR5cGU6CisgICAgICAgICAgICBrZXlzLmFwcGVuZChjb252
ZXJ0RnJvbVdlYklEQktleUFycmF5KGFycmF5W2ldLmFycmF5KCkpKTsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICBjYXNlIFdlYklEQktleTo6U3RyaW5nVHlwZToKKyAgICAgICAgICAgIGtl
eXMuYXBwZW5kKElEQktleTo6Y3JlYXRlU3RyaW5nKGFycmF5W2ldLnN0cmluZygpKSk7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBXZWJJREJLZXk6OkRhdGVUeXBlOgorICAgICAg
ICAgICAga2V5cy5hcHBlbmQoSURCS2V5OjpjcmVhdGVEYXRlKGFycmF5W2ldLmRhdGUoKSkpOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViSURCS2V5OjpOdW1iZXJUeXBlOgor
ICAgICAgICAgICAga2V5cy5hcHBlbmQoSURCS2V5OjpjcmVhdGVOdW1iZXIoYXJyYXlbaV0ubnVt
YmVyKCkpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQor
ICAgIH0KKyAgICByZXR1cm4gSURCS2V5OjpjcmVhdGVBcnJheShrZXlzKTsKK30KKwordm9pZCBj
b252ZXJ0VG9XZWJJREJLZXlBcnJheShjb25zdCBJREJLZXk6OktleUFycmF5JiBhcnJheSwgV2Vi
VmVjdG9yPFdlYklEQktleT4mIHJlc3VsdCkKK3sKKyAgICBXZWJWZWN0b3I8V2ViSURCS2V5PiBr
ZXlzKGFycmF5LnNpemUoKSksIHN1YmtleXM7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBh
cnJheS5zaXplKCk7ICsraSkgeworICAgICAgICBSZWZQdHI8SURCS2V5PiBrZXkgPSBhcnJheVtp
XTsKKyAgICAgICAgc3dpdGNoIChrZXktPnR5cGUoKSkgeworICAgICAgICBjYXNlIElEQktleTo6
QXJyYXlUeXBlOgorICAgICAgICAgICAgY29udmVydFRvV2ViSURCS2V5QXJyYXkoa2V5LT5hcnJh
eSgpLCBzdWJrZXlzKTsKKyAgICAgICAgICAgIGtleXNbaV0gPSBXZWJJREJLZXk6OmNyZWF0ZUFy
cmF5KHN1YmtleXMpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgSURCS2V5OjpT
dHJpbmdUeXBlOgorICAgICAgICAgICAga2V5c1tpXSA9IFdlYklEQktleTo6Y3JlYXRlU3RyaW5n
KGtleS0+c3RyaW5nKCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgSURCS2V5
OjpEYXRlVHlwZToKKyAgICAgICAgICAgIGtleXNbaV0gPSBXZWJJREJLZXk6OmNyZWF0ZURhdGUo
a2V5LT5kYXRlKCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgSURCS2V5OjpO
dW1iZXJUeXBlOgorICAgICAgICAgICAga2V5c1tpXSA9IFdlYklEQktleTo6Y3JlYXRlTnVtYmVy
KGtleS0+bnVtYmVyKCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6Cisg
ICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICB9CisgICAgfQorICAgIHJlc3VsdC5zd2FwKGtleXMpOworfQorCit2b2lkIFdlYklEQktl
eTo6YXNzaWduQXJyYXkoY29uc3QgV2ViVmVjdG9yPFdlYklEQktleT4mIGFycmF5KQoreworICAg
IG1fcHJpdmF0ZSA9IGNvbnZlcnRGcm9tV2ViSURCS2V5QXJyYXkoYXJyYXkpOworfQorCiB2b2lk
IFdlYklEQktleTo6YXNzaWduU3RyaW5nKGNvbnN0IFdlYlN0cmluZyYgc3RyaW5nKQogewogICAg
IG1fcHJpdmF0ZSA9IElEQktleTo6Y3JlYXRlU3RyaW5nKHN0cmluZyk7CkBAIC0xMTgsNiArMTgz
LDEzIEBAIFdlYklEQktleTo6VHlwZSBXZWJJREJLZXk6OnR5cGUoKSBjb25zdAogICAgIHJldHVy
biBUeXBlKG1fcHJpdmF0ZS0+dHlwZSgpKTsKIH0KIAorV2ViVmVjdG9yPFdlYklEQktleT4gV2Vi
SURCS2V5OjphcnJheSgpIGNvbnN0Cit7CisgICAgV2ViVmVjdG9yPFdlYklEQktleT4ga2V5czsK
KyAgICBjb252ZXJ0VG9XZWJJREJLZXlBcnJheShtX3ByaXZhdGUtPmFycmF5KCksIGtleXMpOwor
ICAgIHJldHVybiBrZXlzOworfQorCiBXZWJTdHJpbmcgV2ViSURCS2V5OjpzdHJpbmcoKSBjb25z
dAogewogICAgIHJldHVybiBtX3ByaXZhdGUtPnN0cmluZygpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJCaW5kaW5nVXRpbGl0aWVzVGVzdC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lEQkJpbmRpbmdVdGlsaXRpZXNUZXN0LmNwcAppbmRl
eCAzMjFmMGFmN2QyYThhMTRjZGY1ZGExYzk4ZjRjODMzMTg2MzkyOTA4Li43ZGU2YTZjOGZlODM4
ZDBhYjlmY2IyMjcxM2E2YjNkOTIwZGUwZDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3Rlc3RzL0lEQkJpbmRpbmdVdGlsaXRpZXNUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3Rlc3RzL0lEQkJpbmRpbmdVdGlsaXRpZXNUZXN0LmNwcApAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xNTUsNiArMTU1LDgg
QEAgVEVTVChJbmplY3RJREJLZXlUZXN0LCBTdWJQcm9wZXJ0eSkKICAgICBjaGVja0luamVjdGlv
bihJREJLZXk6OmNyZWF0ZU51bWJlcig3ODkpLCBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0
ZShvYmplY3QpLCAiZm9vLmJheiIpOwogICAgIGNoZWNrSW5qZWN0aW9uKElEQktleTo6Y3JlYXRl
RGF0ZSg0NTY3KSwgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUob2JqZWN0KSwgImZvby5i
YXoiKTsKICAgICBjaGVja0luamVjdGlvbihJREJLZXk6OmNyZWF0ZURhdGUoNDU2NyksIFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKG9iamVjdCksICJiYXIiKTsKKyAgICBjaGVja0luamVj
dGlvbihJREJLZXk6OmNyZWF0ZUFycmF5KElEQktleTo6S2V5QXJyYXkoKSksIFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZTo6Y3JlYXRlKG9iamVjdCksICJmb28uYmF6Iik7CisgICAgY2hlY2tJbmplY3Rp
b24oSURCS2V5OjpjcmVhdGVBcnJheShJREJLZXk6OktleUFycmF5KCkpLCBTZXJpYWxpemVkU2Ny
aXB0VmFsdWU6OmNyZWF0ZShvYmplY3QpLCAiYmFyIik7CiAKICAgICBjaGVja0luamVjdGlvbkZh
aWxzKElEQktleTo6Y3JlYXRlU3RyaW5nKCJ6b28iKSwgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpj
cmVhdGUob2JqZWN0KSwgImZvby5iYXIuYmF6Iik7CiAgICAgY2hlY2tJbmplY3Rpb25GYWlscyhJ
REJLZXk6OmNyZWF0ZVN0cmluZygiem9vIiksIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRl
KG9iamVjdCksICJmb28ueHl6LmZvbyIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS90ZXN0cy9JREJMZXZlbERCQ29kaW5nVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3Rlc3RzL0lEQkxldmVsREJDb2RpbmdUZXN0LmNwcAppbmRleCA0YzA0YzU0NjBjZTYwODM0
MTEwM2ZiYzRlMDM5MjNiMzdlMzA3NGNlLi5iZWU4NGFkZDljZTg3Mzk5NDhlZGM1ZmRkYTUxMjE4
ODRlOTUxMDg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lEQkxl
dmVsREJDb2RpbmdUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lE
QkxldmVsREJDb2RpbmdUZXN0LmNwcApAQCAtMzksNiArMzksMzEgQEAgdXNpbmcgbmFtZXNwYWNl
IElEQkxldmVsREJDb2Rpbmc7CiAKIG5hbWVzcGFjZSB7CiAKK1Bhc3NSZWZQdHI8SURCS2V5PiBj
cmVhdGVBcnJheUlEQktleSgpCit7CisgICAgcmV0dXJuIElEQktleTo6Y3JlYXRlQXJyYXkoSURC
S2V5OjpLZXlBcnJheSgpKTsKK30KKworUGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0ZUFycmF5SURC
S2V5KFBhc3NSZWZQdHI8SURCS2V5PiBwcnBLZXkxKQoreworICAgIFJlZlB0cjxJREJLZXk+IGtl
eTEgPSBwcnBLZXkxOworCisgICAgSURCS2V5OjpLZXlBcnJheSBhcnJheTsKKyAgICBhcnJheS5h
cHBlbmQoa2V5MSk7CisgICAgcmV0dXJuIElEQktleTo6Y3JlYXRlQXJyYXkoYXJyYXkpOworfQor
CitQYXNzUmVmUHRyPElEQktleT4gY3JlYXRlQXJyYXlJREJLZXkoUGFzc1JlZlB0cjxJREJLZXk+
IHBycEtleTEsIFBhc3NSZWZQdHI8SURCS2V5PiBwcnBLZXkyKQoreworICAgIFJlZlB0cjxJREJL
ZXk+IGtleTEgPSBwcnBLZXkxOworICAgIFJlZlB0cjxJREJLZXk+IGtleTIgPSBwcnBLZXkyOwor
CisgICAgSURCS2V5OjpLZXlBcnJheSBhcnJheTsKKyAgICBhcnJheS5hcHBlbmQoa2V5MSk7Cisg
ICAgYXJyYXkuYXBwZW5kKGtleTIpOworICAgIHJldHVybiBJREJLZXk6OmNyZWF0ZUFycmF5KGFy
cmF5KTsKK30KKwogVEVTVChJREJMZXZlbERCQ29kaW5nVGVzdCwgRW5jb2RlQnl0ZSkKIHsKICAg
ICBWZWN0b3I8Y2hhcj4gZXhwZWN0ZWQ7CkBAIC02MywxMSArODgsMTMgQEAgVEVTVChJREJMZXZl
bERCQ29kaW5nVGVzdCwgTWF4SURCS2V5KQogICAgIFZlY3RvcjxjaGFyPiBtYXhLZXkgPSBtYXhJ
REJLZXkoKTsKIAogICAgIFZlY3RvcjxjaGFyPiBtaW5LZXkgPSBtaW5JREJLZXkoKTsKKyAgICBW
ZWN0b3I8Y2hhcj4gYXJyYXlLZXkgPSBlbmNvZGVJREJLZXkoKklEQktleTo6Y3JlYXRlQXJyYXko
SURCS2V5OjpLZXlBcnJheSgpKSk7CiAgICAgVmVjdG9yPGNoYXI+IHN0cmluZ0tleSA9IGVuY29k
ZUlEQktleSgqSURCS2V5OjpjcmVhdGVTdHJpbmcoIkhlbGxvIHdvcmxkIikpOwogICAgIFZlY3Rv
cjxjaGFyPiBudW1iZXJLZXkgPSBlbmNvZGVJREJLZXkoKklEQktleTo6Y3JlYXRlTnVtYmVyKDMu
MTQpKTsKICAgICBWZWN0b3I8Y2hhcj4gZGF0ZUtleSA9IGVuY29kZUlEQktleSgqSURCS2V5Ojpj
cmVhdGVEYXRlKDEwMDAwMDApKTsKIAogICAgIEVYUEVDVF9HVChjb21wYXJlRW5jb2RlZElEQktl
eXMobWF4S2V5LCBtaW5LZXkpLCAwKTsKKyAgICBFWFBFQ1RfR1QoY29tcGFyZUVuY29kZWRJREJL
ZXlzKG1heEtleSwgYXJyYXlLZXkpLCAwKTsKICAgICBFWFBFQ1RfR1QoY29tcGFyZUVuY29kZWRJ
REJLZXlzKG1heEtleSwgc3RyaW5nS2V5KSwgMCk7CiAgICAgRVhQRUNUX0dUKGNvbXBhcmVFbmNv
ZGVkSURCS2V5cyhtYXhLZXksIG51bWJlcktleSksIDApOwogICAgIEVYUEVDVF9HVChjb21wYXJl
RW5jb2RlZElEQktleXMobWF4S2V5LCBkYXRlS2V5KSwgMCk7CkBAIC03OCwxMSArMTA1LDEzIEBA
IFRFU1QoSURCTGV2ZWxEQkNvZGluZ1Rlc3QsIE1pbklEQktleSkKICAgICBWZWN0b3I8Y2hhcj4g
bWluS2V5ID0gbWluSURCS2V5KCk7CiAKICAgICBWZWN0b3I8Y2hhcj4gbWF4S2V5ID0gbWF4SURC
S2V5KCk7CisgICAgVmVjdG9yPGNoYXI+IGFycmF5S2V5ID0gZW5jb2RlSURCS2V5KCpJREJLZXk6
OmNyZWF0ZUFycmF5KElEQktleTo6S2V5QXJyYXkoKSkpOwogICAgIFZlY3RvcjxjaGFyPiBzdHJp
bmdLZXkgPSBlbmNvZGVJREJLZXkoKklEQktleTo6Y3JlYXRlU3RyaW5nKCJIZWxsbyB3b3JsZCIp
KTsKICAgICBWZWN0b3I8Y2hhcj4gbnVtYmVyS2V5ID0gZW5jb2RlSURCS2V5KCpJREJLZXk6OmNy
ZWF0ZU51bWJlcigzLjE0KSk7CiAgICAgVmVjdG9yPGNoYXI+IGRhdGVLZXkgPSBlbmNvZGVJREJL
ZXkoKklEQktleTo6Y3JlYXRlRGF0ZSgxMDAwMDAwKSk7CiAKICAgICBFWFBFQ1RfTFQoY29tcGFy
ZUVuY29kZWRJREJLZXlzKG1pbktleSwgbWF4S2V5KSwgMCk7CisgICAgRVhQRUNUX0xUKGNvbXBh
cmVFbmNvZGVkSURCS2V5cyhtaW5LZXksIGFycmF5S2V5KSwgMCk7CiAgICAgRVhQRUNUX0xUKGNv
bXBhcmVFbmNvZGVkSURCS2V5cyhtaW5LZXksIHN0cmluZ0tleSksIDApOwogICAgIEVYUEVDVF9M
VChjb21wYXJlRW5jb2RlZElEQktleXMobWluS2V5LCBudW1iZXJLZXkpLCAwKTsKICAgICBFWFBF
Q1RfTFQoY29tcGFyZUVuY29kZWRJREJLZXlzKG1pbktleSwgZGF0ZUtleSksIDApOwpAQCAtMjMw
LDYgKzI1OSwxNCBAQCBURVNUKElEQkxldmVsREJDb2RpbmdUZXN0LCBEZWNvZGVTdHJpbmdXaXRo
TGVuZ3RoKQogICAgIH0KIH0KIAoraW50IGNvbXBhcmVTdHJpbmdzKGNvbnN0IGNoYXIqIHAsIGNv
bnN0IGNoYXIqIGxpbWl0UCwgY29uc3QgY2hhciogcSwgY29uc3QgY2hhciogbGltaXRRKQorewor
ICAgIGludCByZXN1bHQgPSBjb21wYXJlRW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3RoKHAsIGxpbWl0
UCwgcSwgbGltaXRRKTsKKyAgICBFWFBFQ1RfRVEocCwgbGltaXRQKTsKKyAgICBFWFBFQ1RfRVEo
cSwgbGltaXRRKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiBURVNUKElEQkxldmVsREJDb2Rp
bmdUZXN0LCBDb21wYXJlRW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3RoKQogewogICAgIGNvbnN0IFVD
aGFyIHRlc3RTdHJpbmdBW10gPSB7MHgxMDAwLCAweDEwMDAsICdcMCd9OwpAQCAtMjcyLDEwICsz
MDksMTAgQEAgVEVTVChJREJMZXZlbERCQ29kaW5nVGVzdCwgQ29tcGFyZUVuY29kZWRTdHJpbmdz
V2l0aExlbmd0aCkKICAgICAgICAgY29uc3QgY2hhciogcSA9IGVuY29kZWRCLmRhdGEoKTsKICAg
ICAgICAgY29uc3QgY2hhciogbGltaXRRID0gcSArIGVuY29kZWRCLnNpemUoKTsKIAotICAgICAg
ICBFWFBFQ1RfTFQoY29tcGFyZUVuY29kZWRTdHJpbmdzV2l0aExlbmd0aChwLCBsaW1pdFAsIHEs
IGxpbWl0USksIDApOwotICAgICAgICBFWFBFQ1RfR1QoY29tcGFyZUVuY29kZWRTdHJpbmdzV2l0
aExlbmd0aChxLCBsaW1pdFEsIHAsIGxpbWl0UCksIDApOwotICAgICAgICBFWFBFQ1RfRVEoY29t
cGFyZUVuY29kZWRTdHJpbmdzV2l0aExlbmd0aChwLCBsaW1pdFAsIHAsIGxpbWl0UCksIDApOwot
ICAgICAgICBFWFBFQ1RfRVEoY29tcGFyZUVuY29kZWRTdHJpbmdzV2l0aExlbmd0aChxLCBsaW1p
dFEsIHEsIGxpbWl0USksIDApOworICAgICAgICBFWFBFQ1RfTFQoY29tcGFyZVN0cmluZ3MocCwg
bGltaXRQLCBxLCBsaW1pdFEpLCAwKTsKKyAgICAgICAgRVhQRUNUX0dUKGNvbXBhcmVTdHJpbmdz
KHEsIGxpbWl0USwgcCwgbGltaXRQKSwgMCk7CisgICAgICAgIEVYUEVDVF9FUShjb21wYXJlU3Ry
aW5ncyhwLCBsaW1pdFAsIHAsIGxpbWl0UCksIDApOworICAgICAgICBFWFBFQ1RfRVEoY29tcGFy
ZVN0cmluZ3MocSwgbGltaXRRLCBxLCBsaW1pdFEpLCAwKTsKICAgICB9CiB9CiAKQEAgLTMyNywx
MiArMzY0LDMwIEBAIFRFU1QoSURCTGV2ZWxEQkNvZGluZ1Rlc3QsIEVuY29kZURlY29kZUlEQktl
eSkKICAgICBFWFBFQ1RfRVEodi5kYXRhKCkgKyB2LnNpemUoKSwgcCk7CiAgICAgRVhQRUNUX0VR
KDAsIGRlY29kZUlEQktleSh2LmRhdGEoKSwgdi5kYXRhKCkgKyB2LnNpemUoKSAtIDEsIGRlY29k
ZWRLZXkpKTsKIAorICAgIGV4cGVjdGVkS2V5ID0gY3JlYXRlQXJyYXlJREJLZXkoKTsKKyAgICB2
ID0gZW5jb2RlSURCS2V5KCpleHBlY3RlZEtleSk7CisgICAgcCA9IGRlY29kZUlEQktleSh2LmRh
dGEoKSwgdi5kYXRhKCkgKyB2LnNpemUoKSwgZGVjb2RlZEtleSk7CisgICAgRVhQRUNUX1RSVUUo
ZGVjb2RlZEtleS0+aXNFcXVhbChleHBlY3RlZEtleS5nZXQoKSkpOworICAgIEVYUEVDVF9FUSh2
LmRhdGEoKSArIHYuc2l6ZSgpLCBwKTsKKyAgICBFWFBFQ1RfRVEoMCwgZGVjb2RlSURCS2V5KHYu
ZGF0YSgpLCB2LmRhdGEoKSArIHYuc2l6ZSgpIC0gMSwgZGVjb2RlZEtleSkpOworCiAgICAgZXhw
ZWN0ZWRLZXkgPSBJREJLZXk6OmNyZWF0ZURhdGUoNzg5MCk7CiAgICAgdiA9IGVuY29kZUlEQktl
eSgqZXhwZWN0ZWRLZXkpOwogICAgIHAgPSBkZWNvZGVJREJLZXkodi5kYXRhKCksIHYuZGF0YSgp
ICsgdi5zaXplKCksIGRlY29kZWRLZXkpOwogICAgIEVYUEVDVF9UUlVFKGRlY29kZWRLZXktPmlz
RXF1YWwoZXhwZWN0ZWRLZXkuZ2V0KCkpKTsKICAgICBFWFBFQ1RfRVEodi5kYXRhKCkgKyB2LnNp
emUoKSwgcCk7CiAgICAgRVhQRUNUX0VRKDAsIGRlY29kZUlEQktleSh2LmRhdGEoKSwgdi5kYXRh
KCkgKyB2LnNpemUoKSAtIDEsIGRlY29kZWRLZXkpKTsKKworICAgIElEQktleTo6S2V5QXJyYXkg
YXJyYXk7CisgICAgYXJyYXkuYXBwZW5kKElEQktleTo6Y3JlYXRlTnVtYmVyKDEyMzQpKTsKKyAg
ICBhcnJheS5hcHBlbmQoSURCS2V5OjpjcmVhdGVTdHJpbmcoIkhlbGxvIFdvcmxkISIpKTsKKyAg
ICBhcnJheS5hcHBlbmQoSURCS2V5OjpjcmVhdGVEYXRlKDc4OTApKTsKKyAgICBleHBlY3RlZEtl
eSA9IElEQktleTo6Y3JlYXRlQXJyYXkoYXJyYXkpOworICAgIHYgPSBlbmNvZGVJREJLZXkoKmV4
cGVjdGVkS2V5KTsKKyAgICBwID0gZGVjb2RlSURCS2V5KHYuZGF0YSgpLCB2LmRhdGEoKSArIHYu
c2l6ZSgpLCBkZWNvZGVkS2V5KTsKKyAgICBFWFBFQ1RfVFJVRShkZWNvZGVkS2V5LT5pc0VxdWFs
KGV4cGVjdGVkS2V5LmdldCgpKSk7CisgICAgRVhQRUNUX0VRKHYuZGF0YSgpICsgdi5zaXplKCks
IHApOworICAgIEVYUEVDVF9FUSgwLCBkZWNvZGVJREJLZXkodi5kYXRhKCksIHYuZGF0YSgpICsg
di5zaXplKCkgLSAxLCBkZWNvZGVkS2V5KSk7CiB9CiAKIFRFU1QoSURCTGV2ZWxEQkNvZGluZ1Rl
c3QsIEV4dHJhY3RBbmRDb21wYXJlSURCS2V5cykKQEAgLTM1NCw2ICs0MDksMTggQEAgVEVTVChJ
REJMZXZlbERCQ29kaW5nVGVzdCwgRXh0cmFjdEFuZENvbXBhcmVJREJLZXlzKQogICAgIGtleXMu
YXBwZW5kKElEQktleTo6Y3JlYXRlU3RyaW5nKCJiYWFiIikpOwogICAgIGtleXMuYXBwZW5kKElE
QktleTo6Y3JlYXRlU3RyaW5nKCJjIikpOwogCisgICAga2V5cy5hcHBlbmQoY3JlYXRlQXJyYXlJ
REJLZXkoKSk7CisgICAga2V5cy5hcHBlbmQoY3JlYXRlQXJyYXlJREJLZXkoSURCS2V5OjpjcmVh
dGVOdW1iZXIoMCkpKTsKKyAgICBrZXlzLmFwcGVuZChjcmVhdGVBcnJheUlEQktleShJREJLZXk6
OmNyZWF0ZU51bWJlcigwKSwgSURCS2V5OjpjcmVhdGVOdW1iZXIoMy4xNCkpKTsKKyAgICBrZXlz
LmFwcGVuZChjcmVhdGVBcnJheUlEQktleShJREJLZXk6OmNyZWF0ZURhdGUoMCkpKTsKKyAgICBr
ZXlzLmFwcGVuZChjcmVhdGVBcnJheUlEQktleShJREJLZXk6OmNyZWF0ZURhdGUoMCksIElEQktl
eTo6Y3JlYXRlRGF0ZSgwKSkpOworICAgIGtleXMuYXBwZW5kKGNyZWF0ZUFycmF5SURCS2V5KElE
QktleTo6Y3JlYXRlU3RyaW5nKCIiKSkpOworICAgIGtleXMuYXBwZW5kKGNyZWF0ZUFycmF5SURC
S2V5KElEQktleTo6Y3JlYXRlU3RyaW5nKCIiKSwgSURCS2V5OjpjcmVhdGVTdHJpbmcoImEiKSkp
OworICAgIGtleXMuYXBwZW5kKGNyZWF0ZUFycmF5SURCS2V5KGNyZWF0ZUFycmF5SURCS2V5KCkp
KTsKKyAgICBrZXlzLmFwcGVuZChjcmVhdGVBcnJheUlEQktleShjcmVhdGVBcnJheUlEQktleSgp
LCBjcmVhdGVBcnJheUlEQktleSgpKSk7CisgICAga2V5cy5hcHBlbmQoY3JlYXRlQXJyYXlJREJL
ZXkoY3JlYXRlQXJyYXlJREJLZXkoY3JlYXRlQXJyYXlJREJLZXkoKSkpKTsKKyAgICBrZXlzLmFw
cGVuZChjcmVhdGVBcnJheUlEQktleShjcmVhdGVBcnJheUlEQktleShjcmVhdGVBcnJheUlEQktl
eShjcmVhdGVBcnJheUlEQktleSgpKSkpKTsKKwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
a2V5cy5zaXplKCkgLSAxOyArK2kpIHsKICAgICAgICAgUmVmUHRyPElEQktleT4ga2V5QSA9IGtl
eXNbaV07CiAgICAgICAgIFJlZlB0cjxJREJLZXk+IGtleUIgPSBrZXlzW2kgKyAxXTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA3ZjNiODg4NGU4ODIxMjg3NzE0ZDY2Y2Q4ZTA1MDg3NmUyZTAyNGVlLi5hOTMzN2EzNmFmOTNl
MjUxOWE1M2I0NmJkNGU2NWI0ZWM1OTI2ZDlmIDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEt
MTEtMDIgIEpvc2h1YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRl
eGVkREI6IGltcGxlbWVudCBjb21wb3VuZCAoYXJyYXkpIGtleSBzdXBwb3J0CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MjI4NAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
ZmFjdG9yeS1jbXAtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2Zh
Y3RvcnktY21wLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNz
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1iYXNpY3Mu
aHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9rZXktdHlwZS1hcnJheS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2tleXJhbmdlLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9rZXlyYW5nZS5odG1sOgorICAg
ICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLmh0bWw6Cisg
ICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jdXJzb3ItZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY3Vyc29yLmh0bWw6CisKIDIwMTEtMTEtMDEg
IEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmll
d2VkLiBGaXhlZCBjb25mbGljdGluZyBlbnRyaWVzIGluIHRlc3QgZXhwZWN0YXRpb25zLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1jbXAtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1jbXAtZXhwZWN0
ZWQudHh0CmluZGV4IDI2YmUxODI1YWZlMzdiYjg5OTc2Y2UxMTlkMmU3NWE4MzVkMTM0YjMuLjE5
ZjU1NDQwOTM5N2NhNGU4MTU3ZGI1YTdhZjEzNzllNzY4NjJlMzkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21wLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWNtcC1leHBlY3RlZC50eHQKQEAg
LTEwLDcgKzEwLDYgQEAgUEFTUyBJREJEYXRhYmFzZUV4Y2VwdGlvbiA9PSBudWxsIGlzIGZhbHNl
CiBQQVNTIHR5cGVvZiBpbmRleGVkREIuY21wID09PSAnZnVuY3Rpb24nIGlzIHRydWUKIAogY29t
cGFyZSB2YWxpZCBrZXlzCi0oQXJyYXkga2V5cyBhcmUgbm90IHlldCBpbXBsZW1lbnRlZCBzbyBt
YW55IHRlc3RzIHdpbGwgZmFpbCkKIFBBU1MgaW5kZXhlZERCLmNtcCgtSW5maW5pdHksLU51bWJl
ci5NQVhfVkFMVUUpID09PSAtMSBpcyB0cnVlCiBQQVNTIGluZGV4ZWREQi5jbXAoLU51bWJlci5N
QVhfVkFMVUUsLUluZmluaXR5KSA9PT0gMSBpcyB0cnVlCiBQQVNTIGluZGV4ZWREQi5jbXAoLUlu
ZmluaXR5LC1JbmZpbml0eSkgPT09IDAgaXMgdHJ1ZQpAQCAtOTUsMTE4ICs5NCwxMTggQEAgUEFT
UyBpbmRleGVkREIuY21wKCfwnYSeJywn77+9JykgPT09IC0xIGlzIHRydWUKIFBBU1MgaW5kZXhl
ZERCLmNtcCgn77+9Jywn8J2EnicpID09PSAxIGlzIHRydWUKIFBBU1MgaW5kZXhlZERCLmNtcCgn
8J2EnicsJ/CdhJ4nKSA9PT0gMCBpcyB0cnVlCiBQQVNTIGluZGV4ZWREQi5jbXAoJ++/vScsJ++/
vScpID09PSAwIGlzIHRydWUKLUZBSUwgaW5kZXhlZERCLmNtcCgn77+9JyxbXSkgPT09IC0xIHNo
b3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0
YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbXSwn77+9JykgPT09IDEgc2hv
dWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRh
YmFzZSBFeGNlcHRpb24gNQorUEFTUyBpbmRleGVkREIuY21wKCfvv70nLFtdKSA9PT0gLTEgaXMg
dHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtdLCfvv70nKSA9PT0gMSBpcyB0cnVlCiBQQVNTIGlu
ZGV4ZWREQi5jbXAoJ++/vScsJ++/vScpID09PSAwIGlzIHRydWUKLUZBSUwgaW5kZXhlZERCLmNt
cChbXSxbXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFU
QV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtd
LFstSW5maW5pdHldKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIu
Y21wKFstSW5maW5pdHldLFtdKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4
ZWREQi5jbXAoW10sW10pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJy
b3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERC
LmNtcChbLUluZmluaXR5XSxbLUluZmluaXR5XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQot
RkFJTCBpbmRleGVkREIuY21wKFstSW5maW5pdHldLFstMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhd
KSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6
IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFstMS43OTc2
OTMxMzQ4NjIzMTU3ZSszMDhdLFstSW5maW5pdHldKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1
Ci1GQUlMIGluZGV4ZWREQi5jbXAoWy1JbmZpbml0eV0sWy1JbmZpbml0eV0pID09PSAwIHNob3Vs
ZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJh
c2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbLTEuNzk3NjkzMTM0ODYyMzE1N2Ur
MzA4XSxbLTEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24g
NQotRkFJTCBpbmRleGVkREIuY21wKFstMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdLFstMV0pID09
PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9N
IElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWy0xXSxbLTEuNzk3
NjkzMTM0ODYyMzE1N2UrMzA4XSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlv
biBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRl
eGVkREIuY21wKFstMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdLFstMS43OTc2OTMxMzQ4NjIzMTU3
ZSszMDhdKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRB
X0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWy0x
XSxbLTFdKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRB
X0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWy0x
XSxbLTVlLTMyNF0pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5j
bXAoWy01ZS0zMjRdLFstMV0pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24g
RXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhl
ZERCLmNtcChbLTFdLFstMV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24g
RXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhl
ZERCLmNtcChbLTVlLTMyNF0sWy01ZS0zMjRdKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1G
QUlMIGluZGV4ZWREQi5jbXAoWy01ZS0zMjRdLFswXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBU
aHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9u
IDUKLUZBSUwgaW5kZXhlZERCLmNtcChbMF0sWy01ZS0zMjRdKSA9PT0gMSBzaG91bGQgYmUgdHJ1
ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2Vw
dGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWy01ZS0zMjRdLFstNWUtMzI0XSkgPT09IDAgc2hv
dWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRh
YmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFswXSxbMF0pID09PSAwIHNob3Vs
ZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJh
c2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbMF0sWzVlLTMyNF0pID09PSAtMSBz
aG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRh
dGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWzVlLTMyNF0sWzBdKSA9PT0g
MSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElE
QkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWzBdLFswXSkgPT09IDAg
c2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJE
YXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFs1ZS0zMjRdLFs1ZS0zMjRd
KSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjog
RE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWzVlLTMyNF0s
WzFdKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9F
UlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsxXSxb
NWUtMzI0XSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFU
QV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFs1
ZS0zMjRdLFs1ZS0zMjRdKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWRE
Qi5jbXAoWzFdLFsxXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIu
Y21wKFsxXSxbMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUu
IFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRp
b24gNQotRkFJTCBpbmRleGVkREIuY21wKFsxLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0sWzFdKSA9
PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9N
IElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWzFdLFsxXSkgPT09
IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJ
REJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsxLjc5NzY5MzEzNDg2
MjMxNTdlKzMwOF0sWzEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XSkgPT09IDAgc2hvdWxkIGJlIHRy
dWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNl
cHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsxLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0sW0lu
ZmluaXR5XSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERB
VEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChb
SW5maW5pdHldLFsxLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0pID09PSAxIHNob3VsZCBiZSB0cnVl
LiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0
aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdLFsxLjc5
NzY5MzEzNDg2MjMxNTdlKzMwOF0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRp
b24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5k
ZXhlZERCLmNtcChbSW5maW5pdHldLFtJbmZpbml0eV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBU
aHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9u
IDUKLUZBSUwgaW5kZXhlZERCLmNtcChbSW5maW5pdHldLFtuZXcgRGF0ZSgwKV0pID09PSAtMSBz
aG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRh
dGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDApXSxbSW5m
aW5pdHldKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRB
X0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW0lu
ZmluaXR5XSxbSW5maW5pdHldKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4
ZWREQi5jbXAoW25ldyBEYXRlKDApXSxbbmV3IERhdGUoMCldKSA9PT0gMCBzaG91bGQgYmUgdHJ1
ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2Vw
dGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDApXSxbbmV3IERhdGUoMTAwMCld
KSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6
IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtuZXcgRGF0
ZSgxMDAwKV0sW25ldyBEYXRlKDApXSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBp
bmRleGVkREIuY21wKFtuZXcgRGF0ZSgwKV0sW25ldyBEYXRlKDApXSkgPT09IDAgc2hvdWxkIGJl
IHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBF
eGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgxMDAwKV0sW25ldyBEYXRl
KDEwMDApXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFU
QV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtu
ZXcgRGF0ZSgxMDAwKV0sW25ldyBEYXRlKDEzMTczOTk5MzEwMjMpXSkgPT09IC0xIHNob3VsZCBi
ZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2Ug
RXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyld
LFtuZXcgRGF0ZSgxMDAwKV0pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24g
RXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhl
ZERCLmNtcChbbmV3IERhdGUoMTAwMCldLFtuZXcgRGF0ZSgxMDAwKV0pID09PSAwIHNob3VsZCBi
ZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2Ug
RXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyld
LFtuZXcgRGF0ZSgxMzE3Mzk5OTMxMDIzKV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBl
eGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZB
SUwgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldLFsnJ10pID09PSAtMSBz
aG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRh
dGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWycnXSxbbmV3IERhdGUoMTMx
NzM5OTkzMTAyMyldKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5j
bXAoW25ldyBEYXRlKDEzMTczOTk5MzEwMjMpXSxbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldKSA9
PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9N
IElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWycnXSxbJyddKSA9
PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9N
IElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWycnXSxbJ1wwJ10p
ID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjog
RE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydcMCddLFsn
J10pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJS
OiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJyddLFsn
J10pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJS
OiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ1wwJ10s
WydcMCddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRB
X0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydc
MCddLFsnYSddKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
REFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21w
KFsnYSddLFsnXDAnXSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIu
Y21wKFsnXDAnXSxbJ1wwJ10pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24g
RXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhl
ZERCLmNtcChbJ2EnXSxbJ2EnXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlv
biBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRl
eGVkREIuY21wKFsnYSddLFsnYWEnXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNl
cHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwg
aW5kZXhlZERCLmNtcChbJ2FhJ10sWydhJ10pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBl
eGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZB
SUwgaW5kZXhlZERCLmNtcChbJ2EnXSxbJ2EnXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQot
RkFJTCBpbmRleGVkREIuY21wKFsnYWEnXSxbJ2FhJ10pID09PSAwIHNob3VsZCBiZSB0cnVlLiBU
aHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9u
IDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ2FhJ10sWydiJ10pID09PSAtMSBzaG91bGQgYmUgdHJ1
ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2Vw
dGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydiJ10sWydhYSddKSA9PT0gMSBzaG91bGQgYmUg
dHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4
Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydhYSddLFsnYWEnXSkgPT09IDAgc2hvdWxk
IGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFz
ZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnYiddLFsnYiddKSA9PT0gMCBzaG91
bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFi
YXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydiJ10sWydiYSddKSA9PT0gLTEg
c2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJE
YXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnYmEnXSxbJ2InXSkgPT09
IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJ
REJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnYiddLFsnYiddKSA9
PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9N
IElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydiYSddLFsnYmEn
XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6
IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnYmEnXSxb
J8KiJ10pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRB
X0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfC
oiddLFsnYmEnXSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
REFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21w
KFsnYmEnXSxbJ2JhJ10pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJy
b3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERC
LmNtcChbJ8KiJ10sWyfCoiddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4
ZWREQi5jbXAoWyfCoiddLFsn5rC0J10pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlM
IGluZGV4ZWREQi5jbXAoWyfmsLQnXSxbJ8KiJ10pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJl
dyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUK
LUZBSUwgaW5kZXhlZERCLmNtcChbJ8KiJ10sWyfCoiddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4g
VGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlv
biA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfmsLQnXSxbJ+awtCddKSA9PT0gMCBzaG91bGQgYmUg
dHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4
Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfmsLQnXSxbJ/CdhJ4nXSkgPT09IC0xIHNo
b3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0
YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ/CdhJ4nXSxbJ+awtCddKSA9
PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9N
IElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfmsLQnXSxbJ+aw
tCddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VS
UjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfwnYSe
J10sWyfwnYSeJ10pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6
IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNt
cChbJ/CdhJ4nXSxbJ++/vSddKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlv
biBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRl
eGVkREIuY21wKFsn77+9J10sWyfwnYSeJ10pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBl
eGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZB
SUwgaW5kZXhlZERCLmNtcChbJ/CdhJ4nXSxbJ/CdhJ4nXSkgPT09IDAgc2hvdWxkIGJlIHRydWUu
IFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRp
b24gNQotRkFJTCBpbmRleGVkREIuY21wKFsn77+9J10sWyfvv70nXSkgPT09IDAgc2hvdWxkIGJl
IHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBF
eGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsn77+9J10sW1tdXSkgPT09IC0xIHNob3Vs
ZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJh
c2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW11dLFsn77+9J10pID09PSAxIHNo
b3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0
YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ++/vSddLFsn77+9J10pID09
PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00g
SURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW11dLFtbXV0pID09
PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00g
SURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW11dLFtbXSwgW11d
KSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6
IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtbXSwgW11d
LFtbXV0pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFf
RVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW11d
LFtbXV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFf
RVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW10s
IFtdXSxbW10sIFtdXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIu
Y21wKFtbXSwgW11dLFtbXSwgW10sIFtdXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBl
eGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZB
SUwgaW5kZXhlZERCLmNtcChbW10sIFtdLCBbXV0sW1tdLCBbXV0pID09PSAxIHNob3VsZCBiZSB0
cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhj
ZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW10sIFtdXSxbW10sIFtdXSkgPT09IDAgc2hv
dWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRh
YmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtbXSwgW10sIFtdXSxbW10sIFtd
LCBbXV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFf
RVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW10s
IFtdLCBbXV0sW1tbXV1dKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVk
REIuY21wKFtbW11dXSxbW10sIFtdLCBbXV0pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBl
eGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZB
SUwgaW5kZXhlZERCLmNtcChbW10sIFtdLCBbXV0sW1tdLCBbXSwgW11dKSA9PT0gMCBzaG91bGQg
YmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNl
IEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tbXV1dLFtbW11dXSkgPT09IDAgc2hv
dWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRh
YmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtbW11dXSxbW1tbXV1dXSkgPT09
IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00g
SURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW1tbXV1dXSxbW1td
XV0pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJS
OiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW1tdXV0s
W1tbXV1dKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRB
X0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tb
W11dXV0sW1tbW11dXV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJy
b3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKK1BBU1MgaW5kZXhlZERC
LmNtcChbXSxbXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtdLFstSW5maW5p
dHldKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFstSW5maW5pdHldLFtdKSA9
PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW10sW10pID09PSAwIGlzIHRydWUKK1BB
U1MgaW5kZXhlZERCLmNtcChbLUluZmluaXR5XSxbLUluZmluaXR5XSkgPT09IDAgaXMgdHJ1ZQor
UEFTUyBpbmRleGVkREIuY21wKFstSW5maW5pdHldLFstTnVtYmVyLk1BWF9WQUxVRV0pID09PSAt
MSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWy1OdW1iZXIuTUFYX1ZBTFVFXSxbLUluZmlu
aXR5XSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFstSW5maW5pdHldLFstSW5m
aW5pdHldKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWy1OdW1iZXIuTUFYX1ZB
TFVFXSxbLU51bWJlci5NQVhfVkFMVUVdKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5j
bXAoWy1OdW1iZXIuTUFYX1ZBTFVFXSxbLTFdKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVk
REIuY21wKFstMV0sWy1OdW1iZXIuTUFYX1ZBTFVFXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRl
eGVkREIuY21wKFstTnVtYmVyLk1BWF9WQUxVRV0sWy1OdW1iZXIuTUFYX1ZBTFVFXSkgPT09IDAg
aXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFstMV0sWy0xXSkgPT09IDAgaXMgdHJ1ZQorUEFT
UyBpbmRleGVkREIuY21wKFstMV0sWy1OdW1iZXIuTUlOX1ZBTFVFXSkgPT09IC0xIGlzIHRydWUK
K1BBU1MgaW5kZXhlZERCLmNtcChbLU51bWJlci5NSU5fVkFMVUVdLFstMV0pID09PSAxIGlzIHRy
dWUKK1BBU1MgaW5kZXhlZERCLmNtcChbLTFdLFstMV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5k
ZXhlZERCLmNtcChbLU51bWJlci5NSU5fVkFMVUVdLFstTnVtYmVyLk1JTl9WQUxVRV0pID09PSAw
IGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbLU51bWJlci5NSU5fVkFMVUVdLFswXSkgPT09
IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbMF0sWy1OdW1iZXIuTUlOX1ZBTFVFXSkg
PT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFstTnVtYmVyLk1JTl9WQUxVRV0sWy1O
dW1iZXIuTUlOX1ZBTFVFXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFswXSxb
MF0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbMF0sW051bWJlci5NSU5fVkFM
VUVdKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtOdW1iZXIuTUlOX1ZBTFVF
XSxbMF0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbMF0sWzBdKSA9PT0gMCBp
cyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW051bWJlci5NSU5fVkFMVUVdLFtOdW1iZXIuTUlO
X1ZBTFVFXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtOdW1iZXIuTUlOX1ZB
TFVFXSxbMV0pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWzFdLFtOdW1iZXIu
TUlOX1ZBTFVFXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtOdW1iZXIuTUlO
X1ZBTFVFXSxbTnVtYmVyLk1JTl9WQUxVRV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERC
LmNtcChbMV0sWzFdKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWzFdLFtOdW1i
ZXIuTUFYX1ZBTFVFXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbTnVtYmVy
Lk1BWF9WQUxVRV0sWzFdKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWzFdLFsx
XSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtOdW1iZXIuTUFYX1ZBTFVFXSxb
TnVtYmVyLk1BWF9WQUxVRV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbTnVt
YmVyLk1BWF9WQUxVRV0sW0luZmluaXR5XSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERC
LmNtcChbSW5maW5pdHldLFtOdW1iZXIuTUFYX1ZBTFVFXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBp
bmRleGVkREIuY21wKFtOdW1iZXIuTUFYX1ZBTFVFXSxbTnVtYmVyLk1BWF9WQUxVRV0pID09PSAw
IGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbSW5maW5pdHldLFtJbmZpbml0eV0pID09PSAw
IGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbSW5maW5pdHldLFtuZXcgRGF0ZSgwKV0pID09
PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDApXSxbSW5maW5pdHld
KSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW0luZmluaXR5XSxbSW5maW5pdHld
KSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDApXSxbbmV3IERh
dGUoMCldKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDApXSxb
bmV3IERhdGUoMTAwMCldKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtuZXcg
RGF0ZSgxMDAwKV0sW25ldyBEYXRlKDApXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIu
Y21wKFtuZXcgRGF0ZSgwKV0sW25ldyBEYXRlKDApXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRl
eGVkREIuY21wKFtuZXcgRGF0ZSgxMDAwKV0sW25ldyBEYXRlKDEwMDApXSkgPT09IDAgaXMgdHJ1
ZQorUEFTUyBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgxMDAwKV0sW25ldyBEYXRlKDEzMTczOTk5
MzEwMjMpXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTMx
NzM5OTkzMTAyMyldLFtuZXcgRGF0ZSgxMDAwKV0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhl
ZERCLmNtcChbbmV3IERhdGUoMTAwMCldLFtuZXcgRGF0ZSgxMDAwKV0pID09PSAwIGlzIHRydWUK
K1BBU1MgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldLFtuZXcgRGF0ZSgx
MzE3Mzk5OTMxMDIzKV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbbmV3IERh
dGUoMTMxNzM5OTkzMTAyMyldLFsnJ10pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5j
bXAoWycnXSxbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldKSA9PT0gMSBpcyB0cnVlCitQQVNTIGlu
ZGV4ZWREQi5jbXAoW25ldyBEYXRlKDEzMTczOTk5MzEwMjMpXSxbbmV3IERhdGUoMTMxNzM5OTkz
MTAyMyldKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWycnXSxbJyddKSA9PT0g
MCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWycnXSxbJ1wwJ10pID09PSAtMSBpcyB0cnVl
CitQQVNTIGluZGV4ZWREQi5jbXAoWydcMCddLFsnJ10pID09PSAxIGlzIHRydWUKK1BBU1MgaW5k
ZXhlZERCLmNtcChbJyddLFsnJ10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChb
J1wwJ10sWydcMCddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWydcMCddLFsn
YSddKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYSddLFsnXDAnXSkgPT09
IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnXDAnXSxbJ1wwJ10pID09PSAwIGlzIHRy
dWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ2EnXSxbJ2EnXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBp
bmRleGVkREIuY21wKFsnYSddLFsnYWEnXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERC
LmNtcChbJ2FhJ10sWydhJ10pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ2En
XSxbJ2EnXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYWEnXSxbJ2FhJ10p
ID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ2FhJ10sWydiJ10pID09PSAtMSBp
cyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWydiJ10sWydhYSddKSA9PT0gMSBpcyB0cnVlCitQ
QVNTIGluZGV4ZWREQi5jbXAoWydhYSddLFsnYWEnXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRl
eGVkREIuY21wKFsnYiddLFsnYiddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAo
WydiJ10sWydiYSddKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYmEnXSxb
J2InXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYiddLFsnYiddKSA9PT0g
MCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWydiYSddLFsnYmEnXSkgPT09IDAgaXMgdHJ1
ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYmEnXSxbJ8KiJ10pID09PSAtMSBpcyB0cnVlCitQQVNT
IGluZGV4ZWREQi5jbXAoWyfCoiddLFsnYmEnXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVk
REIuY21wKFsnYmEnXSxbJ2JhJ10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChb
J8KiJ10sWyfCoiddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfCoiddLFsn
5rC0J10pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfmsLQnXSxbJ8KiJ10p
ID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ8KiJ10sWyfCoiddKSA9PT0gMCBp
cyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfmsLQnXSxbJ+awtCddKSA9PT0gMCBpcyB0cnVl
CitQQVNTIGluZGV4ZWREQi5jbXAoWyfmsLQnXSxbJ/CdhJ4nXSkgPT09IC0xIGlzIHRydWUKK1BB
U1MgaW5kZXhlZERCLmNtcChbJ/CdhJ4nXSxbJ+awtCddKSA9PT0gMSBpcyB0cnVlCitQQVNTIGlu
ZGV4ZWREQi5jbXAoWyfmsLQnXSxbJ+awtCddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWRE
Qi5jbXAoWyfwnYSeJ10sWyfwnYSeJ10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNt
cChbJ/CdhJ4nXSxbJ++/vSddKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsn
77+9J10sWyfwnYSeJ10pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ/CdhJ4n
XSxbJ/CdhJ4nXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsn77+9J10sWyfv
v70nXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsn77+9J10sW1tdXSkgPT09
IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbW11dLFsn77+9J10pID09PSAxIGlzIHRy
dWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ++/vSddLFsn77+9J10pID09PSAwIGlzIHRydWUKK1BB
U1MgaW5kZXhlZERCLmNtcChbW11dLFtbXV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERC
LmNtcChbW11dLFtbXSwgW11dKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtb
XSwgW11dLFtbXV0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbW11dLFtbXV0p
ID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbW10sIFtdXSxbW10sIFtdXSkgPT09
IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtbXSwgW11dLFtbXSwgW10sIFtdXSkgPT09
IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbW10sIFtdLCBbXV0sW1tdLCBbXV0pID09
PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbW10sIFtdXSxbW10sIFtdXSkgPT09IDAg
aXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtbXSwgW10sIFtdXSxbW10sIFtdLCBbXV0pID09
PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbW10sIFtdLCBbXV0sW1tbXV1dKSA9PT0g
LTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtbW11dXSxbW10sIFtdLCBbXV0pID09PSAx
IGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbW10sIFtdLCBbXV0sW1tdLCBbXSwgW11dKSA9
PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW1tbXV1dLFtbW11dXSkgPT09IDAgaXMg
dHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtbW11dXSxbW1tbXV1dXSkgPT09IC0xIGlzIHRydWUK
K1BBU1MgaW5kZXhlZERCLmNtcChbW1tbXV1dXSxbW1tdXV0pID09PSAxIGlzIHRydWUKK1BBU1Mg
aW5kZXhlZERCLmNtcChbW1tdXV0sW1tbXV1dKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWRE
Qi5jbXAoW1tbW11dXV0sW1tbW11dXV0pID09PSAwIGlzIHRydWUKIAogY29tcGFyZSBpbnZhbGlk
IGtleXMKIEV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKHZvaWQgMCwgdHJ1
ZSkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21w
Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWNtcC5odG1sCmlu
ZGV4IGJiODI4NjExNDdiOGMzZWMwY2Y2YTNmN2NkZDc3MjQ4MTIyOTdhMzAuLmJiOGU1MzRjYWJk
OWEwZDk3MzRmYmY5NGRkNTBkZmEzNGFhNjNhNGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21wLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvZmFjdG9yeS1jbXAuaHRtbApAQCAtMzMsOCArMzMsNiBAQCBmdW5jdGlvbiB0
ZXN0VmFsaWRLZXlzKCkKICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoImNvbXBhcmUgdmFsaWQg
a2V5cyIpOwogCi0gICAgZGVidWcoIihBcnJheSBrZXlzIGFyZSBub3QgeWV0IGltcGxlbWVudGVk
IHNvIG1hbnkgdGVzdHMgd2lsbCBmYWlsKSIpOwotCiAgICAgdmFyIGtleXMgPSBbCiAgICAgICAg
ICItSW5maW5pdHkiLAogICAgICAgICAiLU51bWJlci5NQVhfVkFMVUUiLApAQCAtNjIsMTcgKzYw
LDE2IEBAIGZ1bmN0aW9uIHRlc3RWYWxpZEtleXMoKQogICAgICAgICAiJ1x1RDgzNFx1REQxRSci
LCAvLyBVKzFEMTFFIE1VU0lDQUwgU1lNQk9MIEctQ0xFRiAoVVRGLTE2IHN1cnJvZ2F0ZSBwYWly
KQogICAgICAgICAiJ1x1RkZGRCciLCAvLyBVK0ZGRkQgUkVQTEFDRU1FTlQgQ0hBUkFDVEVSCiAK
LSAgICAgICAgLy8gRklYTUU6IEFycmF5IGtleXMgYXJlIE5ZSSwgYnV0IHRoZXNlIHNob3VsZCBw
YXNzIG9uY2UgaW1wbGVtZW50ZWQKICAgICAgICAgIltdIiwKIAogICAgICAgICAiWy1JbmZpbml0
eV0iLAotICAgICAgICAiWy0xLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0iLAorICAgICAgICAiWy1O
dW1iZXIuTUFYX1ZBTFVFXSIsCiAgICAgICAgICJbLTFdIiwKLSAgICAgICAgIlstNWUtMzI0XSIs
CisgICAgICAgICJbLU51bWJlci5NSU5fVkFMVUVdIiwKICAgICAgICAgIlswXSIsCi0gICAgICAg
ICJbNWUtMzI0XSIsCisgICAgICAgICJbTnVtYmVyLk1JTl9WQUxVRV0iLAogICAgICAgICAiWzFd
IiwKLSAgICAgICAgIlsxLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0iLAorICAgICAgICAiW051bWJl
ci5NQVhfVkFMVUVdIiwKICAgICAgICAgIltJbmZpbml0eV0iLAogIAogICAgICAgICAiW25ldyBE
YXRlKDApXSIsCkBAIC05Nyw3ICs5NCw3IEBAIGZ1bmN0aW9uIHRlc3RWYWxpZEtleXMoKQogICAg
ICAgICAiW1tdLCBbXSwgW11dIiwKIAogICAgICAgICAiW1tbXV1dIiwKLSAgICAgICAgIltbW1td
XV1dIiwKKyAgICAgICAgIltbW1tdXV1dIgogICAgIF07CiAKICAgICB2YXIgaSwga2V5MSwga2V5
MjsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2lj
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1iYXNp
Y3MtZXhwZWN0ZWQudHh0CmluZGV4IGM1ODljODEyOTdmMWE5MzNmNTY2YzM5ZGY0MGI3ODNmZWM1
ZTk3MTYuLmZkYThkYmYzZmI2MGU1NzgwNGI3MjkyMDA1MmQ2MWVhZmZhNGIyOWIgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy1leHBlY3RlZC50
eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLWV4cGVj
dGVkLnR4dApAQCAtODEsOSArODEsOSBAQCBQQVNTIGV2ZW50LnRhcmdldC5yZXN1bHQudmFsdWUu
eCBpcyAidmFsdWUzIgogUEFTUyBldmVudC50YXJnZXQucmVzdWx0LnZhbHVlLnkgaXMgIjQ1NiIK
IGV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoKQogUEFTUyBldmVudC50YXJnZXQucmVzdWx0
ID09PSBudWxsIGlzIHRydWUKLVBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBpbmRleE9iamVj
dC5nZXQoKS4KK1Bhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBpbmRleE9iamVjdC5nZXQoe30p
LgogUEFTUyBDYXVnaHQgZXhjZXB0aW9uOiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFz
ZSBFeGNlcHRpb24gNQotUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGluZGV4T2JqZWN0Lmdl
dEtleSgpLgorUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGluZGV4T2JqZWN0LmdldEtleSh7
fSkuCiBQQVNTIENhdWdodCBleGNlcHRpb246IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFi
YXNlIEV4Y2VwdGlvbiA1CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy5odG1sIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLmh0bWwKaW5kZXggYThm
N2Q5NWQ0YzJhYjBiNDNlZTdmMzU1NTEwM2E5MzcwOTg1ZGJkNC4uNTNjMWY1YjlhMTQ5NTJiYjVk
Y2U0MDg2Y2EzYmQyZjIzMTVlNjJhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvaW5kZXgtYmFzaWNzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvaW5kZXgtYmFzaWNzLmh0bWwKQEAgLTI0MSwxNiArMjQxLDE2IEBAIGZ1bmN0aW9uIGxh
c3QoKQogICAgIHNob3VsZEJlVHJ1ZSgiZXZlbnQudGFyZ2V0LnJlc3VsdCA9PT0gbnVsbCIpOwog
CiAgICAgdHJ5IHsKLSAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBp
bmRleE9iamVjdC5nZXQoKS4iKTsKLSAgICAgICAgaW5kZXhPYmplY3QuZ2V0KFtdKTsKKyAgICAg
ICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBpbmRleE9iamVjdC5nZXQoe30p
LiIpOworICAgICAgICBpbmRleE9iamVjdC5nZXQoe30pOwogICAgICAgICB0ZXN0RmFpbGVkKCJO
byBleGNlcHRpb24gdGhyb3duIik7CiAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICB0ZXN0UGFz
c2VkKCJDYXVnaHQgZXhjZXB0aW9uOiAiICsgZS50b1N0cmluZygpKTsKICAgICB9CiAKICAgICB0
cnkgewotICAgICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGluZGV4T2Jq
ZWN0LmdldEtleSgpLiIpOwotICAgICAgICBpbmRleE9iamVjdC5nZXRLZXkoW10pOworICAgICAg
ICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGluZGV4T2JqZWN0LmdldEtleSh7
fSkuIik7CisgICAgICAgIGluZGV4T2JqZWN0LmdldEtleSh7fSk7CiAgICAgICAgIHRlc3RGYWls
ZWQoIk5vIGV4Y2VwdGlvbiB0aHJvd24iKTsKICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgIHRl
c3RQYXNzZWQoIkNhdWdodCBleGNlcHRpb246ICIgKyBlLnRvU3RyaW5nKCkpOwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtYXJyYXktZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtYXJyYXktZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmU2ZTQxZDRkYzkyOGMyZTQ3OGZlYzI4NDI4YjY5OTVhNmQxNDMx
MjgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXkt
dHlwZS1hcnJheS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyNjIgQEAKK1Rlc3QgSW5kZXhlZERC
IGtleSB0eXBlcworCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1Mi
IG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworaW5kZXhlZERCID0g
d2luZG93LmluZGV4ZWREQiB8fCB3aW5kb3cud2Via2l0SW5kZXhlZERCIHx8IHdpbmRvdy5tb3pJ
bmRleGVkREI7CitQQVNTIGluZGV4ZWREQiA9PSBudWxsIGlzIGZhbHNlCitJREJUcmFuc2FjdGlv
biA9IHdpbmRvdy5JREJUcmFuc2FjdGlvbiB8fCB3aW5kb3cud2Via2l0SURCVHJhbnNhY3Rpb247
CitQQVNTIElEQlRyYW5zYWN0aW9uID09IG51bGwgaXMgZmFsc2UKK0lEQkRhdGFiYXNlRXhjZXB0
aW9uID0gd2luZG93LklEQkRhdGFiYXNlRXhjZXB0aW9uIHx8IHdpbmRvdy53ZWJraXRJREJEYXRh
YmFzZUV4Y2VwdGlvbjsKK1BBU1MgSURCRGF0YWJhc2VFeGNlcHRpb24gPT0gbnVsbCBpcyBmYWxz
ZQoraW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pCitkYiA9IG9wZW5yZXEucmVzdWx0
CityZXF1ZXN0ID0gZGIuc2V0VmVyc2lvbignMScpCitwcmVwYXJpbmcgZGF0YWJhc2UKK0RlbGV0
ZWQgYWxsIG9iamVjdCBzdG9yZXMuCitkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnKTsKKwor
dHJhbnMgPSBkYi50cmFuc2FjdGlvbignc3RvcmUnLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRF
KQorc3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmUnKQorCitsb25nX2FycmF5ID0gW107
IGZvciAoaSA9IDA7IGkgPCAxMDAwOyArK2kpIHsgbG9uZ19hcnJheS5wdXNoKCdhYmMnLCAxMjMs
IG5ldyBEYXRlKDApLCBbXSk7IH0KKworYXJyYXkgdGhhdCBjb250YWlucyBub24tbnVtZXJpYyBz
ZWxmLXJlZmVyZW5jZQorc2VsZl9yZWZlcnJlbnRpYWxfYXJyYXkgPSBbXTsgc2VsZl9yZWZlcnJl
bnRpYWxfYXJyYXkuc2VsZiA9IHNlbGZfcmVmZXJyZW50aWFsX2FycmF5OworCit0ZXN0aW5nIGFy
cmF5IGtleTogW10KK3N0b3JlLnB1dCgndmFsdWUxJywgW10pOworc3RvcmUuZ2V0KFtdKTsKK1BB
U1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUxIgorCit0ZXN0aW5nIGFycmF5IGtleTogWy1JbmZp
bml0eV0KK3N0b3JlLnB1dCgndmFsdWUyJywgWy1JbmZpbml0eV0pOworc3RvcmUuZ2V0KFstSW5m
aW5pdHldKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUyIgorCit0ZXN0aW5nIGFycmF5
IGtleTogWy1OdW1iZXIuTUFYX1ZBTFVFXQorc3RvcmUucHV0KCd2YWx1ZTMnLCBbLU51bWJlci5N
QVhfVkFMVUVdKTsKK3N0b3JlLmdldChbLU51bWJlci5NQVhfVkFMVUVdKTsKK1BBU1MgZ2V0cmVx
LnJlc3VsdCBpcyAidmFsdWUzIgorCit0ZXN0aW5nIGFycmF5IGtleTogWy0xXQorc3RvcmUucHV0
KCd2YWx1ZTQnLCBbLTFdKTsKK3N0b3JlLmdldChbLTFdKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBp
cyAidmFsdWU0IgorCit0ZXN0aW5nIGFycmF5IGtleTogWy1OdW1iZXIuTUlOX1ZBTFVFXQorc3Rv
cmUucHV0KCd2YWx1ZTUnLCBbLU51bWJlci5NSU5fVkFMVUVdKTsKK3N0b3JlLmdldChbLU51bWJl
ci5NSU5fVkFMVUVdKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWU1IgorCit0ZXN0aW5n
IGFycmF5IGtleTogWzBdCitzdG9yZS5wdXQoJ3ZhbHVlNicsIFswXSk7CitzdG9yZS5nZXQoWzBd
KTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWU2IgorCit0ZXN0aW5nIGFycmF5IGtleTog
W051bWJlci5NSU5fVkFMVUVdCitzdG9yZS5wdXQoJ3ZhbHVlNycsIFtOdW1iZXIuTUlOX1ZBTFVF
XSk7CitzdG9yZS5nZXQoW051bWJlci5NSU5fVkFMVUVdKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBp
cyAidmFsdWU3IgorCit0ZXN0aW5nIGFycmF5IGtleTogWzFdCitzdG9yZS5wdXQoJ3ZhbHVlOCcs
IFsxXSk7CitzdG9yZS5nZXQoWzFdKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWU4Igor
Cit0ZXN0aW5nIGFycmF5IGtleTogW051bWJlci5NQVhfVkFMVUVdCitzdG9yZS5wdXQoJ3ZhbHVl
OScsIFtOdW1iZXIuTUFYX1ZBTFVFXSk7CitzdG9yZS5nZXQoW051bWJlci5NQVhfVkFMVUVdKTsK
K1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWU5IgorCit0ZXN0aW5nIGFycmF5IGtleTogW0lu
ZmluaXR5XQorc3RvcmUucHV0KCd2YWx1ZTEwJywgW0luZmluaXR5XSk7CitzdG9yZS5nZXQoW0lu
ZmluaXR5XSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMTAiCisKK3Rlc3RpbmcgYXJy
YXkga2V5OiBbMSwyLDNdCitzdG9yZS5wdXQoJ3ZhbHVlMTEnLCBbMSwyLDNdKTsKK3N0b3JlLmdl
dChbMSwyLDNdKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUxMSIKKwordGVzdGluZyBh
cnJheSBrZXk6IFtuZXcgRGF0ZSgwKV0KK3N0b3JlLnB1dCgndmFsdWUxMicsIFtuZXcgRGF0ZSgw
KV0pOworc3RvcmUuZ2V0KFtuZXcgRGF0ZSgwKV0pOworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2
YWx1ZTEyIgorCit0ZXN0aW5nIGFycmF5IGtleTogW25ldyBEYXRlKCcyNTI1LTAxLTAxVDAwOjAw
OjAwWicpXQorc3RvcmUucHV0KCd2YWx1ZTEzJywgW25ldyBEYXRlKCcyNTI1LTAxLTAxVDAwOjAw
OjAwWicpXSk7CitzdG9yZS5nZXQoW25ldyBEYXRlKCcyNTI1LTAxLTAxVDAwOjAwOjAwWicpXSk7
CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMTMiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBb
bmV3IERhdGUoMCksIG5ldyBEYXRlKCcyNTI1LTAxLTAxVDAwOjAwOjAwWicpXQorc3RvcmUucHV0
KCd2YWx1ZTE0JywgW25ldyBEYXRlKDApLCBuZXcgRGF0ZSgnMjUyNS0wMS0wMVQwMDowMDowMFon
KV0pOworc3RvcmUuZ2V0KFtuZXcgRGF0ZSgwKSwgbmV3IERhdGUoJzI1MjUtMDEtMDFUMDA6MDA6
MDBaJyldKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUxNCIKKwordGVzdGluZyBhcnJh
eSBrZXk6IFsnJ10KK3N0b3JlLnB1dCgndmFsdWUxNScsIFsnJ10pOworc3RvcmUuZ2V0KFsnJ10p
OworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTE1IgorCit0ZXN0aW5nIGFycmF5IGtleTog
WycnXQorc3RvcmUucHV0KCd2YWx1ZTE2JywgWycnXSk7CitzdG9yZS5nZXQoWycnXSk7CitQQVNT
IGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMTYiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbJ2FiYzEy
MyddCitzdG9yZS5wdXQoJ3ZhbHVlMTcnLCBbJ2FiYzEyMyddKTsKK3N0b3JlLmdldChbJ2FiYzEy
MyddKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUxNyIKKwordGVzdGluZyBhcnJheSBr
ZXk6IFsnYWJjJywgMTIzXQorc3RvcmUucHV0KCd2YWx1ZTE4JywgWydhYmMnLCAxMjNdKTsKK3N0
b3JlLmdldChbJ2FiYycsIDEyM10pOworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTE4Igor
Cit0ZXN0aW5nIGFycmF5IGtleTogW1tdXQorc3RvcmUucHV0KCd2YWx1ZTE5JywgW1tdXSk7Citz
dG9yZS5nZXQoW1tdXSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMTkiCisKK3Rlc3Rp
bmcgYXJyYXkga2V5OiBbW10sIFtdXQorc3RvcmUucHV0KCd2YWx1ZTIwJywgW1tdLCBbXV0pOwor
c3RvcmUuZ2V0KFtbXSwgW11dKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUyMCIKKwor
dGVzdGluZyBhcnJheSBrZXk6IFtbXSwgW10sIFtdXQorc3RvcmUucHV0KCd2YWx1ZTIxJywgW1td
LCBbXSwgW11dKTsKK3N0b3JlLmdldChbW10sIFtdLCBbXV0pOworUEFTUyBnZXRyZXEucmVzdWx0
IGlzICJ2YWx1ZTIxIgorCit0ZXN0aW5nIGFycmF5IGtleTogW1tbXV1dCitzdG9yZS5wdXQoJ3Zh
bHVlMjInLCBbW1tdXV0pOworc3RvcmUuZ2V0KFtbW11dXSk7CitQQVNTIGdldHJlcS5yZXN1bHQg
aXMgInZhbHVlMjIiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbW1tbXV1dXQorc3RvcmUucHV0KCd2
YWx1ZTIzJywgW1tbW11dXV0pOworc3RvcmUuZ2V0KFtbW1tdXV1dKTsKK1BBU1MgZ2V0cmVxLnJl
c3VsdCBpcyAidmFsdWUyMyIKKwordGVzdGluZyBhcnJheSBrZXk6IFsxMjMsICdhYmMnLCBuZXcg
RGF0ZSgwKSwgW11dCitzdG9yZS5wdXQoJ3ZhbHVlMjQnLCBbMTIzLCAnYWJjJywgbmV3IERhdGUo
MCksIFtdXSk7CitzdG9yZS5nZXQoWzEyMywgJ2FiYycsIG5ldyBEYXRlKDApLCBbXV0pOworUEFT
UyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTI0IgorCit0ZXN0aW5nIGFycmF5IGtleTogW1sxMjMs
ICdhYmMnLCBuZXcgRGF0ZSgwKSwgW11dLCBbNDU2LCAnZGVmJywgbmV3IERhdGUoOTk5KSwgW1td
XV1dCitzdG9yZS5wdXQoJ3ZhbHVlMjUnLCBbWzEyMywgJ2FiYycsIG5ldyBEYXRlKDApLCBbXV0s
IFs0NTYsICdkZWYnLCBuZXcgRGF0ZSg5OTkpLCBbW11dXV0pOworc3RvcmUuZ2V0KFtbMTIzLCAn
YWJjJywgbmV3IERhdGUoMCksIFtdXSwgWzQ1NiwgJ2RlZicsIG5ldyBEYXRlKDk5OSksIFtbXV1d
XSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMjUiCisKK3Rlc3RpbmcgYXJyYXkga2V5
OiBsb25nX2FycmF5CitzdG9yZS5wdXQoJ3ZhbHVlMjYnLCBsb25nX2FycmF5KTsKK3N0b3JlLmdl
dChsb25nX2FycmF5KTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUyNiIKKwordGVzdGlu
ZyBhcnJheSBrZXk6IHNlbGZfcmVmZXJyZW50aWFsX2FycmF5CitzdG9yZS5wdXQoJ3ZhbHVlMjcn
LCBzZWxmX3JlZmVycmVudGlhbF9hcnJheSk7CitzdG9yZS5nZXQoc2VsZl9yZWZlcnJlbnRpYWxf
YXJyYXkpOworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTI3IgorCit0cmFucyA9IGRiLnRy
YW5zYWN0aW9uKCdzdG9yZScsIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCitzdG9yZSA9IHRy
YW5zLm9iamVjdFN0b3JlKCdzdG9yZScpCisKK2FycmF5IHRoYXQgY29udGFpbnMgaXRzZWxmOiBh
cnJheSA9IFsgYXJyYXkgXQorY3ljbGljX2FycmF5ID0gW107IGN5Y2xpY19hcnJheS5wdXNoKGN5
Y2xpY19hcnJheSkKK1BBU1MgSlNPTi5zdHJpbmdpZnkoY3ljbGljX2FycmF5KSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBDb252ZXJ0aW5nIGNpcmN1bGFyIHN0cnVjdHVyZSB0byBKU09OLgor
YXJyYXkgdGhhdCBjb250YWlucyBpdHNlbGYsIG9uZSBsZXZlbCBkb3duOiBhcnJheSA9IFsgWyBh
cnJheSBdIF0KK2N5Y2xpY19hcnJheTIgPSBbXTsgY3ljbGljX2FycmF5Mi5wdXNoKFtjeWNsaWNf
YXJyYXkyXSkKK1BBU1MgSlNPTi5zdHJpbmdpZnkoY3ljbGljX2FycmF5MikgdGhyZXcgZXhjZXB0
aW9uIFR5cGVFcnJvcjogQ29udmVydGluZyBjaXJjdWxhciBzdHJ1Y3R1cmUgdG8gSlNPTi4KK2Fy
cmF5IHRoYXQgY29udGFpbnMgaXRzZWxmLCBub3QgYXMgZmlyc3QgZWxlbWVudDogYXJyYXkgPSBb
MSwgJ2InLCBbXSwgYXJyYXldCitjeWNsaWNfYXJyYXkzID0gWzEsICdiJywgW11dOyBjeWNsaWNf
YXJyYXkzLnB1c2goY3ljbGljX2FycmF5MykKK1BBU1MgSlNPTi5zdHJpbmdpZnkoY3ljbGljX2Fy
cmF5MykgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQ29udmVydGluZyBjaXJjdWxhciBzdHJ1
Y3R1cmUgdG8gSlNPTi4KKworYXJyYXkgdGhhdCBjb250YWlucyBhcnJheSB0aGF0IGNvbnRhaW5z
IGl0c2VsZgorY3ljbGljX2FycmF5NCA9IFtjeWNsaWNfYXJyYXldOworUEFTUyBKU09OLnN0cmlu
Z2lmeShjeWNsaWNfYXJyYXk0KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBDb252ZXJ0aW5n
IGNpcmN1bGFyIHN0cnVjdHVyZSB0byBKU09OLgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5
OiBbIHZvaWQgMCBdCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScs
IFsgdm9pZCAwIF0pOworUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJ
REJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5
OiBbIHRydWUgXQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBb
IHRydWUgXSk7CitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRh
dGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCisKK3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IFsg
ZmFsc2UgXQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIGZh
bHNlIF0pOworUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRh
YmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIE5h
TiBdCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIFsgTmFOIF0p
OworUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4
Y2VwdGlvbi5EQVRBX0VSUgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIG51bGwgXQor
RXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIG51bGwgXSk7CitQ
QVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0
aW9uLkRBVEFfRVJSCisKK3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IFsge30gXQorRXhwZWN0
aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIHt9IF0pOworUEFTUyBFeGNl
cHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRB
X0VSUgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIGZ1bmN0aW9uICgpIHt9IF0KK0V4
cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyBmdW5jdGlvbiAoKSB7
fSBdKTsKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJh
c2VFeGNlcHRpb24uREFUQV9FUlIKKwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogWyAvcmVn
ZXgvIF0KK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyAvcmVn
ZXgvIF0pOworUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRh
YmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIHdp
bmRvdyBdCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIFsgd2lu
ZG93IF0pOworUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRh
YmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIHdp
bmRvdy5kb2N1bWVudCBdCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1
ZScsIFsgd2luZG93LmRvY3VtZW50IF0pOworUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BB
U1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgorCit0ZXN0aW5nIGludmFs
aWQgYXJyYXkga2V5OiBbIHdpbmRvdy5kb2N1bWVudC5ib2R5IF0KK0V4cGVjdGluZyBleGNlcHRp
b24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyB3aW5kb3cuZG9jdW1lbnQuYm9keSBdKTsKK1BB
U1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRp
b24uREFUQV9FUlIKKwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogY3ljbGljX2FycmF5CitF
eHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIGN5Y2xpY19hcnJheSk7
CitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhj
ZXB0aW9uLkRBVEFfRVJSCisKK3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IGN5Y2xpY19hcnJh
eTIKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgY3ljbGljX2Fy
cmF5Mik7CitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFi
YXNlRXhjZXB0aW9uLkRBVEFfRVJSCisKK3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IGN5Y2xp
Y19hcnJheTMKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgY3lj
bGljX2FycmF5Myk7CitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElE
QkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCisKK3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6
IGN5Y2xpY19hcnJheTQKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVl
JywgY3ljbGljX2FycmF5NCk7CitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2Rl
IGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCisKK3Rlc3RpbmcgaW52YWxpZCBhcnJh
eSBrZXk6IEFycmF5KDEwMDApCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2
YWx1ZScsIEFycmF5KDEwMDApKTsKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNv
ZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKKworUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5Lmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9rZXktdHlwZS1hcnJheS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkzZjg5MDRhMGU4
Yzk1ZWM2ZWZiMDI5YjAwZjAyNDZkNjMzZDIwYzAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktdHlwZS1hcnJheS5odG1sCkBAIC0wLDAgKzEsMTkz
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hl
ZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYXJlZC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9k
aXY+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiVGVzdCBJbmRleGVkREIga2V5IHR5cGVzIik7
CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9s
bGVyLndhaXRVbnRpbERvbmUoKTsKKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgZXZhbEFuZExv
ZygiaW5kZXhlZERCID0gd2luZG93LmluZGV4ZWREQiB8fCB3aW5kb3cud2Via2l0SW5kZXhlZERC
IHx8IHdpbmRvdy5tb3pJbmRleGVkREI7Iik7CisgICAgc2hvdWxkQmVGYWxzZSgiaW5kZXhlZERC
ID09IG51bGwiKTsKKworICAgIGV2YWxBbmRMb2coIklEQlRyYW5zYWN0aW9uID0gd2luZG93LklE
QlRyYW5zYWN0aW9uIHx8IHdpbmRvdy53ZWJraXRJREJUcmFuc2FjdGlvbjsiKTsKKyAgICBzaG91
bGRCZUZhbHNlKCJJREJUcmFuc2FjdGlvbiA9PSBudWxsIik7CisKKyAgICBldmFsQW5kTG9nKCJJ
REJEYXRhYmFzZUV4Y2VwdGlvbiA9IHdpbmRvdy5JREJEYXRhYmFzZUV4Y2VwdGlvbiB8fCB3aW5k
b3cud2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb247Iik7CisgICAgc2hvdWxkQmVGYWxzZSgiSURC
RGF0YWJhc2VFeGNlcHRpb24gPT0gbnVsbCIpOworCisKKyAgICBuYW1lID0gd2luZG93LmxvY2F0
aW9uLnBhdGhuYW1lOworICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2UiOworICAg
IG9wZW5yZXEgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlwdGlvbiki
KTsKKyAgICBvcGVucmVxLm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOworICAgIG9wZW5yZXEub25l
cnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworfQorCitmdW5jdGlvbiBvcGVuU3VjY2Vz
cygpCit7CisgICAgZXZhbEFuZExvZygiZGIgPSBvcGVucmVxLnJlc3VsdCIpOworICAgIHNldHZl
cnJlcSA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcxJykiKTsKKyAgICBz
ZXR2ZXJyZXEub25zdWNjZXNzID0gc2V0VmVyc2lvblN1Y2Nlc3M7CisgICAgc2V0dmVycmVxLm9u
ZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKK30KKworZnVuY3Rpb24gc2V0VmVyc2lv
blN1Y2Nlc3MoKQoreworICAgIGRlYnVnKCJwcmVwYXJpbmcgZGF0YWJhc2UiKTsKKyAgICB0cmFu
cyA9IHNldHZlcnJlcS5yZXN1bHQ7CisgICAgdHJhbnMub25jb21wbGV0ZSA9IHRlc3RWYWxpZEFy
cmF5S2V5czsKKyAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIpOworICAgIG9iamVjdFN0b3Jl
ID0gZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJyk7Iik7CisgICAgZGVi
dWcoIiIpOworfQorCitmdW5jdGlvbiB0ZXN0VmFsaWRBcnJheUtleXMoKQoreworICAgIGV2YWxB
bmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJywgSURCVHJhbnNhY3Rpb24uUkVB
RF9XUklURSkiKTsKKyAgICBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdz
dG9yZScpIik7CisgICAgZGVidWcoIiIpOworCisgICAgZXZhbEFuZExvZygibG9uZ19hcnJheSA9
IFtdOyBmb3IgKGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7IGxvbmdfYXJyYXkucHVzaCgnYWJjJywg
MTIzLCBuZXcgRGF0ZSgwKSwgW10pOyB9Iik7CisgICAgZGVidWcoIiIpOworCisgICAgZGVidWco
ImFycmF5IHRoYXQgY29udGFpbnMgbm9uLW51bWVyaWMgc2VsZi1yZWZlcmVuY2UiKTsKKyAgICBl
dmFsQW5kTG9nKCJzZWxmX3JlZmVycmVudGlhbF9hcnJheSA9IFtdOyBzZWxmX3JlZmVycmVudGlh
bF9hcnJheS5zZWxmID0gc2VsZl9yZWZlcnJlbnRpYWxfYXJyYXk7Iik7CisgICAgZGVidWcoIiIp
OworCisgICAgdmFyIG4gPSAwLCBjYXNlcyA9IFsKKyAgICAgICAgIltdIiwKKworICAgICAgICAi
Wy1JbmZpbml0eV0iLAorICAgICAgICAiWy1OdW1iZXIuTUFYX1ZBTFVFXSIsCisgICAgICAgICJb
LTFdIiwKKyAgICAgICAgIlstTnVtYmVyLk1JTl9WQUxVRV0iLAorICAgICAgICAiWzBdIiwKKyAg
ICAgICAgIltOdW1iZXIuTUlOX1ZBTFVFXSIsCisgICAgICAgICJbMV0iLAorICAgICAgICAiW051
bWJlci5NQVhfVkFMVUVdIiwKKyAgICAgICAgIltJbmZpbml0eV0iLAorCisgICAgICAgICJbMSwy
LDNdIiwKKworICAgICAgICAiW25ldyBEYXRlKDApXSIsCisgICAgICAgICJbbmV3IERhdGUoJzI1
MjUtMDEtMDFUMDA6MDA6MDBaJyldIiwKKworICAgICAgICAiW25ldyBEYXRlKDApLCBuZXcgRGF0
ZSgnMjUyNS0wMS0wMVQwMDowMDowMFonKV0iLAorCisgICAgICAgICJbJyddIiwKKyAgICAgICAg
IlsnXHgwMCddIiwKKyAgICAgICAgIlsnYWJjMTIzJ10iLAorCisgICAgICAgICJbJ2FiYycsIDEy
M10iLAorCisgICAgICAgICJbW11dIiwKKworICAgICAgICAiW1tdLCBbXV0iLAorICAgICAgICAi
W1tdLCBbXSwgW11dIiwKKworICAgICAgICAiW1tbXV1dIiwKKyAgICAgICAgIltbW1tdXV1dIiwK
KworICAgICAgICAiWzEyMywgJ2FiYycsIG5ldyBEYXRlKDApLCBbXV0iLAorICAgICAgICAiW1sx
MjMsICdhYmMnLCBuZXcgRGF0ZSgwKSwgW11dLCBbNDU2LCAnZGVmJywgbmV3IERhdGUoOTk5KSwg
W1tdXV1dIiwKKworICAgICAgICAibG9uZ19hcnJheSIsCisgICAgICAgICJzZWxmX3JlZmVycmVu
dGlhbF9hcnJheSIKKyAgICBdOworCisgICAgZnVuY3Rpb24gdGVzdEFycmF5UHV0R2V0KHZhbHVl
LCBrZXksIGNhbGxiYWNrKQorICAgIHsKKyAgICAgICAgZGVidWcoInRlc3RpbmcgYXJyYXkga2V5
OiAiICsga2V5KTsKKyAgICAgICAgcHV0cmVxID0gZXZhbEFuZExvZygic3RvcmUucHV0KCciICsg
dmFsdWUgKyAiJywgIiArIGtleSArICIpOyIpOworICAgICAgICBwdXRyZXEub25lcnJvciA9IHVu
ZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgICAgICBwdXRyZXEub25zdWNjZXNzID0gZnVuY3Rp
b24oKSB7CisgICAgICAgICAgICBnZXRyZXEgPSBldmFsQW5kTG9nKCJzdG9yZS5nZXQoIiArIGtl
eSArICIpOyIpOworICAgICAgICAgICAgZ2V0cmVxLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JD
YWxsYmFjazsKKyAgICAgICAgICAgIGdldHJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKKyAg
ICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldHJlcS5yZXN1bHQiLCB2YWx1
ZSk7CisgICAgICAgICAgICAgICAgZGVidWcoIiIpOworICAgICAgICAgICAgICAgIGNhbGxiYWNr
KCk7CisgICAgICAgICAgICB9OworICAgICAgICB9OworICAgIH0KKworICAgIGZ1bmN0aW9uIG5l
eHRUZXN0KCkgeworICAgICAgICB2YXIgdGVzdGNhc2UgPSBjYXNlcy5zaGlmdCgpOworICAgICAg
ICBpZiAodGVzdGNhc2UpIHsKKyAgICAgICAgICAgIHRlc3RBcnJheVB1dEdldCgidmFsdWUiICsg
KCsrbiksIHRlc3RjYXNlLCBuZXh0VGVzdCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBuZXh0
VGVzdCgpOworCisgICAgdHJhbnMub25jb21wbGV0ZSA9IHRlc3RJbnZhbGlkQXJyYXlLZXlzOwor
fQorCisKK2Z1bmN0aW9uIHRlc3RJbnZhbGlkQXJyYXlLZXlzKCkKK3sKKyAgICBldmFsQW5kTG9n
KCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScsIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJ
VEUpIik7CisgICAgZXZhbEFuZExvZygic3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmUn
KSIpOworICAgIGRlYnVnKCIiKTsKKworICAgIGRlYnVnKCJhcnJheSB0aGF0IGNvbnRhaW5zIGl0
c2VsZjogYXJyYXkgPSBbIGFycmF5IF0iKTsKKyAgICBldmFsQW5kTG9nKCJjeWNsaWNfYXJyYXkg
PSBbXTsgY3ljbGljX2FycmF5LnB1c2goY3ljbGljX2FycmF5KSIpOworICAgIHNob3VsZFRocm93
KCJKU09OLnN0cmluZ2lmeShjeWNsaWNfYXJyYXkpIik7CisKKyAgICBkZWJ1ZygiYXJyYXkgdGhh
dCBjb250YWlucyBpdHNlbGYsIG9uZSBsZXZlbCBkb3duOiBhcnJheSA9IFsgWyBhcnJheSBdIF0i
KTsKKyAgICBldmFsQW5kTG9nKCJjeWNsaWNfYXJyYXkyID0gW107IGN5Y2xpY19hcnJheTIucHVz
aChbY3ljbGljX2FycmF5Ml0pIik7CisgICAgc2hvdWxkVGhyb3coIkpTT04uc3RyaW5naWZ5KGN5
Y2xpY19hcnJheTIpIik7CisKKyAgICBkZWJ1ZygiYXJyYXkgdGhhdCBjb250YWlucyBpdHNlbGYs
IG5vdCBhcyBmaXJzdCBlbGVtZW50OiBhcnJheSA9IFsxLCAnYicsIFtdLCBhcnJheV0iKTsKKyAg
ICBldmFsQW5kTG9nKCJjeWNsaWNfYXJyYXkzID0gWzEsICdiJywgW11dOyBjeWNsaWNfYXJyYXkz
LnB1c2goY3ljbGljX2FycmF5MykiKTsKKyAgICBzaG91bGRUaHJvdygiSlNPTi5zdHJpbmdpZnko
Y3ljbGljX2FycmF5MykiKTsKKyAgICBkZWJ1ZygiIik7CisKKyAgICBkZWJ1ZygiYXJyYXkgdGhh
dCBjb250YWlucyBhcnJheSB0aGF0IGNvbnRhaW5zIGl0c2VsZiIpOworICAgIGV2YWxBbmRMb2co
ImN5Y2xpY19hcnJheTQgPSBbY3ljbGljX2FycmF5XTsiKTsKKyAgICBzaG91bGRUaHJvdygiSlNP
Ti5zdHJpbmdpZnkoY3ljbGljX2FycmF5NCkiKTsKKyAgICBkZWJ1ZygiIik7CisKKyAgICB2YXIg
aW52YWxpZEtleXMgPSBbCisgICAgICAgICJbIHZvaWQgMCBdIiwgLy8gdW5kZWZpbmVkCisgICAg
ICAgICJbIHRydWUgXSIsCisgICAgICAgICJbIGZhbHNlIF0iLAorICAgICAgICAiWyBOYU4gXSIs
CisgICAgICAgICJbIG51bGwgXSIsCisgICAgICAgICJbIHt9IF0iLAorICAgICAgICAiWyBmdW5j
dGlvbiAoKSB7fSBdIiwKKyAgICAgICAgIlsgL3JlZ2V4LyBdIiwKKyAgICAgICAgIlsgd2luZG93
IF0iLAorICAgICAgICAiWyB3aW5kb3cuZG9jdW1lbnQgXSIsCisgICAgICAgICJbIHdpbmRvdy5k
b2N1bWVudC5ib2R5IF0iLAorICAgICAgICAiY3ljbGljX2FycmF5IiwKKyAgICAgICAgImN5Y2xp
Y19hcnJheTIiLAorICAgICAgICAiY3ljbGljX2FycmF5MyIsCisgICAgICAgICJjeWNsaWNfYXJy
YXk0IiwKKyAgICAgICAgIkFycmF5KDEwMDApIiAvLyBzcGFyc2UKKyAgICBdOworCisgICAgaW52
YWxpZEtleXMuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7CisgICAgICAgIGRlYnVnKCJ0ZXN0aW5n
IGludmFsaWQgYXJyYXkga2V5OiAiICsga2V5KTsKKyAgICAgICAgZXZhbEFuZEV4cGVjdEV4Y2Vw
dGlvbigic3RvcmUucHV0KCd2YWx1ZScsICIgKyBrZXkgKyAiKTsiLCAiSURCRGF0YWJhc2VFeGNl
cHRpb24uREFUQV9FUlIiKTsKKyAgICAgICAgZGVidWcoIiIpOworICAgIH0pOworCisgICAgZG9u
ZSgpOworfQorCit0ZXN0KCk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5cmFuZ2UtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5cmFuZ2UtZXhwZWN0ZWQudHh0Cmlu
ZGV4IGJkYmYxNWViYzUzYTM1OTQ1Y2U5YTY2MWExOTE1MjljNjRjYzMyNzMuLjQ1NGVjOTNjNTVh
OGZlNDNlODk5YjM5OTU0ZTk4MDk5MDFkNGY5NTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2tleXJhbmdlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9rZXlyYW5nZS1leHBlY3RlZC50eHQKQEAgLTIwNywxNyArMjA3LDE3
IEBAIFBBU1Mga2V5UmFuZ2UubG93ZXIgaXMgJ2FhZicKIFBBU1Mga2V5UmFuZ2UudXBwZXIgaXMg
J2FiZicKIFBBU1Mga2V5UmFuZ2UubG93ZXJPcGVuIGlzIHRydWUKIFBBU1Mga2V5UmFuZ2UudXBw
ZXJPcGVuIGlzIHRydWUKLVBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBvbmx5KFtdKQorUGFz
c2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIG9ubHkoe30pCiBQQVNTIENhdWdodCBleGNlcHRpb246
IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1QYXNzaW5nIGFu
IGludmFsaWQga2V5IGludG8gdXBwZXJCb3VuZChbXSkKK1Bhc3NpbmcgYW4gaW52YWxpZCBrZXkg
aW50byB1cHBlckJvdW5kKHt9KQogUEFTUyBDYXVnaHQgZXhjZXB0aW9uOiBFcnJvcjogREFUQV9F
UlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotUGFzc2luZyBhbiBpbnZhbGlkIGtleSBp
bnRvIGxvd2VyQm91bmQoW10pCitQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gbG93ZXJCb3Vu
ZCh7fSkKIFBBU1MgQ2F1Z2h0IGV4Y2VwdGlvbjogRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0
YWJhc2UgRXhjZXB0aW9uIDUKLVBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBib3VuZChudWxs
LCBbXSkKK1Bhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBib3VuZChudWxsLCB7fSkKIFBBU1Mg
Q2F1Z2h0IGV4Y2VwdGlvbjogRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0
aW9uIDUKLVBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBib3VuZChbXSxudWxsKQorUGFzc2lu
ZyBhbiBpbnZhbGlkIGtleSBpbnRvIGJvdW5kKHt9LG51bGwpCiBQQVNTIENhdWdodCBleGNlcHRp
b246IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1QYXNzaW5n
IGFuIGludmFsaWQga2V5IGludG8gYm91bmQoW10sIFtdKQorUGFzc2luZyBhbiBpbnZhbGlkIGtl
eSBpbnRvIGJvdW5kKHt9LCB7fSkKIFBBU1MgQ2F1Z2h0IGV4Y2VwdGlvbjogRXJyb3I6IERBVEFf
RVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5
cmFuZ2UuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleXJhbmdlLmh0bWwK
aW5kZXggMDMxMTJkMTkxZmU5ZDFjOWU2NTk1ZWY4MjQ4N2M4ZjE5NmY0OGIyMy4uNjc4ZTkyY2Y2
ZGNiZjQwMjBlZjQwZTVkYTU0N2IxNjJiODkyOTRhZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIva2V5cmFuZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9rZXlyYW5nZS5odG1sCkBAIC0xMjYsNDggKzEyNiw0OCBAQCBmdW5jdGlvbiB0
ZXN0KCkKICAgICBjaGVja0JvdW5kS2V5UmFuZ2UoIidhYWYnIiwgIidhYmYnIiwgdHJ1ZSwgdHJ1
ZSk7CiAKICAgICB0cnkgewotICAgICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBp
bnRvIG9ubHkoW10pIik7Ci0gICAgICAgIHdlYmtpdElEQktleVJhbmdlLm9ubHkoW10pOworICAg
ICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIG9ubHkoe30pIik7CisgICAg
ICAgIHdlYmtpdElEQktleVJhbmdlLm9ubHkoe30pOwogICAgICAgICB0ZXN0RmFpbGVkKCJObyBl
eGNlcHRpb24gdGhyb3duIik7CiAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICB0ZXN0UGFzc2Vk
KCJDYXVnaHQgZXhjZXB0aW9uOiAiICsgZS50b1N0cmluZygpKTsKICAgICB9CiAKICAgICB0cnkg
ewotICAgICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIHVwcGVyQm91bmQo
W10pIik7Ci0gICAgICAgIHdlYmtpdElEQktleVJhbmdlLnVwcGVyQm91bmQoW10pOworICAgICAg
ICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIHVwcGVyQm91bmQoe30pIik7Cisg
ICAgICAgIHdlYmtpdElEQktleVJhbmdlLnVwcGVyQm91bmQoe30pOwogICAgICAgICB0ZXN0RmFp
bGVkKCJObyBleGNlcHRpb24gdGhyb3duIik7CiAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICB0
ZXN0UGFzc2VkKCJDYXVnaHQgZXhjZXB0aW9uOiAiICsgZS50b1N0cmluZygpKTsKICAgICB9CiAg
CiAgICAgdHJ5IHsKLSAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBs
b3dlckJvdW5kKFtdKSIpOwotICAgICAgICB3ZWJraXRJREJLZXlSYW5nZS5sb3dlckJvdW5kKFtd
KTsKKyAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBsb3dlckJvdW5k
KHt9KSIpOworICAgICAgICB3ZWJraXRJREJLZXlSYW5nZS5sb3dlckJvdW5kKHt9KTsKICAgICAg
ICAgdGVzdEZhaWxlZCgiTm8gZXhjZXB0aW9uIHRocm93biIpOwogICAgIH0gY2F0Y2ggKGUpIHsK
ICAgICAgICAgdGVzdFBhc3NlZCgiQ2F1Z2h0IGV4Y2VwdGlvbjogIiArIGUudG9TdHJpbmcoKSk7
CiAgICAgfQogCiAgICAgdHJ5IHsKLSAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBr
ZXkgaW50byBib3VuZChudWxsLCBbXSkiKTsKLSAgICAgICAgd2Via2l0SURCS2V5UmFuZ2UuYm91
bmQobnVsbCwgW10pOworICAgICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRv
IGJvdW5kKG51bGwsIHt9KSIpOworICAgICAgICB3ZWJraXRJREJLZXlSYW5nZS5ib3VuZChudWxs
LCB7fSk7CiAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGV4Y2VwdGlvbiB0aHJvd24iKTsKICAgICB9
IGNhdGNoIChlKSB7CiAgICAgICAgIHRlc3RQYXNzZWQoIkNhdWdodCBleGNlcHRpb246ICIgKyBl
LnRvU3RyaW5nKCkpOwogICAgIH0KIAogICAgIHRyeSB7Ci0gICAgICAgIGRlYnVnKCJQYXNzaW5n
IGFuIGludmFsaWQga2V5IGludG8gYm91bmQoW10sbnVsbCkiKTsKLSAgICAgICAgd2Via2l0SURC
S2V5UmFuZ2UuYm91bmQoW10sIG51bGwpOworICAgICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZh
bGlkIGtleSBpbnRvIGJvdW5kKHt9LG51bGwpIik7CisgICAgICAgIHdlYmtpdElEQktleVJhbmdl
LmJvdW5kKHt9LCBudWxsKTsKICAgICAgICAgdGVzdEZhaWxlZCgiTm8gZXhjZXB0aW9uIHRocm93
biIpOwogICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgdGVzdFBhc3NlZCgiQ2F1Z2h0IGV4Y2Vw
dGlvbjogIiArIGUudG9TdHJpbmcoKSk7CiAgICAgfQogCiAgICAgdHJ5IHsKLSAgICAgICAgZGVi
dWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBib3VuZChbXSwgW10pIik7Ci0gICAgICAg
IHdlYmtpdElEQktleVJhbmdlLmJvdW5kKFtdLCBbXSk7CisgICAgICAgIGRlYnVnKCJQYXNzaW5n
IGFuIGludmFsaWQga2V5IGludG8gYm91bmQoe30sIHt9KSIpOworICAgICAgICB3ZWJraXRJREJL
ZXlSYW5nZS5ib3VuZCh7fSwge30pOwogICAgICAgICB0ZXN0RmFpbGVkKCJObyBleGNlcHRpb24g
dGhyb3duIik7CiAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICB0ZXN0UGFzc2VkKCJDYXVnaHQg
ZXhjZXB0aW9uOiAiICsgZS50b1N0cmluZygpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDZlY2M0MzBjMzg1OTRlZWM4YTBhNWI4MDBlYzNlYjc5YmUzODI3MTYuLmQwZDI3OGQ3YzNi
ZjkzYTI0MWU4YjY1OTFhZjExNDc2NDJlZjAxYzMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4
dApAQCAtOTMsMTkgKzkzLDE5IEBAIHJlbW92ZVN1Y2Nlc3MoKToKIFBBU1MgZXZlbnQudGFyZ2V0
LnJlc3VsdCBpcyBudWxsCiBzdG9yZSA9IGV2ZW50LnRhcmdldC5zb3VyY2UKIFBhc3NpbmcgYW4g
aW52YWxpZCBrZXkgaW50byBzdG9yZS5nZXQoKS4KLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBz
dG9yZS5nZXQoW10pCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUuZ2V0KHt9KQogUEFT
UyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyB3ZWJraXRJREJEYXRhYmFzZUV4
Y2VwdGlvbi5EQVRBX0VSUgogUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIHN0b3JlLmRlbGV0
ZSgpLgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLmRlbGV0ZShbXSkKK0V4cGVjdGlu
ZyBleGNlcHRpb24gZnJvbSBzdG9yZS5kZWxldGUoe30pCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhy
b3duLgogUEFTUyBjb2RlIGlzIHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCiBQ
YXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gc3RvcmUuYWRkKCkuCi1FeHBlY3RpbmcgZXhjZXB0
aW9uIGZyb20gc3RvcmUuYWRkKG51bGwsIFtdKQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0
b3JlLmFkZChudWxsLCB7fSkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUg
aXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIFBhc3NpbmcgYW4gaW52YWxp
ZCBrZXkgaW50byBzdG9yZS5wdXQoKS4KLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5w
dXQobnVsbCwgW10pCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KG51bGwsIHt9
KQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyB3ZWJraXRJREJEYXRh
YmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFz
aWNzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNp
Y3MuaHRtbAppbmRleCBiYjE2Yzg5NzU4OTg5ZmRjZjE3NzQ0ZGM1MzUzNTc4OTBlM2U5Y2FkLi45
ZTc3YjcxYTg1NmE1NzUyNzE5MmIxYmUxYzU5NWE4NDM3NThmOWNmIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MuaHRtbApAQCAt
MjQxLDE2ICsyNDEsMTYgQEAgZnVuY3Rpb24gcmVtb3ZlU3VjY2VzcygpCiAgICAgdmFyIHN0b3Jl
ID0gZXZhbEFuZExvZygic3RvcmUgPSBldmVudC50YXJnZXQuc291cmNlIik7CiAKICAgICBkZWJ1
ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIHN0b3JlLmdldCgpLiIpOwotICAgIGV2YWxB
bmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmdldChbXSkiLCAid2Via2l0SURCRGF0YWJhc2VFeGNl
cHRpb24uREFUQV9FUlIiKTsKKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5nZXQo
e30pIiwgIndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSIik7CiAKICAgICBkZWJ1
ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIHN0b3JlLmRlbGV0ZSgpLiIpOwotICAgIGV2
YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmRlbGV0ZShbXSkiLCAid2Via2l0SURCRGF0YWJh
c2VFeGNlcHRpb24uREFUQV9FUlIiKTsKKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9y
ZS5kZWxldGUoe30pIiwgIndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSIik7CiAK
ICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIHN0b3JlLmFkZCgpLiIpOwot
ICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmFkZChudWxsLCBbXSkiLCAid2Via2l0
SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0
aW9uKCJzdG9yZS5hZGQobnVsbCwge30pIiwgIndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLkRB
VEFfRVJSIik7CiAKICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIHN0b3Jl
LnB1dCgpLiIpOwotICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLnB1dChudWxsLCBb
XSkiLCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKKyAgICBldmFsQW5k
RXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5wdXQobnVsbCwge30pIiwgIndlYmtpdElEQkRhdGFiYXNl
RXhjZXB0aW9uLkRBVEFfRVJSIik7CiAKICAgICBkb25lKCk7CiB9CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWN1cnNvci1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWN1cnNvci1leHBlY3RlZC50eHQKaW5kZXgg
NjAyMGUyNTZmN2MzYTI0ODdjYjc1NTYzMmVlNDFmYmEwMTkyMDg5MS4uM2E5ZTIwMjgwM2ZhMDhh
ZjhkMTA3NzQ4YzU0NWQ4MzhiODA3MzZhYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvb3Blbi1jdXJzb3ItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL29wZW4tY3Vyc29yLWV4cGVjdGVkLnR4dApAQCAtMTksNyArMTksNyBA
QCBQQVNTIGV2ZW50LnRhcmdldC5yZXN1bHQuZGlyZWN0aW9uIGlzIDAKIFBBU1MgZXZlbnQudGFy
Z2V0LnJlc3VsdC5rZXkgaXMgJ215S2V5JwogUEFTUyBldmVudC50YXJnZXQucmVzdWx0LnZhbHVl
IGlzICdteVZhbHVlJwogCi1QYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gLmNvbnRpbnVlKCku
CitQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gLmNvbnRpbnVlKHt9KS4KIFBBU1MgQ2F1Z2h0
IGV4Y2VwdGlvbjogRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUK
IAogT3BlbmluZyBhbiBlbXB0eSBjdXJzb3IuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9vcGVuLWN1cnNvci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvb3Blbi1jdXJzb3IuaHRtbAppbmRleCA5MTYwNjMxOGQyM2NjODdmMzA4ZjcyNDZjNGZh
MGNlM2EwYzcwZDQzLi5jYTk5MjI1MWFkNjgzZjQwNjg3NGRjNjU2MGViODM0M2RiZWM3ZWY2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWN1cnNvci5odG1s
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY3Vyc29yLmh0bWwKQEAg
LTM4LDggKzM4LDggQEAgZnVuY3Rpb24gY3Vyc29yU3VjY2VzcygpCiAgICAgc2hvdWxkQmUoImV2
ZW50LnRhcmdldC5yZXN1bHQudmFsdWUiLCAiJ215VmFsdWUnIik7CiAgICAgZGVidWcoIiIpOwog
ICAgIHRyeSB7Ci0gICAgICAgIGRlYnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gLmNv
bnRpbnVlKCkuIik7Ci0gICAgICAgIGV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoW10pOwor
ICAgICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIC5jb250aW51ZSh7fSku
Iik7CisgICAgICAgIGV2ZW50LnRhcmdldC5yZXN1bHQuY29udGludWUoe30pOwogICAgICAgICB0
ZXN0RmFpbGVkKCJObyBleGNlcHRpb24gdGhyb3duIik7CiAgICAgfSBjYXRjaCAoZSkgewogICAg
ICAgICB0ZXN0UGFzc2VkKCJDYXVnaHQgZXhjZXB0aW9uOiAiICsgZS50b1N0cmluZygpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113433</attachid>
            <date>2011-11-02 22:07:48 -0700</date>
            <delta_ts>2011-11-03 13:43:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62284-20111102220747.patch</filename>
            <type>text/plain</type>
            <size>125666</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTg5NjYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5ZWE2ZGEwOTg4ODk0ZDI3
NzZjZGNiNzU1Yjg4MTMwYmJhMTU4YTA3Li5kNTkzMTkzZTBhMDIxYTIyMTA0NzBiODUzZWIzYmQ5
ZTBkYTJkMmFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMTEtMTEtMDIgIEpvc2h1
YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IGltcGxl
bWVudCBjb21wb3VuZCAoYXJyYXkpIGtleSBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MjI4NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IHN0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBl
LWFycmF5Lmh0bWwKKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTSURCS2V5Q3VzdG9tLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L0lEQkJpbmRp
bmdVdGlsaXRpZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5Q3JlYXRvcjo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OklEQktleUNyZWF0b3I6OklEQktleUNyZWF0b3IpOgorICAg
ICAgICAoV2ViQ29yZTo6SURCS2V5Q3JlYXRvcjo6Y3JlYXRlSW50ZXJuYWwpOgorICAgICAgICAo
V2ViQ29yZTo6Y3JlYXRlSURCS2V5RnJvbVZhbHVlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9j
dXN0b20vVjhJREJLZXlDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAg
ICAgICogc3RvcmFnZS9JREJLZXkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5Ojpjb21w
YXJlKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQktleS5oOgorICAgICAgICAoV2ViQ29yZTo6SURC
S2V5OjpjcmVhdGVBcnJheSk6CisgICAgICAgIChXZWJDb3JlOjpJREJLZXk6OnZhbGlkKToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQktleTo6YXJyYXkpOgorICAgICAgICAqIHN0b3JhZ2UvSURCTGV2
ZWxEQkNvZGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJMZXZlbERCQ29kaW5nOjpjb21w
YXJlRW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkxldmVs
REJDb2Rpbmc6OmVuY29kZUlEQktleSk6CisgICAgICAgIChXZWJDb3JlOjpJREJMZXZlbERCQ29k
aW5nOjpkZWNvZGVJREJLZXkpOgorICAgICAgICAoV2ViQ29yZTo6SURCTGV2ZWxEQkNvZGluZzo6
ZXh0cmFjdEVuY29kZWRJREJLZXkpOgorICAgICAgICAoV2ViQ29yZTo6SURCTGV2ZWxEQkNvZGlu
Zzo6Y29kaW5nVG9PcmRlcik6CisgICAgICAgIChXZWJDb3JlOjpJREJMZXZlbERCQ29kaW5nOjpj
b21wYXJlRW5jb2RlZElEQktleXMpOgorICAgICAgICAqIHN0b3JhZ2UvSURCTGV2ZWxEQkNvZGlu
Zy5oOgorCiAyMDExLTExLTAxICBBbmRyZWFzIEtsaW5nICA8a2xpbmdAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBDU1NSdWxlOiBEZXZpcnR1YWxpemUgYWRkU3VicmVzb3VyY2VTdHlsZVVSTHMoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCBlNGIwYjkyZTEzYWEwZTk1MjFiYjI4M2I3Njc3
OGQyNWVlOTc4NDZiLi43OGYwNTJkN2Q1ZmUzMmRhZmRjN2VmZTMwMGUwYjdiMTQ5NDAxNjg2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDExLTExLTAyICBK
b3NodWEgQmVsbCAgPGpzYmVsbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBp
bXBsZW1lbnQgY29tcG91bmQgKGFycmF5KSBrZXkgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyODQKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHB1YmxpYy9XZWJJREJLZXkuaDoKKyAgICAg
ICAgKiBzcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHA6CisgICAgICAgICogc3JjL1dlYklEQktl
eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYklEQktleTo6Y3JlYXRlQXJyYXkpOgorICAgICAg
ICAoV2ViS2l0Ojpjb252ZXJ0RnJvbVdlYklEQktleUFycmF5KToKKyAgICAgICAgKFdlYktpdDo6
Y29udmVydFRvV2ViSURCS2V5QXJyYXkpOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJLZXk6OmFz
c2lnbkFycmF5KToKKyAgICAgICAgKFdlYktpdDo6V2ViSURCS2V5OjphcnJheSk6CisgICAgICAg
ICogdGVzdHMvSURCQmluZGluZ1V0aWxpdGllc1Rlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
VEVTVCk6CisgICAgICAgICogdGVzdHMvSURCTGV2ZWxEQkNvZGluZ1Rlc3QuY3BwOgorICAgICAg
ICAoSURCTGV2ZWxEQkNvZGluZzo6Y3JlYXRlQXJyYXlJREJLZXkpOgorICAgICAgICAoSURCTGV2
ZWxEQkNvZGluZzo6VEVTVCk6CisgICAgICAgIChJREJMZXZlbERCQ29kaW5nOjpjb21wYXJlU3Ry
aW5ncyk6CisKIDIwMTEtMTEtMDEgIFBhdmVsIEZlbGRtYW4gIDxwZmVsZG1hbkBnb29nbGUuY29t
PgogCiAgICAgICAgIE5vdCByZXZpZXdlZDogZml4IGNocm9taXVtIGludGVyYWN0aXZlIHRlc3Rz
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJREJLZXlDdXN0b20u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJREJLZXlDdXN0b20uY3BwCmluZGV4
IDEwMjc4ZjNjY2YxZjRhNjY2ZGQ4NmU5OTkwNzdlZjlkZTgxMmI0OTMuLjYyZmE3Y2JlMThmYzk5
ZjgxNzg5OTc5YjEwMTZiZjdlNGUyNGVlNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTSURCS2V5Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0lEQktleUN1c3RvbS5jcHAKQEAgLTQ4LDYgKzQ4LDcgQEAgSlNWYWx1ZSB0b0pTKEV4
ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxPYmplY3QqLCBJREJLZXkqIGtleSkKICAgICBjYXNl
IElEQktleTo6U3RyaW5nVHlwZToKICAgICAgICAgcmV0dXJuIGpzU3RyaW5nKGV4ZWMsIGtleS0+
c3RyaW5nKCkpOwogICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgZGF0ZXMuCisgICAgLy8gRklYTUU6
IEltcGxlbWVudCBhcnJheXMuCiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9JREJCaW5kaW5nVXRpbGl0aWVz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0lEQkJpbmRpbmdVdGlsaXRpZXMuY3Bw
CmluZGV4IGNiNmFiMGE3ZGNkNWJlYTczNTViMGI5YjE0ZTE1MjE4MmRhY2ZlODkuLjRlOTMyZjE0
NzZiMTIyNmFiZmQyMDYzNzNlYWM1NmYxMzM5MDJhZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L0lEQkJpbmRpbmdVdGlsaXRpZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3Y4L0lEQkJpbmRpbmdVdGlsaXRpZXMuY3BwCkBAIC0xLDUgKzEsNSBAQAog
LyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM4LDE2ICszOCw2MiBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKK2NsYXNzIElEQktleUNyZWF0b3IgeworICBwdWJsaWM6Cisg
ICAgc3RhdGljIFBhc3NSZWZQdHI8SURCS2V5PiBjcmVhdGUodjg6OkhhbmRsZTx2ODo6VmFsdWU+
IHZhbHVlKQorICAgIHsKKyAgICAgICAgSURCS2V5Q3JlYXRvciBjcmVhdG9yOworICAgICAgICBy
ZXR1cm4gY3JlYXRvci5jcmVhdGVJbnRlcm5hbCh2YWx1ZSk7CisgICAgfQorCisgIHByaXZhdGU6
CisgICAgSURCS2V5Q3JlYXRvcigpCisgICAgeworICAgIH0KKworICAgIElEQktleUNyZWF0b3Io
Y29uc3QgSURCS2V5Q3JlYXRvciYpOworICAgIElEQktleUNyZWF0b3ImIG9wZXJhdG9yPShjb25z
dCBJREJLZXlDcmVhdG9yJik7CisKKyAgICBQYXNzUmVmUHRyPElEQktleT4gY3JlYXRlSW50ZXJu
YWwodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlKQorICAgIHsKKyAgICAgICAgaWYgKHZhbHVl
LT5Jc051bWJlcigpICYmICFpc25hbih2YWx1ZS0+TnVtYmVyVmFsdWUoKSkpCisgICAgICAgICAg
ICByZXR1cm4gSURCS2V5OjpjcmVhdGVOdW1iZXIodmFsdWUtPk51bWJlclZhbHVlKCkpOworICAg
ICAgICBpZiAodmFsdWUtPklzU3RyaW5nKCkpCisgICAgICAgICAgICByZXR1cm4gSURCS2V5Ojpj
cmVhdGVTdHJpbmcodjhWYWx1ZVRvV2ViQ29yZVN0cmluZyh2YWx1ZSkpOworICAgICAgICBpZiAo
dmFsdWUtPklzRGF0ZSgpKQorICAgICAgICAgICAgcmV0dXJuIElEQktleTo6Y3JlYXRlRGF0ZSh2
YWx1ZS0+TnVtYmVyVmFsdWUoKSk7CisgICAgICAgIGlmICh2YWx1ZS0+SXNBcnJheSgpKSB7Cisg
ICAgICAgICAgICB2ODo6SGFuZGxlPHY4OjpBcnJheT4gYXJyYXkgPSB2ODo6SGFuZGxlPHY4OjpB
cnJheT46OkNhc3QodmFsdWUpOworCisgICAgICAgICAgICBpZiAobV9zdGFjay5jb250YWlucyhh
cnJheSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIElEQktleTo6Y3JlYXRlSW52YWxpZCgpOwor
ICAgICAgICAgICAgbV9zdGFjay5hcHBlbmQoYXJyYXkpOworCisgICAgICAgICAgICBJREJLZXk6
OktleUFycmF5IHN1YmtleXM7CisgICAgICAgICAgICB1aW50MzJfdCBsZW5ndGggPSBhcnJheS0+
TGVuZ3RoKCk7CisgICAgICAgICAgICBmb3IgKHVpbnQzMl90IGkgPSAwOyBpIDwgbGVuZ3RoOyBp
KyspIHsKKyAgICAgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiBzdWJ2YWx1ZSA9IGFy
cmF5LT5HZXQodjg6OkludDMyOjpOZXcoaSkpOworICAgICAgICAgICAgICAgIFJlZlB0cjxJREJL
ZXk+IHN1YmtleSA9IGNyZWF0ZUludGVybmFsKHN1YnZhbHVlKTsKKyAgICAgICAgICAgICAgICBp
ZiAoIXN1YmtleSkgeworICAgICAgICAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIElEQktleTo6Y3JlYXRlSW52YWxpZCgpOworICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBpZiAoIXN1YmtleS0+dmFsaWQoKSkKKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIHN1YmtleTsKKyAgICAgICAgICAgICAgICBzdWJrZXlz
LmFwcGVuZChzdWJrZXkpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgbV9zdGFjay5yZW1v
dmVMYXN0KCk7CisgICAgICAgICAgICByZXR1cm4gSURCS2V5OjpjcmVhdGVBcnJheShzdWJrZXlz
KTsKKyAgICAgICAgfQorICAgICAgICByZXR1cm4gSURCS2V5OjpjcmVhdGVJbnZhbGlkKCk7Cisg
ICAgfQorCisgICAgVmVjdG9yPHY4OjpIYW5kbGU8djg6OkFycmF5PiA+IG1fc3RhY2s7Cit9Owor
CiBQYXNzUmVmUHRyPElEQktleT4gY3JlYXRlSURCS2V5RnJvbVZhbHVlKHY4OjpIYW5kbGU8djg6
OlZhbHVlPiB2YWx1ZSkKIHsKLSAgICBpZiAodmFsdWUtPklzTnVtYmVyKCkgJiYgIWlzbmFuKHZh
bHVlLT5OdW1iZXJWYWx1ZSgpKSkKLSAgICAgICAgcmV0dXJuIElEQktleTo6Y3JlYXRlTnVtYmVy
KHZhbHVlLT5OdW1iZXJWYWx1ZSgpKTsKLSAgICBpZiAodmFsdWUtPklzU3RyaW5nKCkpCi0gICAg
ICAgIHJldHVybiBJREJLZXk6OmNyZWF0ZVN0cmluZyh2OFZhbHVlVG9XZWJDb3JlU3RyaW5nKHZh
bHVlKSk7Ci0gICAgaWYgKHZhbHVlLT5Jc0RhdGUoKSkKLSAgICAgICAgcmV0dXJuIElEQktleTo6
Y3JlYXRlRGF0ZSh2YWx1ZS0+TnVtYmVyVmFsdWUoKSk7Ci0KLSAgICByZXR1cm4gSURCS2V5Ojpj
cmVhdGVJbnZhbGlkKCk7CisgICAgcmV0dXJuIElEQktleUNyZWF0b3I6OmNyZWF0ZSh2YWx1ZSk7
CiB9CiAKIG5hbWVzcGFjZSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhJREJLZXlDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4SURCS2V5Q3VzdG9tLmNwcAppbmRleCAzYjRlZGE4NzdlYWY3YWUzNWU2YjFjZGVk
YmEyZmExNzkzM2I1ZGRlLi45ZTEzMGUxNmQ3OTE4MjJjMzk3NTYxZmFhNjk0OWFjNDA1MWU4M2Vi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJREJLZXlD
dXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOElEQktl
eUN1c3RvbS5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdv
b2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucyBhcmUKQEAgLTM0LDYgKzM0LDggQEAKICNpbmNsdWRlICJJREJLZXkuaCIKICNpbmNsdWRl
ICJWOEJpbmRpbmcuaCIKIAorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKwogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChJREJLZXkqIGtleSkKQEAgLTQx
LDggKzQzLDExIEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KElEQktleSoga2V5KQogICAg
IGlmICgha2V5KQogICAgICAgICByZXR1cm4gdjg6Ok51bGwoKTsKIAorICAgIHY4OjpMb2NhbDx2
ODo6QXJyYXk+IGFycmF5OworCiAgICAgc3dpdGNoIChrZXktPnR5cGUoKSkgewogICAgIGNhc2Ug
SURCS2V5OjpJbnZhbGlkVHlwZToKKyAgICBjYXNlIElEQktleTo6TWluVHlwZToKICAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiAg
ICAgY2FzZSBJREJLZXk6Ok51bWJlclR5cGU6CkBAIC01MSw2ICs1NiwxMSBAQCB2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gdG9WOChJREJLZXkqIGtleSkKICAgICAgICAgcmV0dXJuIHY4U3RyaW5nKGtl
eS0+c3RyaW5nKCkpOwogICAgIGNhc2UgSURCS2V5OjpEYXRlVHlwZToKICAgICAgICAgcmV0dXJu
IHY4OjpEYXRlOjpOZXcoa2V5LT5kYXRlKCkpOworICAgIGNhc2UgSURCS2V5OjpBcnJheVR5cGU6
CisgICAgICAgIGFycmF5ID0gdjg6OkFycmF5OjpOZXcoa2V5LT5hcnJheSgpLnNpemUoKSk7Cisg
ICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwga2V5LT5hcnJheSgpLnNpemUoKTsgKytpKQor
ICAgICAgICAgICAgYXJyYXktPlNldChpLCB0b1Y4KGtleS0+YXJyYXkoKVtpXS5nZXQoKSkpOwor
ICAgICAgICByZXR1cm4gYXJyYXk7CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQktleS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9zdG9yYWdlL0lEQktleS5jcHAKaW5kZXggNWU1MjZjZTIyMzliOThkMzg2ZmE4NzJi
MjA3YTliMGUzYzA5ZTllZS4uZTkyOTdkNjQwYWZkZWExNjdiOWI3ZDkwODQ2ZGQwOWQxOGQxMjY2
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJLZXkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5LmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBD
b3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00Niw2ICs0NiwxNiBAQCBpbnQgSURCS2V5Ojpj
b21wYXJlKGNvbnN0IElEQktleSogb3RoZXIpIGNvbnN0CiAgICAgICAgIHJldHVybiBtX3R5cGUg
PiBvdGhlci0+bV90eXBlID8gLTEgOiAxOwogCiAgICAgc3dpdGNoIChtX3R5cGUpIHsKKyAgICBj
YXNlIEFycmF5VHlwZToKKyAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2FycmF5LnNp
emUoKSAmJiBpIDwgb3RoZXItPm1fYXJyYXkuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgICAgIGlm
IChpbnQgcmVzdWx0ID0gbV9hcnJheVtpXS0+Y29tcGFyZShvdGhlci0+bV9hcnJheVtpXS5nZXQo
KSkpCisgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICAgICAgfQorICAgICAgICBp
ZiAobV9hcnJheS5zaXplKCkgPCBvdGhlci0+bV9hcnJheS5zaXplKCkpCisgICAgICAgICAgICBy
ZXR1cm4gLTE7CisgICAgICAgIGlmIChtX2FycmF5LnNpemUoKSA+IG90aGVyLT5tX2FycmF5LnNp
emUoKSkKKyAgICAgICAgICAgIHJldHVybiAxOworICAgICAgICByZXR1cm4gMDsKICAgICBjYXNl
IFN0cmluZ1R5cGU6CiAgICAgICAgIHJldHVybiAtY29kZVBvaW50Q29tcGFyZShvdGhlci0+bV9z
dHJpbmcsIG1fc3RyaW5nKTsKICAgICBjYXNlIERhdGVUeXBlOgpAQCAtNTUsNiArNjUsNyBAQCBp
bnQgSURCS2V5Ojpjb21wYXJlKGNvbnN0IElEQktleSogb3RoZXIpIGNvbnN0CiAgICAgICAgIHJl
dHVybiAobV9udW1iZXIgPCBvdGhlci0+bV9udW1iZXIpID8gLTEgOgogICAgICAgICAgICAgICAg
IChtX251bWJlciA+IG90aGVyLT4gbV9udW1iZXIpID8gMSA6IDA7CiAgICAgY2FzZSBJbnZhbGlk
VHlwZToKKyAgICBjYXNlIE1pblR5cGU6CiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
ICAgICAgICByZXR1cm4gMDsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9y
YWdlL0lEQktleS5oIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJLZXkuaAppbmRleCBjOWEx
YjQ3ZGFiYzNhNGYyZTkzMDFiNTdmMDNjZmNmNzhhYWM5MTVkLi5hZTg5ZmEzODRjMDljMWEwOTk1
ZWI1NmVmOTRlYmJiMTAzMGQ3NDk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdl
L0lEQktleS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5LmgKQEAgLTEsNSAr
MSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzEsMTEgKzMxLDE0
IEBACiAjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5o
PgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgSURCS2V5IDogcHVibGljIFRocmVhZFNhZmVS
ZWZDb3VudGVkPElEQktleT4gewogcHVibGljOgorICAgIHR5cGVkZWYgVmVjdG9yPFJlZlB0cjxJ
REJLZXk+ID4gS2V5QXJyYXk7CisKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0
ZUludmFsaWQoKQogICAgIHsKICAgICAgICAgUmVmUHRyPElEQktleT4gaWRiS2V5KG5ldyBJREJL
ZXkoKSk7CkBAIC02NywxNyArNzAsMzQgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gaWRiS2V5
LnJlbGVhc2UoKTsKICAgICB9CiAKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0
ZUFycmF5KGNvbnN0IEtleUFycmF5JiBhcnJheSkKKyAgICB7CisgICAgICAgIFJlZlB0cjxJREJL
ZXk+IGlkYktleShuZXcgSURCS2V5KCkpOworICAgICAgICBpZGJLZXktPm1fdHlwZSA9IEFycmF5
VHlwZTsKKyAgICAgICAgaWRiS2V5LT5tX2FycmF5ID0gYXJyYXk7CisgICAgICAgIHJldHVybiBp
ZGJLZXkucmVsZWFzZSgpOworICAgIH0KKwogICAgIH5JREJLZXkoKTsKIAogICAgIC8vIEluIG9y
ZGVyIG9mIHRoZSBsZWFzdCB0byB0aGUgaGlnaGVzdCBwcmVjZWRlbnQgaW4gdGVybXMgb2Ygc29y
dCBvcmRlci4KICAgICBlbnVtIFR5cGUgewogICAgICAgICBJbnZhbGlkVHlwZSA9IDAsCisgICAg
ICAgIEFycmF5VHlwZSwKICAgICAgICAgU3RyaW5nVHlwZSwKICAgICAgICAgRGF0ZVR5cGUsCi0g
ICAgICAgIE51bWJlclR5cGUKKyAgICAgICAgTnVtYmVyVHlwZSwKKyAgICAgICAgTWluVHlwZQog
ICAgIH07CiAKICAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KKyAgICBi
b29sIHZhbGlkKCkgY29uc3QgeyByZXR1cm4gbV90eXBlICE9IEludmFsaWRUeXBlOyB9CisKKyAg
ICBjb25zdCBLZXlBcnJheSYgYXJyYXkoKSBjb25zdAorICAgIHsKKyAgICAgICAgQVNTRVJUKG1f
dHlwZSA9PSBBcnJheVR5cGUpOworICAgICAgICByZXR1cm4gbV9hcnJheTsKKyAgICB9CiAKICAg
ICBjb25zdCBTdHJpbmcmIHN0cmluZygpIGNvbnN0CiAgICAgewpAQCAtMTA4LDYgKzEyOCw3IEBA
IHByaXZhdGU6CiAgICAgSURCS2V5KCk7CiAKICAgICBUeXBlIG1fdHlwZTsKKyAgICBLZXlBcnJh
eSBtX2FycmF5OwogICAgIFN0cmluZyBtX3N0cmluZzsKICAgICBkb3VibGUgbV9kYXRlOwogICAg
IGRvdWJsZSBtX251bWJlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURC
TGV2ZWxEQkNvZGluZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkxldmVsREJDb2Rp
bmcuY3BwCmluZGV4IDdjYzRhZWQwMGU4YjU0OGRkNGFhZDlhYjQ3YjQzYWExN2FjNDRkNjEuLmQ1
YWYwYzJlZDhiYTE1ZTk0MDc2ZDlhN2QzOGYyNjM3YzM4Mjk0NWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvSURCTGV2ZWxEQkNvZGluZy5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9JREJMZXZlbERCQ29kaW5nLmNwcApAQCAtMTI5LDcgKzEyOSw4IEBAIHN0YXRp
YyBjb25zdCB1bnNpZ25lZCBjaGFyIGtJREJLZXlOdWxsVHlwZUJ5dGUgPSAwOwogc3RhdGljIGNv
bnN0IHVuc2lnbmVkIGNoYXIga0lEQktleVN0cmluZ1R5cGVCeXRlID0gMTsKIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBjaGFyIGtJREJLZXlEYXRlVHlwZUJ5dGUgPSAyOwogc3RhdGljIGNvbnN0IHVu
c2lnbmVkIGNoYXIga0lEQktleU51bWJlclR5cGVCeXRlID0gMzsKLXN0YXRpYyBjb25zdCB1bnNp
Z25lZCBjaGFyIGtJREJLZXlNaW5LZXlUeXBlQnl0ZSA9IDQ7CitzdGF0aWMgY29uc3QgdW5zaWdu
ZWQgY2hhciBrSURCS2V5QXJyYXlUeXBlQnl0ZSA9IDQ7CitzdGF0aWMgY29uc3QgdW5zaWduZWQg
Y2hhciBrSURCS2V5TWluS2V5VHlwZUJ5dGUgPSA1OwogCiBzdGF0aWMgY29uc3QgdW5zaWduZWQg
Y2hhciBrT2JqZWN0U3RvcmVEYXRhSW5kZXhJZCA9IDE7CiBzdGF0aWMgY29uc3QgdW5zaWduZWQg
Y2hhciBrRXhpc3RzRW50cnlJbmRleElkID0gMjsKQEAgLTMwMSw4ICszMDIsOSBAQCBjb25zdCBj
aGFyKiBkZWNvZGVTdHJpbmdXaXRoTGVuZ3RoKGNvbnN0IGNoYXIqIHAsIGNvbnN0IGNoYXIqIGxp
bWl0LCBTdHJpbmcmIGZvdQogICAgIHJldHVybiBwOwogfQogCi1pbnQgY29tcGFyZUVuY29kZWRT
dHJpbmdzV2l0aExlbmd0aChjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFyKiBsaW1pdFAsIGNvbnN0
IGNoYXIqIHEsIGNvbnN0IGNoYXIqIGxpbWl0USkKK2ludCBjb21wYXJlRW5jb2RlZFN0cmluZ3NX
aXRoTGVuZ3RoKGNvbnN0IGNoYXIqJiBwLCBjb25zdCBjaGFyKiBsaW1pdFAsIGNvbnN0IGNoYXIq
JiBxLCBjb25zdCBjaGFyKiBsaW1pdFEpCiB7CisgICAgQVNTRVJUKCZwICE9ICZxKTsKICAgICBB
U1NFUlQobGltaXRQID49IHApOwogICAgIEFTU0VSVChsaW1pdFEgPj0gcSk7CiAgICAgaW50NjRf
dCBsZW5QLCBsZW5ROwpAQCAtMzE0LDggKzMxNiwxMyBAQCBpbnQgY29tcGFyZUVuY29kZWRTdHJp
bmdzV2l0aExlbmd0aChjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFyKiBsaW1pdFAsIGNvbnN0IGNo
YQogICAgIEFTU0VSVChwICsgbGVuUCAqIDIgPD0gbGltaXRQKTsKICAgICBBU1NFUlQocSArIGxl
blEgKiAyIDw9IGxpbWl0USk7CiAKKyAgICBjb25zdCBjaGFyKiBzdGFydFAgPSBwOworICAgIGNv
bnN0IGNoYXIqIHN0YXJ0USA9IHE7CisgICAgcCArPSBsZW5QICogMjsKKyAgICBxICs9IGxlblEg
KiAyOworCiAgICAgY29uc3Qgc2l6ZV90IGxtaW4gPSBzdGF0aWNfY2FzdDxzaXplX3Q+KGxlblAg
PCBsZW5RID8gbGVuUCA6IGxlblEpOwotICAgIGlmIChpbnQgeCA9IG1lbWNtcChwLCBxLCBsbWlu
ICogMikpCisgICAgaWYgKGludCB4ID0gbWVtY21wKHN0YXJ0UCwgc3RhcnRRLCBsbWluICogMikp
CiAgICAgICAgIHJldHVybiB4OwogCiAgICAgaWYgKGxlblAgPT0gbGVuUSkKQEAgLTM0OCwzMSAr
MzU1LDQ5IEBAIGNvbnN0IGNoYXIqIGRlY29kZURvdWJsZShjb25zdCBjaGFyKiBwLCBjb25zdCBj
aGFyKiBsaW1pdCwgZG91YmxlKiBkKQogVmVjdG9yPGNoYXI+IGVuY29kZUlEQktleShjb25zdCBJ
REJLZXkmIGtleSkKIHsKICAgICBWZWN0b3I8Y2hhcj4gcmV0OworICAgIGVuY29kZUlEQktleShr
ZXksIHJldCk7CisgICAgcmV0dXJuIHJldDsKK30KIAordm9pZCBlbmNvZGVJREJLZXkoY29uc3Qg
SURCS2V5JiBrZXksIFZlY3RvcjxjaGFyPiYgaW50bykKK3sKKyAgICBzaXplX3QgcHJldlNpemUg
PSBpbnRvLnNpemUoKTsKKyAgICBzaXplX3QgbGVuOwogICAgIHN3aXRjaCAoa2V5LnR5cGUoKSkg
ewogICAgIGNhc2UgSURCS2V5OjpJbnZhbGlkVHlwZToKKyAgICBjYXNlIElEQktleTo6TWluVHlw
ZToKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiBlbmNvZGVC
eXRlKGtJREJLZXlOdWxsVHlwZUJ5dGUpOworICAgICAgICBpbnRvLmFwcGVuZChlbmNvZGVCeXRl
KGtJREJLZXlOdWxsVHlwZUJ5dGUpKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgSURCS2V5
OjpBcnJheVR5cGU6CisgICAgICAgIGludG8uYXBwZW5kKGVuY29kZUJ5dGUoa0lEQktleUFycmF5
VHlwZUJ5dGUpKTsKKyAgICAgICAgbGVuID0ga2V5LmFycmF5KCkuc2l6ZSgpOworICAgICAgICBp
bnRvLmFwcGVuZChlbmNvZGVWYXJJbnQobGVuKSk7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAw
OyBpIDwgbGVuOyArK2kpCisgICAgICAgICAgICBlbmNvZGVJREJLZXkoKmtleS5hcnJheSgpW2ld
LCBpbnRvKTsKKyAgICAgICAgQVNTRVJUX1VOVVNFRChwcmV2U2l6ZSwgaW50by5zaXplKCkgPiBw
cmV2U2l6ZSk7CisgICAgICAgIHJldHVybjsKICAgICBjYXNlIElEQktleTo6U3RyaW5nVHlwZToK
LSAgICAgICAgcmV0ID0gZW5jb2RlQnl0ZShrSURCS2V5U3RyaW5nVHlwZUJ5dGUpOwotICAgICAg
ICByZXQuYXBwZW5kKGVuY29kZVN0cmluZ1dpdGhMZW5ndGgoa2V5LnN0cmluZygpKSk7Ci0gICAg
ICAgIHJldHVybiByZXQ7CisgICAgICAgIGludG8uYXBwZW5kKGVuY29kZUJ5dGUoa0lEQktleVN0
cmluZ1R5cGVCeXRlKSk7CisgICAgICAgIGludG8uYXBwZW5kKGVuY29kZVN0cmluZ1dpdGhMZW5n
dGgoa2V5LnN0cmluZygpKSk7CisgICAgICAgIEFTU0VSVF9VTlVTRUQocHJldlNpemUsIGludG8u
c2l6ZSgpID4gcHJldlNpemUpOworICAgICAgICByZXR1cm47CiAgICAgY2FzZSBJREJLZXk6OkRh
dGVUeXBlOgotICAgICAgICByZXQgPSBlbmNvZGVCeXRlKGtJREJLZXlEYXRlVHlwZUJ5dGUpOwot
ICAgICAgICByZXQuYXBwZW5kKGVuY29kZURvdWJsZShrZXkuZGF0ZSgpKSk7Ci0gICAgICAgIEFT
U0VSVChyZXQuc2l6ZSgpID09IDkpOwotICAgICAgICByZXR1cm4gcmV0OworICAgICAgICBpbnRv
LmFwcGVuZChlbmNvZGVCeXRlKGtJREJLZXlEYXRlVHlwZUJ5dGUpKTsKKyAgICAgICAgaW50by5h
cHBlbmQoZW5jb2RlRG91YmxlKGtleS5kYXRlKCkpKTsKKyAgICAgICAgQVNTRVJUX1VOVVNFRChw
cmV2U2l6ZSwgaW50by5zaXplKCkgLSBwcmV2U2l6ZSA9PSA5KTsKKyAgICAgICAgcmV0dXJuOwog
ICAgIGNhc2UgSURCS2V5OjpOdW1iZXJUeXBlOgotICAgICAgICByZXQgPSBlbmNvZGVCeXRlKGtJ
REJLZXlOdW1iZXJUeXBlQnl0ZSk7Ci0gICAgICAgIHJldC5hcHBlbmQoZW5jb2RlRG91YmxlKGtl
eS5udW1iZXIoKSkpOwotICAgICAgICBBU1NFUlQocmV0LnNpemUoKSA9PSA5KTsKLSAgICAgICAg
cmV0dXJuIHJldDsKKyAgICAgICAgaW50by5hcHBlbmQoZW5jb2RlQnl0ZShrSURCS2V5TnVtYmVy
VHlwZUJ5dGUpKTsKKyAgICAgICAgaW50by5hcHBlbmQoZW5jb2RlRG91YmxlKGtleS5udW1iZXIo
KSkpOworICAgICAgICBBU1NFUlRfVU5VU0VEKHByZXZTaXplLCBpbnRvLnNpemUoKSAtIHByZXZT
aXplID09IDkpOworICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7Ci0gICAgcmV0dXJuIFZlY3RvcjxjaGFyPigpOwogfQogCisKIGNvbnN0IGNoYXIqIGRl
Y29kZUlEQktleShjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFyKiBsaW1pdCwgUmVmUHRyPElEQktl
eT4mIGZvdW5kS2V5KQogewogICAgIEFTU0VSVChsaW1pdCA+PSBwKTsKQEAgLTM4MiwxMiArNDA3
LDMxIEBAIGNvbnN0IGNoYXIqIGRlY29kZUlEQktleShjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFy
KiBsaW1pdCwgUmVmUHRyPElEQktleT4mIGZvdW5kCiAgICAgdW5zaWduZWQgY2hhciB0eXBlID0g
KnArKzsKICAgICBTdHJpbmcgczsKICAgICBkb3VibGUgZDsKKyAgICBpbnQ2NF90IGxlbjsKKyAg
ICBSZWZQdHI8SURCS2V5PiBrZXk7CisgICAgSURCS2V5OjpLZXlBcnJheSBhcnJheTsKIAogICAg
IHN3aXRjaCAodHlwZSkgewogICAgIGNhc2Uga0lEQktleU51bGxUeXBlQnl0ZToKICAgICAgICAg
Ly8gTnVsbC4KICAgICAgICAgZm91bmRLZXkgPSBJREJLZXk6OmNyZWF0ZUludmFsaWQoKTsKICAg
ICAgICAgcmV0dXJuIHA7CisKKyAgICBjYXNlIGtJREJLZXlBcnJheVR5cGVCeXRlOgorICAgICAg
ICAvLyBBcnJheS4KKyAgICAgICAgcCA9IGRlY29kZVZhckludChwLCBsaW1pdCwgbGVuKTsKKyAg
ICAgICAgaWYgKCFwKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIGlmIChsZW4gPCAw
KQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHdoaWxlIChsZW4tLSkgeworICAgICAg
ICAgICAgcCA9IGRlY29kZUlEQktleShwLCBsaW1pdCwga2V5KTsKKyAgICAgICAgICAgIGlmICgh
cCkKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIGFycmF5LmFwcGVuZChr
ZXkpOworICAgICAgICB9CisgICAgICAgIGZvdW5kS2V5ID0gSURCS2V5OjpjcmVhdGVBcnJheShh
cnJheSk7CisgICAgICAgIHJldHVybiBwOwogICAgIGNhc2Uga0lEQktleVN0cmluZ1R5cGVCeXRl
OgogICAgICAgICAvLyBTdHJpbmcuCiAgICAgICAgIHAgPSBkZWNvZGVTdHJpbmdXaXRoTGVuZ3Ro
KHAsIGxpbWl0LCBzKTsKQEAgLTQxNywyOSArNDYxLDQ4IEBAIGNvbnN0IGNoYXIqIGRlY29kZUlE
QktleShjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFyKiBsaW1pdCwgUmVmUHRyPElEQktleT4mIGZv
dW5kCiAKIGNvbnN0IGNoYXIqIGV4dHJhY3RFbmNvZGVkSURCS2V5KGNvbnN0IGNoYXIqIHN0YXJ0
LCBjb25zdCBjaGFyKiBsaW1pdCwgVmVjdG9yPGNoYXI+KiByZXN1bHQpCiB7CisgICAgQVNTRVJU
KHJlc3VsdCk7CiAgICAgY29uc3QgY2hhciogcCA9IHN0YXJ0OwogICAgIGlmIChwID49IGxpbWl0
KQogICAgICAgICByZXR1cm4gMDsKIAogICAgIHVuc2lnbmVkIGNoYXIgdHlwZSA9ICpwKys7CiAK
LSAgICBpbnQ2NF90IHN0cmluZ0xlbjsKKyAgICBpbnQ2NF90IGxlbjsKKyAgICBWZWN0b3I8Y2hh
cj4gc3Via2V5OwogCiAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAgY2FzZSBrSURCS2V5TnVsbFR5
cGVCeXRlOgogICAgIGNhc2Uga0lEQktleU1pbktleVR5cGVCeXRlOgogICAgICAgICAqcmVzdWx0
ID0gZW5jb2RlQnl0ZSh0eXBlKTsKICAgICAgICAgcmV0dXJuIHA7CisgICAgY2FzZSBrSURCS2V5
QXJyYXlUeXBlQnl0ZToKKyAgICAgICAgLy8gQXJyYXkuCisgICAgICAgIHAgPSBkZWNvZGVWYXJJ
bnQocCwgbGltaXQsIGxlbik7CisgICAgICAgIGlmICghcCkKKyAgICAgICAgICAgIHJldHVybiAw
OworICAgICAgICBpZiAobGVuIDwgMCkKKyAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICBy
ZXN1bHQtPmNsZWFyKCk7CisgICAgICAgIHJlc3VsdC0+YXBwZW5kKHN0YXJ0LCBwIC0gc3RhcnQp
OworICAgICAgICB3aGlsZSAobGVuLS0pIHsKKyAgICAgICAgICAgIHN1YmtleS5jbGVhcigpOwor
ICAgICAgICAgICAgcCA9IGV4dHJhY3RFbmNvZGVkSURCS2V5KHAsIGxpbWl0LCAmc3Via2V5KTsK
KyAgICAgICAgICAgIGlmICghcCkKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAg
ICAgIHJlc3VsdC0+YXBwZW5kKHN1YmtleSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHA7
CiAgICAgY2FzZSBrSURCS2V5U3RyaW5nVHlwZUJ5dGU6CiAgICAgICAgIC8vIFN0cmluZy4KLSAg
ICAgICAgcCA9IGRlY29kZVZhckludChwLCBsaW1pdCwgc3RyaW5nTGVuKTsKKyAgICAgICAgcCA9
IGRlY29kZVZhckludChwLCBsaW1pdCwgbGVuKTsKICAgICAgICAgaWYgKCFwKQogICAgICAgICAg
ICAgcmV0dXJuIDA7Ci0gICAgICAgIGlmIChwICsgc3RyaW5nTGVuICogMiA+IGxpbWl0KQorICAg
ICAgICBpZiAocCArIGxlbiAqIDIgPiBsaW1pdCkKICAgICAgICAgICAgIHJldHVybiAwOwogICAg
ICAgICByZXN1bHQtPmNsZWFyKCk7Ci0gICAgICAgIHJlc3VsdC0+YXBwZW5kKHN0YXJ0LCBwIC0g
c3RhcnQgKyBzdHJpbmdMZW4gKiAyKTsKLSAgICAgICAgcmV0dXJuIHAgKyBzdHJpbmdMZW4gKiAy
OworICAgICAgICByZXN1bHQtPmFwcGVuZChzdGFydCwgcCAtIHN0YXJ0ICsgbGVuICogMik7Cisg
ICAgICAgIHJldHVybiBwICsgbGVuICogMjsKICAgICBjYXNlIGtJREJLZXlEYXRlVHlwZUJ5dGU6
CiAgICAgY2FzZSBrSURCS2V5TnVtYmVyVHlwZUJ5dGU6CiAgICAgICAgIC8vIERhdGUgb3IgbnVt
YmVyLgpAQCAtNDUzLDIyICs1MTYsMzcgQEAgY29uc3QgY2hhciogZXh0cmFjdEVuY29kZWRJREJL
ZXkoY29uc3QgY2hhciogc3RhcnQsIGNvbnN0IGNoYXIqIGxpbWl0LCBWZWN0b3I8Y2gKICAgICBy
ZXR1cm4gMDsKIH0KIAotaW50IGNvbXBhcmVFbmNvZGVkSURCS2V5cyhjb25zdCBWZWN0b3I8Y2hh
cj4mIGtleUEsIGNvbnN0IFZlY3RvcjxjaGFyPiYga2V5QikKK0lEQktleTo6VHlwZSBjb2RpbmdU
b09yZGVyKHVuc2lnbmVkIGNoYXIgdHlwZSkKIHsKLSAgICBBU1NFUlQoa2V5QS5zaXplKCkgPj0g
MSk7Ci0gICAgQVNTRVJUKGtleUIuc2l6ZSgpID49IDEpOwotCi0gICAgY29uc3QgY2hhciogcCA9
IGtleUEuZGF0YSgpOwotICAgIGNvbnN0IGNoYXIqIGxpbWl0QSA9IHAgKyBrZXlBLnNpemUoKTsK
LSAgICBjb25zdCBjaGFyKiBxID0ga2V5Qi5kYXRhKCk7Ci0gICAgY29uc3QgY2hhciogbGltaXRC
ID0gcSArIGtleUIuc2l6ZSgpOworICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2Uga0lEQktl
eU51bGxUeXBlQnl0ZToKKyAgICAgICAgcmV0dXJuIElEQktleTo6SW52YWxpZFR5cGU7CisgICAg
Y2FzZSBrSURCS2V5QXJyYXlUeXBlQnl0ZToKKyAgICAgICAgcmV0dXJuIElEQktleTo6QXJyYXlU
eXBlOworICAgIGNhc2Uga0lEQktleVN0cmluZ1R5cGVCeXRlOgorICAgICAgICByZXR1cm4gSURC
S2V5OjpTdHJpbmdUeXBlOworICAgIGNhc2Uga0lEQktleURhdGVUeXBlQnl0ZToKKyAgICAgICAg
cmV0dXJuIElEQktleTo6RGF0ZVR5cGU7CisgICAgY2FzZSBrSURCS2V5TnVtYmVyVHlwZUJ5dGU6
CisgICAgICAgIHJldHVybiBJREJLZXk6Ok51bWJlclR5cGU7CisgICAgY2FzZSBrSURCS2V5TWlu
S2V5VHlwZUJ5dGU6CisgICAgICAgIHJldHVybiBJREJLZXk6Ok1pblR5cGU7CisgICAgZGVmYXVs
dDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybiBJREJLZXk6
OkludmFsaWRUeXBlOworICAgIH0KK30KIAoraW50IGNvbXBhcmVFbmNvZGVkSURCS2V5cyhjb25z
dCBjaGFyKiYgcCwgY29uc3QgY2hhciogbGltaXRBLCBjb25zdCBjaGFyKiYgcSwgY29uc3QgY2hh
ciogbGltaXRCKQoreworICAgIEFTU0VSVCgmcCAhPSAmcSk7CiAgICAgdW5zaWduZWQgY2hhciB0
eXBlQSA9ICpwKys7CiAgICAgdW5zaWduZWQgY2hhciB0eXBlQiA9ICpxKys7CiAKICAgICBkb3Vi
bGUgZCwgZTsKKyAgICBpbnQ2NF90IGxlbkEsIGxlbkI7CiAKLSAgICBpZiAoaW50IHggPSB0eXBl
QiAtIHR5cGVBKSAvLyBGSVhNRTogTm90ZSB0aGUgc3VidGxlbmVzcyEKKyAgICBpZiAoaW50IHgg
PSBjb2RpbmdUb09yZGVyKHR5cGVCKSAtIGNvZGluZ1RvT3JkZXIodHlwZUEpKQogICAgICAgICBy
ZXR1cm4geDsKIAogICAgIHN3aXRjaCAodHlwZUEpIHsKQEAgLTQ3Niw2ICs1NTQsMjMgQEAgaW50
IGNvbXBhcmVFbmNvZGVkSURCS2V5cyhjb25zdCBWZWN0b3I8Y2hhcj4mIGtleUEsIGNvbnN0IFZl
Y3RvcjxjaGFyPiYga2V5QikKICAgICBjYXNlIGtJREJLZXlNaW5LZXlUeXBlQnl0ZToKICAgICAg
ICAgLy8gTnVsbCB0eXBlIG9yIG1heCB0eXBlOyBubyBwYXlsb2FkIHRvIGNvbXBhcmUuCiAgICAg
ICAgIHJldHVybiAwOworICAgIGNhc2Uga0lEQktleUFycmF5VHlwZUJ5dGU6CisgICAgICAgIC8v
IEFycmF5IHR5cGUuCisgICAgICAgIHAgPSBkZWNvZGVWYXJJbnQocCwgbGltaXRBLCBsZW5BKTsK
KyAgICAgICAgaWYgKCFwKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHEgPSBkZWNv
ZGVWYXJJbnQocSwgbGltaXRCLCBsZW5CKTsKKyAgICAgICAgaWYgKCFxKQorICAgICAgICAgICAg
cmV0dXJuIDA7CisgICAgICAgIGZvciAoaW50NjRfdCBpID0gMDsgaSA8IGxlbkEgJiYgaSA8IGxl
bkI7ICsraSkgeworICAgICAgICAgICAgaWYgKGludCBjbXAgPSBjb21wYXJlRW5jb2RlZElEQktl
eXMocCwgbGltaXRBLCBxLCBsaW1pdEIpKQorICAgICAgICAgICAgICAgIHJldHVybiBjbXA7Cisg
ICAgICAgIH0KKyAgICAgICAgaWYgKGxlbkEgPCBsZW5CKQorICAgICAgICAgICAgcmV0dXJuIC0x
OworICAgICAgICBpZiAobGVuQSA+IGxlbkIpCisgICAgICAgICAgICByZXR1cm4gMTsKKyAgICAg
ICAgcmV0dXJuIDA7CiAgICAgY2FzZSBrSURCS2V5U3RyaW5nVHlwZUJ5dGU6CiAgICAgICAgIC8v
IFN0cmluZyB0eXBlLgogICAgICAgICByZXR1cm4gY29tcGFyZUVuY29kZWRTdHJpbmdzV2l0aExl
bmd0aChwLCBsaW1pdEEsIHEsIGxpbWl0Qik7CkBAIC00OTcsNiArNTkyLDE5IEBAIGludCBjb21w
YXJlRW5jb2RlZElEQktleXMoY29uc3QgVmVjdG9yPGNoYXI+JiBrZXlBLCBjb25zdCBWZWN0b3I8
Y2hhcj4mIGtleUIpCiAgICAgcmV0dXJuIDA7CiB9CiAKK2ludCBjb21wYXJlRW5jb2RlZElEQktl
eXMoY29uc3QgVmVjdG9yPGNoYXI+JiBrZXlBLCBjb25zdCBWZWN0b3I8Y2hhcj4mIGtleUIpCit7
CisgICAgQVNTRVJUKGtleUEuc2l6ZSgpID49IDEpOworICAgIEFTU0VSVChrZXlCLnNpemUoKSA+
PSAxKTsKKworICAgIGNvbnN0IGNoYXIqIHAgPSBrZXlBLmRhdGEoKTsKKyAgICBjb25zdCBjaGFy
KiBsaW1pdEEgPSBwICsga2V5QS5zaXplKCk7CisgICAgY29uc3QgY2hhciogcSA9IGtleUIuZGF0
YSgpOworICAgIGNvbnN0IGNoYXIqIGxpbWl0QiA9IHEgKyBrZXlCLnNpemUoKTsKKworICAgIHJl
dHVybiBjb21wYXJlRW5jb2RlZElEQktleXMocCwgbGltaXRBLCBxLCBsaW1pdEIpOworfQorCiBu
YW1lc3BhY2UgewogdGVtcGxhdGU8dHlwZW5hbWUgS2V5VHlwZT4KIGludCBkZWNvZGVBbmRDb21w
YXJlKGNvbnN0IExldmVsREJTbGljZSYgYSwgY29uc3QgTGV2ZWxEQlNsaWNlJiBiKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJMZXZlbERCQ29kaW5nLmggYi9Tb3VyY2Uv
V2ViQ29yZS9zdG9yYWdlL0lEQkxldmVsREJDb2RpbmcuaAppbmRleCBmM2JkY2YzMGI1NmUwNTY5
M2NkNDE0NmI4NTgyMGY4ZDAxOWZjZjZjLi4xNTgxZmJiYmZkNzlmMmZkNjdkZWQwZjNhMmI1OGFj
MTk0YTA1ZmRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkxldmVsREJD
b2RpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkxldmVsREJDb2RpbmcuaApA
QCAtNTMsOSArNTMsMTAgQEAgVmVjdG9yPGNoYXI+IGVuY29kZVN0cmluZyhjb25zdCBTdHJpbmcm
KTsKIFN0cmluZyBkZWNvZGVTdHJpbmcoY29uc3QgY2hhciogcCwgY29uc3QgY2hhciogZW5kKTsK
IFZlY3RvcjxjaGFyPiBlbmNvZGVTdHJpbmdXaXRoTGVuZ3RoKGNvbnN0IFN0cmluZyYpOwogY29u
c3QgY2hhciogZGVjb2RlU3RyaW5nV2l0aExlbmd0aChjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFy
KiBsaW1pdCwgU3RyaW5nJiBmb3VuZFN0cmluZyk7Ci1pbnQgY29tcGFyZUVuY29kZWRTdHJpbmdz
V2l0aExlbmd0aChjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFyKiBsaW1pdFAsIGNvbnN0IGNoYXIq
IHEsIGNvbnN0IGNoYXIqIGxpbWl0USk7CitpbnQgY29tcGFyZUVuY29kZWRTdHJpbmdzV2l0aExl
bmd0aChjb25zdCBjaGFyKiYgcCwgY29uc3QgY2hhciogbGltaXRQLCBjb25zdCBjaGFyKiYgcSwg
Y29uc3QgY2hhciogbGltaXRRKTsKIFZlY3RvcjxjaGFyPiBlbmNvZGVEb3VibGUoZG91YmxlKTsK
IGNvbnN0IGNoYXIqIGRlY29kZURvdWJsZShjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFyKiBsaW1p
dCwgZG91YmxlKik7Cit2b2lkIGVuY29kZUlEQktleShjb25zdCBJREJLZXkmLCBWZWN0b3I8Y2hh
cj4mIGludG8pOwogVmVjdG9yPGNoYXI+IGVuY29kZUlEQktleShjb25zdCBJREJLZXkmKTsKIGNv
bnN0IGNoYXIqIGRlY29kZUlEQktleShjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFyKiBsaW1pdCwg
UmVmUHRyPElEQktleT4mIGZvdW5kS2V5KTsKIGNvbnN0IGNoYXIqIGV4dHJhY3RFbmNvZGVkSURC
S2V5KGNvbnN0IGNoYXIqIHN0YXJ0LCBjb25zdCBjaGFyKiBsaW1pdCwgVmVjdG9yPGNoYXI+KiBy
ZXN1bHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURC
S2V5LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJREJLZXkuaAppbmRleCAx
ZGI0NjdmZTI3MGE2MGI4ZGVhOGU0YzRjZTk2NmMwNTQ0MjNiZDE5Li5jYTBkMTI5MDY0OTA0YzUy
MTc3ODFhYzlmNjZjN2RkMzVlODQ2YWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJJREJLZXkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1Ymxp
Yy9XZWJJREJLZXkuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAg
R29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiV2ViQ29tbW9uLmgiCiAjaW5jbHVk
ZSAiV2ViUHJpdmF0ZVB0ci5oIgogI2luY2x1ZGUgIldlYlN0cmluZy5oIgorI2luY2x1ZGUgIldl
YlZlY3Rvci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7IGNsYXNzIElEQktleTsgfQogCkBAIC00
Myw2ICs0NCw3IEBAIHB1YmxpYzoKICAgICBXZWJJREJLZXkoKSB7IH0KICAgICB+V2ViSURCS2V5
KCkgeyByZXNldCgpOyB9CiAKKyAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyBXZWJJREJLZXkgY3Jl
YXRlQXJyYXkoY29uc3QgV2ViVmVjdG9yPFdlYklEQktleT4mKTsKICAgICBXRUJLSVRfRVhQT1JU
IHN0YXRpYyBXZWJJREJLZXkgY3JlYXRlU3RyaW5nKGNvbnN0IFdlYlN0cmluZyYpOwogICAgIFdF
QktJVF9FWFBPUlQgc3RhdGljIFdlYklEQktleSBjcmVhdGVEYXRlKGRvdWJsZSk7CiAgICAgV0VC
S0lUX0VYUE9SVCBzdGF0aWMgV2ViSURCS2V5IGNyZWF0ZU51bWJlcihkb3VibGUpOwpAQCAtNTgs
NiArNjAsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgV0VCS0lUX0VYUE9SVCB2b2lkIGFzc2ln
bihjb25zdCBXZWJJREJLZXkmKTsKKyAgICBXRUJLSVRfRVhQT1JUIHZvaWQgYXNzaWduQXJyYXko
Y29uc3QgV2ViVmVjdG9yPFdlYklEQktleT4mKTsKICAgICBXRUJLSVRfRVhQT1JUIHZvaWQgYXNz
aWduU3RyaW5nKGNvbnN0IFdlYlN0cmluZyYpOwogICAgIFdFQktJVF9FWFBPUlQgdm9pZCBhc3Np
Z25EYXRlKGRvdWJsZSk7CiAgICAgV0VCS0lUX0VYUE9SVCB2b2lkIGFzc2lnbk51bWJlcihkb3Vi
bGUpOwpAQCAtNjYsMTIgKzY5LDE0IEBAIHB1YmxpYzoKIAogICAgIGVudW0gVHlwZSB7CiAgICAg
ICAgIEludmFsaWRUeXBlID0gMCwKKyAgICAgICAgQXJyYXlUeXBlLAogICAgICAgICBTdHJpbmdU
eXBlLAogICAgICAgICBEYXRlVHlwZSwKICAgICAgICAgTnVtYmVyVHlwZQogICAgIH07CiAKICAg
ICBXRUJLSVRfRVhQT1JUIFR5cGUgdHlwZSgpIGNvbnN0OworICAgIFdFQktJVF9FWFBPUlQgV2Vi
VmVjdG9yPFdlYklEQktleT4gYXJyYXkoKSBjb25zdDsgLy8gT25seSB2YWxpZCBmb3IgQXJyYXlU
eXBlLgogICAgIFdFQktJVF9FWFBPUlQgV2ViU3RyaW5nIHN0cmluZygpIGNvbnN0OyAvLyBPbmx5
IHZhbGlkIGZvciBTdHJpbmdUeXBlLgogICAgIFdFQktJVF9FWFBPUlQgZG91YmxlIGRhdGUoKSBj
b25zdDsgLy8gT25seSB2YWxpZCBmb3IgRGF0ZVR5cGUuCiAgICAgV0VCS0lUX0VYUE9SVCBkb3Vi
bGUgbnVtYmVyKCkgY29uc3Q7IC8vIE9ubHkgdmFsaWQgZm9yIE51bWJlclR5cGUuCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCmluZGV4
IGIxMDY4MjgyZTE4OTdlNGM0MDYxMzM1ZjMzZTA5ZTE3NTU0OTIwMTcuLmU3MzBjYmU5NTExZjA2
NGUzODQ0NDExNGIwZDRhMTg0ZmUyMWE5ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAq
IENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zOTcsNiArMzk3LDcgQEAgQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJWaWV3OjpVc2VyU3R5bGVJbmplY3RJbkV4aXN0aW5n
RG9jdW1lbnRzLCBJbmplY3QKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViVmlldzo6
VXNlclN0eWxlSW5qZWN0SW5TdWJzZXF1ZW50RG9jdW1lbnRzLCBJbmplY3RJblN1YnNlcXVlbnRE
b2N1bWVudHMpOwogCiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYklEQktleTo6SW52
YWxpZFR5cGUsIElEQktleTo6SW52YWxpZFR5cGUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShXZWJJREJLZXk6OkFycmF5VHlwZSwgSURCS2V5OjpBcnJheVR5cGUpOwogQ09NUElMRV9B
U1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJJREJLZXk6OlN0cmluZ1R5cGUsIElEQktleTo6U3RyaW5n
VHlwZSk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYklEQktleTo6RGF0ZVR5cGUs
IElEQktleTo6RGF0ZVR5cGUpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJJREJL
ZXk6Ok51bWJlclR5cGUsIElEQktleTo6TnVtYmVyVHlwZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJLZXkuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViSURCS2V5LmNwcAppbmRleCA5ZjZhMDkwNTI2ZTUwZmY2NWE5Y2RkZTFmMTNkMzcx
ZTRlMDY5ZGFlLi5mZmI3MDM4ZTJlODE2OTU2NDVjYzc2MmU5YmFhMDg2MTAyZWRhYTgxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJLZXkuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQktleS5jcHAKQEAgLTQxLDYgKzQxLDEzIEBA
IHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorV2ViSURC
S2V5IFdlYklEQktleTo6Y3JlYXRlQXJyYXkoY29uc3QgV2ViVmVjdG9yPFdlYklEQktleT4mIGFy
cmF5KQoreworICAgIFdlYklEQktleSBrZXk7CisgICAga2V5LmFzc2lnbkFycmF5KGFycmF5KTsK
KyAgICByZXR1cm4ga2V5OworfQorCiBXZWJJREJLZXkgV2ViSURCS2V5OjpjcmVhdGVTdHJpbmco
Y29uc3QgV2ViU3RyaW5nJiBzdHJpbmcpCiB7CiAgICAgV2ViSURCS2V5IGtleTsKQEAgLTg2LDYg
KzkzLDY0IEBAIHZvaWQgV2ViSURCS2V5Ojphc3NpZ24oY29uc3QgV2ViSURCS2V5JiB2YWx1ZSkK
ICAgICBtX3ByaXZhdGUgPSB2YWx1ZS5tX3ByaXZhdGU7CiB9CiAKK1Bhc3NSZWZQdHI8SURCS2V5
PiBjb252ZXJ0RnJvbVdlYklEQktleUFycmF5KGNvbnN0IFdlYlZlY3RvcjxXZWJJREJLZXk+JiBh
cnJheSkKK3sKKyAgICBJREJLZXk6OktleUFycmF5IGtleXM7CisgICAga2V5cy5yZXNlcnZlQ2Fw
YWNpdHkoYXJyYXkuc2l6ZSgpKTsKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGFycmF5LnNp
emUoKTsgKytpKSB7CisgICAgICAgIHN3aXRjaCAoYXJyYXlbaV0udHlwZSgpKSB7CisgICAgICAg
IGNhc2UgV2ViSURCS2V5OjpBcnJheVR5cGU6CisgICAgICAgICAgICBrZXlzLmFwcGVuZChjb252
ZXJ0RnJvbVdlYklEQktleUFycmF5KGFycmF5W2ldLmFycmF5KCkpKTsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICBjYXNlIFdlYklEQktleTo6U3RyaW5nVHlwZToKKyAgICAgICAgICAgIGtl
eXMuYXBwZW5kKElEQktleTo6Y3JlYXRlU3RyaW5nKGFycmF5W2ldLnN0cmluZygpKSk7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBXZWJJREJLZXk6OkRhdGVUeXBlOgorICAgICAg
ICAgICAga2V5cy5hcHBlbmQoSURCS2V5OjpjcmVhdGVEYXRlKGFycmF5W2ldLmRhdGUoKSkpOwor
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViSURCS2V5OjpOdW1iZXJUeXBlOgor
ICAgICAgICAgICAga2V5cy5hcHBlbmQoSURCS2V5OjpjcmVhdGVOdW1iZXIoYXJyYXlbaV0ubnVt
YmVyKCkpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQor
ICAgIH0KKyAgICByZXR1cm4gSURCS2V5OjpjcmVhdGVBcnJheShrZXlzKTsKK30KKwordm9pZCBj
b252ZXJ0VG9XZWJJREJLZXlBcnJheShjb25zdCBJREJLZXk6OktleUFycmF5JiBhcnJheSwgV2Vi
VmVjdG9yPFdlYklEQktleT4mIHJlc3VsdCkKK3sKKyAgICBXZWJWZWN0b3I8V2ViSURCS2V5PiBr
ZXlzKGFycmF5LnNpemUoKSksIHN1YmtleXM7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBh
cnJheS5zaXplKCk7ICsraSkgeworICAgICAgICBSZWZQdHI8SURCS2V5PiBrZXkgPSBhcnJheVtp
XTsKKyAgICAgICAgc3dpdGNoIChrZXktPnR5cGUoKSkgeworICAgICAgICBjYXNlIElEQktleTo6
QXJyYXlUeXBlOgorICAgICAgICAgICAgY29udmVydFRvV2ViSURCS2V5QXJyYXkoa2V5LT5hcnJh
eSgpLCBzdWJrZXlzKTsKKyAgICAgICAgICAgIGtleXNbaV0gPSBXZWJJREJLZXk6OmNyZWF0ZUFy
cmF5KHN1YmtleXMpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgSURCS2V5OjpT
dHJpbmdUeXBlOgorICAgICAgICAgICAga2V5c1tpXSA9IFdlYklEQktleTo6Y3JlYXRlU3RyaW5n
KGtleS0+c3RyaW5nKCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgSURCS2V5
OjpEYXRlVHlwZToKKyAgICAgICAgICAgIGtleXNbaV0gPSBXZWJJREJLZXk6OmNyZWF0ZURhdGUo
a2V5LT5kYXRlKCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgSURCS2V5OjpO
dW1iZXJUeXBlOgorICAgICAgICAgICAga2V5c1tpXSA9IFdlYklEQktleTo6Y3JlYXRlTnVtYmVy
KGtleS0+bnVtYmVyKCkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6Cisg
ICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICB9CisgICAgfQorICAgIHJlc3VsdC5zd2FwKGtleXMpOworfQorCit2b2lkIFdlYklEQktl
eTo6YXNzaWduQXJyYXkoY29uc3QgV2ViVmVjdG9yPFdlYklEQktleT4mIGFycmF5KQoreworICAg
IG1fcHJpdmF0ZSA9IGNvbnZlcnRGcm9tV2ViSURCS2V5QXJyYXkoYXJyYXkpOworfQorCiB2b2lk
IFdlYklEQktleTo6YXNzaWduU3RyaW5nKGNvbnN0IFdlYlN0cmluZyYgc3RyaW5nKQogewogICAg
IG1fcHJpdmF0ZSA9IElEQktleTo6Y3JlYXRlU3RyaW5nKHN0cmluZyk7CkBAIC0xMTgsNiArMTgz
LDEzIEBAIFdlYklEQktleTo6VHlwZSBXZWJJREJLZXk6OnR5cGUoKSBjb25zdAogICAgIHJldHVy
biBUeXBlKG1fcHJpdmF0ZS0+dHlwZSgpKTsKIH0KIAorV2ViVmVjdG9yPFdlYklEQktleT4gV2Vi
SURCS2V5OjphcnJheSgpIGNvbnN0Cit7CisgICAgV2ViVmVjdG9yPFdlYklEQktleT4ga2V5czsK
KyAgICBjb252ZXJ0VG9XZWJJREJLZXlBcnJheShtX3ByaXZhdGUtPmFycmF5KCksIGtleXMpOwor
ICAgIHJldHVybiBrZXlzOworfQorCiBXZWJTdHJpbmcgV2ViSURCS2V5OjpzdHJpbmcoKSBjb25z
dAogewogICAgIHJldHVybiBtX3ByaXZhdGUtPnN0cmluZygpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJCaW5kaW5nVXRpbGl0aWVzVGVzdC5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lEQkJpbmRpbmdVdGlsaXRpZXNUZXN0LmNwcAppbmRl
eCAzMjFmMGFmN2QyYThhMTRjZGY1ZGExYzk4ZjRjODMzMTg2MzkyOTA4Li43ZGU2YTZjOGZlODM4
ZDBhYjlmY2IyMjcxM2E2YjNkOTIwZGUwZDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3Rlc3RzL0lEQkJpbmRpbmdVdGlsaXRpZXNUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3Rlc3RzL0lEQkJpbmRpbmdVdGlsaXRpZXNUZXN0LmNwcApAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xNTUsNiArMTU1LDgg
QEAgVEVTVChJbmplY3RJREJLZXlUZXN0LCBTdWJQcm9wZXJ0eSkKICAgICBjaGVja0luamVjdGlv
bihJREJLZXk6OmNyZWF0ZU51bWJlcig3ODkpLCBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0
ZShvYmplY3QpLCAiZm9vLmJheiIpOwogICAgIGNoZWNrSW5qZWN0aW9uKElEQktleTo6Y3JlYXRl
RGF0ZSg0NTY3KSwgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUob2JqZWN0KSwgImZvby5i
YXoiKTsKICAgICBjaGVja0luamVjdGlvbihJREJLZXk6OmNyZWF0ZURhdGUoNDU2NyksIFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKG9iamVjdCksICJiYXIiKTsKKyAgICBjaGVja0luamVj
dGlvbihJREJLZXk6OmNyZWF0ZUFycmF5KElEQktleTo6S2V5QXJyYXkoKSksIFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZTo6Y3JlYXRlKG9iamVjdCksICJmb28uYmF6Iik7CisgICAgY2hlY2tJbmplY3Rp
b24oSURCS2V5OjpjcmVhdGVBcnJheShJREJLZXk6OktleUFycmF5KCkpLCBTZXJpYWxpemVkU2Ny
aXB0VmFsdWU6OmNyZWF0ZShvYmplY3QpLCAiYmFyIik7CiAKICAgICBjaGVja0luamVjdGlvbkZh
aWxzKElEQktleTo6Y3JlYXRlU3RyaW5nKCJ6b28iKSwgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpj
cmVhdGUob2JqZWN0KSwgImZvby5iYXIuYmF6Iik7CiAgICAgY2hlY2tJbmplY3Rpb25GYWlscyhJ
REJLZXk6OmNyZWF0ZVN0cmluZygiem9vIiksIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRl
KG9iamVjdCksICJmb28ueHl6LmZvbyIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS90ZXN0cy9JREJMZXZlbERCQ29kaW5nVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3Rlc3RzL0lEQkxldmVsREJDb2RpbmdUZXN0LmNwcAppbmRleCA0YzA0YzU0NjBjZTYwODM0
MTEwM2ZiYzRlMDM5MjNiMzdlMzA3NGNlLi5iZWU4NGFkZDljZTg3Mzk5NDhlZGM1ZmRkYTUxMjE4
ODRlOTUxMDg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lEQkxl
dmVsREJDb2RpbmdUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lE
QkxldmVsREJDb2RpbmdUZXN0LmNwcApAQCAtMzksNiArMzksMzEgQEAgdXNpbmcgbmFtZXNwYWNl
IElEQkxldmVsREJDb2Rpbmc7CiAKIG5hbWVzcGFjZSB7CiAKK1Bhc3NSZWZQdHI8SURCS2V5PiBj
cmVhdGVBcnJheUlEQktleSgpCit7CisgICAgcmV0dXJuIElEQktleTo6Y3JlYXRlQXJyYXkoSURC
S2V5OjpLZXlBcnJheSgpKTsKK30KKworUGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0ZUFycmF5SURC
S2V5KFBhc3NSZWZQdHI8SURCS2V5PiBwcnBLZXkxKQoreworICAgIFJlZlB0cjxJREJLZXk+IGtl
eTEgPSBwcnBLZXkxOworCisgICAgSURCS2V5OjpLZXlBcnJheSBhcnJheTsKKyAgICBhcnJheS5h
cHBlbmQoa2V5MSk7CisgICAgcmV0dXJuIElEQktleTo6Y3JlYXRlQXJyYXkoYXJyYXkpOworfQor
CitQYXNzUmVmUHRyPElEQktleT4gY3JlYXRlQXJyYXlJREJLZXkoUGFzc1JlZlB0cjxJREJLZXk+
IHBycEtleTEsIFBhc3NSZWZQdHI8SURCS2V5PiBwcnBLZXkyKQoreworICAgIFJlZlB0cjxJREJL
ZXk+IGtleTEgPSBwcnBLZXkxOworICAgIFJlZlB0cjxJREJLZXk+IGtleTIgPSBwcnBLZXkyOwor
CisgICAgSURCS2V5OjpLZXlBcnJheSBhcnJheTsKKyAgICBhcnJheS5hcHBlbmQoa2V5MSk7Cisg
ICAgYXJyYXkuYXBwZW5kKGtleTIpOworICAgIHJldHVybiBJREJLZXk6OmNyZWF0ZUFycmF5KGFy
cmF5KTsKK30KKwogVEVTVChJREJMZXZlbERCQ29kaW5nVGVzdCwgRW5jb2RlQnl0ZSkKIHsKICAg
ICBWZWN0b3I8Y2hhcj4gZXhwZWN0ZWQ7CkBAIC02MywxMSArODgsMTMgQEAgVEVTVChJREJMZXZl
bERCQ29kaW5nVGVzdCwgTWF4SURCS2V5KQogICAgIFZlY3RvcjxjaGFyPiBtYXhLZXkgPSBtYXhJ
REJLZXkoKTsKIAogICAgIFZlY3RvcjxjaGFyPiBtaW5LZXkgPSBtaW5JREJLZXkoKTsKKyAgICBW
ZWN0b3I8Y2hhcj4gYXJyYXlLZXkgPSBlbmNvZGVJREJLZXkoKklEQktleTo6Y3JlYXRlQXJyYXko
SURCS2V5OjpLZXlBcnJheSgpKSk7CiAgICAgVmVjdG9yPGNoYXI+IHN0cmluZ0tleSA9IGVuY29k
ZUlEQktleSgqSURCS2V5OjpjcmVhdGVTdHJpbmcoIkhlbGxvIHdvcmxkIikpOwogICAgIFZlY3Rv
cjxjaGFyPiBudW1iZXJLZXkgPSBlbmNvZGVJREJLZXkoKklEQktleTo6Y3JlYXRlTnVtYmVyKDMu
MTQpKTsKICAgICBWZWN0b3I8Y2hhcj4gZGF0ZUtleSA9IGVuY29kZUlEQktleSgqSURCS2V5Ojpj
cmVhdGVEYXRlKDEwMDAwMDApKTsKIAogICAgIEVYUEVDVF9HVChjb21wYXJlRW5jb2RlZElEQktl
eXMobWF4S2V5LCBtaW5LZXkpLCAwKTsKKyAgICBFWFBFQ1RfR1QoY29tcGFyZUVuY29kZWRJREJL
ZXlzKG1heEtleSwgYXJyYXlLZXkpLCAwKTsKICAgICBFWFBFQ1RfR1QoY29tcGFyZUVuY29kZWRJ
REJLZXlzKG1heEtleSwgc3RyaW5nS2V5KSwgMCk7CiAgICAgRVhQRUNUX0dUKGNvbXBhcmVFbmNv
ZGVkSURCS2V5cyhtYXhLZXksIG51bWJlcktleSksIDApOwogICAgIEVYUEVDVF9HVChjb21wYXJl
RW5jb2RlZElEQktleXMobWF4S2V5LCBkYXRlS2V5KSwgMCk7CkBAIC03OCwxMSArMTA1LDEzIEBA
IFRFU1QoSURCTGV2ZWxEQkNvZGluZ1Rlc3QsIE1pbklEQktleSkKICAgICBWZWN0b3I8Y2hhcj4g
bWluS2V5ID0gbWluSURCS2V5KCk7CiAKICAgICBWZWN0b3I8Y2hhcj4gbWF4S2V5ID0gbWF4SURC
S2V5KCk7CisgICAgVmVjdG9yPGNoYXI+IGFycmF5S2V5ID0gZW5jb2RlSURCS2V5KCpJREJLZXk6
OmNyZWF0ZUFycmF5KElEQktleTo6S2V5QXJyYXkoKSkpOwogICAgIFZlY3RvcjxjaGFyPiBzdHJp
bmdLZXkgPSBlbmNvZGVJREJLZXkoKklEQktleTo6Y3JlYXRlU3RyaW5nKCJIZWxsbyB3b3JsZCIp
KTsKICAgICBWZWN0b3I8Y2hhcj4gbnVtYmVyS2V5ID0gZW5jb2RlSURCS2V5KCpJREJLZXk6OmNy
ZWF0ZU51bWJlcigzLjE0KSk7CiAgICAgVmVjdG9yPGNoYXI+IGRhdGVLZXkgPSBlbmNvZGVJREJL
ZXkoKklEQktleTo6Y3JlYXRlRGF0ZSgxMDAwMDAwKSk7CiAKICAgICBFWFBFQ1RfTFQoY29tcGFy
ZUVuY29kZWRJREJLZXlzKG1pbktleSwgbWF4S2V5KSwgMCk7CisgICAgRVhQRUNUX0xUKGNvbXBh
cmVFbmNvZGVkSURCS2V5cyhtaW5LZXksIGFycmF5S2V5KSwgMCk7CiAgICAgRVhQRUNUX0xUKGNv
bXBhcmVFbmNvZGVkSURCS2V5cyhtaW5LZXksIHN0cmluZ0tleSksIDApOwogICAgIEVYUEVDVF9M
VChjb21wYXJlRW5jb2RlZElEQktleXMobWluS2V5LCBudW1iZXJLZXkpLCAwKTsKICAgICBFWFBF
Q1RfTFQoY29tcGFyZUVuY29kZWRJREJLZXlzKG1pbktleSwgZGF0ZUtleSksIDApOwpAQCAtMjMw
LDYgKzI1OSwxNCBAQCBURVNUKElEQkxldmVsREJDb2RpbmdUZXN0LCBEZWNvZGVTdHJpbmdXaXRo
TGVuZ3RoKQogICAgIH0KIH0KIAoraW50IGNvbXBhcmVTdHJpbmdzKGNvbnN0IGNoYXIqIHAsIGNv
bnN0IGNoYXIqIGxpbWl0UCwgY29uc3QgY2hhciogcSwgY29uc3QgY2hhciogbGltaXRRKQorewor
ICAgIGludCByZXN1bHQgPSBjb21wYXJlRW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3RoKHAsIGxpbWl0
UCwgcSwgbGltaXRRKTsKKyAgICBFWFBFQ1RfRVEocCwgbGltaXRQKTsKKyAgICBFWFBFQ1RfRVEo
cSwgbGltaXRRKTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiBURVNUKElEQkxldmVsREJDb2Rp
bmdUZXN0LCBDb21wYXJlRW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3RoKQogewogICAgIGNvbnN0IFVD
aGFyIHRlc3RTdHJpbmdBW10gPSB7MHgxMDAwLCAweDEwMDAsICdcMCd9OwpAQCAtMjcyLDEwICsz
MDksMTAgQEAgVEVTVChJREJMZXZlbERCQ29kaW5nVGVzdCwgQ29tcGFyZUVuY29kZWRTdHJpbmdz
V2l0aExlbmd0aCkKICAgICAgICAgY29uc3QgY2hhciogcSA9IGVuY29kZWRCLmRhdGEoKTsKICAg
ICAgICAgY29uc3QgY2hhciogbGltaXRRID0gcSArIGVuY29kZWRCLnNpemUoKTsKIAotICAgICAg
ICBFWFBFQ1RfTFQoY29tcGFyZUVuY29kZWRTdHJpbmdzV2l0aExlbmd0aChwLCBsaW1pdFAsIHEs
IGxpbWl0USksIDApOwotICAgICAgICBFWFBFQ1RfR1QoY29tcGFyZUVuY29kZWRTdHJpbmdzV2l0
aExlbmd0aChxLCBsaW1pdFEsIHAsIGxpbWl0UCksIDApOwotICAgICAgICBFWFBFQ1RfRVEoY29t
cGFyZUVuY29kZWRTdHJpbmdzV2l0aExlbmd0aChwLCBsaW1pdFAsIHAsIGxpbWl0UCksIDApOwot
ICAgICAgICBFWFBFQ1RfRVEoY29tcGFyZUVuY29kZWRTdHJpbmdzV2l0aExlbmd0aChxLCBsaW1p
dFEsIHEsIGxpbWl0USksIDApOworICAgICAgICBFWFBFQ1RfTFQoY29tcGFyZVN0cmluZ3MocCwg
bGltaXRQLCBxLCBsaW1pdFEpLCAwKTsKKyAgICAgICAgRVhQRUNUX0dUKGNvbXBhcmVTdHJpbmdz
KHEsIGxpbWl0USwgcCwgbGltaXRQKSwgMCk7CisgICAgICAgIEVYUEVDVF9FUShjb21wYXJlU3Ry
aW5ncyhwLCBsaW1pdFAsIHAsIGxpbWl0UCksIDApOworICAgICAgICBFWFBFQ1RfRVEoY29tcGFy
ZVN0cmluZ3MocSwgbGltaXRRLCBxLCBsaW1pdFEpLCAwKTsKICAgICB9CiB9CiAKQEAgLTMyNywx
MiArMzY0LDMwIEBAIFRFU1QoSURCTGV2ZWxEQkNvZGluZ1Rlc3QsIEVuY29kZURlY29kZUlEQktl
eSkKICAgICBFWFBFQ1RfRVEodi5kYXRhKCkgKyB2LnNpemUoKSwgcCk7CiAgICAgRVhQRUNUX0VR
KDAsIGRlY29kZUlEQktleSh2LmRhdGEoKSwgdi5kYXRhKCkgKyB2LnNpemUoKSAtIDEsIGRlY29k
ZWRLZXkpKTsKIAorICAgIGV4cGVjdGVkS2V5ID0gY3JlYXRlQXJyYXlJREJLZXkoKTsKKyAgICB2
ID0gZW5jb2RlSURCS2V5KCpleHBlY3RlZEtleSk7CisgICAgcCA9IGRlY29kZUlEQktleSh2LmRh
dGEoKSwgdi5kYXRhKCkgKyB2LnNpemUoKSwgZGVjb2RlZEtleSk7CisgICAgRVhQRUNUX1RSVUUo
ZGVjb2RlZEtleS0+aXNFcXVhbChleHBlY3RlZEtleS5nZXQoKSkpOworICAgIEVYUEVDVF9FUSh2
LmRhdGEoKSArIHYuc2l6ZSgpLCBwKTsKKyAgICBFWFBFQ1RfRVEoMCwgZGVjb2RlSURCS2V5KHYu
ZGF0YSgpLCB2LmRhdGEoKSArIHYuc2l6ZSgpIC0gMSwgZGVjb2RlZEtleSkpOworCiAgICAgZXhw
ZWN0ZWRLZXkgPSBJREJLZXk6OmNyZWF0ZURhdGUoNzg5MCk7CiAgICAgdiA9IGVuY29kZUlEQktl
eSgqZXhwZWN0ZWRLZXkpOwogICAgIHAgPSBkZWNvZGVJREJLZXkodi5kYXRhKCksIHYuZGF0YSgp
ICsgdi5zaXplKCksIGRlY29kZWRLZXkpOwogICAgIEVYUEVDVF9UUlVFKGRlY29kZWRLZXktPmlz
RXF1YWwoZXhwZWN0ZWRLZXkuZ2V0KCkpKTsKICAgICBFWFBFQ1RfRVEodi5kYXRhKCkgKyB2LnNp
emUoKSwgcCk7CiAgICAgRVhQRUNUX0VRKDAsIGRlY29kZUlEQktleSh2LmRhdGEoKSwgdi5kYXRh
KCkgKyB2LnNpemUoKSAtIDEsIGRlY29kZWRLZXkpKTsKKworICAgIElEQktleTo6S2V5QXJyYXkg
YXJyYXk7CisgICAgYXJyYXkuYXBwZW5kKElEQktleTo6Y3JlYXRlTnVtYmVyKDEyMzQpKTsKKyAg
ICBhcnJheS5hcHBlbmQoSURCS2V5OjpjcmVhdGVTdHJpbmcoIkhlbGxvIFdvcmxkISIpKTsKKyAg
ICBhcnJheS5hcHBlbmQoSURCS2V5OjpjcmVhdGVEYXRlKDc4OTApKTsKKyAgICBleHBlY3RlZEtl
eSA9IElEQktleTo6Y3JlYXRlQXJyYXkoYXJyYXkpOworICAgIHYgPSBlbmNvZGVJREJLZXkoKmV4
cGVjdGVkS2V5KTsKKyAgICBwID0gZGVjb2RlSURCS2V5KHYuZGF0YSgpLCB2LmRhdGEoKSArIHYu
c2l6ZSgpLCBkZWNvZGVkS2V5KTsKKyAgICBFWFBFQ1RfVFJVRShkZWNvZGVkS2V5LT5pc0VxdWFs
KGV4cGVjdGVkS2V5LmdldCgpKSk7CisgICAgRVhQRUNUX0VRKHYuZGF0YSgpICsgdi5zaXplKCks
IHApOworICAgIEVYUEVDVF9FUSgwLCBkZWNvZGVJREJLZXkodi5kYXRhKCksIHYuZGF0YSgpICsg
di5zaXplKCkgLSAxLCBkZWNvZGVkS2V5KSk7CiB9CiAKIFRFU1QoSURCTGV2ZWxEQkNvZGluZ1Rl
c3QsIEV4dHJhY3RBbmRDb21wYXJlSURCS2V5cykKQEAgLTM1NCw2ICs0MDksMTggQEAgVEVTVChJ
REJMZXZlbERCQ29kaW5nVGVzdCwgRXh0cmFjdEFuZENvbXBhcmVJREJLZXlzKQogICAgIGtleXMu
YXBwZW5kKElEQktleTo6Y3JlYXRlU3RyaW5nKCJiYWFiIikpOwogICAgIGtleXMuYXBwZW5kKElE
QktleTo6Y3JlYXRlU3RyaW5nKCJjIikpOwogCisgICAga2V5cy5hcHBlbmQoY3JlYXRlQXJyYXlJ
REJLZXkoKSk7CisgICAga2V5cy5hcHBlbmQoY3JlYXRlQXJyYXlJREJLZXkoSURCS2V5OjpjcmVh
dGVOdW1iZXIoMCkpKTsKKyAgICBrZXlzLmFwcGVuZChjcmVhdGVBcnJheUlEQktleShJREJLZXk6
OmNyZWF0ZU51bWJlcigwKSwgSURCS2V5OjpjcmVhdGVOdW1iZXIoMy4xNCkpKTsKKyAgICBrZXlz
LmFwcGVuZChjcmVhdGVBcnJheUlEQktleShJREJLZXk6OmNyZWF0ZURhdGUoMCkpKTsKKyAgICBr
ZXlzLmFwcGVuZChjcmVhdGVBcnJheUlEQktleShJREJLZXk6OmNyZWF0ZURhdGUoMCksIElEQktl
eTo6Y3JlYXRlRGF0ZSgwKSkpOworICAgIGtleXMuYXBwZW5kKGNyZWF0ZUFycmF5SURCS2V5KElE
QktleTo6Y3JlYXRlU3RyaW5nKCIiKSkpOworICAgIGtleXMuYXBwZW5kKGNyZWF0ZUFycmF5SURC
S2V5KElEQktleTo6Y3JlYXRlU3RyaW5nKCIiKSwgSURCS2V5OjpjcmVhdGVTdHJpbmcoImEiKSkp
OworICAgIGtleXMuYXBwZW5kKGNyZWF0ZUFycmF5SURCS2V5KGNyZWF0ZUFycmF5SURCS2V5KCkp
KTsKKyAgICBrZXlzLmFwcGVuZChjcmVhdGVBcnJheUlEQktleShjcmVhdGVBcnJheUlEQktleSgp
LCBjcmVhdGVBcnJheUlEQktleSgpKSk7CisgICAga2V5cy5hcHBlbmQoY3JlYXRlQXJyYXlJREJL
ZXkoY3JlYXRlQXJyYXlJREJLZXkoY3JlYXRlQXJyYXlJREJLZXkoKSkpKTsKKyAgICBrZXlzLmFw
cGVuZChjcmVhdGVBcnJheUlEQktleShjcmVhdGVBcnJheUlEQktleShjcmVhdGVBcnJheUlEQktl
eShjcmVhdGVBcnJheUlEQktleSgpKSkpKTsKKwogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
a2V5cy5zaXplKCkgLSAxOyArK2kpIHsKICAgICAgICAgUmVmUHRyPElEQktleT4ga2V5QSA9IGtl
eXNbaV07CiAgICAgICAgIFJlZlB0cjxJREJLZXk+IGtleUIgPSBrZXlzW2kgKyAxXTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA3ZjNiODg4NGU4ODIxMjg3NzE0ZDY2Y2Q4ZTA1MDg3NmUyZTAyNGVlLi5hOTMzN2EzNmFmOTNl
MjUxOWE1M2I0NmJkNGU2NWI0ZWM1OTI2ZDlmIDEwMDc1NQotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTEt
MTEtMDIgIEpvc2h1YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRl
eGVkREI6IGltcGxlbWVudCBjb21wb3VuZCAoYXJyYXkpIGtleSBzdXBwb3J0CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MjI4NAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
ZmFjdG9yeS1jbXAtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2Zh
Y3RvcnktY21wLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNz
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1iYXNpY3Mu
aHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9rZXktdHlwZS1hcnJheS1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2tleXJhbmdlLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9rZXlyYW5nZS5odG1sOgorICAg
ICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLmh0bWw6Cisg
ICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jdXJzb3ItZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY3Vyc29yLmh0bWw6CisKIDIwMTEtMTEtMDEg
IEFuZHJleSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmll
d2VkLiBGaXhlZCBjb25mbGljdGluZyBlbnRyaWVzIGluIHRlc3QgZXhwZWN0YXRpb25zLgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWtleS1vcmRlci1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Ita2V5LW9y
ZGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZDIzMmRmMmE3NjM5YjliOTE4ZTVlYmMwYTY3
NzRkMmM1OTRlNGExCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvY3Vyc29yLWtleS1vcmRlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5MDggQEAKK1Rl
c3QgSW5kZXhlZERCIGtleXMgb3JkZXJpbmcgYW5kIHJlYWRiYWNrIGZyb20gY3Vyc29ycy4KKwor
T24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9s
bG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK2luZGV4ZWREQiA9IHdpbmRvdy5pbmRleGVk
REIgfHwgd2luZG93LndlYmtpdEluZGV4ZWREQiB8fCB3aW5kb3cubW96SW5kZXhlZERCOworUEFT
UyBpbmRleGVkREIgPT0gbnVsbCBpcyBmYWxzZQorSURCQ3Vyc29yID0gd2luZG93LklEQkN1cnNv
ciB8fCB3aW5kb3cud2Via2l0SURCQ3Vyc29yOworUEFTUyBJREJDdXJzb3IgPT0gbnVsbCBpcyBm
YWxzZQorSURCVHJhbnNhY3Rpb24gPSB3aW5kb3cuSURCVHJhbnNhY3Rpb24gfHwgd2luZG93Lndl
YmtpdElEQlRyYW5zYWN0aW9uCitQQVNTIElEQlRyYW5zYWN0aW9uID09IG51bGwgaXMgZmFsc2UK
Kworb3BlbnJlcSA9IGluZGV4ZWREQi5vcGVuKCdkYicpCitkYiA9IG9wZW5yZXEucmVzdWx0Cit2
ZXJyZXEgPSBkYi5zZXRWZXJzaW9uKCcxJykKK2RiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScp
CisKK3BvcHVsYXRpbmcgc3RvcmUuLi4KK3RyYW5zID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJywg
SURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3N0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0
b3JlJyk7CitzdG9yZS5wdXQoMCwgLUluZmluaXR5KQorc3RvcmUucHV0KDEsIC1OdW1iZXIuTUFY
X1ZBTFVFKQorc3RvcmUucHV0KDIsIC0xKQorc3RvcmUucHV0KDMsIC1OdW1iZXIuTUlOX1ZBTFVF
KQorc3RvcmUucHV0KDQsIDApCitzdG9yZS5wdXQoNSwgTnVtYmVyLk1JTl9WQUxVRSkKK3N0b3Jl
LnB1dCg2LCAxKQorc3RvcmUucHV0KDcsIE51bWJlci5NQVhfVkFMVUUpCitzdG9yZS5wdXQoOCwg
SW5maW5pdHkpCitzdG9yZS5wdXQoOSwgbmV3IERhdGUoMCkpCitzdG9yZS5wdXQoMTAsIG5ldyBE
YXRlKDEwMDApKQorc3RvcmUucHV0KDExLCBuZXcgRGF0ZSgxMzE3Mzk5OTMxMDIzKSkKK3N0b3Jl
LnB1dCgxMiwgJycpCitzdG9yZS5wdXQoMTMsICcnKQorc3RvcmUucHV0KDE0LCAnYScpCitzdG9y
ZS5wdXQoMTUsICdhYScpCitzdG9yZS5wdXQoMTYsICdiJykKK3N0b3JlLnB1dCgxNywgJ2JhJykK
K3N0b3JlLnB1dCgxOCwgJ8KiJykKK3N0b3JlLnB1dCgxOSwgJ+awtCcpCitzdG9yZS5wdXQoMjAs
ICfwnYSeJykKK3N0b3JlLnB1dCgyMSwgJ++/vScpCitzdG9yZS5wdXQoMjIsIFtdKQorc3RvcmUu
cHV0KDIzLCBbLUluZmluaXR5XSkKK3N0b3JlLnB1dCgyNCwgWy1OdW1iZXIuTUFYX1ZBTFVFXSkK
K3N0b3JlLnB1dCgyNSwgWy0xXSkKK3N0b3JlLnB1dCgyNiwgWy1OdW1iZXIuTUlOX1ZBTFVFXSkK
K3N0b3JlLnB1dCgyNywgWzBdKQorc3RvcmUucHV0KDI4LCBbTnVtYmVyLk1JTl9WQUxVRV0pCitz
dG9yZS5wdXQoMjksIFsxXSkKK3N0b3JlLnB1dCgzMCwgW051bWJlci5NQVhfVkFMVUVdKQorc3Rv
cmUucHV0KDMxLCBbSW5maW5pdHldKQorc3RvcmUucHV0KDMyLCBbbmV3IERhdGUoMCldKQorc3Rv
cmUucHV0KDMzLCBbbmV3IERhdGUoMTAwMCldKQorc3RvcmUucHV0KDM0LCBbbmV3IERhdGUoMTMx
NzM5OTkzMTAyMyldKQorc3RvcmUucHV0KDM1LCBbJyddKQorc3RvcmUucHV0KDM2LCBbJyddKQor
c3RvcmUucHV0KDM3LCBbJ2EnXSkKK3N0b3JlLnB1dCgzOCwgWydhYSddKQorc3RvcmUucHV0KDM5
LCBbJ2InXSkKK3N0b3JlLnB1dCg0MCwgWydiYSddKQorc3RvcmUucHV0KDQxLCBbJ8KiJ10pCitz
dG9yZS5wdXQoNDIsIFsn5rC0J10pCitzdG9yZS5wdXQoNDMsIFsn8J2EniddKQorc3RvcmUucHV0
KDQ0LCBbJ++/vSddKQorc3RvcmUucHV0KDQ1LCBbW11dKQorc3RvcmUucHV0KDQ2LCBbW10sIFtd
XSkKK3N0b3JlLnB1dCg0NywgW1tdLCBbXSwgW11dKQorc3RvcmUucHV0KDQ4LCBbW1tdXV0pCitz
dG9yZS5wdXQoNDksIFtbW1tdXV1dKQorCitpdGVyYXRpbmcgY3Vyc29yLi4uCit0cmFucyA9IGRi
LnRyYW5zYWN0aW9uKCdzdG9yZScsIElEQlRyYW5zYWN0aW9uLlJFQURfT05MWSkKK3N0b3JlID0g
dHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlJyk7Citjb3VudCA9IDAKK2N1cnJlcSA9IHN0b3JlLm9w
ZW5DdXJzb3IoKQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5r
ZXksIC1JbmZpbml0eSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQ
QVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJl
c3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIC1OdW1iZXIuTUFYX1ZBTFVFKSBpcyB0cnVl
CitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0g
Y291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vy
c29yLmtleSwgLTEpIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFT
UyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1
bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCAtTnVtYmVyLk1JTl9WQUxVRSkgaXMgdHJ1ZQor
Z2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNv
dW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNv
ci5rZXksIDApIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBn
ZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQK
K1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBOdW1iZXIuTUlOX1ZBTFVFKSBpcyB0cnVlCitnZXRy
ZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQr
KyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtl
eSwgMSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJl
cS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFT
UyBjb21wYXJlKGN1cnNvci5rZXksIE51bWJlci5NQVhfVkFMVUUpIGlzIHRydWUKK2dldHJlcSA9
IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlz
IHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBJ
bmZpbml0eSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdl
dHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAor
UEFTUyBjb21wYXJlKGN1cnNvci5rZXksIG5ldyBEYXRlKDApKSBpcyB0cnVlCitnZXRyZXEgPSBz
dG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0
cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgbmV3
IERhdGUoMTAwMCkpIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFT
UyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1
bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBuZXcgRGF0ZSgxMzE3Mzk5OTMxMDIzKSkgaXMg
dHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQg
PT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJl
KGN1cnNvci5rZXksICcnKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkK
K1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEu
cmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgJ1wwJykgaXMgdHJ1ZQorZ2V0cmVxID0g
c3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMg
dHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksICdh
JykgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5y
ZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBj
b21wYXJlKGN1cnNvci5rZXksICdhYScpIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJz
b3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9
IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCAnYicpIGlzIHRydWUKK2dl
dHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3Vu
dCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iu
a2V5LCAnYmEnKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1Mg
Z2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0
CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgJ8KiJykgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUu
Z2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQor
Y3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksICfmsLQnKSBp
cyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3Vs
dCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBh
cmUoY3Vyc29yLmtleSwgJ/CdhJ4nKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29y
LmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBj
dXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgJ++/vScpIGlzIHRydWUKK2dl
dHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3Vu
dCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iu
a2V5LCBbXSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdl
dHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAor
UEFTUyBjb21wYXJlKGN1cnNvci5rZXksIFstSW5maW5pdHldKSBpcyB0cnVlCitnZXRyZXEgPSBz
dG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0
cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgWy1O
dW1iZXIuTUFYX1ZBTFVFXSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkp
CitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVx
LnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIFstMV0pIGlzIHRydWUKK2dldHJlcSA9
IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlz
IHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBb
LU51bWJlci5NSU5fVkFMVUVdKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtl
eSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJy
ZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgWzBdKSBpcyB0cnVlCitnZXRyZXEg
PSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBp
cyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwg
W051bWJlci5NSU5fVkFMVUVdKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtl
eSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJy
ZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgWzFdKSBpcyB0cnVlCitnZXRyZXEg
PSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBp
cyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwg
W051bWJlci5NQVhfVkFMVUVdKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtl
eSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJy
ZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgW0luZmluaXR5XSkgaXMgdHJ1ZQor
Z2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNv
dW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNv
ci5rZXksIFtuZXcgRGF0ZSgwKV0pIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iu
a2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1
cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBbbmV3IERhdGUoMTAwMCldKSBp
cyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3Vs
dCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBh
cmUoY3Vyc29yLmtleSwgW25ldyBEYXRlKDEzMTczOTk5MzEwMjMpXSkgaXMgdHJ1ZQorZ2V0cmVx
ID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50Kysg
aXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXks
IFsnJ10pIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRy
ZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BB
U1MgY29tcGFyZShjdXJzb3Iua2V5LCBbJ1wwJ10pIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdl
dChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1
cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBbJ2EnXSkgaXMg
dHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQg
PT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJl
KGN1cnNvci5rZXksIFsnYWEnXSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5r
ZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3Vy
cmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIFsnYiddKSBpcyB0cnVlCitnZXRy
ZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQr
KyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtl
eSwgWydiYSddKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1Mg
Z2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0
CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgWyfCoiddKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9y
ZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVl
CitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgWyfmsLQn
XSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5y
ZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBj
b21wYXJlKGN1cnNvci5rZXksIFsn8J2EniddKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQo
Y3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJz
b3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgWyfvv70nXSkgaXMg
dHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQg
PT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJl
KGN1cnNvci5rZXksIFtbXV0pIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5
KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJl
cS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBbW10sIFtdXSkgaXMgdHJ1ZQorZ2V0
cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50
KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5r
ZXksIFtbXSwgW10sIFtdXSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkp
CitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVx
LnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIFtbW11dXSkgaXMgdHJ1ZQorZ2V0cmVx
ID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50Kysg
aXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXks
IFtbW1tdXV1dKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1Mg
Z2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitQQVNTIGNvdW50ID09PSBrZXlzLmxl
bmd0aCBpcyB0cnVlCisKK3ZhbGlkYXRlIGNvbXBhcmUgZnVuY3Rpb24KK1BBU1MgY29tcGFyZSh1
bmRlZmluZWQsIHVuZGVmaW5lZCkgaXMgdHJ1ZQorUEFTUyBjb21wYXJlKHVuZGVmaW5lZCwgdHJ1
ZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh1bmRlZmluZWQsIGZhbHNlKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKHVuZGVmaW5lZCwgMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh1bmRlZmluZWQs
IC0wKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHVuZGVmaW5lZCwgMTIzKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKHVuZGVmaW5lZCwgSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodW5k
ZWZpbmVkLCAtSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodW5kZWZpbmVkLCBOYU4p
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodW5kZWZpbmVkLCAnJykgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZSh1bmRlZmluZWQsICdhYmMnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHVuZGVmaW5lZCwg
J3h5eicpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodW5kZWZpbmVkLCBuZXcgRGF0ZSgwKSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZSh1bmRlZmluZWQsIG5ldyBEYXRlKDFlMykpIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUodW5kZWZpbmVkLCBuZXcgRGF0ZSgxZTkpKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKHVuZGVmaW5lZCwgW10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodW5kZWZpbmVkLCBbMTIz
XSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh1bmRlZmluZWQsIFsnYWJjJ10pIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUodW5kZWZpbmVkLCBbMTIzLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUodW5kZWZpbmVkLCBbJ2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodW5kZWZp
bmVkLCBbW11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHVuZGVmaW5lZCwgW1sxMjNdXSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZSh1bmRlZmluZWQsIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZSh1bmRlZmluZWQsIFtbMTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KHVuZGVmaW5lZCwgW1sxMjNdLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHRydWUsIHVu
ZGVmaW5lZCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh0cnVlLCB0cnVlKSBpcyB0cnVlCitQQVNT
IGNvbXBhcmUodHJ1ZSwgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodHJ1ZSwgMCkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZSh0cnVlLCAtMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh0cnVl
LCAxMjMpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodHJ1ZSwgSW5maW5pdHkpIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUodHJ1ZSwgLUluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHRydWUs
IE5hTikgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh0cnVlLCAnJykgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZSh0cnVlLCAnYWJjJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh0cnVlLCAneHl6JykgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZSh0cnVlLCBuZXcgRGF0ZSgwKSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZSh0cnVlLCBuZXcgRGF0ZSgxZTMpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHRydWUsIG5l
dyBEYXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodHJ1ZSwgW10pIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUodHJ1ZSwgWzEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodHJ1ZSwgWydh
YmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh0cnVlLCBbMTIzLCAnYWJjJ10pIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUodHJ1ZSwgWydhYmMnLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KHRydWUsIFtbXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodHJ1ZSwgW1sxMjNdXSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZSh0cnVlLCBbWydhYmMnXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
dHJ1ZSwgW1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodHJ1ZSwgW1sxMjNd
LCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKGZhbHNlLCB1bmRlZmluZWQpIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoZmFsc2UsIHRydWUpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoZmFsc2Us
IGZhbHNlKSBpcyB0cnVlCitQQVNTIGNvbXBhcmUoZmFsc2UsIDApIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoZmFsc2UsIC0wKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKGZhbHNlLCAxMjMpIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoZmFsc2UsIEluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KGZhbHNlLCAtSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoZmFsc2UsIE5hTikgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShmYWxzZSwgJycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoZmFs
c2UsICdhYmMnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKGZhbHNlLCAneHl6JykgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShmYWxzZSwgbmV3IERhdGUoMCkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
ZmFsc2UsIG5ldyBEYXRlKDFlMykpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoZmFsc2UsIG5ldyBE
YXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoZmFsc2UsIFtdKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKGZhbHNlLCBbMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShmYWxzZSwgWydh
YmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShmYWxzZSwgWzEyMywgJ2FiYyddKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKGZhbHNlLCBbJ2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoZmFsc2UsIFtbXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoZmFsc2UsIFtbMTIzXV0pIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoZmFsc2UsIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShmYWxzZSwgW1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoZmFsc2Us
IFtbMTIzXSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgwLCB1bmRlZmluZWQpIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoMCwgdHJ1ZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgwLCBmYWxz
ZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgwLCAwKSBpcyB0cnVlCitQQVNTIGNvbXBhcmUoMCwg
LTApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMCwgMTIzKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KDAsIEluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDAsIC1JbmZpbml0eSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZSgwLCBOYU4pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMCwgJycpIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoMCwgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMCwg
J3h5eicpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMCwgbmV3IERhdGUoMCkpIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoMCwgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgwLCBu
ZXcgRGF0ZSgxZTkpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDAsIFtdKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKDAsIFsxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDAsIFsnYWJjJ10pIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoMCwgWzEyMywgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKDAsIFsnYWJjJywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgwLCBbW11dKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKDAsIFtbMTIzXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMCwg
W1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDAsIFtbMTIzXSwgJ2FiYyddKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKDAsIFtbMTIzXSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZSgtMCwgdW5kZWZpbmVkKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC0wLCB0cnVlKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKC0wLCBmYWxzZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwgMCkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwgLTApIGlzIHRydWUKK1BBU1MgY29tcGFyZSgtMCwg
MTIzKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC0wLCBJbmZpbml0eSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZSgtMCwgLUluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC0wLCBOYU4pIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoLTAsICcnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC0wLCAn
YWJjJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwgJ3h5eicpIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoLTAsIG5ldyBEYXRlKDApKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC0wLCBuZXcgRGF0
ZSgxZTMpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC0wLCBuZXcgRGF0ZSgxZTkpKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKC0wLCBbXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwgWzEyM10p
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLTAsIFsnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoLTAsIFsxMjMsICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwgWydhYmMnLCAx
MjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC0wLCBbW11dKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKC0wLCBbWzEyM11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC0wLCBbWydhYmMnXV0pIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoLTAsIFtbMTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKC0wLCBbWzEyM10sIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCB1bmRl
ZmluZWQpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCB0cnVlKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKDEyMywgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCAwKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKDEyMywgLTApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCAxMjMp
IGlzIHRydWUKK1BBU1MgY29tcGFyZSgxMjMsIEluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKDEyMywgLUluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDEyMywgTmFOKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKDEyMywgJycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCAn
YWJjJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgxMjMsICd4eXonKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKDEyMywgbmV3IERhdGUoMCkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCBuZXcg
RGF0ZSgxZTMpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDEyMywgbmV3IERhdGUoMWU5KSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZSgxMjMsIFtdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDEyMywg
WzEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCBbJ2FiYyddKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKDEyMywgWzEyMywgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDEyMywg
WydhYmMnLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDEyMywgW1tdXSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZSgxMjMsIFtbMTIzXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCBb
WydhYmMnXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCBbWzEyM10sICdhYmMnXSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZSgxMjMsIFtbMTIzXSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShJbmZpbml0eSwgdW5kZWZpbmVkKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKEluZmluaXR5
LCB0cnVlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKEluZmluaXR5LCBmYWxzZSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShJbmZpbml0eSwgMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShJbmZpbml0
eSwgLTApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoSW5maW5pdHksIDEyMykgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShJbmZpbml0eSwgSW5maW5pdHkpIGlzIHRydWUKK1BBU1MgY29tcGFyZShJbmZp
bml0eSwgLUluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKEluZmluaXR5LCBOYU4pIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoSW5maW5pdHksICcnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KEluZmluaXR5LCAnYWJjJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShJbmZpbml0eSwgJ3h5eicp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoSW5maW5pdHksIG5ldyBEYXRlKDApKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKEluZmluaXR5LCBuZXcgRGF0ZSgxZTMpKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKEluZmluaXR5LCBuZXcgRGF0ZSgxZTkpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKEluZmlu
aXR5LCBbXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShJbmZpbml0eSwgWzEyM10pIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoSW5maW5pdHksIFsnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
SW5maW5pdHksIFsxMjMsICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShJbmZpbml0eSwg
WydhYmMnLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKEluZmluaXR5LCBbW11dKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKEluZmluaXR5LCBbWzEyM11dKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKEluZmluaXR5LCBbWydhYmMnXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoSW5maW5pdHks
IFtbMTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKEluZmluaXR5LCBbWzEyM10s
IDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCB1bmRlZmluZWQpIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCB0cnVlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KC1JbmZpbml0eSwgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCAwKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKC1JbmZpbml0eSwgLTApIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoLUluZmluaXR5LCAxMjMpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCBJbmZp
bml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtSW5maW5pdHksIC1JbmZpbml0eSkgaXMgdHJ1
ZQorUEFTUyBjb21wYXJlKC1JbmZpbml0eSwgTmFOKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC1J
bmZpbml0eSwgJycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCAnYWJjJykgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZSgtSW5maW5pdHksICd4eXonKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKC1JbmZpbml0eSwgbmV3IERhdGUoMCkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLUluZmlu
aXR5LCBuZXcgRGF0ZSgxZTMpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC1JbmZpbml0eSwgbmV3
IERhdGUoMWU5KSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtSW5maW5pdHksIFtdKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKC1JbmZpbml0eSwgWzEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
LUluZmluaXR5LCBbJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC1JbmZpbml0eSwgWzEy
MywgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC1JbmZpbml0eSwgWydhYmMnLCAxMjNd
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC1JbmZpbml0eSwgW1tdXSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZSgtSW5maW5pdHksIFtbMTIzXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLUluZmlu
aXR5LCBbWydhYmMnXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCBbWzEyM10s
ICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtSW5maW5pdHksIFtbMTIzXSwgMTIzXSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShOYU4sIHVuZGVmaW5lZCkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShOYU4sIHRydWUpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoTmFOLCBmYWxzZSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShOYU4sIDApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoTmFOLCAtMCkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShOYU4sIDEyMykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShO
YU4sIEluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5hTiwgLUluZmluaXR5KSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKE5hTiwgTmFOKSBpcyB0cnVlCitQQVNTIGNvbXBhcmUoTmFOLCAn
JykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShOYU4sICdhYmMnKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKE5hTiwgJ3h5eicpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoTmFOLCBuZXcgRGF0ZSgwKSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShOYU4sIG5ldyBEYXRlKDFlMykpIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoTmFOLCBuZXcgRGF0ZSgxZTkpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5hTiwg
W10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoTmFOLCBbMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShOYU4sIFsnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoTmFOLCBbMTIzLCAnYWJj
J10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoTmFOLCBbJ2FiYycsIDEyM10pIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoTmFOLCBbW11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5hTiwgW1sxMjNd
XSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShOYU4sIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZShOYU4sIFtbMTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5hTiwg
W1sxMjNdLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCcnLCB1bmRlZmluZWQpIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoJycsIHRydWUpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJycsIGZh
bHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCcnLCAwKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KCcnLCAtMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnJywgMTIzKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKCcnLCBJbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnJywgLUluZmluaXR5
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCcnLCBOYU4pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
JycsICcnKSBpcyB0cnVlCitQQVNTIGNvbXBhcmUoJycsICdhYmMnKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKCcnLCAneHl6JykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnJywgbmV3IERhdGUoMCkp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJycsIG5ldyBEYXRlKDFlMykpIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoJycsIG5ldyBEYXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJycsIFtd
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCcnLCBbMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZSgnJywgWydhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnJywgWzEyMywgJ2FiYyddKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKCcnLCBbJ2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoJycsIFtbXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJycsIFtbMTIzXV0pIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoJycsIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgn
JywgW1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJycsIFtbMTIzXSwgMTIz
XSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnYWJjJywgdW5kZWZpbmVkKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKCdhYmMnLCB0cnVlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCdhYmMnLCBmYWxz
ZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnYWJjJywgMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZSgnYWJjJywgLTApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ2FiYycsIDEyMykgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZSgnYWJjJywgSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ2Fi
YycsIC1JbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnYWJjJywgTmFOKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKCdhYmMnLCAnJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnYWJjJywg
J2FiYycpIGlzIHRydWUKK1BBU1MgY29tcGFyZSgnYWJjJywgJ3h5eicpIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoJ2FiYycsIG5ldyBEYXRlKDApKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCdhYmMn
LCBuZXcgRGF0ZSgxZTMpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCdhYmMnLCBuZXcgRGF0ZSgx
ZTkpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCdhYmMnLCBbXSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZSgnYWJjJywgWzEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ2FiYycsIFsnYWJjJ10p
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ2FiYycsIFsxMjMsICdhYmMnXSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZSgnYWJjJywgWydhYmMnLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCdh
YmMnLCBbW11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCdhYmMnLCBbWzEyM11dKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKCdhYmMnLCBbWydhYmMnXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
J2FiYycsIFtbMTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCdhYmMnLCBbWzEy
M10sIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ3h5eicsIHVuZGVmaW5lZCkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZSgneHl6JywgdHJ1ZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgneHl6
JywgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ3h5eicsIDApIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoJ3h5eicsIC0wKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCd4eXonLCAxMjMpIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoJ3h5eicsIEluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKCd4eXonLCAtSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ3h5eicsIE5hTikg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZSgneHl6JywgJycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
J3h5eicsICdhYmMnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCd4eXonLCAneHl6JykgaXMgdHJ1
ZQorUEFTUyBjb21wYXJlKCd4eXonLCBuZXcgRGF0ZSgwKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZSgneHl6JywgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgneHl6JywgbmV3
IERhdGUoMWU5KSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgneHl6JywgW10pIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoJ3h5eicsIFsxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCd4eXonLCBb
J2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCd4eXonLCBbMTIzLCAnYWJjJ10pIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoJ3h5eicsIFsnYWJjJywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZSgneHl6JywgW1tdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgneHl6JywgW1sxMjNdXSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZSgneHl6JywgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKCd4eXonLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgneHl6
JywgW1sxMjNdLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDApLCB1bmRl
ZmluZWQpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMCksIHRydWUpIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUobmV3IERhdGUoMCksIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KG5ldyBEYXRlKDApLCAwKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDApLCAtMCkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgwKSwgMTIzKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKG5ldyBEYXRlKDApLCBJbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcg
RGF0ZSgwKSwgLUluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDApLCBO
YU4pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMCksICcnKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKG5ldyBEYXRlKDApLCAnYWJjJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcg
RGF0ZSgwKSwgJ3h5eicpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMCksIG5ldyBE
YXRlKDApKSBpcyB0cnVlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMCksIG5ldyBEYXRlKDFlMykp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMCksIG5ldyBEYXRlKDFlOSkpIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMCksIFtdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KG5ldyBEYXRlKDApLCBbMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgwKSwg
WydhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgwKSwgWzEyMywgJ2FiYydd
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDApLCBbJ2FiYycsIDEyM10pIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMCksIFtbXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUobmV3IERhdGUoMCksIFtbMTIzXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUo
MCksIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgwKSwgW1sxMjNd
LCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMCksIFtbMTIzXSwgMTIz
XSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTMpLCB1bmRlZmluZWQpIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWUzKSwgdHJ1ZSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShuZXcgRGF0ZSgxZTMpLCBmYWxzZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0
ZSgxZTMpLCAwKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlMyksIC0wKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlMyksIDEyMykgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShuZXcgRGF0ZSgxZTMpLCBJbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcg
RGF0ZSgxZTMpLCAtSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWUz
KSwgTmFOKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlMyksICcnKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlMyksICdhYmMnKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKG5ldyBEYXRlKDFlMyksICd4eXonKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRl
KDFlMyksIG5ldyBEYXRlKDApKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlMyks
IG5ldyBEYXRlKDFlMykpIGlzIHRydWUKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTMpLCBuZXcg
RGF0ZSgxZTkpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlMyksIFtdKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlMyksIFsxMjNdKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKG5ldyBEYXRlKDFlMyksIFsnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3
IERhdGUoMWUzKSwgWzEyMywgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRl
KDFlMyksIFsnYWJjJywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTMp
LCBbW11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlMyksIFtbMTIzXV0pIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWUzKSwgW1snYWJjJ11dKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlMyksIFtbMTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKG5ldyBEYXRlKDFlMyksIFtbMTIzXSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShuZXcgRGF0ZSgxZTkpLCB1bmRlZmluZWQpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3
IERhdGUoMWU5KSwgdHJ1ZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTkpLCBm
YWxzZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTkpLCAwKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlOSksIC0wKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5l
dyBEYXRlKDFlOSksIDEyMykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTkpLCBJ
bmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTkpLCAtSW5maW5pdHkp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwgTmFOKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKG5ldyBEYXRlKDFlOSksICcnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBE
YXRlKDFlOSksICdhYmMnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlOSksICd4
eXonKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlOSksIG5ldyBEYXRlKDApKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlOSksIG5ldyBEYXRlKDFlMykpIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwgbmV3IERhdGUoMWU5KSkgaXMgdHJ1ZQor
UEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlOSksIFtdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5l
dyBEYXRlKDFlOSksIFsxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlOSks
IFsnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwgWzEyMywgJ2Fi
YyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlOSksIFsnYWJjJywgMTIzXSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTkpLCBbW11dKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKG5ldyBEYXRlKDFlOSksIFtbMTIzXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
bmV3IERhdGUoMWU5KSwgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRl
KDFlOSksIFtbMTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFl
OSksIFtbMTIzXSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbXSwgdW5kZWZpbmVkKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKFtdLCB0cnVlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtd
LCBmYWxzZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbXSwgMCkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShbXSwgLTApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW10sIDEyMykgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbXSwgSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW10sIC1JbmZp
bml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbXSwgTmFOKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKFtdLCAnJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbXSwgJ2FiYycpIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoW10sICd4eXonKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtdLCBuZXcgRGF0
ZSgwKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbXSwgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShbXSwgbmV3IERhdGUoMWU5KSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShb
XSwgW10pIGlzIHRydWUKK1BBU1MgY29tcGFyZShbXSwgWzEyM10pIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoW10sIFsnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW10sIFsxMjMsICdhYmMn
XSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbXSwgWydhYmMnLCAxMjNdKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKFtdLCBbW11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtdLCBbWzEyM11dKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKFtdLCBbWydhYmMnXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoW10sIFtbMTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtdLCBbWzEyM10s
IDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyM10sIHVuZGVmaW5lZCkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShbMTIzXSwgdHJ1ZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzXSwg
ZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyM10sIDApIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoWzEyM10sIC0wKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjNdLCAxMjMpIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoWzEyM10sIEluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KFsxMjNdLCAtSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyM10sIE5hTikgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzXSwgJycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEy
M10sICdhYmMnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjNdLCAneHl6JykgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShbMTIzXSwgbmV3IERhdGUoMCkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
WzEyM10sIG5ldyBEYXRlKDFlMykpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyM10sIG5ldyBE
YXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyM10sIFtdKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKFsxMjNdLCBbMTIzXSkgaXMgdHJ1ZQorUEFTUyBjb21wYXJlKFsxMjNdLCBbJ2Fi
YyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjNdLCBbMTIzLCAnYWJjJ10pIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoWzEyM10sIFsnYWJjJywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShbMTIzXSwgW1tdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzXSwgW1sxMjNdXSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzXSwgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKFsxMjNdLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzXSwg
W1sxMjNdLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJ10sIHVuZGVmaW5lZCkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYyddLCB0cnVlKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKFsnYWJjJ10sIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJ10sIDApIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnXSwgLTApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
WydhYmMnXSwgMTIzKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJ10sIEluZmluaXR5KSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJ10sIC1JbmZpbml0eSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZShbJ2FiYyddLCBOYU4pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnXSwgJycp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnXSwgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoWydhYmMnXSwgJ3h5eicpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnXSwgbmV3
IERhdGUoMCkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnXSwgbmV3IERhdGUoMWUzKSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYyddLCBuZXcgRGF0ZSgxZTkpKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFsnYWJjJ10sIFtdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJ10s
IFsxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJ10sIFsnYWJjJ10pIGlzIHRydWUK
K1BBU1MgY29tcGFyZShbJ2FiYyddLCBbMTIzLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoWydhYmMnXSwgWydhYmMnLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJ10s
IFtbXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnXSwgW1sxMjNdXSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShbJ2FiYyddLCBbWydhYmMnXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
WydhYmMnXSwgW1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnXSwg
W1sxMjNdLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjMsICdhYmMnXSwgdW5kZWZp
bmVkKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjMsICdhYmMnXSwgdHJ1ZSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShbMTIzLCAnYWJjJ10sIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KFsxMjMsICdhYmMnXSwgMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzLCAnYWJjJ10sIC0w
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjMsICdhYmMnXSwgMTIzKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKFsxMjMsICdhYmMnXSwgSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
WzEyMywgJ2FiYyddLCAtSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyMywgJ2Fi
YyddLCBOYU4pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyMywgJ2FiYyddLCAnJykgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShbMTIzLCAnYWJjJ10sICdhYmMnKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKFsxMjMsICdhYmMnXSwgJ3h5eicpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyMywgJ2Fi
YyddLCBuZXcgRGF0ZSgwKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzLCAnYWJjJ10sIG5l
dyBEYXRlKDFlMykpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyMywgJ2FiYyddLCBuZXcgRGF0
ZSgxZTkpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjMsICdhYmMnXSwgW10pIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoWzEyMywgJ2FiYyddLCBbMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShbMTIzLCAnYWJjJ10sIFsnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyMywgJ2Fi
YyddLCBbMTIzLCAnYWJjJ10pIGlzIHRydWUKK1BBU1MgY29tcGFyZShbMTIzLCAnYWJjJ10sIFsn
YWJjJywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzLCAnYWJjJ10sIFtbXV0pIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyMywgJ2FiYyddLCBbWzEyM11dKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKFsxMjMsICdhYmMnXSwgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KFsxMjMsICdhYmMnXSwgW1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEy
MywgJ2FiYyddLCBbWzEyM10sIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnLCAx
MjNdLCB1bmRlZmluZWQpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnLCAxMjNdLCB0cnVl
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJywgMTIzXSwgZmFsc2UpIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoWydhYmMnLCAxMjNdLCAwKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJj
JywgMTIzXSwgLTApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnLCAxMjNdLCAxMjMpIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnLCAxMjNdLCBJbmZpbml0eSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbJ2FiYycsIDEyM10sIC1JbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShbJ2FiYycsIDEyM10sIE5hTikgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYycsIDEyM10s
ICcnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJywgMTIzXSwgJ2FiYycpIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoWydhYmMnLCAxMjNdLCAneHl6JykgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShbJ2FiYycsIDEyM10sIG5ldyBEYXRlKDApKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJj
JywgMTIzXSwgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYycsIDEy
M10sIG5ldyBEYXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnLCAxMjNdLCBb
XSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYycsIDEyM10sIFsxMjNdKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFsnYWJjJywgMTIzXSwgWydhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShbJ2FiYycsIDEyM10sIFsxMjMsICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2Fi
YycsIDEyM10sIFsnYWJjJywgMTIzXSkgaXMgdHJ1ZQorUEFTUyBjb21wYXJlKFsnYWJjJywgMTIz
XSwgW1tdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYycsIDEyM10sIFtbMTIzXV0pIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnLCAxMjNdLCBbWydhYmMnXV0pIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoWydhYmMnLCAxMjNdLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZShbJ2FiYycsIDEyM10sIFtbMTIzXSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShbW11dLCB1bmRlZmluZWQpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1tdXSwgdHJ1ZSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShbW11dLCBmYWxzZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShb
W11dLCAwKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbXV0sIC0wKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKFtbXV0sIDEyMykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbW11dLCBJbmZpbml0eSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShbW11dLCAtSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoW1tdXSwgTmFOKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbXV0sICcnKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKFtbXV0sICdhYmMnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbXV0s
ICd4eXonKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbXV0sIG5ldyBEYXRlKDApKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKFtbXV0sIG5ldyBEYXRlKDFlMykpIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoW1tdXSwgbmV3IERhdGUoMWU5KSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbW11dLCBbXSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShbW11dLCBbMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShbW11dLCBbJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbXV0sIFsxMjMsICdhYmMn
XSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbW11dLCBbJ2FiYycsIDEyM10pIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoW1tdXSwgW1tdXSkgaXMgdHJ1ZQorUEFTUyBjb21wYXJlKFtbXV0sIFtbMTIz
XV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1tdXSwgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKFtbXV0sIFtbMTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtb
XV0sIFtbMTIzXSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM11dLCB1bmRlZmlu
ZWQpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwgdHJ1ZSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZShbWzEyM11dLCBmYWxzZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM11dLCAw
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXV0sIC0wKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKFtbMTIzXV0sIDEyMykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM11dLCBJbmZpbml0
eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM11dLCAtSW5maW5pdHkpIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoW1sxMjNdXSwgTmFOKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXV0s
ICcnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXV0sICdhYmMnKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKFtbMTIzXV0sICd4eXonKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXV0s
IG5ldyBEYXRlKDApKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXV0sIG5ldyBEYXRlKDFl
MykpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwgbmV3IERhdGUoMWU5KSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShbWzEyM11dLCBbXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEy
M11dLCBbMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM11dLCBbJ2FiYyddKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXV0sIFsxMjMsICdhYmMnXSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZShbWzEyM11dLCBbJ2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sx
MjNdXSwgW1tdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM11dLCBbWzEyM11dKSBpcyB0
cnVlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKFtbMTIzXV0sIFtbMTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIz
XV0sIFtbMTIzXSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWydhYmMnXV0sIHVuZGVm
aW5lZCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWydhYmMnXV0sIHRydWUpIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoW1snYWJjJ11dLCBmYWxzZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWydh
YmMnXV0sIDApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1snYWJjJ11dLCAtMCkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShbWydhYmMnXV0sIDEyMykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWydh
YmMnXV0sIEluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbJ2FiYyddXSwgLUluZmlu
aXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbJ2FiYyddXSwgTmFOKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKFtbJ2FiYyddXSwgJycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1snYWJjJ11d
LCAnYWJjJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWydhYmMnXV0sICd4eXonKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKFtbJ2FiYyddXSwgbmV3IERhdGUoMCkpIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoW1snYWJjJ11dLCBuZXcgRGF0ZSgxZTMpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtb
J2FiYyddXSwgbmV3IERhdGUoMWU5KSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWydhYmMnXV0s
IFtdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbJ2FiYyddXSwgWzEyM10pIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoW1snYWJjJ11dLCBbJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtb
J2FiYyddXSwgWzEyMywgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbJ2FiYyddXSwg
WydhYmMnLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbJ2FiYyddXSwgW1tdXSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShbWydhYmMnXV0sIFtbMTIzXV0pIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoW1snYWJjJ11dLCBbWydhYmMnXV0pIGlzIHRydWUKK1BBU1MgY29tcGFyZShbWydhYmMn
XV0sIFtbMTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbJ2FiYyddXSwgW1sx
MjNdLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgJ2FiYyddLCB1bmRlZmlu
ZWQpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJjJ10sIHRydWUpIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJjJ10sIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKFtbMTIzXSwgJ2FiYyddLCAwKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgJ2Fi
YyddLCAtMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sICdhYmMnXSwgMTIzKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgJ2FiYyddLCBJbmZpbml0eSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbWzEyM10sICdhYmMnXSwgLUluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKFtbMTIzXSwgJ2FiYyddLCBOYU4pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAn
YWJjJ10sICcnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgJ2FiYyddLCAnYWJjJykg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sICdhYmMnXSwgJ3h5eicpIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJjJ10sIG5ldyBEYXRlKDApKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKFtbMTIzXSwgJ2FiYyddLCBuZXcgRGF0ZSgxZTMpKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKFtbMTIzXSwgJ2FiYyddLCBuZXcgRGF0ZSgxZTkpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KFtbMTIzXSwgJ2FiYyddLCBbXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sICdhYmMn
XSwgWzEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJjJ10sIFsnYWJjJ10p
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJjJ10sIFsxMjMsICdhYmMnXSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sICdhYmMnXSwgWydhYmMnLCAxMjNdKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgJ2FiYyddLCBbW11dKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKFtbMTIzXSwgJ2FiYyddLCBbWzEyM11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIz
XSwgJ2FiYyddLCBbWydhYmMnXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJj
J10sIFtbMTIzXSwgJ2FiYyddKSBpcyB0cnVlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJjJ10s
IFtbMTIzXSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sIDEyM10sIHVuZGVm
aW5lZCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sIDEyM10sIHRydWUpIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNdLCBmYWxzZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShbWzEyM10sIDEyM10sIDApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNdLCAt
MCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sIDEyM10sIDEyMykgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbWzEyM10sIDEyM10sIEluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KFtbMTIzXSwgMTIzXSwgLUluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwg
MTIzXSwgTmFOKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgMTIzXSwgJycpIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNdLCAnYWJjJykgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShbWzEyM10sIDEyM10sICd4eXonKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwg
MTIzXSwgbmV3IERhdGUoMCkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNdLCBu
ZXcgRGF0ZSgxZTMpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgMTIzXSwgbmV3IERh
dGUoMWU5KSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sIDEyM10sIFtdKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgMTIzXSwgWzEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoW1sxMjNdLCAxMjNdLCBbJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwg
MTIzXSwgWzEyMywgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgMTIzXSwg
WydhYmMnLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgMTIzXSwgW1tdXSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sIDEyM10sIFtbMTIzXV0pIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNdLCBbWydhYmMnXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoW1sxMjNdLCAxMjNdLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShb
WzEyM10sIDEyM10sIFtbMTIzXSwgMTIzXSkgaXMgdHJ1ZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1rZXktb3JkZXIuaHRtbCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2N1cnNvci1rZXktb3JkZXIuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZTJjN2MwMGFk
NGMzZWU3ZjIyMDRlMzBmM2E0NGI2MjBiZDQyZjhkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWtleS1vcmRlci5odG1sCkBAIC0wLDAgKzEs
MjQyIEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9zaGFyZWQuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBp
ZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4K
KworZGVzY3JpcHRpb24oIlRlc3QgSW5kZXhlZERCIGtleXMgb3JkZXJpbmcgYW5kIHJlYWRiYWNr
IGZyb20gY3Vyc29ycy4iKTsKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIAorICAg
IGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKworZnVuY3Rpb24gdGVzdCgp
Cit7CisgICAgZXZhbEFuZExvZygiaW5kZXhlZERCID0gd2luZG93LmluZGV4ZWREQiB8fCB3aW5k
b3cud2Via2l0SW5kZXhlZERCIHx8IHdpbmRvdy5tb3pJbmRleGVkREI7Iik7CisgICAgc2hvdWxk
QmVGYWxzZSgiaW5kZXhlZERCID09IG51bGwiKTsKKyAgICBldmFsQW5kTG9nKCJJREJDdXJzb3Ig
PSB3aW5kb3cuSURCQ3Vyc29yIHx8IHdpbmRvdy53ZWJraXRJREJDdXJzb3I7Iik7CisgICAgc2hv
dWxkQmVGYWxzZSgiSURCQ3Vyc29yID09IG51bGwiKTsKKyAgICBldmFsQW5kTG9nKCJJREJUcmFu
c2FjdGlvbiA9IHdpbmRvdy5JREJUcmFuc2FjdGlvbiB8fCB3aW5kb3cud2Via2l0SURCVHJhbnNh
Y3Rpb24iKTsKKyAgICBzaG91bGRCZUZhbHNlKCJJREJUcmFuc2FjdGlvbiA9PSBudWxsIik7CisK
KyAgICBwcmVwYXJlRGF0YWJhc2UoKTsKK30KKworZnVuY3Rpb24gcHJlcGFyZURhdGFiYXNlKCkK
K3sKKyAgICBkZWJ1ZygiIik7CisgICAgZXZhbEFuZExvZygib3BlbnJlcSA9IGluZGV4ZWREQi5v
cGVuKCdkYicpIik7CisgICAgb3BlbnJlcS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJh
Y2s7CisgICAgb3BlbnJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgZXZhbEFu
ZExvZygiZGIgPSBvcGVucmVxLnJlc3VsdCIpOworICAgICAgICBldmFsQW5kTG9nKCJ2ZXJyZXEg
PSBkYi5zZXRWZXJzaW9uKCcxJykiKTsKKyAgICAgICAgdmVycmVxLm9uZXJyb3IgPSB1bmV4cGVj
dGVkRXJyb3JDYWxsYmFjazsKKyAgICAgICAgdmVycmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkg
eworICAgICAgICAgICAgZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJyki
KTsKKyAgICAgICAgICAgIHZlcnJlcS5yZXN1bHQub25jb21wbGV0ZSA9IHBvcHVsYXRlU3RvcmU7
CisgICAgICAgIH07CisgICAgfTsKK30KKword2luZG93LmtleXMgPSBbCisgICAgIi1JbmZpbml0
eSIsCisgICAgIi1OdW1iZXIuTUFYX1ZBTFVFIiwKKyAgICAiLTEiLAorICAgICItTnVtYmVyLk1J
Tl9WQUxVRSIsCisgICAgIjAiLAorICAgICJOdW1iZXIuTUlOX1ZBTFVFIiwKKyAgICAiMSIsCisg
ICAgIk51bWJlci5NQVhfVkFMVUUiLAorICAgICJJbmZpbml0eSIsCisKKyAgICAibmV3IERhdGUo
MCkiLAorICAgICJuZXcgRGF0ZSgxMDAwKSIsCisgICAgIm5ldyBEYXRlKDEzMTczOTk5MzEwMjMp
IiwKKyAgICAKKyAgICAiJyciLAorICAgICInXHgwMCciLAorICAgICInYSciLAorICAgICInYWEn
IiwKKyAgICAiJ2InIiwKKyAgICAiJ2JhJyIsCisKKyAgICAiJ1x4QTInIiwgLy8gVSswMEEyIENF
TlQgU0lHTgorICAgICInXHU2QzM0JyIsIC8vIFUrNkMzNCBDSksgVU5JRklFRCBJREVPR1JBUEgg
KHdhdGVyKQorICAgICInXHVEODM0XHVERDFFJyIsIC8vIFUrMUQxMUUgTVVTSUNBTCBTWU1CT0wg
Ry1DTEVGIChVVEYtMTYgc3Vycm9nYXRlIHBhaXIpCisgICAgIidcdUZGRkQnIiwgLy8gVStGRkZE
IFJFUExBQ0VNRU5UIENIQVJBQ1RFUgorCisgICAgIltdIiwKKworICAgICJbLUluZmluaXR5XSIs
CisgICAgIlstTnVtYmVyLk1BWF9WQUxVRV0iLAorICAgICJbLTFdIiwKKyAgICAiWy1OdW1iZXIu
TUlOX1ZBTFVFXSIsCisgICAgIlswXSIsCisgICAgIltOdW1iZXIuTUlOX1ZBTFVFXSIsCisgICAg
IlsxXSIsCisgICAgIltOdW1iZXIuTUFYX1ZBTFVFXSIsCisgICAgIltJbmZpbml0eV0iLAorCisg
ICAgIltuZXcgRGF0ZSgwKV0iLAorICAgICJbbmV3IERhdGUoMTAwMCldIiwKKyAgICAiW25ldyBE
YXRlKDEzMTczOTk5MzEwMjMpXSIsCisgICAgCisgICAgIlsnJ10iLAorICAgICJbJ1x4MDAnXSIs
CisgICAgIlsnYSddIiwKKyAgICAiWydhYSddIiwKKyAgICAiWydiJ10iLAorICAgICJbJ2JhJ10i
LAorCisgICAgIlsnXHhBMiddIiwgLy8gVSswMEEyIENFTlQgU0lHTgorICAgICJbJ1x1NkMzNCdd
IiwgLy8gVSs2QzM0IENKSyBVTklGSUVEIElERU9HUkFQSCAod2F0ZXIpCisgICAgIlsnXHVEODM0
XHVERDFFJ10iLCAvLyBVKzFEMTFFIE1VU0lDQUwgU1lNQk9MIEctQ0xFRiAoVVRGLTE2IHN1cnJv
Z2F0ZSBwYWlyKQorICAgICJbJ1x1RkZGRCddIiwgLy8gVStGRkZEIFJFUExBQ0VNRU5UIENIQVJB
Q1RFUgorCisgICAgIltbXV0iLAorICAgIAorICAgICJbW10sIFtdXSIsCisgICAgIltbXSwgW10s
IFtdXSIsCisKKyAgICAiW1tbXV1dIiwKKyAgICAiW1tbW11dXV0iCitdOworCitmdW5jdGlvbiBj
b21wYXJlKGEsIGIpCit7CisgICAgaWYgKHR5cGVvZiBhICE9PSB0eXBlb2YgYikgeworICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgc3dpdGNoICh0eXBlb2YgYSkgeworICAgICAg
ICBjYXNlICd1bmRlZmluZWQnOiAvLyBOb3QgdmFsaWQga2V5cywgYnV0IGNvbXBhcmUgYW55d2F5
LgorICAgICAgICBjYXNlICdib29sZWFuJzogLy8gTm90IHZhbGlkIGtleXMsIGJ1dCBjb21wYXJl
IGFueXdheS4KKyAgICAgICAgY2FzZSAnc3RyaW5nJzoKKyAgICAgICAgICAgIHJldHVybiBhID09
PSBiOworICAgICAgICBjYXNlICdudW1iZXInOgorICAgICAgICAgICAgaWYgKGEgPT09IGIpIHsg
CisgICAgICAgICAgICAgICAgcmV0dXJuIChhICE9PSAwKSB8fCAoMSAvIGEgPT09IDEgLyBiKTsg
Ly8gMCBpc24ndCAtMAorICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICByZXR1
cm4gYSAhPT0gYSAmJiBiICE9PSBiOyAvLyBOYU4gaXMgTmFOCisgICAgICAgICAgICB9CisgICAg
ICAgIGNhc2UgJ29iamVjdCc6CisgICAgICAgICAgICBpZiAoYSBpbnN0YW5jZW9mIERhdGUgJiYg
YiBpbnN0YW5jZW9mIERhdGUpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gK2EgPT09ICtiOwor
ICAgICAgICAgICAgfSBlbHNlIGlmIChhIGluc3RhbmNlb2YgQXJyYXkgJiYgYiBpbnN0YW5jZW9m
IEFycmF5KSB7CisgICAgICAgICAgICAgICAgaWYgKGEubGVuZ3RoICE9PSBiLmxlbmd0aCkgewor
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAgICAgfQorICAg
ICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYS5sZW5ndGg7IGkrKykgeworICAgICAg
ICAgICAgICAgICAgICBpZiAoIWNvbXBhcmUoYVtpXSwgYltpXSkpIHsKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgIC8vIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyB0ZXN0LCBvdGhlciBvYmplY3Rz
IGRvbid0IGNvdW50CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGRlZmF1bHQ6
CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorfQorCitmdW5jdGlvbiBwb3B1bGF0
ZVN0b3JlKCkKK3sKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWcoInBvcHVsYXRpbmcgc3RvcmUu
Li4iKTsKKyAgICBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5zYWN0aW9uKCdzdG9yZScsIElE
QlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CisgICAgZXZhbEFuZExvZygic3RvcmUgPSB0cmFu
cy5vYmplY3RTdG9yZSgnc3RvcmUnKTsiKTsKKyAgICB0cmFucy5vbmVycm9yID0gdW5leHBlY3Rl
ZEVycm9yQ2FsbGJhY2s7CisgICAgdHJhbnMub25hYm9ydCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxi
YWNrOworICAgIHZhciBjb3VudCA9IDA7CisgICAga2V5cy5mb3JFYWNoKGZ1bmN0aW9uKGtleSkg
eworICAgICAgICBldmFsQW5kTG9nKCJzdG9yZS5wdXQoIiArIChjb3VudCsrKSArICIsICIgKyBr
ZXkgKyAiKSIpOworICAgIH0pOworICAgIHRyYW5zLm9uY29tcGxldGUgPSBjaGVja1N0b3JlOwor
fQorCitmdW5jdGlvbiBjaGVja1N0b3JlKCkKK3sKKyAgICBkZWJ1ZygiIik7CisgICAgZGVidWco
Iml0ZXJhdGluZyBjdXJzb3IuLi4iKTsKKyAgICBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5z
YWN0aW9uKCdzdG9yZScsIElEQlRyYW5zYWN0aW9uLlJFQURfT05MWSkiKTsKKyAgICBldmFsQW5k
TG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZScpOyIpOworICAgIHRyYW5zLm9u
ZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKKyAgICB0cmFucy5vbmFib3J0ID0gdW5l
eHBlY3RlZEFib3J0Q2FsbGJhY2s7CisgICAgZXZhbEFuZExvZygiY291bnQgPSAwIik7CisgICAg
Y3VycmVxID0gZXZhbEFuZExvZygiY3VycmVxID0gc3RvcmUub3BlbkN1cnNvcigpIik7CisgICAg
Y3VycmVxLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKKyAgICBjdXJyZXEub25z
dWNjZXNzID0gZnVuY3Rpb24oKSB7CisgICAgICAgIGlmIChjdXJyZXEucmVzdWx0KSB7CisgICAg
ICAgICAgICBldmFsQW5kTG9nKCJjdXJzb3IgPSBjdXJyZXEucmVzdWx0Iik7CisgICAgICAgICAg
ICBzaG91bGRCZVRydWUoImNvbXBhcmUoY3Vyc29yLmtleSwgIiArIGtleXNbY291bnRdICsgIiki
KTsKKyAgICAgICAgICAgIGV2YWxBbmRMb2coImdldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5
KSIpOworICAgICAgICAgICAgZ2V0cmVxLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFj
azsKKyAgICAgICAgICAgIGdldHJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKKyAgICAgICAg
ICAgICAgICBzaG91bGRCZVRydWUoImdldHJlcS5yZXN1bHQgPT09IGNvdW50KysiKTsKKyAgICAg
ICAgICAgICAgICBjdXJzb3IuY29udGludWUoKTsKKyAgICAgICAgICAgIH07CisgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoImNvdW50ID09PSBrZXlzLmxlbmd0aCIp
OworICAgICAgICAgICAgZmluaXNoVXAoKTsKKyAgICAgICAgfSAgCisgICAgfTsKK30KKworZnVu
Y3Rpb24gZmluaXNoVXAoKQoreworICAgIHRlc3RLZXlDb21wYXJlKCk7CisgICAgZG9uZSgpOwor
fQorCitmdW5jdGlvbiB0ZXN0S2V5Q29tcGFyZSgpCit7CisgICAgZGVidWcoIiIpOworICAgIGRl
YnVnKCJ2YWxpZGF0ZSBjb21wYXJlIGZ1bmN0aW9uIik7CisgICAgdmFyIGNhc2VzID0gWworICAg
ICAgICAidW5kZWZpbmVkIiwKKyAgICAgICAgInRydWUiLAorICAgICAgICAiZmFsc2UiLAorICAg
ICAgICAiMCIsCisgICAgICAgICItMCIsCisgICAgICAgICIxMjMiLAorICAgICAgICAiSW5maW5p
dHkiLAorICAgICAgICAiLUluZmluaXR5IiwKKyAgICAgICAgIk5hTiIsCisgICAgICAgICInJyIs
CisgICAgICAgICInYWJjJyIsCisgICAgICAgICIneHl6JyIsCisgICAgICAgICJuZXcgRGF0ZSgw
KSIsCisgICAgICAgICJuZXcgRGF0ZSgxZTMpIiwKKyAgICAgICAgIm5ldyBEYXRlKDFlOSkiLAor
ICAgICAgICAiW10iLAorICAgICAgICAiWzEyM10iLAorICAgICAgICAiWydhYmMnXSIsCisgICAg
ICAgICJbMTIzLCAnYWJjJ10iLAorICAgICAgICAiWydhYmMnLCAxMjNdIiwKKyAgICAgICAgIltb
XV0iLAorICAgICAgICAiW1sxMjNdXSIsCisgICAgICAgICJbWydhYmMnXV0iLAorICAgICAgICAi
W1sxMjNdLCAnYWJjJ10iLAorICAgICAgICAiW1sxMjNdLCAxMjNdIgorICAgIF07CisgICAgCisg
ICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjYXNlcy5sZW5ndGg7ICsraSkgeworICAgICAgICBmb3Ig
KHZhciBqID0gMDsgaiA8IGNhc2VzLmxlbmd0aDsgKytqKSB7CisgICAgICAgICAgICBpZiAoaSA9
PT0gaikgeworICAgICAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiY29tcGFyZSgiICsgY2FzZXNb
aV0gKyAiLCAiICsgY2FzZXNbal0gKyAiKSIpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgICAgICBzaG91bGRCZUZhbHNlKCJjb21wYXJlKCIgKyBjYXNlc1tpXSArICIsICIgKyBj
YXNlc1tqXSArICIpIik7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9Cit9CisKK3Rl
c3QoKTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWNtcC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWNtcC1leHBlY3RlZC50eHQKaW5kZXggMjZi
ZTE4MjVhZmUzN2JiODk5NzZjZTExOWQyZTc1YTgzNWQxMzRiMy4uMTlmNTU0NDA5Mzk3Y2E0ZTgx
NTdkYjVhN2FmMTM3OWU3Njg2MmUzOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9p
bmRleGVkZGIvZmFjdG9yeS1jbXAtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2ZhY3RvcnktY21wLWV4cGVjdGVkLnR4dApAQCAtMTAsNyArMTAsNiBAQCBQ
QVNTIElEQkRhdGFiYXNlRXhjZXB0aW9uID09IG51bGwgaXMgZmFsc2UKIFBBU1MgdHlwZW9mIGlu
ZGV4ZWREQi5jbXAgPT09ICdmdW5jdGlvbicgaXMgdHJ1ZQogCiBjb21wYXJlIHZhbGlkIGtleXMK
LShBcnJheSBrZXlzIGFyZSBub3QgeWV0IGltcGxlbWVudGVkIHNvIG1hbnkgdGVzdHMgd2lsbCBm
YWlsKQogUEFTUyBpbmRleGVkREIuY21wKC1JbmZpbml0eSwtTnVtYmVyLk1BWF9WQUxVRSkgPT09
IC0xIGlzIHRydWUKIFBBU1MgaW5kZXhlZERCLmNtcCgtTnVtYmVyLk1BWF9WQUxVRSwtSW5maW5p
dHkpID09PSAxIGlzIHRydWUKIFBBU1MgaW5kZXhlZERCLmNtcCgtSW5maW5pdHksLUluZmluaXR5
KSA9PT0gMCBpcyB0cnVlCkBAIC05NSwxMTggKzk0LDExOCBAQCBQQVNTIGluZGV4ZWREQi5jbXAo
J/CdhJ4nLCfvv70nKSA9PT0gLTEgaXMgdHJ1ZQogUEFTUyBpbmRleGVkREIuY21wKCfvv70nLCfw
nYSeJykgPT09IDEgaXMgdHJ1ZQogUEFTUyBpbmRleGVkREIuY21wKCfwnYSeJywn8J2EnicpID09
PSAwIGlzIHRydWUKIFBBU1MgaW5kZXhlZERCLmNtcCgn77+9Jywn77+9JykgPT09IDAgaXMgdHJ1
ZQotRkFJTCBpbmRleGVkREIuY21wKCfvv70nLFtdKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24g
NQotRkFJTCBpbmRleGVkREIuY21wKFtdLCfvv70nKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1
CitQQVNTIGluZGV4ZWREQi5jbXAoJ++/vScsW10pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4
ZWREQi5jbXAoW10sJ++/vScpID09PSAxIGlzIHRydWUKIFBBU1MgaW5kZXhlZERCLmNtcCgn77+9
Jywn77+9JykgPT09IDAgaXMgdHJ1ZQotRkFJTCBpbmRleGVkREIuY21wKFtdLFtdKSA9PT0gMCBz
aG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRh
dGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW10sWy1JbmZpbml0eV0pID09
PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9N
IElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWy1JbmZpbml0eV0s
W10pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJS
OiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbXSxbXSkg
PT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERP
TSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFstSW5maW5pdHld
LFstSW5maW5pdHldKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5j
bXAoWy1JbmZpbml0eV0sWy0xLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0pID09PSAtMSBzaG91bGQg
YmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNl
IEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWy0xLjc5NzY5MzEzNDg2MjMxNTdlKzMw
OF0sWy1JbmZpbml0eV0pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJy
b3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERC
LmNtcChbLUluZmluaXR5XSxbLUluZmluaXR5XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQot
RkFJTCBpbmRleGVkREIuY21wKFstMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdLFstMS43OTc2OTMx
MzQ4NjIzMTU3ZSszMDhdKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWRE
Qi5jbXAoWy0xLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0sWy0xXSkgPT09IC0xIHNob3VsZCBiZSB0
cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhj
ZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbLTFdLFstMS43OTc2OTMxMzQ4NjIzMTU3ZSsz
MDhdKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VS
UjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWy0xLjc5
NzY5MzEzNDg2MjMxNTdlKzMwOF0sWy0xLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0pID09PSAwIHNo
b3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0
YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbLTFdLFstMV0pID09PSAwIHNo
b3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0
YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbLTFdLFstNWUtMzI0XSkgPT09
IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00g
SURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbLTVlLTMyNF0sWy0x
XSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6
IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFstMV0sWy0x
XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6
IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFstNWUtMzI0
XSxbLTVlLTMyNF0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6
IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNt
cChbLTVlLTMyNF0sWzBdKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVk
REIuY21wKFswXSxbLTVlLTMyNF0pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRp
b24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5k
ZXhlZERCLmNtcChbLTVlLTMyNF0sWy01ZS0zMjRdKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1
Ci1GQUlMIGluZGV4ZWREQi5jbXAoWzBdLFswXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQot
RkFJTCBpbmRleGVkREIuY21wKFswXSxbNWUtMzI0XSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBU
aHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9u
IDUKLUZBSUwgaW5kZXhlZERCLmNtcChbNWUtMzI0XSxbMF0pID09PSAxIHNob3VsZCBiZSB0cnVl
LiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0
aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbMF0sWzBdKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4g
VGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlv
biA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWzVlLTMyNF0sWzVlLTMyNF0pID09PSAwIHNob3VsZCBi
ZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2Ug
RXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbNWUtMzI0XSxbMV0pID09PSAtMSBzaG91
bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFi
YXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWzFdLFs1ZS0zMjRdKSA9PT0gMSBz
aG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRh
dGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWzVlLTMyNF0sWzVlLTMyNF0p
ID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBE
T00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbMV0sWzFdKSA9
PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9N
IElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWzFdLFsxLjc5NzY5
MzEzNDg2MjMxNTdlKzMwOF0pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4
ZWREQi5jbXAoWzEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XSxbMV0pID09PSAxIHNob3VsZCBiZSB0
cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhj
ZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbMV0sWzFdKSA9PT0gMCBzaG91bGQgYmUgdHJ1
ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2Vw
dGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWzEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XSxbMS43
OTc2OTMxMzQ4NjIzMTU3ZSszMDhdKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGlu
ZGV4ZWREQi5jbXAoWzEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XSxbSW5maW5pdHldKSA9PT0gLTEg
c2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJE
YXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtJbmZpbml0eV0sWzEuNzk3
NjkzMTM0ODYyMzE1N2UrMzA4XSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlv
biBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRl
eGVkREIuY21wKFsxLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0sWzEuNzk3NjkzMTM0ODYyMzE1N2Ur
MzA4XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9F
UlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtJbmZp
bml0eV0sW0luZmluaXR5XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVk
REIuY21wKFtJbmZpbml0eV0sW25ldyBEYXRlKDApXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBU
aHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9u
IDUKLUZBSUwgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMCldLFtJbmZpbml0eV0pID09PSAxIHNo
b3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0
YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbSW5maW5pdHldLFtJbmZpbml0
eV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJS
OiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbbmV3IERh
dGUoMCldLFtuZXcgRGF0ZSgwKV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRp
b24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5k
ZXhlZERCLmNtcChbbmV3IERhdGUoMCldLFtuZXcgRGF0ZSgxMDAwKV0pID09PSAtMSBzaG91bGQg
YmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNl
IEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDEwMDApXSxbbmV3IERh
dGUoMCldKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRB
X0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW25l
dyBEYXRlKDApXSxbbmV3IERhdGUoMCldKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlM
IGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDEwMDApXSxbbmV3IERhdGUoMTAwMCldKSA9PT0gMCBz
aG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRh
dGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDEwMDApXSxb
bmV3IERhdGUoMTMxNzM5OTkzMTAyMyldKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJ
TCBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgxMzE3Mzk5OTMxMDIzKV0sW25ldyBEYXRlKDEwMDAp
XSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6
IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtuZXcgRGF0
ZSgxMDAwKV0sW25ldyBEYXRlKDEwMDApXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJ
TCBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgxMzE3Mzk5OTMxMDIzKV0sW25ldyBEYXRlKDEzMTcz
OTk5MzEwMjMpXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
REFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21w
KFtuZXcgRGF0ZSgxMzE3Mzk5OTMxMDIzKV0sWycnXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBU
aHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9u
IDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJyddLFtuZXcgRGF0ZSgxMzE3Mzk5OTMxMDIzKV0pID09
PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00g
SURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTMx
NzM5OTkzMTAyMyldLFtuZXcgRGF0ZSgxMzE3Mzk5OTMxMDIzKV0pID09PSAwIHNob3VsZCBiZSB0
cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhj
ZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJyddLFsnJ10pID09PSAwIHNob3VsZCBiZSB0
cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhj
ZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJyddLFsnXDAnXSkgPT09IC0xIHNob3VsZCBi
ZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2Ug
RXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ1wwJ10sWycnXSkgPT09IDEgc2hvdWxk
IGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFz
ZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnJ10sWycnXSkgPT09IDAgc2hvdWxk
IGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFz
ZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnXDAnXSxbJ1wwJ10pID09PSAwIHNo
b3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0
YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ1wwJ10sWydhJ10pID09PSAt
MSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElE
QkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydhJ10sWydcMCddKSA9
PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9N
IElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydcMCddLFsnXDAn
XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6
IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnYSddLFsn
YSddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VS
UjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydhJ10s
WydhYSddKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFU
QV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsn
YWEnXSxbJ2EnXSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
REFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21w
KFsnYSddLFsnYSddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5j
bXAoWydhYSddLFsnYWEnXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVk
REIuY21wKFsnYWEnXSxbJ2InXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRp
b24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5k
ZXhlZERCLmNtcChbJ2InXSxbJ2FhJ10pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNl
cHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwg
aW5kZXhlZERCLmNtcChbJ2FhJ10sWydhYSddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1G
QUlMIGluZGV4ZWREQi5jbXAoWydiJ10sWydiJ10pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJl
dyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUK
LUZBSUwgaW5kZXhlZERCLmNtcChbJ2InXSxbJ2JhJ10pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4g
VGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlv
biA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydiYSddLFsnYiddKSA9PT0gMSBzaG91bGQgYmUgdHJ1
ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2Vw
dGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydiJ10sWydiJ10pID09PSAwIHNob3VsZCBiZSB0
cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhj
ZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ2JhJ10sWydiYSddKSA9PT0gMCBzaG91bGQg
YmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNl
IEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydiYSddLFsnwqInXSkgPT09IC0xIHNo
b3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0
YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ8KiJ10sWydiYSddKSA9PT0g
MSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElE
QkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydiYSddLFsnYmEnXSkg
PT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERP
TSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnwqInXSxbJ8Ki
J10pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJS
OiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ8KiJ10s
WyfmsLQnXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERB
VEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChb
J+awtCddLFsnwqInXSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIu
Y21wKFsnwqInXSxbJ8KiJ10pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24g
RXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhl
ZERCLmNtcChbJ+awtCddLFsn5rC0J10pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNl
cHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwg
aW5kZXhlZERCLmNtcChbJ+awtCddLFsn8J2EniddKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24g
NQotRkFJTCBpbmRleGVkREIuY21wKFsn8J2EniddLFsn5rC0J10pID09PSAxIHNob3VsZCBiZSB0
cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhj
ZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ+awtCddLFsn5rC0J10pID09PSAwIHNob3Vs
ZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJh
c2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ/CdhJ4nXSxbJ/CdhJ4nXSkgPT09
IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJ
REJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsn8J2EniddLFsn77+9
J10pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VS
UjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfvv70n
XSxbJ/CdhJ4nXSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
REFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21w
KFsn8J2EniddLFsn8J2EniddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4
ZWREQi5jbXAoWyfvv70nXSxbJ++/vSddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlM
IGluZGV4ZWREQi5jbXAoWyfvv70nXSxbW11dKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQot
RkFJTCBpbmRleGVkREIuY21wKFtbXV0sWyfvv70nXSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24g
NQotRkFJTCBpbmRleGVkREIuY21wKFsn77+9J10sWyfvv70nXSkgPT09IDAgc2hvdWxkIGJlIHRy
dWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNl
cHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtbXV0sW1tdXSkgPT09IDAgc2hvdWxkIGJlIHRy
dWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNl
cHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtbXV0sW1tdLCBbXV0pID09PSAtMSBzaG91bGQg
YmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNl
IEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tdLCBbXV0sW1tdXSkgPT09IDEgc2hv
dWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRh
YmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtbXV0sW1tdXSkgPT09IDAgc2hv
dWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRh
YmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtbXSwgW11dLFtbXSwgW11dKSA9
PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9N
IElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tdLCBbXV0sW1td
LCBbXSwgW11dKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
REFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21w
KFtbXSwgW10sIFtdXSxbW10sIFtdXSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBp
bmRleGVkREIuY21wKFtbXSwgW11dLFtbXSwgW11dKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1
Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tdLCBbXSwgW11dLFtbXSwgW10sIFtdXSkgPT09IDAgc2hv
dWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRh
YmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtbXSwgW10sIFtdXSxbW1tdXV0p
ID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjog
RE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tbXV1dLFtb
XSwgW10sIFtdXSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
REFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21w
KFtbXSwgW10sIFtdXSxbW10sIFtdLCBbXV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBl
eGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZB
SUwgaW5kZXhlZERCLmNtcChbW1tdXV0sW1tbXV1dKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1
Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tbXV1dLFtbW1tdXV1dKSA9PT0gLTEgc2hvdWxkIGJlIHRy
dWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNl
cHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtbW1tdXV1dLFtbW11dXSkgPT09IDEgc2hvdWxk
IGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFz
ZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtbW11dXSxbW1tdXV0pID09PSAwIHNo
b3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0
YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW1tbXV1dXSxbW1tbXV1dXSkg
PT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERP
TSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQorUEFTUyBpbmRleGVkREIuY21wKFtdLFtdKSA9PT0g
MCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW10sWy1JbmZpbml0eV0pID09PSAtMSBpcyB0
cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWy1JbmZpbml0eV0sW10pID09PSAxIGlzIHRydWUKK1BB
U1MgaW5kZXhlZERCLmNtcChbXSxbXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21w
KFstSW5maW5pdHldLFstSW5maW5pdHldKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5j
bXAoWy1JbmZpbml0eV0sWy1OdW1iZXIuTUFYX1ZBTFVFXSkgPT09IC0xIGlzIHRydWUKK1BBU1Mg
aW5kZXhlZERCLmNtcChbLU51bWJlci5NQVhfVkFMVUVdLFstSW5maW5pdHldKSA9PT0gMSBpcyB0
cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWy1JbmZpbml0eV0sWy1JbmZpbml0eV0pID09PSAwIGlz
IHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbLU51bWJlci5NQVhfVkFMVUVdLFstTnVtYmVyLk1B
WF9WQUxVRV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbLU51bWJlci5NQVhf
VkFMVUVdLFstMV0pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWy0xXSxbLU51
bWJlci5NQVhfVkFMVUVdKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWy1OdW1i
ZXIuTUFYX1ZBTFVFXSxbLU51bWJlci5NQVhfVkFMVUVdKSA9PT0gMCBpcyB0cnVlCitQQVNTIGlu
ZGV4ZWREQi5jbXAoWy0xXSxbLTFdKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAo
Wy0xXSxbLU51bWJlci5NSU5fVkFMVUVdKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIu
Y21wKFstTnVtYmVyLk1JTl9WQUxVRV0sWy0xXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVk
REIuY21wKFstMV0sWy0xXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFstTnVt
YmVyLk1JTl9WQUxVRV0sWy1OdW1iZXIuTUlOX1ZBTFVFXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBp
bmRleGVkREIuY21wKFstTnVtYmVyLk1JTl9WQUxVRV0sWzBdKSA9PT0gLTEgaXMgdHJ1ZQorUEFT
UyBpbmRleGVkREIuY21wKFswXSxbLU51bWJlci5NSU5fVkFMVUVdKSA9PT0gMSBpcyB0cnVlCitQ
QVNTIGluZGV4ZWREQi5jbXAoWy1OdW1iZXIuTUlOX1ZBTFVFXSxbLU51bWJlci5NSU5fVkFMVUVd
KSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWzBdLFswXSkgPT09IDAgaXMgdHJ1
ZQorUEFTUyBpbmRleGVkREIuY21wKFswXSxbTnVtYmVyLk1JTl9WQUxVRV0pID09PSAtMSBpcyB0
cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW051bWJlci5NSU5fVkFMVUVdLFswXSkgPT09IDEgaXMg
dHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFswXSxbMF0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5k
ZXhlZERCLmNtcChbTnVtYmVyLk1JTl9WQUxVRV0sW051bWJlci5NSU5fVkFMVUVdKSA9PT0gMCBp
cyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW051bWJlci5NSU5fVkFMVUVdLFsxXSkgPT09IC0x
IGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbMV0sW051bWJlci5NSU5fVkFMVUVdKSA9PT0g
MSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW051bWJlci5NSU5fVkFMVUVdLFtOdW1iZXIu
TUlOX1ZBTFVFXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsxXSxbMV0pID09
PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbMV0sW051bWJlci5NQVhfVkFMVUVdKSA9
PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtOdW1iZXIuTUFYX1ZBTFVFXSxbMV0p
ID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbMV0sWzFdKSA9PT0gMCBpcyB0cnVl
CitQQVNTIGluZGV4ZWREQi5jbXAoW051bWJlci5NQVhfVkFMVUVdLFtOdW1iZXIuTUFYX1ZBTFVF
XSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtOdW1iZXIuTUFYX1ZBTFVFXSxb
SW5maW5pdHldKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtJbmZpbml0eV0s
W051bWJlci5NQVhfVkFMVUVdKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW051
bWJlci5NQVhfVkFMVUVdLFtOdW1iZXIuTUFYX1ZBTFVFXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBp
bmRleGVkREIuY21wKFtJbmZpbml0eV0sW0luZmluaXR5XSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBp
bmRleGVkREIuY21wKFtJbmZpbml0eV0sW25ldyBEYXRlKDApXSkgPT09IC0xIGlzIHRydWUKK1BB
U1MgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMCldLFtJbmZpbml0eV0pID09PSAxIGlzIHRydWUK
K1BBU1MgaW5kZXhlZERCLmNtcChbSW5maW5pdHldLFtJbmZpbml0eV0pID09PSAwIGlzIHRydWUK
K1BBU1MgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMCldLFtuZXcgRGF0ZSgwKV0pID09PSAwIGlz
IHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMCldLFtuZXcgRGF0ZSgxMDAwKV0p
ID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDEwMDApXSxbbmV3
IERhdGUoMCldKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDAp
XSxbbmV3IERhdGUoMCldKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW25ldyBE
YXRlKDEwMDApXSxbbmV3IERhdGUoMTAwMCldKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWRE
Qi5jbXAoW25ldyBEYXRlKDEwMDApXSxbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldKSA9PT0gLTEg
aXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgxMzE3Mzk5OTMxMDIzKV0sW25l
dyBEYXRlKDEwMDApXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtuZXcgRGF0
ZSgxMDAwKV0sW25ldyBEYXRlKDEwMDApXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIu
Y21wKFtuZXcgRGF0ZSgxMzE3Mzk5OTMxMDIzKV0sW25ldyBEYXRlKDEzMTczOTk5MzEwMjMpXSkg
PT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgxMzE3Mzk5OTMxMDIz
KV0sWycnXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJyddLFtuZXcgRGF0
ZSgxMzE3Mzk5OTMxMDIzKV0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbbmV3
IERhdGUoMTMxNzM5OTkzMTAyMyldLFtuZXcgRGF0ZSgxMzE3Mzk5OTMxMDIzKV0pID09PSAwIGlz
IHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJyddLFsnJ10pID09PSAwIGlzIHRydWUKK1BBU1Mg
aW5kZXhlZERCLmNtcChbJyddLFsnXDAnXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERC
LmNtcChbJ1wwJ10sWycnXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnJ10s
WycnXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnXDAnXSxbJ1wwJ10pID09
PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ1wwJ10sWydhJ10pID09PSAtMSBpcyB0
cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWydhJ10sWydcMCddKSA9PT0gMSBpcyB0cnVlCitQQVNT
IGluZGV4ZWREQi5jbXAoWydcMCddLFsnXDAnXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVk
REIuY21wKFsnYSddLFsnYSddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWydh
J10sWydhYSddKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYWEnXSxbJ2En
XSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYSddLFsnYSddKSA9PT0gMCBp
cyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWydhYSddLFsnYWEnXSkgPT09IDAgaXMgdHJ1ZQor
UEFTUyBpbmRleGVkREIuY21wKFsnYWEnXSxbJ2InXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5k
ZXhlZERCLmNtcChbJ2InXSxbJ2FhJ10pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNt
cChbJ2FhJ10sWydhYSddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWydiJ10s
WydiJ10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ2InXSxbJ2JhJ10pID09
PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWydiYSddLFsnYiddKSA9PT0gMSBpcyB0
cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWydiJ10sWydiJ10pID09PSAwIGlzIHRydWUKK1BBU1Mg
aW5kZXhlZERCLmNtcChbJ2JhJ10sWydiYSddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWRE
Qi5jbXAoWydiYSddLFsnwqInXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChb
J8KiJ10sWydiYSddKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWydiYSddLFsn
YmEnXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnwqInXSxbJ8KiJ10pID09
PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ8KiJ10sWyfmsLQnXSkgPT09IC0xIGlz
IHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ+awtCddLFsnwqInXSkgPT09IDEgaXMgdHJ1ZQor
UEFTUyBpbmRleGVkREIuY21wKFsnwqInXSxbJ8KiJ10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5k
ZXhlZERCLmNtcChbJ+awtCddLFsn5rC0J10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERC
LmNtcChbJ+awtCddLFsn8J2EniddKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21w
KFsn8J2EniddLFsn5rC0J10pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ+aw
tCddLFsn5rC0J10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ/CdhJ4nXSxb
J/CdhJ4nXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsn8J2EniddLFsn77+9
J10pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfvv70nXSxbJ/CdhJ4nXSkg
PT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsn8J2EniddLFsn8J2EniddKSA9PT0g
MCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfvv70nXSxbJ++/vSddKSA9PT0gMCBpcyB0
cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfvv70nXSxbW11dKSA9PT0gLTEgaXMgdHJ1ZQorUEFT
UyBpbmRleGVkREIuY21wKFtbXV0sWyfvv70nXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVk
REIuY21wKFsn77+9J10sWyfvv70nXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21w
KFtbXV0sW1tdXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtbXV0sW1tdLCBb
XV0pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW1tdLCBbXV0sW1tdXSkgPT09
IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtbXV0sW1tdXSkgPT09IDAgaXMgdHJ1ZQor
UEFTUyBpbmRleGVkREIuY21wKFtbXSwgW11dLFtbXSwgW11dKSA9PT0gMCBpcyB0cnVlCitQQVNT
IGluZGV4ZWREQi5jbXAoW1tdLCBbXV0sW1tdLCBbXSwgW11dKSA9PT0gLTEgaXMgdHJ1ZQorUEFT
UyBpbmRleGVkREIuY21wKFtbXSwgW10sIFtdXSxbW10sIFtdXSkgPT09IDEgaXMgdHJ1ZQorUEFT
UyBpbmRleGVkREIuY21wKFtbXSwgW11dLFtbXSwgW11dKSA9PT0gMCBpcyB0cnVlCitQQVNTIGlu
ZGV4ZWREQi5jbXAoW1tdLCBbXSwgW11dLFtbXSwgW10sIFtdXSkgPT09IDAgaXMgdHJ1ZQorUEFT
UyBpbmRleGVkREIuY21wKFtbXSwgW10sIFtdXSxbW1tdXV0pID09PSAtMSBpcyB0cnVlCitQQVNT
IGluZGV4ZWREQi5jbXAoW1tbXV1dLFtbXSwgW10sIFtdXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBp
bmRleGVkREIuY21wKFtbXSwgW10sIFtdXSxbW10sIFtdLCBbXV0pID09PSAwIGlzIHRydWUKK1BB
U1MgaW5kZXhlZERCLmNtcChbW1tdXV0sW1tbXV1dKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4
ZWREQi5jbXAoW1tbXV1dLFtbW1tdXV1dKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIu
Y21wKFtbW1tdXV1dLFtbW11dXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtb
W11dXSxbW1tdXV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbW1tbXV1dXSxb
W1tbXV1dXSkgPT09IDAgaXMgdHJ1ZQogCiBjb21wYXJlIGludmFsaWQga2V5cwogRXhwZWN0aW5n
IGV4Y2VwdGlvbiBmcm9tIGluZGV4ZWREQi5jbXAodm9pZCAwLCB0cnVlKQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1jbXAuaHRtbCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21wLmh0bWwKaW5kZXggYmI4Mjg2MTE0N2I4
YzNlYzBjZjZhM2Y3Y2RkNzcyNDgxMjI5N2EzMC4uYmI4ZTUzNGNhYmQ5YTBkOTczNGZiZjk0ZGQ1
MGRmYTM0YWE2M2E0YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
ZmFjdG9yeS1jbXAuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0
b3J5LWNtcC5odG1sCkBAIC0zMyw4ICszMyw2IEBAIGZ1bmN0aW9uIHRlc3RWYWxpZEtleXMoKQog
ICAgIGRlYnVnKCIiKTsKICAgICBkZWJ1ZygiY29tcGFyZSB2YWxpZCBrZXlzIik7CiAKLSAgICBk
ZWJ1ZygiKEFycmF5IGtleXMgYXJlIG5vdCB5ZXQgaW1wbGVtZW50ZWQgc28gbWFueSB0ZXN0cyB3
aWxsIGZhaWwpIik7Ci0KICAgICB2YXIga2V5cyA9IFsKICAgICAgICAgIi1JbmZpbml0eSIsCiAg
ICAgICAgICItTnVtYmVyLk1BWF9WQUxVRSIsCkBAIC02MiwxNyArNjAsMTYgQEAgZnVuY3Rpb24g
dGVzdFZhbGlkS2V5cygpCiAgICAgICAgICInXHVEODM0XHVERDFFJyIsIC8vIFUrMUQxMUUgTVVT
SUNBTCBTWU1CT0wgRy1DTEVGIChVVEYtMTYgc3Vycm9nYXRlIHBhaXIpCiAgICAgICAgICInXHVG
RkZEJyIsIC8vIFUrRkZGRCBSRVBMQUNFTUVOVCBDSEFSQUNURVIKIAotICAgICAgICAvLyBGSVhN
RTogQXJyYXkga2V5cyBhcmUgTllJLCBidXQgdGhlc2Ugc2hvdWxkIHBhc3Mgb25jZSBpbXBsZW1l
bnRlZAogICAgICAgICAiW10iLAogCiAgICAgICAgICJbLUluZmluaXR5XSIsCi0gICAgICAgICJb
LTEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XSIsCisgICAgICAgICJbLU51bWJlci5NQVhfVkFMVUVd
IiwKICAgICAgICAgIlstMV0iLAotICAgICAgICAiWy01ZS0zMjRdIiwKKyAgICAgICAgIlstTnVt
YmVyLk1JTl9WQUxVRV0iLAogICAgICAgICAiWzBdIiwKLSAgICAgICAgIls1ZS0zMjRdIiwKKyAg
ICAgICAgIltOdW1iZXIuTUlOX1ZBTFVFXSIsCiAgICAgICAgICJbMV0iLAotICAgICAgICAiWzEu
Nzk3NjkzMTM0ODYyMzE1N2UrMzA4XSIsCisgICAgICAgICJbTnVtYmVyLk1BWF9WQUxVRV0iLAog
ICAgICAgICAiW0luZmluaXR5XSIsCiAgCiAgICAgICAgICJbbmV3IERhdGUoMCldIiwKQEAgLTk3
LDcgKzk0LDcgQEAgZnVuY3Rpb24gdGVzdFZhbGlkS2V5cygpCiAgICAgICAgICJbW10sIFtdLCBb
XV0iLAogCiAgICAgICAgICJbW1tdXV0iLAotICAgICAgICAiW1tbW11dXV0iLAorICAgICAgICAi
W1tbW11dXV0iCiAgICAgXTsKIAogICAgIHZhciBpLCBrZXkxLCBrZXkyOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy1leHBlY3RlZC50eHQK
aW5kZXggYzU4OWM4MTI5N2YxYTkzM2Y1NjZjMzlkZjQwYjc4M2ZlYzVlOTcxNi4uZmRhOGRiZjNm
YjYwZTU3ODA0YjcyOTIwMDUyZDYxZWFmZmE0YjI5YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1iYXNpY3MtZXhwZWN0ZWQudHh0CkBAIC04MSw5
ICs4MSw5IEBAIFBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdC52YWx1ZS54IGlzICJ2YWx1ZTMiCiBQ
QVNTIGV2ZW50LnRhcmdldC5yZXN1bHQudmFsdWUueSBpcyAiNDU2IgogZXZlbnQudGFyZ2V0LnJl
c3VsdC5jb250aW51ZSgpCiBQQVNTIGV2ZW50LnRhcmdldC5yZXN1bHQgPT09IG51bGwgaXMgdHJ1
ZQotUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGluZGV4T2JqZWN0LmdldCgpLgorUGFzc2lu
ZyBhbiBpbnZhbGlkIGtleSBpbnRvIGluZGV4T2JqZWN0LmdldCh7fSkuCiBQQVNTIENhdWdodCBl
eGNlcHRpb246IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1Q
YXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gaW5kZXhPYmplY3QuZ2V0S2V5KCkuCitQYXNzaW5n
IGFuIGludmFsaWQga2V5IGludG8gaW5kZXhPYmplY3QuZ2V0S2V5KHt9KS4KIFBBU1MgQ2F1Z2h0
IGV4Y2VwdGlvbjogRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUK
IFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9pbmRleC1iYXNpY3MuaHRtbAppbmRleCBhOGY3ZDk1ZDRjMmFiMGI0M2Vl
N2YzNTU1MTAzYTkzNzA5ODVkYmQ0Li41M2MxZjViOWExNDk1MmJiNWRjZTQwODZjYTNiZDJmMjMx
NWU2MmEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1i
YXNpY3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1iYXNp
Y3MuaHRtbApAQCAtMjQxLDE2ICsyNDEsMTYgQEAgZnVuY3Rpb24gbGFzdCgpCiAgICAgc2hvdWxk
QmVUcnVlKCJldmVudC50YXJnZXQucmVzdWx0ID09PSBudWxsIik7CiAKICAgICB0cnkgewotICAg
ICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGluZGV4T2JqZWN0LmdldCgp
LiIpOwotICAgICAgICBpbmRleE9iamVjdC5nZXQoW10pOworICAgICAgICBkZWJ1ZygiUGFzc2lu
ZyBhbiBpbnZhbGlkIGtleSBpbnRvIGluZGV4T2JqZWN0LmdldCh7fSkuIik7CisgICAgICAgIGlu
ZGV4T2JqZWN0LmdldCh7fSk7CiAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGV4Y2VwdGlvbiB0aHJv
d24iKTsKICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgIHRlc3RQYXNzZWQoIkNhdWdodCBleGNl
cHRpb246ICIgKyBlLnRvU3RyaW5nKCkpOwogICAgIH0KIAogICAgIHRyeSB7Ci0gICAgICAgIGRl
YnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gaW5kZXhPYmplY3QuZ2V0S2V5KCkuIik7
Ci0gICAgICAgIGluZGV4T2JqZWN0LmdldEtleShbXSk7CisgICAgICAgIGRlYnVnKCJQYXNzaW5n
IGFuIGludmFsaWQga2V5IGludG8gaW5kZXhPYmplY3QuZ2V0S2V5KHt9KS4iKTsKKyAgICAgICAg
aW5kZXhPYmplY3QuZ2V0S2V5KHt9KTsKICAgICAgICAgdGVzdEZhaWxlZCgiTm8gZXhjZXB0aW9u
IHRocm93biIpOwogICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgdGVzdFBhc3NlZCgiQ2F1Z2h0
IGV4Y2VwdGlvbjogIiArIGUudG9TdHJpbmcoKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9rZXktdHlwZS1hcnJheS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktdHlwZS1hcnJheS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZTZlNDFkNGRjOTI4YzJlNDc4ZmVjMjg0MjhiNjk5NWE2ZDE0MzEyOAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5LWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDI2MiBAQAorVGVzdCBJbmRleGVkREIga2V5IHR5cGVzCisKK09u
IHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxv
d2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitpbmRleGVkREIgPSB3aW5kb3cuaW5kZXhlZERC
IHx8IHdpbmRvdy53ZWJraXRJbmRleGVkREIgfHwgd2luZG93Lm1vekluZGV4ZWREQjsKK1BBU1Mg
aW5kZXhlZERCID09IG51bGwgaXMgZmFsc2UKK0lEQlRyYW5zYWN0aW9uID0gd2luZG93LklEQlRy
YW5zYWN0aW9uIHx8IHdpbmRvdy53ZWJraXRJREJUcmFuc2FjdGlvbjsKK1BBU1MgSURCVHJhbnNh
Y3Rpb24gPT0gbnVsbCBpcyBmYWxzZQorSURCRGF0YWJhc2VFeGNlcHRpb24gPSB3aW5kb3cuSURC
RGF0YWJhc2VFeGNlcHRpb24gfHwgd2luZG93LndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uOwor
UEFTUyBJREJEYXRhYmFzZUV4Y2VwdGlvbiA9PSBudWxsIGlzIGZhbHNlCitpbmRleGVkREIub3Bl
bihuYW1lLCBkZXNjcmlwdGlvbikKK2RiID0gb3BlbnJlcS5yZXN1bHQKK3JlcXVlc3QgPSBkYi5z
ZXRWZXJzaW9uKCcxJykKK3ByZXBhcmluZyBkYXRhYmFzZQorRGVsZXRlZCBhbGwgb2JqZWN0IHN0
b3Jlcy4KK2RiLmNyZWF0ZU9iamVjdFN0b3JlKCdzdG9yZScpOworCit0cmFucyA9IGRiLnRyYW5z
YWN0aW9uKCdzdG9yZScsIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCitzdG9yZSA9IHRyYW5z
Lm9iamVjdFN0b3JlKCdzdG9yZScpCisKK2xvbmdfYXJyYXkgPSBbXTsgZm9yIChpID0gMDsgaSA8
IDEwMDA7ICsraSkgeyBsb25nX2FycmF5LnB1c2goJ2FiYycsIDEyMywgbmV3IERhdGUoMCksIFtd
KTsgfQorCithcnJheSB0aGF0IGNvbnRhaW5zIG5vbi1udW1lcmljIHNlbGYtcmVmZXJlbmNlCitz
ZWxmX3JlZmVycmVudGlhbF9hcnJheSA9IFtdOyBzZWxmX3JlZmVycmVudGlhbF9hcnJheS5zZWxm
ID0gc2VsZl9yZWZlcnJlbnRpYWxfYXJyYXk7CisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbXQorc3Rv
cmUucHV0KCd2YWx1ZTEnLCBbXSk7CitzdG9yZS5nZXQoW10pOworUEFTUyBnZXRyZXEucmVzdWx0
IGlzICJ2YWx1ZTEiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbLUluZmluaXR5XQorc3RvcmUucHV0
KCd2YWx1ZTInLCBbLUluZmluaXR5XSk7CitzdG9yZS5nZXQoWy1JbmZpbml0eV0pOworUEFTUyBn
ZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTIiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbLU51bWJlci5N
QVhfVkFMVUVdCitzdG9yZS5wdXQoJ3ZhbHVlMycsIFstTnVtYmVyLk1BWF9WQUxVRV0pOworc3Rv
cmUuZ2V0KFstTnVtYmVyLk1BWF9WQUxVRV0pOworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1
ZTMiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbLTFdCitzdG9yZS5wdXQoJ3ZhbHVlNCcsIFstMV0p
Oworc3RvcmUuZ2V0KFstMV0pOworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTQiCisKK3Rl
c3RpbmcgYXJyYXkga2V5OiBbLU51bWJlci5NSU5fVkFMVUVdCitzdG9yZS5wdXQoJ3ZhbHVlNScs
IFstTnVtYmVyLk1JTl9WQUxVRV0pOworc3RvcmUuZ2V0KFstTnVtYmVyLk1JTl9WQUxVRV0pOwor
UEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTUiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbMF0K
K3N0b3JlLnB1dCgndmFsdWU2JywgWzBdKTsKK3N0b3JlLmdldChbMF0pOworUEFTUyBnZXRyZXEu
cmVzdWx0IGlzICJ2YWx1ZTYiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbTnVtYmVyLk1JTl9WQUxV
RV0KK3N0b3JlLnB1dCgndmFsdWU3JywgW051bWJlci5NSU5fVkFMVUVdKTsKK3N0b3JlLmdldChb
TnVtYmVyLk1JTl9WQUxVRV0pOworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTciCisKK3Rl
c3RpbmcgYXJyYXkga2V5OiBbMV0KK3N0b3JlLnB1dCgndmFsdWU4JywgWzFdKTsKK3N0b3JlLmdl
dChbMV0pOworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTgiCisKK3Rlc3RpbmcgYXJyYXkg
a2V5OiBbTnVtYmVyLk1BWF9WQUxVRV0KK3N0b3JlLnB1dCgndmFsdWU5JywgW051bWJlci5NQVhf
VkFMVUVdKTsKK3N0b3JlLmdldChbTnVtYmVyLk1BWF9WQUxVRV0pOworUEFTUyBnZXRyZXEucmVz
dWx0IGlzICJ2YWx1ZTkiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbSW5maW5pdHldCitzdG9yZS5w
dXQoJ3ZhbHVlMTAnLCBbSW5maW5pdHldKTsKK3N0b3JlLmdldChbSW5maW5pdHldKTsKK1BBU1Mg
Z2V0cmVxLnJlc3VsdCBpcyAidmFsdWUxMCIKKwordGVzdGluZyBhcnJheSBrZXk6IFsxLDIsM10K
K3N0b3JlLnB1dCgndmFsdWUxMScsIFsxLDIsM10pOworc3RvcmUuZ2V0KFsxLDIsM10pOworUEFT
UyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTExIgorCit0ZXN0aW5nIGFycmF5IGtleTogW25ldyBE
YXRlKDApXQorc3RvcmUucHV0KCd2YWx1ZTEyJywgW25ldyBEYXRlKDApXSk7CitzdG9yZS5nZXQo
W25ldyBEYXRlKDApXSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMTIiCisKK3Rlc3Rp
bmcgYXJyYXkga2V5OiBbbmV3IERhdGUoJzI1MjUtMDEtMDFUMDA6MDA6MDBaJyldCitzdG9yZS5w
dXQoJ3ZhbHVlMTMnLCBbbmV3IERhdGUoJzI1MjUtMDEtMDFUMDA6MDA6MDBaJyldKTsKK3N0b3Jl
LmdldChbbmV3IERhdGUoJzI1MjUtMDEtMDFUMDA6MDA6MDBaJyldKTsKK1BBU1MgZ2V0cmVxLnJl
c3VsdCBpcyAidmFsdWUxMyIKKwordGVzdGluZyBhcnJheSBrZXk6IFtuZXcgRGF0ZSgwKSwgbmV3
IERhdGUoJzI1MjUtMDEtMDFUMDA6MDA6MDBaJyldCitzdG9yZS5wdXQoJ3ZhbHVlMTQnLCBbbmV3
IERhdGUoMCksIG5ldyBEYXRlKCcyNTI1LTAxLTAxVDAwOjAwOjAwWicpXSk7CitzdG9yZS5nZXQo
W25ldyBEYXRlKDApLCBuZXcgRGF0ZSgnMjUyNS0wMS0wMVQwMDowMDowMFonKV0pOworUEFTUyBn
ZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTE0IgorCit0ZXN0aW5nIGFycmF5IGtleTogWycnXQorc3Rv
cmUucHV0KCd2YWx1ZTE1JywgWycnXSk7CitzdG9yZS5nZXQoWycnXSk7CitQQVNTIGdldHJlcS5y
ZXN1bHQgaXMgInZhbHVlMTUiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbJyddCitzdG9yZS5wdXQo
J3ZhbHVlMTYnLCBbJyddKTsKK3N0b3JlLmdldChbJyddKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBp
cyAidmFsdWUxNiIKKwordGVzdGluZyBhcnJheSBrZXk6IFsnYWJjMTIzJ10KK3N0b3JlLnB1dCgn
dmFsdWUxNycsIFsnYWJjMTIzJ10pOworc3RvcmUuZ2V0KFsnYWJjMTIzJ10pOworUEFTUyBnZXRy
ZXEucmVzdWx0IGlzICJ2YWx1ZTE3IgorCit0ZXN0aW5nIGFycmF5IGtleTogWydhYmMnLCAxMjNd
CitzdG9yZS5wdXQoJ3ZhbHVlMTgnLCBbJ2FiYycsIDEyM10pOworc3RvcmUuZ2V0KFsnYWJjJywg
MTIzXSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMTgiCisKK3Rlc3RpbmcgYXJyYXkg
a2V5OiBbW11dCitzdG9yZS5wdXQoJ3ZhbHVlMTknLCBbW11dKTsKK3N0b3JlLmdldChbW11dKTsK
K1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUxOSIKKwordGVzdGluZyBhcnJheSBrZXk6IFtb
XSwgW11dCitzdG9yZS5wdXQoJ3ZhbHVlMjAnLCBbW10sIFtdXSk7CitzdG9yZS5nZXQoW1tdLCBb
XV0pOworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTIwIgorCit0ZXN0aW5nIGFycmF5IGtl
eTogW1tdLCBbXSwgW11dCitzdG9yZS5wdXQoJ3ZhbHVlMjEnLCBbW10sIFtdLCBbXV0pOworc3Rv
cmUuZ2V0KFtbXSwgW10sIFtdXSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMjEiCisK
K3Rlc3RpbmcgYXJyYXkga2V5OiBbW1tdXV0KK3N0b3JlLnB1dCgndmFsdWUyMicsIFtbW11dXSk7
CitzdG9yZS5nZXQoW1tbXV1dKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUyMiIKKwor
dGVzdGluZyBhcnJheSBrZXk6IFtbW1tdXV1dCitzdG9yZS5wdXQoJ3ZhbHVlMjMnLCBbW1tbXV1d
XSk7CitzdG9yZS5nZXQoW1tbW11dXV0pOworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTIz
IgorCit0ZXN0aW5nIGFycmF5IGtleTogWzEyMywgJ2FiYycsIG5ldyBEYXRlKDApLCBbXV0KK3N0
b3JlLnB1dCgndmFsdWUyNCcsIFsxMjMsICdhYmMnLCBuZXcgRGF0ZSgwKSwgW11dKTsKK3N0b3Jl
LmdldChbMTIzLCAnYWJjJywgbmV3IERhdGUoMCksIFtdXSk7CitQQVNTIGdldHJlcS5yZXN1bHQg
aXMgInZhbHVlMjQiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbWzEyMywgJ2FiYycsIG5ldyBEYXRl
KDApLCBbXV0sIFs0NTYsICdkZWYnLCBuZXcgRGF0ZSg5OTkpLCBbW11dXV0KK3N0b3JlLnB1dCgn
dmFsdWUyNScsIFtbMTIzLCAnYWJjJywgbmV3IERhdGUoMCksIFtdXSwgWzQ1NiwgJ2RlZicsIG5l
dyBEYXRlKDk5OSksIFtbXV1dXSk7CitzdG9yZS5nZXQoW1sxMjMsICdhYmMnLCBuZXcgRGF0ZSgw
KSwgW11dLCBbNDU2LCAnZGVmJywgbmV3IERhdGUoOTk5KSwgW1tdXV1dKTsKK1BBU1MgZ2V0cmVx
LnJlc3VsdCBpcyAidmFsdWUyNSIKKwordGVzdGluZyBhcnJheSBrZXk6IGxvbmdfYXJyYXkKK3N0
b3JlLnB1dCgndmFsdWUyNicsIGxvbmdfYXJyYXkpOworc3RvcmUuZ2V0KGxvbmdfYXJyYXkpOwor
UEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTI2IgorCit0ZXN0aW5nIGFycmF5IGtleTogc2Vs
Zl9yZWZlcnJlbnRpYWxfYXJyYXkKK3N0b3JlLnB1dCgndmFsdWUyNycsIHNlbGZfcmVmZXJyZW50
aWFsX2FycmF5KTsKK3N0b3JlLmdldChzZWxmX3JlZmVycmVudGlhbF9hcnJheSk7CitQQVNTIGdl
dHJlcS5yZXN1bHQgaXMgInZhbHVlMjciCisKK3RyYW5zID0gZGIudHJhbnNhY3Rpb24oJ3N0b3Jl
JywgSURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3N0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUo
J3N0b3JlJykKKworYXJyYXkgdGhhdCBjb250YWlucyBpdHNlbGY6IGFycmF5ID0gWyBhcnJheSBd
CitjeWNsaWNfYXJyYXkgPSBbXTsgY3ljbGljX2FycmF5LnB1c2goY3ljbGljX2FycmF5KQorUEFT
UyBKU09OLnN0cmluZ2lmeShjeWNsaWNfYXJyYXkpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6
IENvbnZlcnRpbmcgY2lyY3VsYXIgc3RydWN0dXJlIHRvIEpTT04uCithcnJheSB0aGF0IGNvbnRh
aW5zIGl0c2VsZiwgb25lIGxldmVsIGRvd246IGFycmF5ID0gWyBbIGFycmF5IF0gXQorY3ljbGlj
X2FycmF5MiA9IFtdOyBjeWNsaWNfYXJyYXkyLnB1c2goW2N5Y2xpY19hcnJheTJdKQorUEFTUyBK
U09OLnN0cmluZ2lmeShjeWNsaWNfYXJyYXkyKSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBD
b252ZXJ0aW5nIGNpcmN1bGFyIHN0cnVjdHVyZSB0byBKU09OLgorYXJyYXkgdGhhdCBjb250YWlu
cyBpdHNlbGYsIG5vdCBhcyBmaXJzdCBlbGVtZW50OiBhcnJheSA9IFsxLCAnYicsIFtdLCBhcnJh
eV0KK2N5Y2xpY19hcnJheTMgPSBbMSwgJ2InLCBbXV07IGN5Y2xpY19hcnJheTMucHVzaChjeWNs
aWNfYXJyYXkzKQorUEFTUyBKU09OLnN0cmluZ2lmeShjeWNsaWNfYXJyYXkzKSB0aHJldyBleGNl
cHRpb24gVHlwZUVycm9yOiBDb252ZXJ0aW5nIGNpcmN1bGFyIHN0cnVjdHVyZSB0byBKU09OLgor
CithcnJheSB0aGF0IGNvbnRhaW5zIGFycmF5IHRoYXQgY29udGFpbnMgaXRzZWxmCitjeWNsaWNf
YXJyYXk0ID0gW2N5Y2xpY19hcnJheV07CitQQVNTIEpTT04uc3RyaW5naWZ5KGN5Y2xpY19hcnJh
eTQpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IENvbnZlcnRpbmcgY2lyY3VsYXIgc3RydWN0
dXJlIHRvIEpTT04uCisKK3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IFsgdm9pZCAwIF0KK0V4
cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyB2b2lkIDAgXSk7CitQ
QVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0
aW9uLkRBVEFfRVJSCisKK3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IFsgdHJ1ZSBdCitFeHBl
Y3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIFsgdHJ1ZSBdKTsKK1BBU1Mg
RXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24u
REFUQV9FUlIKKwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogWyBmYWxzZSBdCitFeHBlY3Rp
bmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIFsgZmFsc2UgXSk7CitQQVNTIEV4
Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRB
VEFfRVJSCisKK3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IFsgTmFOIF0KK0V4cGVjdGluZyBl
eGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyBOYU4gXSk7CitQQVNTIEV4Y2VwdGlv
biB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJS
CisKK3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IFsgbnVsbCBdCitFeHBlY3RpbmcgZXhjZXB0
aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIFsgbnVsbCBdKTsKK1BBU1MgRXhjZXB0aW9uIHdh
cyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKKwor
dGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogWyB7fSBdCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZy
b20gc3RvcmUucHV0KCd2YWx1ZScsIFsge30gXSk7CitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3du
LgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCisKK3Rlc3Rpbmcg
aW52YWxpZCBhcnJheSBrZXk6IFsgZnVuY3Rpb24gKCkge30gXQorRXhwZWN0aW5nIGV4Y2VwdGlv
biBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIGZ1bmN0aW9uICgpIHt9IF0pOworUEFTUyBFeGNl
cHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRB
X0VSUgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIC9yZWdleC8gXQorRXhwZWN0aW5n
IGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIC9yZWdleC8gXSk7CitQQVNTIEV4
Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRB
VEFfRVJSCisKK3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IFsgd2luZG93IF0KK0V4cGVjdGlu
ZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyB3aW5kb3cgXSk7CitQQVNTIEV4
Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRB
VEFfRVJSCisKK3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IFsgd2luZG93LmRvY3VtZW50IF0K
K0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyB3aW5kb3cuZG9j
dW1lbnQgXSk7CitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRh
dGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCisKK3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IFsg
d2luZG93LmRvY3VtZW50LmJvZHkgXQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1
dCgndmFsdWUnLCBbIHdpbmRvdy5kb2N1bWVudC5ib2R5IF0pOworUEFTUyBFeGNlcHRpb24gd2Fz
IHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgorCit0
ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBjeWNsaWNfYXJyYXkKK0V4cGVjdGluZyBleGNlcHRp
b24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgY3ljbGljX2FycmF5KTsKK1BBU1MgRXhjZXB0aW9u
IHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIK
KwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogY3ljbGljX2FycmF5MgorRXhwZWN0aW5nIGV4
Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBjeWNsaWNfYXJyYXkyKTsKK1BBU1MgRXhj
ZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFU
QV9FUlIKKwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogY3ljbGljX2FycmF5MworRXhwZWN0
aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBjeWNsaWNfYXJyYXkzKTsKK1BB
U1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRp
b24uREFUQV9FUlIKKwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogY3ljbGljX2FycmF5NAor
RXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBjeWNsaWNfYXJyYXk0
KTsKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VF
eGNlcHRpb24uREFUQV9FUlIKKwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogQXJyYXkoMTAw
MCkKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgQXJyYXkoMTAw
MCkpOworUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFz
ZUV4Y2VwdGlvbi5EQVRBX0VSUgorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisK
K1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIva2V5LXR5cGUtYXJyYXkuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tl
eS10eXBlLWFycmF5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTNmODkwNGEwZThjOTVlYzZlZmIwMjliMDBm
MDI0NmQ2MzNkMjBjMAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2tleS10eXBlLWFycmF5Lmh0bWwKQEAgLTAsMCArMSwxOTMgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vLi4v
ZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSJyZXNvdXJjZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAgaWQ9
ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisK
K2Rlc2NyaXB0aW9uKCJUZXN0IEluZGV4ZWREQiBrZXkgdHlwZXMiKTsKK2lmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9u
ZSgpOworCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBldmFsQW5kTG9nKCJpbmRleGVkREIgPSB3
aW5kb3cuaW5kZXhlZERCIHx8IHdpbmRvdy53ZWJraXRJbmRleGVkREIgfHwgd2luZG93Lm1veklu
ZGV4ZWREQjsiKTsKKyAgICBzaG91bGRCZUZhbHNlKCJpbmRleGVkREIgPT0gbnVsbCIpOworCisg
ICAgZXZhbEFuZExvZygiSURCVHJhbnNhY3Rpb24gPSB3aW5kb3cuSURCVHJhbnNhY3Rpb24gfHwg
d2luZG93LndlYmtpdElEQlRyYW5zYWN0aW9uOyIpOworICAgIHNob3VsZEJlRmFsc2UoIklEQlRy
YW5zYWN0aW9uID09IG51bGwiKTsKKworICAgIGV2YWxBbmRMb2coIklEQkRhdGFiYXNlRXhjZXB0
aW9uID0gd2luZG93LklEQkRhdGFiYXNlRXhjZXB0aW9uIHx8IHdpbmRvdy53ZWJraXRJREJEYXRh
YmFzZUV4Y2VwdGlvbjsiKTsKKyAgICBzaG91bGRCZUZhbHNlKCJJREJEYXRhYmFzZUV4Y2VwdGlv
biA9PSBudWxsIik7CisKKworICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7Cisg
ICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CisgICAgb3BlbnJlcSA9IGV2YWxB
bmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOworICAgIG9wZW5yZXEu
b25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CisgICAgb3BlbnJlcS5vbmVycm9yID0gdW5leHBlY3Rl
ZEVycm9yQ2FsbGJhY2s7Cit9CisKK2Z1bmN0aW9uIG9wZW5TdWNjZXNzKCkKK3sKKyAgICBldmFs
QW5kTG9nKCJkYiA9IG9wZW5yZXEucmVzdWx0Iik7CisgICAgc2V0dmVycmVxID0gZXZhbEFuZExv
ZygicmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKSIpOworICAgIHNldHZlcnJlcS5vbnN1Y2Nl
c3MgPSBzZXRWZXJzaW9uU3VjY2VzczsKKyAgICBzZXR2ZXJyZXEub25lcnJvciA9IHVuZXhwZWN0
ZWRFcnJvckNhbGxiYWNrOworfQorCitmdW5jdGlvbiBzZXRWZXJzaW9uU3VjY2VzcygpCit7Cisg
ICAgZGVidWcoInByZXBhcmluZyBkYXRhYmFzZSIpOworICAgIHRyYW5zID0gc2V0dmVycmVxLnJl
c3VsdDsKKyAgICB0cmFucy5vbmNvbXBsZXRlID0gdGVzdFZhbGlkQXJyYXlLZXlzOworICAgIGRl
bGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CisgICAgb2JqZWN0U3RvcmUgPSBldmFsQW5kTG9nKCJk
Yi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnKTsiKTsKKyAgICBkZWJ1ZygiIik7Cit9CisKK2Z1
bmN0aW9uIHRlc3RWYWxpZEFycmF5S2V5cygpCit7CisgICAgZXZhbEFuZExvZygidHJhbnMgPSBk
Yi50cmFuc2FjdGlvbignc3RvcmUnLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAg
IGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlJykiKTsKKyAgICBk
ZWJ1ZygiIik7CisKKyAgICBldmFsQW5kTG9nKCJsb25nX2FycmF5ID0gW107IGZvciAoaSA9IDA7
IGkgPCAxMDAwOyArK2kpIHsgbG9uZ19hcnJheS5wdXNoKCdhYmMnLCAxMjMsIG5ldyBEYXRlKDAp
LCBbXSk7IH0iKTsKKyAgICBkZWJ1ZygiIik7CisKKyAgICBkZWJ1ZygiYXJyYXkgdGhhdCBjb250
YWlucyBub24tbnVtZXJpYyBzZWxmLXJlZmVyZW5jZSIpOworICAgIGV2YWxBbmRMb2coInNlbGZf
cmVmZXJyZW50aWFsX2FycmF5ID0gW107IHNlbGZfcmVmZXJyZW50aWFsX2FycmF5LnNlbGYgPSBz
ZWxmX3JlZmVycmVudGlhbF9hcnJheTsiKTsKKyAgICBkZWJ1ZygiIik7CisKKyAgICB2YXIgbiA9
IDAsIGNhc2VzID0gWworICAgICAgICAiW10iLAorCisgICAgICAgICJbLUluZmluaXR5XSIsCisg
ICAgICAgICJbLU51bWJlci5NQVhfVkFMVUVdIiwKKyAgICAgICAgIlstMV0iLAorICAgICAgICAi
Wy1OdW1iZXIuTUlOX1ZBTFVFXSIsCisgICAgICAgICJbMF0iLAorICAgICAgICAiW051bWJlci5N
SU5fVkFMVUVdIiwKKyAgICAgICAgIlsxXSIsCisgICAgICAgICJbTnVtYmVyLk1BWF9WQUxVRV0i
LAorICAgICAgICAiW0luZmluaXR5XSIsCisKKyAgICAgICAgIlsxLDIsM10iLAorCisgICAgICAg
ICJbbmV3IERhdGUoMCldIiwKKyAgICAgICAgIltuZXcgRGF0ZSgnMjUyNS0wMS0wMVQwMDowMDow
MFonKV0iLAorCisgICAgICAgICJbbmV3IERhdGUoMCksIG5ldyBEYXRlKCcyNTI1LTAxLTAxVDAw
OjAwOjAwWicpXSIsCisKKyAgICAgICAgIlsnJ10iLAorICAgICAgICAiWydceDAwJ10iLAorICAg
ICAgICAiWydhYmMxMjMnXSIsCisKKyAgICAgICAgIlsnYWJjJywgMTIzXSIsCisKKyAgICAgICAg
IltbXV0iLAorCisgICAgICAgICJbW10sIFtdXSIsCisgICAgICAgICJbW10sIFtdLCBbXV0iLAor
CisgICAgICAgICJbW1tdXV0iLAorICAgICAgICAiW1tbW11dXV0iLAorCisgICAgICAgICJbMTIz
LCAnYWJjJywgbmV3IERhdGUoMCksIFtdXSIsCisgICAgICAgICJbWzEyMywgJ2FiYycsIG5ldyBE
YXRlKDApLCBbXV0sIFs0NTYsICdkZWYnLCBuZXcgRGF0ZSg5OTkpLCBbW11dXV0iLAorCisgICAg
ICAgICJsb25nX2FycmF5IiwKKyAgICAgICAgInNlbGZfcmVmZXJyZW50aWFsX2FycmF5IgorICAg
IF07CisKKyAgICBmdW5jdGlvbiB0ZXN0QXJyYXlQdXRHZXQodmFsdWUsIGtleSwgY2FsbGJhY2sp
CisgICAgeworICAgICAgICBkZWJ1ZygidGVzdGluZyBhcnJheSBrZXk6ICIgKyBrZXkpOworICAg
ICAgICBwdXRyZXEgPSBldmFsQW5kTG9nKCJzdG9yZS5wdXQoJyIgKyB2YWx1ZSArICInLCAiICsg
a2V5ICsgIik7Iik7CisgICAgICAgIHB1dHJlcS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2Fs
bGJhY2s7CisgICAgICAgIHB1dHJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKKyAgICAgICAg
ICAgIGdldHJlcSA9IGV2YWxBbmRMb2coInN0b3JlLmdldCgiICsga2V5ICsgIik7Iik7CisgICAg
ICAgICAgICBnZXRyZXEub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgICAg
ICAgICAgZ2V0cmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0cmVxLnJlc3VsdCIsIHZhbHVlKTsKKyAgICAgICAgICAg
ICAgICBkZWJ1ZygiIik7CisgICAgICAgICAgICAgICAgY2FsbGJhY2soKTsKKyAgICAgICAgICAg
IH07CisgICAgICAgIH07CisgICAgfQorCisgICAgZnVuY3Rpb24gbmV4dFRlc3QoKSB7CisgICAg
ICAgIHZhciB0ZXN0Y2FzZSA9IGNhc2VzLnNoaWZ0KCk7CisgICAgICAgIGlmICh0ZXN0Y2FzZSkg
eworICAgICAgICAgICAgdGVzdEFycmF5UHV0R2V0KCJ2YWx1ZSIgKyAoKytuKSwgdGVzdGNhc2Us
IG5leHRUZXN0KTsKKyAgICAgICAgfQorICAgIH0KKworICAgIG5leHRUZXN0KCk7CisKKyAgICB0
cmFucy5vbmNvbXBsZXRlID0gdGVzdEludmFsaWRBcnJheUtleXM7Cit9CisKKworZnVuY3Rpb24g
dGVzdEludmFsaWRBcnJheUtleXMoKQoreworICAgIGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJh
bnNhY3Rpb24oJ3N0b3JlJywgSURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICBldmFs
QW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZScpIik7CisgICAgZGVidWco
IiIpOworCisgICAgZGVidWcoImFycmF5IHRoYXQgY29udGFpbnMgaXRzZWxmOiBhcnJheSA9IFsg
YXJyYXkgXSIpOworICAgIGV2YWxBbmRMb2coImN5Y2xpY19hcnJheSA9IFtdOyBjeWNsaWNfYXJy
YXkucHVzaChjeWNsaWNfYXJyYXkpIik7CisgICAgc2hvdWxkVGhyb3coIkpTT04uc3RyaW5naWZ5
KGN5Y2xpY19hcnJheSkiKTsKKworICAgIGRlYnVnKCJhcnJheSB0aGF0IGNvbnRhaW5zIGl0c2Vs
Ziwgb25lIGxldmVsIGRvd246IGFycmF5ID0gWyBbIGFycmF5IF0gXSIpOworICAgIGV2YWxBbmRM
b2coImN5Y2xpY19hcnJheTIgPSBbXTsgY3ljbGljX2FycmF5Mi5wdXNoKFtjeWNsaWNfYXJyYXky
XSkiKTsKKyAgICBzaG91bGRUaHJvdygiSlNPTi5zdHJpbmdpZnkoY3ljbGljX2FycmF5MikiKTsK
KworICAgIGRlYnVnKCJhcnJheSB0aGF0IGNvbnRhaW5zIGl0c2VsZiwgbm90IGFzIGZpcnN0IGVs
ZW1lbnQ6IGFycmF5ID0gWzEsICdiJywgW10sIGFycmF5XSIpOworICAgIGV2YWxBbmRMb2coImN5
Y2xpY19hcnJheTMgPSBbMSwgJ2InLCBbXV07IGN5Y2xpY19hcnJheTMucHVzaChjeWNsaWNfYXJy
YXkzKSIpOworICAgIHNob3VsZFRocm93KCJKU09OLnN0cmluZ2lmeShjeWNsaWNfYXJyYXkzKSIp
OworICAgIGRlYnVnKCIiKTsKKworICAgIGRlYnVnKCJhcnJheSB0aGF0IGNvbnRhaW5zIGFycmF5
IHRoYXQgY29udGFpbnMgaXRzZWxmIik7CisgICAgZXZhbEFuZExvZygiY3ljbGljX2FycmF5NCA9
IFtjeWNsaWNfYXJyYXldOyIpOworICAgIHNob3VsZFRocm93KCJKU09OLnN0cmluZ2lmeShjeWNs
aWNfYXJyYXk0KSIpOworICAgIGRlYnVnKCIiKTsKKworICAgIHZhciBpbnZhbGlkS2V5cyA9IFsK
KyAgICAgICAgIlsgdm9pZCAwIF0iLCAvLyB1bmRlZmluZWQKKyAgICAgICAgIlsgdHJ1ZSBdIiwK
KyAgICAgICAgIlsgZmFsc2UgXSIsCisgICAgICAgICJbIE5hTiBdIiwKKyAgICAgICAgIlsgbnVs
bCBdIiwKKyAgICAgICAgIlsge30gXSIsCisgICAgICAgICJbIGZ1bmN0aW9uICgpIHt9IF0iLAor
ICAgICAgICAiWyAvcmVnZXgvIF0iLAorICAgICAgICAiWyB3aW5kb3cgXSIsCisgICAgICAgICJb
IHdpbmRvdy5kb2N1bWVudCBdIiwKKyAgICAgICAgIlsgd2luZG93LmRvY3VtZW50LmJvZHkgXSIs
CisgICAgICAgICJjeWNsaWNfYXJyYXkiLAorICAgICAgICAiY3ljbGljX2FycmF5MiIsCisgICAg
ICAgICJjeWNsaWNfYXJyYXkzIiwKKyAgICAgICAgImN5Y2xpY19hcnJheTQiLAorICAgICAgICAi
QXJyYXkoMTAwMCkiIC8vIHNwYXJzZQorICAgIF07CisKKyAgICBpbnZhbGlkS2V5cy5mb3JFYWNo
KGZ1bmN0aW9uIChrZXkpIHsKKyAgICAgICAgZGVidWcoInRlc3RpbmcgaW52YWxpZCBhcnJheSBr
ZXk6ICIgKyBrZXkpOworICAgICAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5wdXQo
J3ZhbHVlJywgIiArIGtleSArICIpOyIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUiIp
OworICAgICAgICBkZWJ1ZygiIik7CisgICAgfSk7CisKKyAgICBkb25lKCk7Cit9CisKK3Rlc3Qo
KTsKKworPC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXlyYW5nZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9rZXlyYW5nZS1leHBlY3RlZC50eHQKaW5kZXggYmRiZjE1ZWJjNTNh
MzU5NDVjZTlhNjYxYTE5MTUyOWM2NGNjMzI3My4uNDU0ZWM5M2M1NWE4ZmU0M2U4OTliMzk5NTRl
OTgwOTkwMWQ0Zjk1NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
a2V5cmFuZ2UtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2tleXJhbmdlLWV4cGVjdGVkLnR4dApAQCAtMjA3LDE3ICsyMDcsMTcgQEAgUEFTUyBrZXlSYW5n
ZS5sb3dlciBpcyAnYWFmJwogUEFTUyBrZXlSYW5nZS51cHBlciBpcyAnYWJmJwogUEFTUyBrZXlS
YW5nZS5sb3dlck9wZW4gaXMgdHJ1ZQogUEFTUyBrZXlSYW5nZS51cHBlck9wZW4gaXMgdHJ1ZQot
UGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIG9ubHkoW10pCitQYXNzaW5nIGFuIGludmFsaWQg
a2V5IGludG8gb25seSh7fSkKIFBBU1MgQ2F1Z2h0IGV4Y2VwdGlvbjogRXJyb3I6IERBVEFfRVJS
OiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLVBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50
byB1cHBlckJvdW5kKFtdKQorUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIHVwcGVyQm91bmQo
e30pCiBQQVNTIENhdWdodCBleGNlcHRpb246IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFi
YXNlIEV4Y2VwdGlvbiA1Ci1QYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gbG93ZXJCb3VuZChb
XSkKK1Bhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBsb3dlckJvdW5kKHt9KQogUEFTUyBDYXVn
aHQgZXhjZXB0aW9uOiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24g
NQotUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGJvdW5kKG51bGwsIFtdKQorUGFzc2luZyBh
biBpbnZhbGlkIGtleSBpbnRvIGJvdW5kKG51bGwsIHt9KQogUEFTUyBDYXVnaHQgZXhjZXB0aW9u
OiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotUGFzc2luZyBh
biBpbnZhbGlkIGtleSBpbnRvIGJvdW5kKFtdLG51bGwpCitQYXNzaW5nIGFuIGludmFsaWQga2V5
IGludG8gYm91bmQoe30sbnVsbCkKIFBBU1MgQ2F1Z2h0IGV4Y2VwdGlvbjogRXJyb3I6IERBVEFf
RVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLVBhc3NpbmcgYW4gaW52YWxpZCBrZXkg
aW50byBib3VuZChbXSwgW10pCitQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gYm91bmQoe30s
IHt9KQogUEFTUyBDYXVnaHQgZXhjZXB0aW9uOiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRh
YmFzZSBFeGNlcHRpb24gNQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXlyYW5nZS5odG1sIGIvTGF5
b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5cmFuZ2UuaHRtbAppbmRleCAwMzExMmQxOTFm
ZTlkMWM5ZTY1OTVlZjgyNDg3YzhmMTk2ZjQ4YjIzLi42NzhlOTJjZjZkY2JmNDAyMGVmNDBlNWRh
NTQ3YjE2MmI4OTI5NGFkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9rZXlyYW5nZS5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleXJh
bmdlLmh0bWwKQEAgLTEyNiw0OCArMTI2LDQ4IEBAIGZ1bmN0aW9uIHRlc3QoKQogICAgIGNoZWNr
Qm91bmRLZXlSYW5nZSgiJ2FhZiciLCAiJ2FiZiciLCB0cnVlLCB0cnVlKTsKIAogICAgIHRyeSB7
Ci0gICAgICAgIGRlYnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gb25seShbXSkiKTsK
LSAgICAgICAgd2Via2l0SURCS2V5UmFuZ2Uub25seShbXSk7CisgICAgICAgIGRlYnVnKCJQYXNz
aW5nIGFuIGludmFsaWQga2V5IGludG8gb25seSh7fSkiKTsKKyAgICAgICAgd2Via2l0SURCS2V5
UmFuZ2Uub25seSh7fSk7CiAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGV4Y2VwdGlvbiB0aHJvd24i
KTsKICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgIHRlc3RQYXNzZWQoIkNhdWdodCBleGNlcHRp
b246ICIgKyBlLnRvU3RyaW5nKCkpOwogICAgIH0KIAogICAgIHRyeSB7Ci0gICAgICAgIGRlYnVn
KCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gdXBwZXJCb3VuZChbXSkiKTsKLSAgICAgICAg
d2Via2l0SURCS2V5UmFuZ2UudXBwZXJCb3VuZChbXSk7CisgICAgICAgIGRlYnVnKCJQYXNzaW5n
IGFuIGludmFsaWQga2V5IGludG8gdXBwZXJCb3VuZCh7fSkiKTsKKyAgICAgICAgd2Via2l0SURC
S2V5UmFuZ2UudXBwZXJCb3VuZCh7fSk7CiAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGV4Y2VwdGlv
biB0aHJvd24iKTsKICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgIHRlc3RQYXNzZWQoIkNhdWdo
dCBleGNlcHRpb246ICIgKyBlLnRvU3RyaW5nKCkpOwogICAgIH0KICAKICAgICB0cnkgewotICAg
ICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGxvd2VyQm91bmQoW10pIik7
Ci0gICAgICAgIHdlYmtpdElEQktleVJhbmdlLmxvd2VyQm91bmQoW10pOworICAgICAgICBkZWJ1
ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGxvd2VyQm91bmQoe30pIik7CisgICAgICAg
IHdlYmtpdElEQktleVJhbmdlLmxvd2VyQm91bmQoe30pOwogICAgICAgICB0ZXN0RmFpbGVkKCJO
byBleGNlcHRpb24gdGhyb3duIik7CiAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICB0ZXN0UGFz
c2VkKCJDYXVnaHQgZXhjZXB0aW9uOiAiICsgZS50b1N0cmluZygpKTsKICAgICB9CiAKICAgICB0
cnkgewotICAgICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGJvdW5kKG51
bGwsIFtdKSIpOwotICAgICAgICB3ZWJraXRJREJLZXlSYW5nZS5ib3VuZChudWxsLCBbXSk7Cisg
ICAgICAgIGRlYnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gYm91bmQobnVsbCwge30p
Iik7CisgICAgICAgIHdlYmtpdElEQktleVJhbmdlLmJvdW5kKG51bGwsIHt9KTsKICAgICAgICAg
dGVzdEZhaWxlZCgiTm8gZXhjZXB0aW9uIHRocm93biIpOwogICAgIH0gY2F0Y2ggKGUpIHsKICAg
ICAgICAgdGVzdFBhc3NlZCgiQ2F1Z2h0IGV4Y2VwdGlvbjogIiArIGUudG9TdHJpbmcoKSk7CiAg
ICAgfQogCiAgICAgdHJ5IHsKLSAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkg
aW50byBib3VuZChbXSxudWxsKSIpOwotICAgICAgICB3ZWJraXRJREJLZXlSYW5nZS5ib3VuZChb
XSwgbnVsbCk7CisgICAgICAgIGRlYnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gYm91
bmQoe30sbnVsbCkiKTsKKyAgICAgICAgd2Via2l0SURCS2V5UmFuZ2UuYm91bmQoe30sIG51bGwp
OwogICAgICAgICB0ZXN0RmFpbGVkKCJObyBleGNlcHRpb24gdGhyb3duIik7CiAgICAgfSBjYXRj
aCAoZSkgewogICAgICAgICB0ZXN0UGFzc2VkKCJDYXVnaHQgZXhjZXB0aW9uOiAiICsgZS50b1N0
cmluZygpKTsKICAgICB9CiAKICAgICB0cnkgewotICAgICAgICBkZWJ1ZygiUGFzc2luZyBhbiBp
bnZhbGlkIGtleSBpbnRvIGJvdW5kKFtdLCBbXSkiKTsKLSAgICAgICAgd2Via2l0SURCS2V5UmFu
Z2UuYm91bmQoW10sIFtdKTsKKyAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkg
aW50byBib3VuZCh7fSwge30pIik7CisgICAgICAgIHdlYmtpdElEQktleVJhbmdlLmJvdW5kKHt9
LCB7fSk7CiAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGV4Y2VwdGlvbiB0aHJvd24iKTsKICAgICB9
IGNhdGNoIChlKSB7CiAgICAgICAgIHRlc3RQYXNzZWQoIkNhdWdodCBleGNlcHRpb246ICIgKyBl
LnRvU3RyaW5nKCkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
b2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy1leHBlY3RlZC50eHQKaW5kZXggNmVjYzQzMGMzODU5
NGVlYzhhMGE1YjgwMGVjM2ViNzliZTM4MjcxNi4uZDBkMjc4ZDdjM2JmOTNhMjQxZThiNjU5MWFm
MTE0NzY0MmVmMDFjMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
b2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MtZXhwZWN0ZWQudHh0CkBAIC05MywxOSArOTMs
MTkgQEAgcmVtb3ZlU3VjY2VzcygpOgogUEFTUyBldmVudC50YXJnZXQucmVzdWx0IGlzIG51bGwK
IHN0b3JlID0gZXZlbnQudGFyZ2V0LnNvdXJjZQogUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRv
IHN0b3JlLmdldCgpLgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLmdldChbXSkKK0V4
cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5nZXQoe30pCiBQQVNTIEV4Y2VwdGlvbiB3YXMg
dGhyb3duLgogUEFTUyBjb2RlIGlzIHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJS
CiBQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gc3RvcmUuZGVsZXRlKCkuCi1FeHBlY3Rpbmcg
ZXhjZXB0aW9uIGZyb20gc3RvcmUuZGVsZXRlKFtdKQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9t
IHN0b3JlLmRlbGV0ZSh7fSkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUg
aXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIFBhc3NpbmcgYW4gaW52YWxp
ZCBrZXkgaW50byBzdG9yZS5hZGQoKS4KLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5h
ZGQobnVsbCwgW10pCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUuYWRkKG51bGwsIHt9
KQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyB3ZWJraXRJREJEYXRh
YmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgogUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIHN0b3Jl
LnB1dCgpLgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dChudWxsLCBbXSkKK0V4
cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQobnVsbCwge30pCiBQQVNTIEV4Y2VwdGlv
biB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLkRB
VEFfRVJSCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MuaHRtbCBiL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy5odG1sCmluZGV4IGJi
MTZjODk3NTg5ODlmZGNmMTc3NDRkYzUzNTM1Nzg5MGUzZTljYWQuLjllNzdiNzFhODU2YTU3NTI3
MTkyYjFiZTFjNTk1YTg0Mzc1OGY5Y2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy5odG1sCkBAIC0yNDEsMTYgKzI0MSwxNiBA
QCBmdW5jdGlvbiByZW1vdmVTdWNjZXNzKCkKICAgICB2YXIgc3RvcmUgPSBldmFsQW5kTG9nKCJz
dG9yZSA9IGV2ZW50LnRhcmdldC5zb3VyY2UiKTsKIAogICAgIGRlYnVnKCJQYXNzaW5nIGFuIGlu
dmFsaWQga2V5IGludG8gc3RvcmUuZ2V0KCkuIik7Ci0gICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlv
bigic3RvcmUuZ2V0KFtdKSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUiIp
OworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmdldCh7fSkiLCAid2Via2l0SURC
RGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKIAogICAgIGRlYnVnKCJQYXNzaW5nIGFuIGlu
dmFsaWQga2V5IGludG8gc3RvcmUuZGVsZXRlKCkuIik7Ci0gICAgZXZhbEFuZEV4cGVjdEV4Y2Vw
dGlvbigic3RvcmUuZGVsZXRlKFtdKSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRB
X0VSUiIpOworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmRlbGV0ZSh7fSkiLCAi
d2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKIAogICAgIGRlYnVnKCJQYXNz
aW5nIGFuIGludmFsaWQga2V5IGludG8gc3RvcmUuYWRkKCkuIik7Ci0gICAgZXZhbEFuZEV4cGVj
dEV4Y2VwdGlvbigic3RvcmUuYWRkKG51bGwsIFtdKSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2Vw
dGlvbi5EQVRBX0VSUiIpOworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmFkZChu
dWxsLCB7fSkiLCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKIAogICAg
IGRlYnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gc3RvcmUucHV0KCkuIik7Ci0gICAg
ZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUucHV0KG51bGwsIFtdKSIsICJ3ZWJraXRJREJE
YXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUiIpOworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24o
InN0b3JlLnB1dChudWxsLCB7fSkiLCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9F
UlIiKTsKIAogICAgIGRvbmUoKTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL29wZW4tY3Vyc29yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL29wZW4tY3Vyc29yLWV4cGVjdGVkLnR4dAppbmRleCA2MDIwZTI1NmY3YzNhMjQ4
N2NiNzU1NjMyZWU0MWZiYTAxOTIwODkxLi4zYTllMjAyODAzZmEwOGFmOGQxMDc3NDhjNTQ1ZDgz
OGI4MDczNmFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVu
LWN1cnNvci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
b3Blbi1jdXJzb3ItZXhwZWN0ZWQudHh0CkBAIC0xOSw3ICsxOSw3IEBAIFBBU1MgZXZlbnQudGFy
Z2V0LnJlc3VsdC5kaXJlY3Rpb24gaXMgMAogUEFTUyBldmVudC50YXJnZXQucmVzdWx0LmtleSBp
cyAnbXlLZXknCiBQQVNTIGV2ZW50LnRhcmdldC5yZXN1bHQudmFsdWUgaXMgJ215VmFsdWUnCiAK
LVBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byAuY29udGludWUoKS4KK1Bhc3NpbmcgYW4gaW52
YWxpZCBrZXkgaW50byAuY29udGludWUoe30pLgogUEFTUyBDYXVnaHQgZXhjZXB0aW9uOiBFcnJv
cjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQogCiBPcGVuaW5nIGFuIGVt
cHR5IGN1cnNvci4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29w
ZW4tY3Vyc29yLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWN1cnNv
ci5odG1sCmluZGV4IDkxNjA2MzE4ZDIzY2M4N2YzMDhmNzI0NmM0ZmEwY2UzYTBjNzBkNDMuLmNh
OTkyMjUxYWQ2ODNmNDA2ODc0ZGM2NTYwZWI4MzQzZGJlYzdlZjYgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY3Vyc29yLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jdXJzb3IuaHRtbApAQCAtMzgsOCArMzgsOCBAQCBm
dW5jdGlvbiBjdXJzb3JTdWNjZXNzKCkKICAgICBzaG91bGRCZSgiZXZlbnQudGFyZ2V0LnJlc3Vs
dC52YWx1ZSIsICInbXlWYWx1ZSciKTsKICAgICBkZWJ1ZygiIik7CiAgICAgdHJ5IHsKLSAgICAg
ICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byAuY29udGludWUoKS4iKTsKLSAg
ICAgICAgZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZShbXSk7CisgICAgICAgIGRlYnVnKCJQ
YXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gLmNvbnRpbnVlKHt9KS4iKTsKKyAgICAgICAgZXZl
bnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSh7fSk7CiAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGV4
Y2VwdGlvbiB0aHJvd24iKTsKICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgIHRlc3RQYXNzZWQo
IkNhdWdodCBleGNlcHRpb246ICIgKyBlLnRvU3RyaW5nKCkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113551</attachid>
            <date>2011-11-03 13:43:29 -0700</date>
            <delta_ts>2011-11-04 16:19:44 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62284-20111103134328.patch</filename>
            <type>text/plain</type>
            <size>126343</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkxODAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBhMzI5YzQyN2IyNzU2MWI5
ZjkzODgyYWM2ODllNTdmNTg1M2ZiNTM2Li42ODMzZTJkMDgzZjcwMDdjMjNkMTMxNGM5YjM2NDg4
NmQ0NzUwMWQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzggQEAKKzIwMTEtMTEtMDMgIEpvc2h1
YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IGltcGxl
bWVudCBjb21wb3VuZCAoYXJyYXkpIGtleSBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02MjI4NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3RzOiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3It
a2V5LW9yZGVyLmh0bWwKKyAgICAgICAgICAgICAgIHN0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBl
LWFycmF5Lmh0bWwKKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTSURCS2V5Q3VzdG9tLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L0lEQkJpbmRp
bmdVdGlsaXRpZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5Q3JlYXRvcjo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OklEQktleUNyZWF0b3I6OklEQktleUNyZWF0b3IpOgorICAg
ICAgICAoV2ViQ29yZTo6SURCS2V5Q3JlYXRvcjo6Y3JlYXRlSW50ZXJuYWwpOgorICAgICAgICAo
V2ViQ29yZTo6Y3JlYXRlSURCS2V5RnJvbVZhbHVlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9j
dXN0b20vVjhJREJLZXlDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAg
ICAgICogc3RvcmFnZS9JREJLZXkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5Ojpjb21w
YXJlKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQktleS5oOgorICAgICAgICAoV2ViQ29yZTo6SURC
S2V5OjpjcmVhdGVBcnJheSk6CisgICAgICAgIChXZWJDb3JlOjpJREJLZXk6OnZhbGlkKToKKyAg
ICAgICAgKFdlYkNvcmU6OklEQktleTo6YXJyYXkpOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5
Ojpjb21wYXJlVHlwZXMpOgorICAgICAgICAqIHN0b3JhZ2UvSURCTGV2ZWxEQkNvZGluZy5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpJREJMZXZlbERCQ29kaW5nOjpjb21wYXJlRW5jb2RlZFN0cmlu
Z3NXaXRoTGVuZ3RoKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkxldmVsREJDb2Rpbmc6OmVuY29k
ZUlEQktleSk6CisgICAgICAgIChXZWJDb3JlOjpJREJMZXZlbERCQ29kaW5nOjpkZWNvZGVJREJL
ZXkpOgorICAgICAgICAoV2ViQ29yZTo6SURCTGV2ZWxEQkNvZGluZzo6ZXh0cmFjdEVuY29kZWRJ
REJLZXkpOgorICAgICAgICAoV2ViQ29yZTo6SURCTGV2ZWxEQkNvZGluZzo6a2V5VHlwZUJ5dGVU
b0tleVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6SURCTGV2ZWxEQkNvZGluZzo6Y29tcGFyZUVu
Y29kZWRJREJLZXlzKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQkxldmVsREJDb2RpbmcuaDoKKwog
MjAxMS0xMS0wMyAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGdvb2dsZS5jb20+CiAKICAgICAg
ICAgTm90IHJldmlld2VkOiB3aW4gYnVpbGQgZml4LiBBc3NpZ24gYXV0b0RQSSBhdCBhbGwgY2Fz
ZXMgKGJyZWFrYWdlIGludHJvZHVjZWQgaW4gcjk5MTczKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cKaW5kZXggOWEyZGNiMTY5NDU4NDI4Njc0ZTgwOWJjNDU1N2VhMjE5ZjgyNGM0NC4uMGY1MThi
MTc5NTA2Mzg4M2ZkYWQ0OThmYzQzNTVhOWRkNmQwMGQxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMS0xMS0wMyAgSm9zaHVhIEJlbGwgIDxqc2JlbGxA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIEluZGV4ZWREQjogaW1wbGVtZW50IGNvbXBvdW5kIChh
cnJheSkga2V5IHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTYyMjg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBwdWJsaWMvV2ViSURCS2V5Lmg6CisgICAgICAgICogc3JjL0Fzc2VydE1hdGNo
aW5nRW51bXMuY3BwOgorICAgICAgICAqIHNyYy9XZWJJREJLZXkuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJJREJLZXk6OmNyZWF0ZUFycmF5KToKKyAgICAgICAgKFdlYktpdDo6Y29udmVydEZy
b21XZWJJREJLZXlBcnJheSk6CisgICAgICAgIChXZWJLaXQ6OmNvbnZlcnRUb1dlYklEQktleUFy
cmF5KToKKyAgICAgICAgKFdlYktpdDo6V2ViSURCS2V5Ojphc3NpZ25BcnJheSk6CisgICAgICAg
IChXZWJLaXQ6OldlYklEQktleTo6YXJyYXkpOgorICAgICAgICAqIHRlc3RzL0lEQkJpbmRpbmdV
dGlsaXRpZXNUZXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRFU1QpOgorICAgICAgICAqIHRl
c3RzL0lEQkxldmVsREJDb2RpbmdUZXN0LmNwcDoKKyAgICAgICAgKElEQkxldmVsREJDb2Rpbmc6
OmNyZWF0ZUFycmF5SURCS2V5KToKKyAgICAgICAgKElEQkxldmVsREJDb2Rpbmc6OlRFU1QpOgor
ICAgICAgICAoSURCTGV2ZWxEQkNvZGluZzo6Y29tcGFyZVN0cmluZ3MpOgorCiAyMDExLTEwLTI4
ICBIYW5zIFdlbm5ib3JnICA8aGFuc0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgSW5kZXhlZERC
OiBSZWN5Y2xlIGN1cnNvciBvYmplY3RzIHdoZW4gY2FsbGluZyBjb250aW51ZSgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0lEQktleUN1c3RvbS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0lEQktleUN1c3RvbS5jcHAKaW5kZXggMTAyNzhmM2Nj
ZjFmNGE2NjZkZDg2ZTk5OTA3N2VmOWRlODEyYjQ5My4uNjJmYTdjYmUxOGZjOTlmODE3ODk5Nzli
MTAxNmJmN2U0ZTI0ZWU0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNJREJLZXlDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSURC
S2V5Q3VzdG9tLmNwcApAQCAtNDgsNiArNDgsNyBAQCBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBl
eGVjLCBKU0RPTUdsb2JhbE9iamVjdCosIElEQktleSoga2V5KQogICAgIGNhc2UgSURCS2V5OjpT
dHJpbmdUeXBlOgogICAgICAgICByZXR1cm4ganNTdHJpbmcoZXhlYywga2V5LT5zdHJpbmcoKSk7
CiAgICAgLy8gRklYTUU6IEltcGxlbWVudCBkYXRlcy4KKyAgICAvLyBGSVhNRTogSW1wbGVtZW50
IGFycmF5cy4KICAgICB9CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L0lEQkJpbmRpbmdVdGlsaXRpZXMuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvSURCQmluZGluZ1V0aWxpdGllcy5jcHAKaW5kZXggY2I2
YWIwYTdkY2Q1YmVhNzM1NWIwYjliMTRlMTUyMTgyZGFjZmU4OS4uNGU5MzJmMTQ3NmIxMjI2YWJm
ZDIwNjM3M2VhYzU2ZjEzMzkwMmFkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvSURCQmluZGluZ1V0aWxpdGllcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvSURCQmluZGluZ1V0aWxpdGllcy5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzgsMTYgKzM4LDYyIEBACiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAorY2xhc3MgSURCS2V5Q3JlYXRvciB7CisgIHB1YmxpYzoKKyAgICBzdGF0aWMg
UGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0ZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUpCisg
ICAgeworICAgICAgICBJREJLZXlDcmVhdG9yIGNyZWF0b3I7CisgICAgICAgIHJldHVybiBjcmVh
dG9yLmNyZWF0ZUludGVybmFsKHZhbHVlKTsKKyAgICB9CisKKyAgcHJpdmF0ZToKKyAgICBJREJL
ZXlDcmVhdG9yKCkKKyAgICB7CisgICAgfQorCisgICAgSURCS2V5Q3JlYXRvcihjb25zdCBJREJL
ZXlDcmVhdG9yJik7CisgICAgSURCS2V5Q3JlYXRvciYgb3BlcmF0b3I9KGNvbnN0IElEQktleUNy
ZWF0b3ImKTsKKworICAgIFBhc3NSZWZQdHI8SURCS2V5PiBjcmVhdGVJbnRlcm5hbCh2ODo6SGFu
ZGxlPHY4OjpWYWx1ZT4gdmFsdWUpCisgICAgeworICAgICAgICBpZiAodmFsdWUtPklzTnVtYmVy
KCkgJiYgIWlzbmFuKHZhbHVlLT5OdW1iZXJWYWx1ZSgpKSkKKyAgICAgICAgICAgIHJldHVybiBJ
REJLZXk6OmNyZWF0ZU51bWJlcih2YWx1ZS0+TnVtYmVyVmFsdWUoKSk7CisgICAgICAgIGlmICh2
YWx1ZS0+SXNTdHJpbmcoKSkKKyAgICAgICAgICAgIHJldHVybiBJREJLZXk6OmNyZWF0ZVN0cmlu
Zyh2OFZhbHVlVG9XZWJDb3JlU3RyaW5nKHZhbHVlKSk7CisgICAgICAgIGlmICh2YWx1ZS0+SXNE
YXRlKCkpCisgICAgICAgICAgICByZXR1cm4gSURCS2V5OjpjcmVhdGVEYXRlKHZhbHVlLT5OdW1i
ZXJWYWx1ZSgpKTsKKyAgICAgICAgaWYgKHZhbHVlLT5Jc0FycmF5KCkpIHsKKyAgICAgICAgICAg
IHY4OjpIYW5kbGU8djg6OkFycmF5PiBhcnJheSA9IHY4OjpIYW5kbGU8djg6OkFycmF5Pjo6Q2Fz
dCh2YWx1ZSk7CisKKyAgICAgICAgICAgIGlmIChtX3N0YWNrLmNvbnRhaW5zKGFycmF5KSkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gSURCS2V5OjpjcmVhdGVJbnZhbGlkKCk7CisgICAgICAgICAg
ICBtX3N0YWNrLmFwcGVuZChhcnJheSk7CisKKyAgICAgICAgICAgIElEQktleTo6S2V5QXJyYXkg
c3Via2V5czsKKyAgICAgICAgICAgIHVpbnQzMl90IGxlbmd0aCA9IGFycmF5LT5MZW5ndGgoKTsK
KyAgICAgICAgICAgIGZvciAodWludDMyX3QgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykgeworICAg
ICAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6VmFsdWU+IHN1YnZhbHVlID0gYXJyYXktPkdldCh2
ODo6SW50MzI6Ok5ldyhpKSk7CisgICAgICAgICAgICAgICAgUmVmUHRyPElEQktleT4gc3Via2V5
ID0gY3JlYXRlSW50ZXJuYWwoc3VidmFsdWUpOworICAgICAgICAgICAgICAgIGlmICghc3Via2V5
KSB7CisgICAgICAgICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gSURCS2V5OjpjcmVhdGVJbnZhbGlkKCk7CisgICAgICAgICAgICAg
ICAgfQorICAgICAgICAgICAgICAgIGlmICghc3Via2V5LT52YWxpZCgpKQorICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gc3Via2V5OworICAgICAgICAgICAgICAgIHN1YmtleXMuYXBwZW5kKHN1
YmtleSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBtX3N0YWNrLnJlbW92ZUxhc3QoKTsK
KyAgICAgICAgICAgIHJldHVybiBJREJLZXk6OmNyZWF0ZUFycmF5KHN1YmtleXMpOworICAgICAg
ICB9CisgICAgICAgIHJldHVybiBJREJLZXk6OmNyZWF0ZUludmFsaWQoKTsKKyAgICB9CisKKyAg
ICBWZWN0b3I8djg6OkhhbmRsZTx2ODo6QXJyYXk+ID4gbV9zdGFjazsKK307CisKIFBhc3NSZWZQ
dHI8SURCS2V5PiBjcmVhdGVJREJLZXlGcm9tVmFsdWUodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZh
bHVlKQogewotICAgIGlmICh2YWx1ZS0+SXNOdW1iZXIoKSAmJiAhaXNuYW4odmFsdWUtPk51bWJl
clZhbHVlKCkpKQotICAgICAgICByZXR1cm4gSURCS2V5OjpjcmVhdGVOdW1iZXIodmFsdWUtPk51
bWJlclZhbHVlKCkpOwotICAgIGlmICh2YWx1ZS0+SXNTdHJpbmcoKSkKLSAgICAgICAgcmV0dXJu
IElEQktleTo6Y3JlYXRlU3RyaW5nKHY4VmFsdWVUb1dlYkNvcmVTdHJpbmcodmFsdWUpKTsKLSAg
ICBpZiAodmFsdWUtPklzRGF0ZSgpKQotICAgICAgICByZXR1cm4gSURCS2V5OjpjcmVhdGVEYXRl
KHZhbHVlLT5OdW1iZXJWYWx1ZSgpKTsKLQotICAgIHJldHVybiBJREJLZXk6OmNyZWF0ZUludmFs
aWQoKTsKKyAgICByZXR1cm4gSURCS2V5Q3JlYXRvcjo6Y3JlYXRlKHZhbHVlKTsKIH0KIAogbmFt
ZXNwYWNlIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OElEQktleUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJ
REJLZXlDdXN0b20uY3BwCmluZGV4IDNiNGVkYTg3N2VhZjdhZTM1ZTZiMWNkZWRiYTJmYTE3OTMz
YjVkZGUuLjllMTMwZTE2ZDc5MTgyMmMzOTc1NjFmYWE2OTQ5YWM0MDUxZTgzZWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOElEQktleUN1c3RvbS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SURCS2V5Q3VzdG9tLmNw
cApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpA
QCAtMzQsNiArMzQsOCBAQAogI2luY2x1ZGUgIklEQktleS5oIgogI2luY2x1ZGUgIlY4QmluZGlu
Zy5oIgogCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KElEQktleSoga2V5KQpAQCAtNDEsOCArNDMsMTEg
QEAgdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoSURCS2V5KiBrZXkpCiAgICAgaWYgKCFrZXkp
CiAgICAgICAgIHJldHVybiB2ODo6TnVsbCgpOwogCisgICAgdjg6OkxvY2FsPHY4OjpBcnJheT4g
YXJyYXk7CisKICAgICBzd2l0Y2ggKGtleS0+dHlwZSgpKSB7CiAgICAgY2FzZSBJREJLZXk6Oklu
dmFsaWRUeXBlOgorICAgIGNhc2UgSURCS2V5OjpNaW5UeXBlOgogICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuIHY4OjpVbmRlZmluZWQoKTsKICAgICBjYXNlIElE
QktleTo6TnVtYmVyVHlwZToKQEAgLTUxLDYgKzU2LDExIEBAIHY4OjpIYW5kbGU8djg6OlZhbHVl
PiB0b1Y4KElEQktleSoga2V5KQogICAgICAgICByZXR1cm4gdjhTdHJpbmcoa2V5LT5zdHJpbmco
KSk7CiAgICAgY2FzZSBJREJLZXk6OkRhdGVUeXBlOgogICAgICAgICByZXR1cm4gdjg6OkRhdGU6
Ok5ldyhrZXktPmRhdGUoKSk7CisgICAgY2FzZSBJREJLZXk6OkFycmF5VHlwZToKKyAgICAgICAg
YXJyYXkgPSB2ODo6QXJyYXk6Ok5ldyhrZXktPmFycmF5KCkuc2l6ZSgpKTsKKyAgICAgICAgZm9y
IChzaXplX3QgaSA9IDA7IGkgPCBrZXktPmFycmF5KCkuc2l6ZSgpOyArK2kpCisgICAgICAgICAg
ICBhcnJheS0+U2V0KGksIHRvVjgoa2V5LT5hcnJheSgpW2ldLmdldCgpKSk7CisgICAgICAgIHJl
dHVybiBhcnJheTsKICAgICB9CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvSURCS2V5LmNwcAppbmRleCA1ZTUyNmNlMjIzOWI5OGQzODZmYTg3MmIyMDdhOWIwZTNj
MDllOWVlLi5lOTI5N2Q2NDBhZmRlYTE2N2I5YjdkOTA4NDZkZDA5ZDE4ZDEyNjYwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQktleS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9JREJLZXkuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTQ2LDYgKzQ2LDE2IEBAIGludCBJREJLZXk6OmNvbXBhcmUoY29u
c3QgSURCS2V5KiBvdGhlcikgY29uc3QKICAgICAgICAgcmV0dXJuIG1fdHlwZSA+IG90aGVyLT5t
X3R5cGUgPyAtMSA6IDE7CiAKICAgICBzd2l0Y2ggKG1fdHlwZSkgeworICAgIGNhc2UgQXJyYXlU
eXBlOgorICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fYXJyYXkuc2l6ZSgpICYmIGkg
PCBvdGhlci0+bV9hcnJheS5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgaWYgKGludCByZXN1
bHQgPSBtX2FycmF5W2ldLT5jb21wYXJlKG90aGVyLT5tX2FycmF5W2ldLmdldCgpKSkKKyAgICAg
ICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICB9CisgICAgICAgIGlmIChtX2FycmF5
LnNpemUoKSA8IG90aGVyLT5tX2FycmF5LnNpemUoKSkKKyAgICAgICAgICAgIHJldHVybiAtMTsK
KyAgICAgICAgaWYgKG1fYXJyYXkuc2l6ZSgpID4gb3RoZXItPm1fYXJyYXkuc2l6ZSgpKQorICAg
ICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIHJldHVybiAwOwogICAgIGNhc2UgU3RyaW5nVHlw
ZToKICAgICAgICAgcmV0dXJuIC1jb2RlUG9pbnRDb21wYXJlKG90aGVyLT5tX3N0cmluZywgbV9z
dHJpbmcpOwogICAgIGNhc2UgRGF0ZVR5cGU6CkBAIC01NSw2ICs2NSw3IEBAIGludCBJREJLZXk6
OmNvbXBhcmUoY29uc3QgSURCS2V5KiBvdGhlcikgY29uc3QKICAgICAgICAgcmV0dXJuIChtX251
bWJlciA8IG90aGVyLT5tX251bWJlcikgPyAtMSA6CiAgICAgICAgICAgICAgICAgKG1fbnVtYmVy
ID4gb3RoZXItPiBtX251bWJlcikgPyAxIDogMDsKICAgICBjYXNlIEludmFsaWRUeXBlOgorICAg
IGNhc2UgTWluVHlwZToKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJl
dHVybiAwOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5
LmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQktleS5oCmluZGV4IGM5YTFiNDdkYWJjM2E0
ZjJlOTMwMWI1N2YwM2NmY2Y3OGFhYzkxNWQuLjkxYzkyNTc0NjUxOTk3NDZkMDY1ZTBlYmUxNWVh
ZDY1YTQxMWRhZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJLZXkuaApAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMSwxMSArMzEsMTQgQEAKICNpbmNs
dWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVk
ZSA8d3RmL1RocmVhZGluZy5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBJREJLZXkgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8
SURCS2V5PiB7CiBwdWJsaWM6CisgICAgdHlwZWRlZiBWZWN0b3I8UmVmUHRyPElEQktleT4gPiBL
ZXlBcnJheTsKKwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPElEQktleT4gY3JlYXRlSW52YWxpZCgp
CiAgICAgewogICAgICAgICBSZWZQdHI8SURCS2V5PiBpZGJLZXkobmV3IElEQktleSgpKTsKQEAg
LTY3LDE3ICs3MCwzNCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBpZGJLZXkucmVsZWFzZSgp
OwogICAgIH0KIAorICAgIHN0YXRpYyBQYXNzUmVmUHRyPElEQktleT4gY3JlYXRlQXJyYXkoY29u
c3QgS2V5QXJyYXkmIGFycmF5KQorICAgIHsKKyAgICAgICAgUmVmUHRyPElEQktleT4gaWRiS2V5
KG5ldyBJREJLZXkoKSk7CisgICAgICAgIGlkYktleS0+bV90eXBlID0gQXJyYXlUeXBlOworICAg
ICAgICBpZGJLZXktPm1fYXJyYXkgPSBhcnJheTsKKyAgICAgICAgcmV0dXJuIGlkYktleS5yZWxl
YXNlKCk7CisgICAgfQorCiAgICAgfklEQktleSgpOwogCiAgICAgLy8gSW4gb3JkZXIgb2YgdGhl
IGxlYXN0IHRvIHRoZSBoaWdoZXN0IHByZWNlZGVudCBpbiB0ZXJtcyBvZiBzb3J0IG9yZGVyLgog
ICAgIGVudW0gVHlwZSB7CiAgICAgICAgIEludmFsaWRUeXBlID0gMCwKKyAgICAgICAgQXJyYXlU
eXBlLAogICAgICAgICBTdHJpbmdUeXBlLAogICAgICAgICBEYXRlVHlwZSwKLSAgICAgICAgTnVt
YmVyVHlwZQorICAgICAgICBOdW1iZXJUeXBlLAorICAgICAgICBNaW5UeXBlCiAgICAgfTsKIAog
ICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQorICAgIGJvb2wgdmFsaWQo
KSBjb25zdCB7IHJldHVybiBtX3R5cGUgIT0gSW52YWxpZFR5cGU7IH0KKworICAgIGNvbnN0IEtl
eUFycmF5JiBhcnJheSgpIGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQobV90eXBlID09IEFy
cmF5VHlwZSk7CisgICAgICAgIHJldHVybiBtX2FycmF5OworICAgIH0KIAogICAgIGNvbnN0IFN0
cmluZyYgc3RyaW5nKCkgY29uc3QKICAgICB7CkBAIC0xMDEsNiArMTIxLDExIEBAIHB1YmxpYzoK
ICAgICBib29sIGlzTGVzc1RoYW4oY29uc3QgSURCS2V5KiBvdGhlcikgY29uc3Q7CiAgICAgYm9v
bCBpc0VxdWFsKGNvbnN0IElEQktleSogb3RoZXIpIGNvbnN0OwogCisgICAgc3RhdGljIGludCBj
b21wYXJlVHlwZXMoVHlwZSBhLCBUeXBlIGIpCisgICAgeworICAgICAgICByZXR1cm4gYiAtIGE7
CisgICAgfQorCiAgICAgdXNpbmcgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8SURCS2V5Pjo6cmVmOwog
ICAgIHVzaW5nIFRocmVhZFNhZmVSZWZDb3VudGVkPElEQktleT46OmRlcmVmOwogCkBAIC0xMDgs
NiArMTMzLDcgQEAgcHJpdmF0ZToKICAgICBJREJLZXkoKTsKIAogICAgIFR5cGUgbV90eXBlOwor
ICAgIEtleUFycmF5IG1fYXJyYXk7CiAgICAgU3RyaW5nIG1fc3RyaW5nOwogICAgIGRvdWJsZSBt
X2RhdGU7CiAgICAgZG91YmxlIG1fbnVtYmVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3RvcmFnZS9JREJMZXZlbERCQ29kaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURC
TGV2ZWxEQkNvZGluZy5jcHAKaW5kZXggN2NjNGFlZDAwZThiNTQ4ZGQ0YWFkOWFiNDdiNDNhYTE3
YWM0NGQ2MS4uZDczZjZjYWJjZjIwOTYxMDBjMTNmODZkNzMxMzI5ZGZlZTA4MWI4NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJMZXZlbERCQ29kaW5nLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkxldmVsREJDb2RpbmcuY3BwCkBAIC0xMjksNyArMTI5
LDggQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIga0lEQktleU51bGxUeXBlQnl0ZSA9IDA7
CiBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBrSURCS2V5U3RyaW5nVHlwZUJ5dGUgPSAxOwog
c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIga0lEQktleURhdGVUeXBlQnl0ZSA9IDI7CiBzdGF0
aWMgY29uc3QgdW5zaWduZWQgY2hhciBrSURCS2V5TnVtYmVyVHlwZUJ5dGUgPSAzOwotc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIGNoYXIga0lEQktleU1pbktleVR5cGVCeXRlID0gNDsKK3N0YXRpYyBj
b25zdCB1bnNpZ25lZCBjaGFyIGtJREJLZXlBcnJheVR5cGVCeXRlID0gNDsKK3N0YXRpYyBjb25z
dCB1bnNpZ25lZCBjaGFyIGtJREJLZXlNaW5LZXlUeXBlQnl0ZSA9IDU7CiAKIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBjaGFyIGtPYmplY3RTdG9yZURhdGFJbmRleElkID0gMTsKIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBjaGFyIGtFeGlzdHNFbnRyeUluZGV4SWQgPSAyOwpAQCAtMzAxLDggKzMwMiw5
IEBAIGNvbnN0IGNoYXIqIGRlY29kZVN0cmluZ1dpdGhMZW5ndGgoY29uc3QgY2hhciogcCwgY29u
c3QgY2hhciogbGltaXQsIFN0cmluZyYgZm91CiAgICAgcmV0dXJuIHA7CiB9CiAKLWludCBjb21w
YXJlRW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3RoKGNvbnN0IGNoYXIqIHAsIGNvbnN0IGNoYXIqIGxp
bWl0UCwgY29uc3QgY2hhciogcSwgY29uc3QgY2hhciogbGltaXRRKQoraW50IGNvbXBhcmVFbmNv
ZGVkU3RyaW5nc1dpdGhMZW5ndGgoY29uc3QgY2hhciomIHAsIGNvbnN0IGNoYXIqIGxpbWl0UCwg
Y29uc3QgY2hhciomIHEsIGNvbnN0IGNoYXIqIGxpbWl0USkKIHsKKyAgICBBU1NFUlQoJnAgIT0g
JnEpOwogICAgIEFTU0VSVChsaW1pdFAgPj0gcCk7CiAgICAgQVNTRVJUKGxpbWl0USA+PSBxKTsK
ICAgICBpbnQ2NF90IGxlblAsIGxlblE7CkBAIC0zMTQsOCArMzE2LDEzIEBAIGludCBjb21wYXJl
RW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3RoKGNvbnN0IGNoYXIqIHAsIGNvbnN0IGNoYXIqIGxpbWl0
UCwgY29uc3QgY2hhCiAgICAgQVNTRVJUKHAgKyBsZW5QICogMiA8PSBsaW1pdFApOwogICAgIEFT
U0VSVChxICsgbGVuUSAqIDIgPD0gbGltaXRRKTsKIAorICAgIGNvbnN0IGNoYXIqIHN0YXJ0UCA9
IHA7CisgICAgY29uc3QgY2hhciogc3RhcnRRID0gcTsKKyAgICBwICs9IGxlblAgKiAyOworICAg
IHEgKz0gbGVuUSAqIDI7CisKICAgICBjb25zdCBzaXplX3QgbG1pbiA9IHN0YXRpY19jYXN0PHNp
emVfdD4obGVuUCA8IGxlblEgPyBsZW5QIDogbGVuUSk7Ci0gICAgaWYgKGludCB4ID0gbWVtY21w
KHAsIHEsIGxtaW4gKiAyKSkKKyAgICBpZiAoaW50IHggPSBtZW1jbXAoc3RhcnRQLCBzdGFydFEs
IGxtaW4gKiAyKSkKICAgICAgICAgcmV0dXJuIHg7CiAKICAgICBpZiAobGVuUCA9PSBsZW5RKQpA
QCAtMzQ4LDMxICszNTUsNDkgQEAgY29uc3QgY2hhciogZGVjb2RlRG91YmxlKGNvbnN0IGNoYXIq
IHAsIGNvbnN0IGNoYXIqIGxpbWl0LCBkb3VibGUqIGQpCiBWZWN0b3I8Y2hhcj4gZW5jb2RlSURC
S2V5KGNvbnN0IElEQktleSYga2V5KQogewogICAgIFZlY3RvcjxjaGFyPiByZXQ7CisgICAgZW5j
b2RlSURCS2V5KGtleSwgcmV0KTsKKyAgICByZXR1cm4gcmV0OworfQogCit2b2lkIGVuY29kZUlE
QktleShjb25zdCBJREJLZXkmIGtleSwgVmVjdG9yPGNoYXI+JiBpbnRvKQoreworICAgIHNpemVf
dCBwcmV2U2l6ZSA9IGludG8uc2l6ZSgpOworICAgIHNpemVfdCBsZW47CiAgICAgc3dpdGNoIChr
ZXkudHlwZSgpKSB7CiAgICAgY2FzZSBJREJLZXk6OkludmFsaWRUeXBlOgorICAgIGNhc2UgSURC
S2V5OjpNaW5UeXBlOgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICAgICAgcmV0
dXJuIGVuY29kZUJ5dGUoa0lEQktleU51bGxUeXBlQnl0ZSk7CisgICAgICAgIGludG8uYXBwZW5k
KGVuY29kZUJ5dGUoa0lEQktleU51bGxUeXBlQnl0ZSkpOworICAgICAgICByZXR1cm47CisgICAg
Y2FzZSBJREJLZXk6OkFycmF5VHlwZToKKyAgICAgICAgaW50by5hcHBlbmQoZW5jb2RlQnl0ZShr
SURCS2V5QXJyYXlUeXBlQnl0ZSkpOworICAgICAgICBsZW4gPSBrZXkuYXJyYXkoKS5zaXplKCk7
CisgICAgICAgIGludG8uYXBwZW5kKGVuY29kZVZhckludChsZW4pKTsKKyAgICAgICAgZm9yIChz
aXplX3QgaSA9IDA7IGkgPCBsZW47ICsraSkKKyAgICAgICAgICAgIGVuY29kZUlEQktleSgqa2V5
LmFycmF5KClbaV0sIGludG8pOworICAgICAgICBBU1NFUlRfVU5VU0VEKHByZXZTaXplLCBpbnRv
LnNpemUoKSA+IHByZXZTaXplKTsKKyAgICAgICAgcmV0dXJuOwogICAgIGNhc2UgSURCS2V5OjpT
dHJpbmdUeXBlOgotICAgICAgICByZXQgPSBlbmNvZGVCeXRlKGtJREJLZXlTdHJpbmdUeXBlQnl0
ZSk7Ci0gICAgICAgIHJldC5hcHBlbmQoZW5jb2RlU3RyaW5nV2l0aExlbmd0aChrZXkuc3RyaW5n
KCkpKTsKLSAgICAgICAgcmV0dXJuIHJldDsKKyAgICAgICAgaW50by5hcHBlbmQoZW5jb2RlQnl0
ZShrSURCS2V5U3RyaW5nVHlwZUJ5dGUpKTsKKyAgICAgICAgaW50by5hcHBlbmQoZW5jb2RlU3Ry
aW5nV2l0aExlbmd0aChrZXkuc3RyaW5nKCkpKTsKKyAgICAgICAgQVNTRVJUX1VOVVNFRChwcmV2
U2l6ZSwgaW50by5zaXplKCkgPiBwcmV2U2l6ZSk7CisgICAgICAgIHJldHVybjsKICAgICBjYXNl
IElEQktleTo6RGF0ZVR5cGU6Ci0gICAgICAgIHJldCA9IGVuY29kZUJ5dGUoa0lEQktleURhdGVU
eXBlQnl0ZSk7Ci0gICAgICAgIHJldC5hcHBlbmQoZW5jb2RlRG91YmxlKGtleS5kYXRlKCkpKTsK
LSAgICAgICAgQVNTRVJUKHJldC5zaXplKCkgPT0gOSk7Ci0gICAgICAgIHJldHVybiByZXQ7Cisg
ICAgICAgIGludG8uYXBwZW5kKGVuY29kZUJ5dGUoa0lEQktleURhdGVUeXBlQnl0ZSkpOworICAg
ICAgICBpbnRvLmFwcGVuZChlbmNvZGVEb3VibGUoa2V5LmRhdGUoKSkpOworICAgICAgICBBU1NF
UlRfVU5VU0VEKHByZXZTaXplLCBpbnRvLnNpemUoKSAtIHByZXZTaXplID09IDkpOworICAgICAg
ICByZXR1cm47CiAgICAgY2FzZSBJREJLZXk6Ok51bWJlclR5cGU6Ci0gICAgICAgIHJldCA9IGVu
Y29kZUJ5dGUoa0lEQktleU51bWJlclR5cGVCeXRlKTsKLSAgICAgICAgcmV0LmFwcGVuZChlbmNv
ZGVEb3VibGUoa2V5Lm51bWJlcigpKSk7Ci0gICAgICAgIEFTU0VSVChyZXQuc2l6ZSgpID09IDkp
OwotICAgICAgICByZXR1cm4gcmV0OworICAgICAgICBpbnRvLmFwcGVuZChlbmNvZGVCeXRlKGtJ
REJLZXlOdW1iZXJUeXBlQnl0ZSkpOworICAgICAgICBpbnRvLmFwcGVuZChlbmNvZGVEb3VibGUo
a2V5Lm51bWJlcigpKSk7CisgICAgICAgIEFTU0VSVF9VTlVTRUQocHJldlNpemUsIGludG8uc2l6
ZSgpIC0gcHJldlNpemUgPT0gOSk7CisgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4gVmVjdG9yPGNoYXI+KCk7CiB9CiAKKwogY29u
c3QgY2hhciogZGVjb2RlSURCS2V5KGNvbnN0IGNoYXIqIHAsIGNvbnN0IGNoYXIqIGxpbWl0LCBS
ZWZQdHI8SURCS2V5PiYgZm91bmRLZXkpCiB7CiAgICAgQVNTRVJUKGxpbWl0ID49IHApOwpAQCAt
MzgyLDEyICs0MDcsMzEgQEAgY29uc3QgY2hhciogZGVjb2RlSURCS2V5KGNvbnN0IGNoYXIqIHAs
IGNvbnN0IGNoYXIqIGxpbWl0LCBSZWZQdHI8SURCS2V5PiYgZm91bmQKICAgICB1bnNpZ25lZCBj
aGFyIHR5cGUgPSAqcCsrOwogICAgIFN0cmluZyBzOwogICAgIGRvdWJsZSBkOworICAgIGludDY0
X3QgbGVuOworICAgIFJlZlB0cjxJREJLZXk+IGtleTsKKyAgICBJREJLZXk6OktleUFycmF5IGFy
cmF5OwogCiAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAgY2FzZSBrSURCS2V5TnVsbFR5cGVCeXRl
OgogICAgICAgICAvLyBOdWxsLgogICAgICAgICBmb3VuZEtleSA9IElEQktleTo6Y3JlYXRlSW52
YWxpZCgpOwogICAgICAgICByZXR1cm4gcDsKKworICAgIGNhc2Uga0lEQktleUFycmF5VHlwZUJ5
dGU6CisgICAgICAgIC8vIEFycmF5LgorICAgICAgICBwID0gZGVjb2RlVmFySW50KHAsIGxpbWl0
LCBsZW4pOworICAgICAgICBpZiAoIXApCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAg
aWYgKGxlbiA8IDApCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgd2hpbGUgKGxlbi0t
KSB7CisgICAgICAgICAgICBwID0gZGVjb2RlSURCS2V5KHAsIGxpbWl0LCBrZXkpOworICAgICAg
ICAgICAgaWYgKCFwKQorICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgYXJy
YXkuYXBwZW5kKGtleSk7CisgICAgICAgIH0KKyAgICAgICAgZm91bmRLZXkgPSBJREJLZXk6OmNy
ZWF0ZUFycmF5KGFycmF5KTsKKyAgICAgICAgcmV0dXJuIHA7CiAgICAgY2FzZSBrSURCS2V5U3Ry
aW5nVHlwZUJ5dGU6CiAgICAgICAgIC8vIFN0cmluZy4KICAgICAgICAgcCA9IGRlY29kZVN0cmlu
Z1dpdGhMZW5ndGgocCwgbGltaXQsIHMpOwpAQCAtNDE3LDI5ICs0NjEsNDggQEAgY29uc3QgY2hh
ciogZGVjb2RlSURCS2V5KGNvbnN0IGNoYXIqIHAsIGNvbnN0IGNoYXIqIGxpbWl0LCBSZWZQdHI8
SURCS2V5PiYgZm91bmQKIAogY29uc3QgY2hhciogZXh0cmFjdEVuY29kZWRJREJLZXkoY29uc3Qg
Y2hhciogc3RhcnQsIGNvbnN0IGNoYXIqIGxpbWl0LCBWZWN0b3I8Y2hhcj4qIHJlc3VsdCkKIHsK
KyAgICBBU1NFUlQocmVzdWx0KTsKICAgICBjb25zdCBjaGFyKiBwID0gc3RhcnQ7CiAgICAgaWYg
KHAgPj0gbGltaXQpCiAgICAgICAgIHJldHVybiAwOwogCiAgICAgdW5zaWduZWQgY2hhciB0eXBl
ID0gKnArKzsKIAotICAgIGludDY0X3Qgc3RyaW5nTGVuOworICAgIGludDY0X3QgbGVuOworICAg
IFZlY3RvcjxjaGFyPiBzdWJrZXk7CiAKICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIGtJ
REJLZXlOdWxsVHlwZUJ5dGU6CiAgICAgY2FzZSBrSURCS2V5TWluS2V5VHlwZUJ5dGU6CiAgICAg
ICAgICpyZXN1bHQgPSBlbmNvZGVCeXRlKHR5cGUpOwogICAgICAgICByZXR1cm4gcDsKKyAgICBj
YXNlIGtJREJLZXlBcnJheVR5cGVCeXRlOgorICAgICAgICAvLyBBcnJheS4KKyAgICAgICAgcCA9
IGRlY29kZVZhckludChwLCBsaW1pdCwgbGVuKTsKKyAgICAgICAgaWYgKCFwKQorICAgICAgICAg
ICAgcmV0dXJuIDA7CisgICAgICAgIGlmIChsZW4gPCAwKQorICAgICAgICAgICAgcmV0dXJuIDA7
CisgICAgICAgIHJlc3VsdC0+Y2xlYXIoKTsKKyAgICAgICAgcmVzdWx0LT5hcHBlbmQoc3RhcnQs
IHAgLSBzdGFydCk7CisgICAgICAgIHdoaWxlIChsZW4tLSkgeworICAgICAgICAgICAgc3Via2V5
LmNsZWFyKCk7CisgICAgICAgICAgICBwID0gZXh0cmFjdEVuY29kZWRJREJLZXkocCwgbGltaXQs
ICZzdWJrZXkpOworICAgICAgICAgICAgaWYgKCFwKQorICAgICAgICAgICAgICAgIHJldHVybiAw
OworICAgICAgICAgICAgcmVzdWx0LT5hcHBlbmQoc3Via2V5KTsKKyAgICAgICAgfQorICAgICAg
ICByZXR1cm4gcDsKICAgICBjYXNlIGtJREJLZXlTdHJpbmdUeXBlQnl0ZToKICAgICAgICAgLy8g
U3RyaW5nLgotICAgICAgICBwID0gZGVjb2RlVmFySW50KHAsIGxpbWl0LCBzdHJpbmdMZW4pOwor
ICAgICAgICBwID0gZGVjb2RlVmFySW50KHAsIGxpbWl0LCBsZW4pOwogICAgICAgICBpZiAoIXAp
CiAgICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgaWYgKHAgKyBzdHJpbmdMZW4gKiAyID4g
bGltaXQpCisgICAgICAgIGlmIChwICsgbGVuICogMiA+IGxpbWl0KQogICAgICAgICAgICAgcmV0
dXJuIDA7CiAgICAgICAgIHJlc3VsdC0+Y2xlYXIoKTsKLSAgICAgICAgcmVzdWx0LT5hcHBlbmQo
c3RhcnQsIHAgLSBzdGFydCArIHN0cmluZ0xlbiAqIDIpOwotICAgICAgICByZXR1cm4gcCArIHN0
cmluZ0xlbiAqIDI7CisgICAgICAgIHJlc3VsdC0+YXBwZW5kKHN0YXJ0LCBwIC0gc3RhcnQgKyBs
ZW4gKiAyKTsKKyAgICAgICAgcmV0dXJuIHAgKyBsZW4gKiAyOwogICAgIGNhc2Uga0lEQktleURh
dGVUeXBlQnl0ZToKICAgICBjYXNlIGtJREJLZXlOdW1iZXJUeXBlQnl0ZToKICAgICAgICAgLy8g
RGF0ZSBvciBudW1iZXIuCkBAIC00NTMsMjIgKzUxNiwzNyBAQCBjb25zdCBjaGFyKiBleHRyYWN0
RW5jb2RlZElEQktleShjb25zdCBjaGFyKiBzdGFydCwgY29uc3QgY2hhciogbGltaXQsIFZlY3Rv
cjxjaAogICAgIHJldHVybiAwOwogfQogCi1pbnQgY29tcGFyZUVuY29kZWRJREJLZXlzKGNvbnN0
IFZlY3RvcjxjaGFyPiYga2V5QSwgY29uc3QgVmVjdG9yPGNoYXI+JiBrZXlCKQorc3RhdGljIElE
QktleTo6VHlwZSBrZXlUeXBlQnl0ZVRvS2V5VHlwZSh1bnNpZ25lZCBjaGFyIHR5cGUpCiB7Ci0g
ICAgQVNTRVJUKGtleUEuc2l6ZSgpID49IDEpOwotICAgIEFTU0VSVChrZXlCLnNpemUoKSA+PSAx
KTsKLQotICAgIGNvbnN0IGNoYXIqIHAgPSBrZXlBLmRhdGEoKTsKLSAgICBjb25zdCBjaGFyKiBs
aW1pdEEgPSBwICsga2V5QS5zaXplKCk7Ci0gICAgY29uc3QgY2hhciogcSA9IGtleUIuZGF0YSgp
OwotICAgIGNvbnN0IGNoYXIqIGxpbWl0QiA9IHEgKyBrZXlCLnNpemUoKTsKKyAgICBzd2l0Y2gg
KHR5cGUpIHsKKyAgICBjYXNlIGtJREJLZXlOdWxsVHlwZUJ5dGU6CisgICAgICAgIHJldHVybiBJ
REJLZXk6OkludmFsaWRUeXBlOworICAgIGNhc2Uga0lEQktleUFycmF5VHlwZUJ5dGU6CisgICAg
ICAgIHJldHVybiBJREJLZXk6OkFycmF5VHlwZTsKKyAgICBjYXNlIGtJREJLZXlTdHJpbmdUeXBl
Qnl0ZToKKyAgICAgICAgcmV0dXJuIElEQktleTo6U3RyaW5nVHlwZTsKKyAgICBjYXNlIGtJREJL
ZXlEYXRlVHlwZUJ5dGU6CisgICAgICAgIHJldHVybiBJREJLZXk6OkRhdGVUeXBlOworICAgIGNh
c2Uga0lEQktleU51bWJlclR5cGVCeXRlOgorICAgICAgICByZXR1cm4gSURCS2V5OjpOdW1iZXJU
eXBlOworICAgIGNhc2Uga0lEQktleU1pbktleVR5cGVCeXRlOgorICAgICAgICByZXR1cm4gSURC
S2V5OjpNaW5UeXBlOworICAgIGRlZmF1bHQ6CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgICAgICByZXR1cm4gSURCS2V5OjpJbnZhbGlkVHlwZTsKKyAgICB9Cit9CiAKK2ludCBj
b21wYXJlRW5jb2RlZElEQktleXMoY29uc3QgY2hhciomIHAsIGNvbnN0IGNoYXIqIGxpbWl0QSwg
Y29uc3QgY2hhciomIHEsIGNvbnN0IGNoYXIqIGxpbWl0QikKK3sKKyAgICBBU1NFUlQoJnAgIT0g
JnEpOwogICAgIHVuc2lnbmVkIGNoYXIgdHlwZUEgPSAqcCsrOwogICAgIHVuc2lnbmVkIGNoYXIg
dHlwZUIgPSAqcSsrOwogCiAgICAgZG91YmxlIGQsIGU7CisgICAgaW50NjRfdCBsZW5BLCBsZW5C
OwogCi0gICAgaWYgKGludCB4ID0gdHlwZUIgLSB0eXBlQSkgLy8gRklYTUU6IE5vdGUgdGhlIHN1
YnRsZW5lc3MhCisgICAgaWYgKGludCB4ID0gSURCS2V5Ojpjb21wYXJlVHlwZXMoa2V5VHlwZUJ5
dGVUb0tleVR5cGUodHlwZUEpLCBrZXlUeXBlQnl0ZVRvS2V5VHlwZSh0eXBlQikpKQogICAgICAg
ICByZXR1cm4geDsKIAogICAgIHN3aXRjaCAodHlwZUEpIHsKQEAgLTQ3Niw2ICs1NTQsMjMgQEAg
aW50IGNvbXBhcmVFbmNvZGVkSURCS2V5cyhjb25zdCBWZWN0b3I8Y2hhcj4mIGtleUEsIGNvbnN0
IFZlY3RvcjxjaGFyPiYga2V5QikKICAgICBjYXNlIGtJREJLZXlNaW5LZXlUeXBlQnl0ZToKICAg
ICAgICAgLy8gTnVsbCB0eXBlIG9yIG1heCB0eXBlOyBubyBwYXlsb2FkIHRvIGNvbXBhcmUuCiAg
ICAgICAgIHJldHVybiAwOworICAgIGNhc2Uga0lEQktleUFycmF5VHlwZUJ5dGU6CisgICAgICAg
IC8vIEFycmF5IHR5cGUuCisgICAgICAgIHAgPSBkZWNvZGVWYXJJbnQocCwgbGltaXRBLCBsZW5B
KTsKKyAgICAgICAgaWYgKCFwKQorICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgIHEgPSBk
ZWNvZGVWYXJJbnQocSwgbGltaXRCLCBsZW5CKTsKKyAgICAgICAgaWYgKCFxKQorICAgICAgICAg
ICAgcmV0dXJuIDA7CisgICAgICAgIGZvciAoaW50NjRfdCBpID0gMDsgaSA8IGxlbkEgJiYgaSA8
IGxlbkI7ICsraSkgeworICAgICAgICAgICAgaWYgKGludCBjbXAgPSBjb21wYXJlRW5jb2RlZElE
QktleXMocCwgbGltaXRBLCBxLCBsaW1pdEIpKQorICAgICAgICAgICAgICAgIHJldHVybiBjbXA7
CisgICAgICAgIH0KKyAgICAgICAgaWYgKGxlbkEgPCBsZW5CKQorICAgICAgICAgICAgcmV0dXJu
IC0xOworICAgICAgICBpZiAobGVuQSA+IGxlbkIpCisgICAgICAgICAgICByZXR1cm4gMTsKKyAg
ICAgICAgcmV0dXJuIDA7CiAgICAgY2FzZSBrSURCS2V5U3RyaW5nVHlwZUJ5dGU6CiAgICAgICAg
IC8vIFN0cmluZyB0eXBlLgogICAgICAgICByZXR1cm4gY29tcGFyZUVuY29kZWRTdHJpbmdzV2l0
aExlbmd0aChwLCBsaW1pdEEsIHEsIGxpbWl0Qik7CkBAIC00OTcsNiArNTkyLDE5IEBAIGludCBj
b21wYXJlRW5jb2RlZElEQktleXMoY29uc3QgVmVjdG9yPGNoYXI+JiBrZXlBLCBjb25zdCBWZWN0
b3I8Y2hhcj4mIGtleUIpCiAgICAgcmV0dXJuIDA7CiB9CiAKK2ludCBjb21wYXJlRW5jb2RlZElE
QktleXMoY29uc3QgVmVjdG9yPGNoYXI+JiBrZXlBLCBjb25zdCBWZWN0b3I8Y2hhcj4mIGtleUIp
Cit7CisgICAgQVNTRVJUKGtleUEuc2l6ZSgpID49IDEpOworICAgIEFTU0VSVChrZXlCLnNpemUo
KSA+PSAxKTsKKworICAgIGNvbnN0IGNoYXIqIHAgPSBrZXlBLmRhdGEoKTsKKyAgICBjb25zdCBj
aGFyKiBsaW1pdEEgPSBwICsga2V5QS5zaXplKCk7CisgICAgY29uc3QgY2hhciogcSA9IGtleUIu
ZGF0YSgpOworICAgIGNvbnN0IGNoYXIqIGxpbWl0QiA9IHEgKyBrZXlCLnNpemUoKTsKKworICAg
IHJldHVybiBjb21wYXJlRW5jb2RlZElEQktleXMocCwgbGltaXRBLCBxLCBsaW1pdEIpOworfQor
CiBuYW1lc3BhY2UgewogdGVtcGxhdGU8dHlwZW5hbWUgS2V5VHlwZT4KIGludCBkZWNvZGVBbmRD
b21wYXJlKGNvbnN0IExldmVsREJTbGljZSYgYSwgY29uc3QgTGV2ZWxEQlNsaWNlJiBiKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJMZXZlbERCQ29kaW5nLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9zdG9yYWdlL0lEQkxldmVsREJDb2RpbmcuaAppbmRleCBmM2JkY2YzMGI1NmUw
NTY5M2NkNDE0NmI4NTgyMGY4ZDAxOWZjZjZjLi4xNTgxZmJiYmZkNzlmMmZkNjdkZWQwZjNhMmI1
OGFjMTk0YTA1ZmRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkxldmVs
REJDb2RpbmcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkxldmVsREJDb2Rpbmcu
aApAQCAtNTMsOSArNTMsMTAgQEAgVmVjdG9yPGNoYXI+IGVuY29kZVN0cmluZyhjb25zdCBTdHJp
bmcmKTsKIFN0cmluZyBkZWNvZGVTdHJpbmcoY29uc3QgY2hhciogcCwgY29uc3QgY2hhciogZW5k
KTsKIFZlY3RvcjxjaGFyPiBlbmNvZGVTdHJpbmdXaXRoTGVuZ3RoKGNvbnN0IFN0cmluZyYpOwog
Y29uc3QgY2hhciogZGVjb2RlU3RyaW5nV2l0aExlbmd0aChjb25zdCBjaGFyKiBwLCBjb25zdCBj
aGFyKiBsaW1pdCwgU3RyaW5nJiBmb3VuZFN0cmluZyk7Ci1pbnQgY29tcGFyZUVuY29kZWRTdHJp
bmdzV2l0aExlbmd0aChjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFyKiBsaW1pdFAsIGNvbnN0IGNo
YXIqIHEsIGNvbnN0IGNoYXIqIGxpbWl0USk7CitpbnQgY29tcGFyZUVuY29kZWRTdHJpbmdzV2l0
aExlbmd0aChjb25zdCBjaGFyKiYgcCwgY29uc3QgY2hhciogbGltaXRQLCBjb25zdCBjaGFyKiYg
cSwgY29uc3QgY2hhciogbGltaXRRKTsKIFZlY3RvcjxjaGFyPiBlbmNvZGVEb3VibGUoZG91Ymxl
KTsKIGNvbnN0IGNoYXIqIGRlY29kZURvdWJsZShjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFyKiBs
aW1pdCwgZG91YmxlKik7Cit2b2lkIGVuY29kZUlEQktleShjb25zdCBJREJLZXkmLCBWZWN0b3I8
Y2hhcj4mIGludG8pOwogVmVjdG9yPGNoYXI+IGVuY29kZUlEQktleShjb25zdCBJREJLZXkmKTsK
IGNvbnN0IGNoYXIqIGRlY29kZUlEQktleShjb25zdCBjaGFyKiBwLCBjb25zdCBjaGFyKiBsaW1p
dCwgUmVmUHRyPElEQktleT4mIGZvdW5kS2V5KTsKIGNvbnN0IGNoYXIqIGV4dHJhY3RFbmNvZGVk
SURCS2V5KGNvbnN0IGNoYXIqIHN0YXJ0LCBjb25zdCBjaGFyKiBsaW1pdCwgVmVjdG9yPGNoYXI+
KiByZXN1bHQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
SURCS2V5LmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJJREJLZXkuaAppbmRl
eCAxZGI0NjdmZTI3MGE2MGI4ZGVhOGU0YzRjZTk2NmMwNTQ0MjNiZDE5Li5jYTBkMTI5MDY0OTA0
YzUyMTc3ODFhYzlmNjZjN2RkMzVlODQ2YWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJJREJLZXkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJJREJLZXkuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
MSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC0yOSw2ICsyOSw3IEBACiAjaW5jbHVkZSAiV2ViQ29tbW9uLmgiCiAjaW5j
bHVkZSAiV2ViUHJpdmF0ZVB0ci5oIgogI2luY2x1ZGUgIldlYlN0cmluZy5oIgorI2luY2x1ZGUg
IldlYlZlY3Rvci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7IGNsYXNzIElEQktleTsgfQogCkBA
IC00Myw2ICs0NCw3IEBAIHB1YmxpYzoKICAgICBXZWJJREJLZXkoKSB7IH0KICAgICB+V2ViSURC
S2V5KCkgeyByZXNldCgpOyB9CiAKKyAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyBXZWJJREJLZXkg
Y3JlYXRlQXJyYXkoY29uc3QgV2ViVmVjdG9yPFdlYklEQktleT4mKTsKICAgICBXRUJLSVRfRVhQ
T1JUIHN0YXRpYyBXZWJJREJLZXkgY3JlYXRlU3RyaW5nKGNvbnN0IFdlYlN0cmluZyYpOwogICAg
IFdFQktJVF9FWFBPUlQgc3RhdGljIFdlYklEQktleSBjcmVhdGVEYXRlKGRvdWJsZSk7CiAgICAg
V0VCS0lUX0VYUE9SVCBzdGF0aWMgV2ViSURCS2V5IGNyZWF0ZU51bWJlcihkb3VibGUpOwpAQCAt
NTgsNiArNjAsNyBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgV0VCS0lUX0VYUE9SVCB2b2lkIGFz
c2lnbihjb25zdCBXZWJJREJLZXkmKTsKKyAgICBXRUJLSVRfRVhQT1JUIHZvaWQgYXNzaWduQXJy
YXkoY29uc3QgV2ViVmVjdG9yPFdlYklEQktleT4mKTsKICAgICBXRUJLSVRfRVhQT1JUIHZvaWQg
YXNzaWduU3RyaW5nKGNvbnN0IFdlYlN0cmluZyYpOwogICAgIFdFQktJVF9FWFBPUlQgdm9pZCBh
c3NpZ25EYXRlKGRvdWJsZSk7CiAgICAgV0VCS0lUX0VYUE9SVCB2b2lkIGFzc2lnbk51bWJlcihk
b3VibGUpOwpAQCAtNjYsMTIgKzY5LDE0IEBAIHB1YmxpYzoKIAogICAgIGVudW0gVHlwZSB7CiAg
ICAgICAgIEludmFsaWRUeXBlID0gMCwKKyAgICAgICAgQXJyYXlUeXBlLAogICAgICAgICBTdHJp
bmdUeXBlLAogICAgICAgICBEYXRlVHlwZSwKICAgICAgICAgTnVtYmVyVHlwZQogICAgIH07CiAK
ICAgICBXRUJLSVRfRVhQT1JUIFR5cGUgdHlwZSgpIGNvbnN0OworICAgIFdFQktJVF9FWFBPUlQg
V2ViVmVjdG9yPFdlYklEQktleT4gYXJyYXkoKSBjb25zdDsgLy8gT25seSB2YWxpZCBmb3IgQXJy
YXlUeXBlLgogICAgIFdFQktJVF9FWFBPUlQgV2ViU3RyaW5nIHN0cmluZygpIGNvbnN0OyAvLyBP
bmx5IHZhbGlkIGZvciBTdHJpbmdUeXBlLgogICAgIFdFQktJVF9FWFBPUlQgZG91YmxlIGRhdGUo
KSBjb25zdDsgLy8gT25seSB2YWxpZCBmb3IgRGF0ZVR5cGUuCiAgICAgV0VCS0lUX0VYUE9SVCBk
b3VibGUgbnVtYmVyKCkgY29uc3Q7IC8vIE9ubHkgdmFsaWQgZm9yIE51bWJlclR5cGUuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNw
cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCmlu
ZGV4IDAwM2QyNzNmYmU5ZjgyMjFiYmVjODBkODFmYTU0OWM2MWNkY2QzYmMuLjU1YmY4ZDFlMTVm
NWEzMGU3NjM2NjEzZWVjMDBlYjViNjQ4ZDRkYzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL0Fzc2VydE1hdGNoaW5nRW51bXMuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAwOSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zOTksNiArMzk5LDcgQEAgQ09N
UElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJWaWV3OjpVc2VyU3R5bGVJbmplY3RJbkV4aXN0
aW5nRG9jdW1lbnRzLCBJbmplY3QKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViVmll
dzo6VXNlclN0eWxlSW5qZWN0SW5TdWJzZXF1ZW50RG9jdW1lbnRzLCBJbmplY3RJblN1YnNlcXVl
bnREb2N1bWVudHMpOwogCiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYklEQktleTo6
SW52YWxpZFR5cGUsIElEQktleTo6SW52YWxpZFR5cGUpOworQ09NUElMRV9BU1NFUlRfTUFUQ0hJ
TkdfRU5VTShXZWJJREJLZXk6OkFycmF5VHlwZSwgSURCS2V5OjpBcnJheVR5cGUpOwogQ09NUElM
RV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJJREJLZXk6OlN0cmluZ1R5cGUsIElEQktleTo6U3Ry
aW5nVHlwZSk7CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYklEQktleTo6RGF0ZVR5
cGUsIElEQktleTo6RGF0ZVR5cGUpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJJ
REJLZXk6Ok51bWJlclR5cGUsIElEQktleTo6TnVtYmVyVHlwZSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJLZXkuY3BwIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViSURCS2V5LmNwcAppbmRleCA5ZjZhMDkwNTI2ZTUwZmY2NWE5Y2RkZTFmMTNk
MzcxZTRlMDY5ZGFlLi5hODRjOWI2NGZjMDM4NTQxNTczZDY3NDUyOWIwNjYwOGMyYjFiM2Q0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJLZXkuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQktleS5jcHAKQEAgLTQxLDYgKzQxLDEz
IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorV2Vi
SURCS2V5IFdlYklEQktleTo6Y3JlYXRlQXJyYXkoY29uc3QgV2ViVmVjdG9yPFdlYklEQktleT4m
IGFycmF5KQoreworICAgIFdlYklEQktleSBrZXk7CisgICAga2V5LmFzc2lnbkFycmF5KGFycmF5
KTsKKyAgICByZXR1cm4ga2V5OworfQorCiBXZWJJREJLZXkgV2ViSURCS2V5OjpjcmVhdGVTdHJp
bmcoY29uc3QgV2ViU3RyaW5nJiBzdHJpbmcpCiB7CiAgICAgV2ViSURCS2V5IGtleTsKQEAgLTg2
LDYgKzkzLDY1IEBAIHZvaWQgV2ViSURCS2V5Ojphc3NpZ24oY29uc3QgV2ViSURCS2V5JiB2YWx1
ZSkKICAgICBtX3ByaXZhdGUgPSB2YWx1ZS5tX3ByaXZhdGU7CiB9CiAKK3N0YXRpYyBQYXNzUmVm
UHRyPElEQktleT4gY29udmVydEZyb21XZWJJREJLZXlBcnJheShjb25zdCBXZWJWZWN0b3I8V2Vi
SURCS2V5PiYgYXJyYXkpCit7CisgICAgSURCS2V5OjpLZXlBcnJheSBrZXlzOworICAgIGtleXMu
cmVzZXJ2ZUNhcGFjaXR5KGFycmF5LnNpemUoKSk7CisgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCBhcnJheS5zaXplKCk7ICsraSkgeworICAgICAgICBzd2l0Y2ggKGFycmF5W2ldLnR5cGUoKSkg
eworICAgICAgICBjYXNlIFdlYklEQktleTo6QXJyYXlUeXBlOgorICAgICAgICAgICAga2V5cy5h
cHBlbmQoY29udmVydEZyb21XZWJJREJLZXlBcnJheShhcnJheVtpXS5hcnJheSgpKSk7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBXZWJJREJLZXk6OlN0cmluZ1R5cGU6CisgICAg
ICAgICAgICBrZXlzLmFwcGVuZChJREJLZXk6OmNyZWF0ZVN0cmluZyhhcnJheVtpXS5zdHJpbmco
KSkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViSURCS2V5OjpEYXRlVHlw
ZToKKyAgICAgICAgICAgIGtleXMuYXBwZW5kKElEQktleTo6Y3JlYXRlRGF0ZShhcnJheVtpXS5k
YXRlKCkpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFdlYklEQktleTo6TnVt
YmVyVHlwZToKKyAgICAgICAgICAgIGtleXMuYXBwZW5kKElEQktleTo6Y3JlYXRlTnVtYmVyKGFy
cmF5W2ldLm51bWJlcigpKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZGVmYXVsdDoK
KyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIElEQktleTo6Y3JlYXRlQXJyYXkoa2V5cyk7Cit9
CisKK3N0YXRpYyB2b2lkIGNvbnZlcnRUb1dlYklEQktleUFycmF5KGNvbnN0IElEQktleTo6S2V5
QXJyYXkmIGFycmF5LCBXZWJWZWN0b3I8V2ViSURCS2V5PiYgcmVzdWx0KQoreworICAgIFdlYlZl
Y3RvcjxXZWJJREJLZXk+IGtleXMoYXJyYXkuc2l6ZSgpKTsKKyAgICBXZWJWZWN0b3I8V2ViSURC
S2V5PiBzdWJrZXlzOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYXJyYXkuc2l6ZSgpOyAr
K2kpIHsKKyAgICAgICAgUmVmUHRyPElEQktleT4ga2V5ID0gYXJyYXlbaV07CisgICAgICAgIHN3
aXRjaCAoa2V5LT50eXBlKCkpIHsKKyAgICAgICAgY2FzZSBJREJLZXk6OkFycmF5VHlwZToKKyAg
ICAgICAgICAgIGNvbnZlcnRUb1dlYklEQktleUFycmF5KGtleS0+YXJyYXkoKSwgc3Via2V5cyk7
CisgICAgICAgICAgICBrZXlzW2ldID0gV2ViSURCS2V5OjpjcmVhdGVBcnJheShzdWJrZXlzKTsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIElEQktleTo6U3RyaW5nVHlwZToKKyAg
ICAgICAgICAgIGtleXNbaV0gPSBXZWJJREJLZXk6OmNyZWF0ZVN0cmluZyhrZXktPnN0cmluZygp
KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIElEQktleTo6RGF0ZVR5cGU6Cisg
ICAgICAgICAgICBrZXlzW2ldID0gV2ViSURCS2V5OjpjcmVhdGVEYXRlKGtleS0+ZGF0ZSgpKTsK
KyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIElEQktleTo6TnVtYmVyVHlwZToKKyAg
ICAgICAgICAgIGtleXNbaV0gPSBXZWJJREJLZXk6OmNyZWF0ZU51bWJlcihrZXktPm51bWJlcigp
KTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0K
KyAgICByZXN1bHQuc3dhcChrZXlzKTsKK30KKwordm9pZCBXZWJJREJLZXk6OmFzc2lnbkFycmF5
KGNvbnN0IFdlYlZlY3RvcjxXZWJJREJLZXk+JiBhcnJheSkKK3sKKyAgICBtX3ByaXZhdGUgPSBj
b252ZXJ0RnJvbVdlYklEQktleUFycmF5KGFycmF5KTsKK30KKwogdm9pZCBXZWJJREJLZXk6OmFz
c2lnblN0cmluZyhjb25zdCBXZWJTdHJpbmcmIHN0cmluZykKIHsKICAgICBtX3ByaXZhdGUgPSBJ
REJLZXk6OmNyZWF0ZVN0cmluZyhzdHJpbmcpOwpAQCAtMTE4LDYgKzE4NCwxMyBAQCBXZWJJREJL
ZXk6OlR5cGUgV2ViSURCS2V5Ojp0eXBlKCkgY29uc3QKICAgICByZXR1cm4gVHlwZShtX3ByaXZh
dGUtPnR5cGUoKSk7CiB9CiAKK1dlYlZlY3RvcjxXZWJJREJLZXk+IFdlYklEQktleTo6YXJyYXko
KSBjb25zdAoreworICAgIFdlYlZlY3RvcjxXZWJJREJLZXk+IGtleXM7CisgICAgY29udmVydFRv
V2ViSURCS2V5QXJyYXkobV9wcml2YXRlLT5hcnJheSgpLCBrZXlzKTsKKyAgICByZXR1cm4ga2V5
czsKK30KKwogV2ViU3RyaW5nIFdlYklEQktleTo6c3RyaW5nKCkgY29uc3QKIHsKICAgICByZXR1
cm4gbV9wcml2YXRlLT5zdHJpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vdGVzdHMvSURCQmluZGluZ1V0aWxpdGllc1Rlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS90ZXN0cy9JREJCaW5kaW5nVXRpbGl0aWVzVGVzdC5jcHAKaW5kZXggMzIxZjBhZjdkMmE4
YTE0Y2RmNWRhMWM5OGY0YzgzMzE4NjM5MjkwOC4uN2RlNmE2YzhmZTgzOGQwYWI5ZmNiMjI3MTNh
NmIzZDkyMGRlMGQ2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9J
REJCaW5kaW5nVXRpbGl0aWVzVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90
ZXN0cy9JREJCaW5kaW5nVXRpbGl0aWVzVGVzdC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICog
Q29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTU1LDYgKzE1NSw4IEBAIFRFU1QoSW5qZWN0
SURCS2V5VGVzdCwgU3ViUHJvcGVydHkpCiAgICAgY2hlY2tJbmplY3Rpb24oSURCS2V5OjpjcmVh
dGVOdW1iZXIoNzg5KSwgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUob2JqZWN0KSwgImZv
by5iYXoiKTsKICAgICBjaGVja0luamVjdGlvbihJREJLZXk6OmNyZWF0ZURhdGUoNDU2NyksIFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKG9iamVjdCksICJmb28uYmF6Iik7CiAgICAgY2hl
Y2tJbmplY3Rpb24oSURCS2V5OjpjcmVhdGVEYXRlKDQ1NjcpLCBTZXJpYWxpemVkU2NyaXB0VmFs
dWU6OmNyZWF0ZShvYmplY3QpLCAiYmFyIik7CisgICAgY2hlY2tJbmplY3Rpb24oSURCS2V5Ojpj
cmVhdGVBcnJheShJREJLZXk6OktleUFycmF5KCkpLCBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNy
ZWF0ZShvYmplY3QpLCAiZm9vLmJheiIpOworICAgIGNoZWNrSW5qZWN0aW9uKElEQktleTo6Y3Jl
YXRlQXJyYXkoSURCS2V5OjpLZXlBcnJheSgpKSwgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVh
dGUob2JqZWN0KSwgImJhciIpOwogCiAgICAgY2hlY2tJbmplY3Rpb25GYWlscyhJREJLZXk6OmNy
ZWF0ZVN0cmluZygiem9vIiksIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKG9iamVjdCks
ICJmb28uYmFyLmJheiIpOwogICAgIGNoZWNrSW5qZWN0aW9uRmFpbHMoSURCS2V5OjpjcmVhdGVT
dHJpbmcoInpvbyIpLCBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShvYmplY3QpLCAiZm9v
Lnh5ei5mb28iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvSURC
TGV2ZWxEQkNvZGluZ1Rlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJM
ZXZlbERCQ29kaW5nVGVzdC5jcHAKaW5kZXggNGMwNGM1NDYwY2U2MDgzNDExMDNmYmM0ZTAzOTIz
YjM3ZTMwNzRjZS4uN2Q2MTU5ZTZhMWIxZmM0YWYzMzViOWU4ZjQ2MDJlM2U2MzM0ZDhjZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJMZXZlbERCQ29kaW5nVGVz
dC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJMZXZlbERCQ29kaW5n
VGVzdC5jcHAKQEAgLTM5LDYgKzM5LDMxIEBAIHVzaW5nIG5hbWVzcGFjZSBJREJMZXZlbERCQ29k
aW5nOwogCiBuYW1lc3BhY2UgewogCitzdGF0aWMgUGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0ZUFy
cmF5SURCS2V5KCkKK3sKKyAgICByZXR1cm4gSURCS2V5OjpjcmVhdGVBcnJheShJREJLZXk6Oktl
eUFycmF5KCkpOworfQorCitzdGF0aWMgUGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0ZUFycmF5SURC
S2V5KFBhc3NSZWZQdHI8SURCS2V5PiBwcnBLZXkxKQoreworICAgIFJlZlB0cjxJREJLZXk+IGtl
eTEgPSBwcnBLZXkxOworCisgICAgSURCS2V5OjpLZXlBcnJheSBhcnJheTsKKyAgICBhcnJheS5h
cHBlbmQoa2V5MSk7CisgICAgcmV0dXJuIElEQktleTo6Y3JlYXRlQXJyYXkoYXJyYXkpOworfQor
CitzdGF0aWMgUGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0ZUFycmF5SURCS2V5KFBhc3NSZWZQdHI8
SURCS2V5PiBwcnBLZXkxLCBQYXNzUmVmUHRyPElEQktleT4gcHJwS2V5MikKK3sKKyAgICBSZWZQ
dHI8SURCS2V5PiBrZXkxID0gcHJwS2V5MTsKKyAgICBSZWZQdHI8SURCS2V5PiBrZXkyID0gcHJw
S2V5MjsKKworICAgIElEQktleTo6S2V5QXJyYXkgYXJyYXk7CisgICAgYXJyYXkuYXBwZW5kKGtl
eTEpOworICAgIGFycmF5LmFwcGVuZChrZXkyKTsKKyAgICByZXR1cm4gSURCS2V5OjpjcmVhdGVB
cnJheShhcnJheSk7Cit9CisKIFRFU1QoSURCTGV2ZWxEQkNvZGluZ1Rlc3QsIEVuY29kZUJ5dGUp
CiB7CiAgICAgVmVjdG9yPGNoYXI+IGV4cGVjdGVkOwpAQCAtNjMsMTEgKzg4LDEzIEBAIFRFU1Qo
SURCTGV2ZWxEQkNvZGluZ1Rlc3QsIE1heElEQktleSkKICAgICBWZWN0b3I8Y2hhcj4gbWF4S2V5
ID0gbWF4SURCS2V5KCk7CiAKICAgICBWZWN0b3I8Y2hhcj4gbWluS2V5ID0gbWluSURCS2V5KCk7
CisgICAgVmVjdG9yPGNoYXI+IGFycmF5S2V5ID0gZW5jb2RlSURCS2V5KCpJREJLZXk6OmNyZWF0
ZUFycmF5KElEQktleTo6S2V5QXJyYXkoKSkpOwogICAgIFZlY3RvcjxjaGFyPiBzdHJpbmdLZXkg
PSBlbmNvZGVJREJLZXkoKklEQktleTo6Y3JlYXRlU3RyaW5nKCJIZWxsbyB3b3JsZCIpKTsKICAg
ICBWZWN0b3I8Y2hhcj4gbnVtYmVyS2V5ID0gZW5jb2RlSURCS2V5KCpJREJLZXk6OmNyZWF0ZU51
bWJlcigzLjE0KSk7CiAgICAgVmVjdG9yPGNoYXI+IGRhdGVLZXkgPSBlbmNvZGVJREJLZXkoKklE
QktleTo6Y3JlYXRlRGF0ZSgxMDAwMDAwKSk7CiAKICAgICBFWFBFQ1RfR1QoY29tcGFyZUVuY29k
ZWRJREJLZXlzKG1heEtleSwgbWluS2V5KSwgMCk7CisgICAgRVhQRUNUX0dUKGNvbXBhcmVFbmNv
ZGVkSURCS2V5cyhtYXhLZXksIGFycmF5S2V5KSwgMCk7CiAgICAgRVhQRUNUX0dUKGNvbXBhcmVF
bmNvZGVkSURCS2V5cyhtYXhLZXksIHN0cmluZ0tleSksIDApOwogICAgIEVYUEVDVF9HVChjb21w
YXJlRW5jb2RlZElEQktleXMobWF4S2V5LCBudW1iZXJLZXkpLCAwKTsKICAgICBFWFBFQ1RfR1Qo
Y29tcGFyZUVuY29kZWRJREJLZXlzKG1heEtleSwgZGF0ZUtleSksIDApOwpAQCAtNzgsMTEgKzEw
NSwxMyBAQCBURVNUKElEQkxldmVsREJDb2RpbmdUZXN0LCBNaW5JREJLZXkpCiAgICAgVmVjdG9y
PGNoYXI+IG1pbktleSA9IG1pbklEQktleSgpOwogCiAgICAgVmVjdG9yPGNoYXI+IG1heEtleSA9
IG1heElEQktleSgpOworICAgIFZlY3RvcjxjaGFyPiBhcnJheUtleSA9IGVuY29kZUlEQktleSgq
SURCS2V5OjpjcmVhdGVBcnJheShJREJLZXk6OktleUFycmF5KCkpKTsKICAgICBWZWN0b3I8Y2hh
cj4gc3RyaW5nS2V5ID0gZW5jb2RlSURCS2V5KCpJREJLZXk6OmNyZWF0ZVN0cmluZygiSGVsbG8g
d29ybGQiKSk7CiAgICAgVmVjdG9yPGNoYXI+IG51bWJlcktleSA9IGVuY29kZUlEQktleSgqSURC
S2V5OjpjcmVhdGVOdW1iZXIoMy4xNCkpOwogICAgIFZlY3RvcjxjaGFyPiBkYXRlS2V5ID0gZW5j
b2RlSURCS2V5KCpJREJLZXk6OmNyZWF0ZURhdGUoMTAwMDAwMCkpOwogCiAgICAgRVhQRUNUX0xU
KGNvbXBhcmVFbmNvZGVkSURCS2V5cyhtaW5LZXksIG1heEtleSksIDApOworICAgIEVYUEVDVF9M
VChjb21wYXJlRW5jb2RlZElEQktleXMobWluS2V5LCBhcnJheUtleSksIDApOwogICAgIEVYUEVD
VF9MVChjb21wYXJlRW5jb2RlZElEQktleXMobWluS2V5LCBzdHJpbmdLZXkpLCAwKTsKICAgICBF
WFBFQ1RfTFQoY29tcGFyZUVuY29kZWRJREJLZXlzKG1pbktleSwgbnVtYmVyS2V5KSwgMCk7CiAg
ICAgRVhQRUNUX0xUKGNvbXBhcmVFbmNvZGVkSURCS2V5cyhtaW5LZXksIGRhdGVLZXkpLCAwKTsK
QEAgLTIzMCw2ICsyNTksMTQgQEAgVEVTVChJREJMZXZlbERCQ29kaW5nVGVzdCwgRGVjb2RlU3Ry
aW5nV2l0aExlbmd0aCkKICAgICB9CiB9CiAKK3N0YXRpYyBpbnQgY29tcGFyZVN0cmluZ3MoY29u
c3QgY2hhciogcCwgY29uc3QgY2hhciogbGltaXRQLCBjb25zdCBjaGFyKiBxLCBjb25zdCBjaGFy
KiBsaW1pdFEpCit7CisgICAgaW50IHJlc3VsdCA9IGNvbXBhcmVFbmNvZGVkU3RyaW5nc1dpdGhM
ZW5ndGgocCwgbGltaXRQLCBxLCBsaW1pdFEpOworICAgIEVYUEVDVF9FUShwLCBsaW1pdFApOwor
ICAgIEVYUEVDVF9FUShxLCBsaW1pdFEpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIFRFU1Qo
SURCTGV2ZWxEQkNvZGluZ1Rlc3QsIENvbXBhcmVFbmNvZGVkU3RyaW5nc1dpdGhMZW5ndGgpCiB7
CiAgICAgY29uc3QgVUNoYXIgdGVzdFN0cmluZ0FbXSA9IHsweDEwMDAsIDB4MTAwMCwgJ1wwJ307
CkBAIC0yNzIsMTAgKzMwOSwxMCBAQCBURVNUKElEQkxldmVsREJDb2RpbmdUZXN0LCBDb21wYXJl
RW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3RoKQogICAgICAgICBjb25zdCBjaGFyKiBxID0gZW5jb2Rl
ZEIuZGF0YSgpOwogICAgICAgICBjb25zdCBjaGFyKiBsaW1pdFEgPSBxICsgZW5jb2RlZEIuc2l6
ZSgpOwogCi0gICAgICAgIEVYUEVDVF9MVChjb21wYXJlRW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3Ro
KHAsIGxpbWl0UCwgcSwgbGltaXRRKSwgMCk7Ci0gICAgICAgIEVYUEVDVF9HVChjb21wYXJlRW5j
b2RlZFN0cmluZ3NXaXRoTGVuZ3RoKHEsIGxpbWl0USwgcCwgbGltaXRQKSwgMCk7Ci0gICAgICAg
IEVYUEVDVF9FUShjb21wYXJlRW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3RoKHAsIGxpbWl0UCwgcCwg
bGltaXRQKSwgMCk7Ci0gICAgICAgIEVYUEVDVF9FUShjb21wYXJlRW5jb2RlZFN0cmluZ3NXaXRo
TGVuZ3RoKHEsIGxpbWl0USwgcSwgbGltaXRRKSwgMCk7CisgICAgICAgIEVYUEVDVF9MVChjb21w
YXJlU3RyaW5ncyhwLCBsaW1pdFAsIHEsIGxpbWl0USksIDApOworICAgICAgICBFWFBFQ1RfR1Qo
Y29tcGFyZVN0cmluZ3MocSwgbGltaXRRLCBwLCBsaW1pdFApLCAwKTsKKyAgICAgICAgRVhQRUNU
X0VRKGNvbXBhcmVTdHJpbmdzKHAsIGxpbWl0UCwgcCwgbGltaXRQKSwgMCk7CisgICAgICAgIEVY
UEVDVF9FUShjb21wYXJlU3RyaW5ncyhxLCBsaW1pdFEsIHEsIGxpbWl0USksIDApOwogICAgIH0K
IH0KIApAQCAtMzI3LDEyICszNjQsMzAgQEAgVEVTVChJREJMZXZlbERCQ29kaW5nVGVzdCwgRW5j
b2RlRGVjb2RlSURCS2V5KQogICAgIEVYUEVDVF9FUSh2LmRhdGEoKSArIHYuc2l6ZSgpLCBwKTsK
ICAgICBFWFBFQ1RfRVEoMCwgZGVjb2RlSURCS2V5KHYuZGF0YSgpLCB2LmRhdGEoKSArIHYuc2l6
ZSgpIC0gMSwgZGVjb2RlZEtleSkpOwogCisgICAgZXhwZWN0ZWRLZXkgPSBjcmVhdGVBcnJheUlE
QktleSgpOworICAgIHYgPSBlbmNvZGVJREJLZXkoKmV4cGVjdGVkS2V5KTsKKyAgICBwID0gZGVj
b2RlSURCS2V5KHYuZGF0YSgpLCB2LmRhdGEoKSArIHYuc2l6ZSgpLCBkZWNvZGVkS2V5KTsKKyAg
ICBFWFBFQ1RfVFJVRShkZWNvZGVkS2V5LT5pc0VxdWFsKGV4cGVjdGVkS2V5LmdldCgpKSk7Cisg
ICAgRVhQRUNUX0VRKHYuZGF0YSgpICsgdi5zaXplKCksIHApOworICAgIEVYUEVDVF9FUSgwLCBk
ZWNvZGVJREJLZXkodi5kYXRhKCksIHYuZGF0YSgpICsgdi5zaXplKCkgLSAxLCBkZWNvZGVkS2V5
KSk7CisKICAgICBleHBlY3RlZEtleSA9IElEQktleTo6Y3JlYXRlRGF0ZSg3ODkwKTsKICAgICB2
ID0gZW5jb2RlSURCS2V5KCpleHBlY3RlZEtleSk7CiAgICAgcCA9IGRlY29kZUlEQktleSh2LmRh
dGEoKSwgdi5kYXRhKCkgKyB2LnNpemUoKSwgZGVjb2RlZEtleSk7CiAgICAgRVhQRUNUX1RSVUUo
ZGVjb2RlZEtleS0+aXNFcXVhbChleHBlY3RlZEtleS5nZXQoKSkpOwogICAgIEVYUEVDVF9FUSh2
LmRhdGEoKSArIHYuc2l6ZSgpLCBwKTsKICAgICBFWFBFQ1RfRVEoMCwgZGVjb2RlSURCS2V5KHYu
ZGF0YSgpLCB2LmRhdGEoKSArIHYuc2l6ZSgpIC0gMSwgZGVjb2RlZEtleSkpOworCisgICAgSURC
S2V5OjpLZXlBcnJheSBhcnJheTsKKyAgICBhcnJheS5hcHBlbmQoSURCS2V5OjpjcmVhdGVOdW1i
ZXIoMTIzNCkpOworICAgIGFycmF5LmFwcGVuZChJREJLZXk6OmNyZWF0ZVN0cmluZygiSGVsbG8g
V29ybGQhIikpOworICAgIGFycmF5LmFwcGVuZChJREJLZXk6OmNyZWF0ZURhdGUoNzg5MCkpOwor
ICAgIGV4cGVjdGVkS2V5ID0gSURCS2V5OjpjcmVhdGVBcnJheShhcnJheSk7CisgICAgdiA9IGVu
Y29kZUlEQktleSgqZXhwZWN0ZWRLZXkpOworICAgIHAgPSBkZWNvZGVJREJLZXkodi5kYXRhKCks
IHYuZGF0YSgpICsgdi5zaXplKCksIGRlY29kZWRLZXkpOworICAgIEVYUEVDVF9UUlVFKGRlY29k
ZWRLZXktPmlzRXF1YWwoZXhwZWN0ZWRLZXkuZ2V0KCkpKTsKKyAgICBFWFBFQ1RfRVEodi5kYXRh
KCkgKyB2LnNpemUoKSwgcCk7CisgICAgRVhQRUNUX0VRKDAsIGRlY29kZUlEQktleSh2LmRhdGEo
KSwgdi5kYXRhKCkgKyB2LnNpemUoKSAtIDEsIGRlY29kZWRLZXkpKTsKIH0KIAogVEVTVChJREJM
ZXZlbERCQ29kaW5nVGVzdCwgRXh0cmFjdEFuZENvbXBhcmVJREJLZXlzKQpAQCAtMzU0LDYgKzQw
OSwxOCBAQCBURVNUKElEQkxldmVsREJDb2RpbmdUZXN0LCBFeHRyYWN0QW5kQ29tcGFyZUlEQktl
eXMpCiAgICAga2V5cy5hcHBlbmQoSURCS2V5OjpjcmVhdGVTdHJpbmcoImJhYWIiKSk7CiAgICAg
a2V5cy5hcHBlbmQoSURCS2V5OjpjcmVhdGVTdHJpbmcoImMiKSk7CiAKKyAgICBrZXlzLmFwcGVu
ZChjcmVhdGVBcnJheUlEQktleSgpKTsKKyAgICBrZXlzLmFwcGVuZChjcmVhdGVBcnJheUlEQktl
eShJREJLZXk6OmNyZWF0ZU51bWJlcigwKSkpOworICAgIGtleXMuYXBwZW5kKGNyZWF0ZUFycmF5
SURCS2V5KElEQktleTo6Y3JlYXRlTnVtYmVyKDApLCBJREJLZXk6OmNyZWF0ZU51bWJlcigzLjE0
KSkpOworICAgIGtleXMuYXBwZW5kKGNyZWF0ZUFycmF5SURCS2V5KElEQktleTo6Y3JlYXRlRGF0
ZSgwKSkpOworICAgIGtleXMuYXBwZW5kKGNyZWF0ZUFycmF5SURCS2V5KElEQktleTo6Y3JlYXRl
RGF0ZSgwKSwgSURCS2V5OjpjcmVhdGVEYXRlKDApKSk7CisgICAga2V5cy5hcHBlbmQoY3JlYXRl
QXJyYXlJREJLZXkoSURCS2V5OjpjcmVhdGVTdHJpbmcoIiIpKSk7CisgICAga2V5cy5hcHBlbmQo
Y3JlYXRlQXJyYXlJREJLZXkoSURCS2V5OjpjcmVhdGVTdHJpbmcoIiIpLCBJREJLZXk6OmNyZWF0
ZVN0cmluZygiYSIpKSk7CisgICAga2V5cy5hcHBlbmQoY3JlYXRlQXJyYXlJREJLZXkoY3JlYXRl
QXJyYXlJREJLZXkoKSkpOworICAgIGtleXMuYXBwZW5kKGNyZWF0ZUFycmF5SURCS2V5KGNyZWF0
ZUFycmF5SURCS2V5KCksIGNyZWF0ZUFycmF5SURCS2V5KCkpKTsKKyAgICBrZXlzLmFwcGVuZChj
cmVhdGVBcnJheUlEQktleShjcmVhdGVBcnJheUlEQktleShjcmVhdGVBcnJheUlEQktleSgpKSkp
OworICAgIGtleXMuYXBwZW5kKGNyZWF0ZUFycmF5SURCS2V5KGNyZWF0ZUFycmF5SURCS2V5KGNy
ZWF0ZUFycmF5SURCS2V5KGNyZWF0ZUFycmF5SURCS2V5KCkpKSkpOworCiAgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBrZXlzLnNpemUoKSAtIDE7ICsraSkgewogICAgICAgICBSZWZQdHI8SURC
S2V5PiBrZXlBID0ga2V5c1tpXTsKICAgICAgICAgUmVmUHRyPElEQktleT4ga2V5QiA9IGtleXNb
aSArIDFdOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDQ4YWYzY2ExNjg4MzdlZmJkOWIzMTEyMzVhNGMzNDljOTRmMTExMzQu
LjUwMDYzODAyOWY5MDRmNzU5NTY4MDMxNDBlM2M2MjlhZTExNjcwY2YgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyNSBAQAorMjAxMS0xMS0wMyAgSm9zaHVhIEJlbGwgIDxqc2JlbGxAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIEluZGV4ZWREQjogaW1wbGVtZW50IGNvbXBvdW5kIChhcnJheSkga2V5IHN1cHBv
cnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjg0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdG9y
YWdlL2luZGV4ZWRkYi9jdXJzb3Ita2V5LW9yZGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWtleS1vcmRlci5odG1sOiBBZGRlZC4KKyAg
ICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWNtcC1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1jbXAuaHRtbDoKKyAgICAgICAgKiBzdG9y
YWdlL2luZGV4ZWRkYi9pbmRleC1iYXNpY3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3Jh
Z2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhl
ZGRiL2tleS10eXBlLWFycmF5LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIva2V5LXR5cGUtYXJyYXkuaHRtbDogQWRkZWQuCisgICAgICAgICogc3RvcmFn
ZS9pbmRleGVkZGIva2V5cmFuZ2UtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5k
ZXhlZGRiL2tleXJhbmdlLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0
c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9v
YmplY3RzdG9yZS1iYXNpY3MuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vcGVu
LWN1cnNvci1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1j
dXJzb3IuaHRtbDoKKwogMjAxMS0xMS0wMyAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGln
YWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgc2tpcApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWtleS1vcmRlci1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Ita2V5LW9yZGVyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43Y2EyOTQ3Y2JiZDAwZmMzYjViYThlN2Q1MTQzMTNlZTg4MmUwNmQ4Ci0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWtl
eS1vcmRlci1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw5MDggQEAKK1Rlc3QgSW5kZXhlZERCIGtl
eXMgb3JkZXJpbmcgYW5kIHJlYWRiYWNrIGZyb20gY3Vyc29ycy4KKworT24gc3VjY2VzcywgeW91
IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1Qg
Q09NUExFVEUiLgorCisKK2luZGV4ZWREQiA9IHdpbmRvdy5pbmRleGVkREIgfHwgd2luZG93Lndl
YmtpdEluZGV4ZWREQiB8fCB3aW5kb3cubW96SW5kZXhlZERCOworUEFTUyBpbmRleGVkREIgPT0g
bnVsbCBpcyBmYWxzZQorSURCQ3Vyc29yID0gd2luZG93LklEQkN1cnNvciB8fCB3aW5kb3cud2Vi
a2l0SURCQ3Vyc29yOworUEFTUyBJREJDdXJzb3IgPT0gbnVsbCBpcyBmYWxzZQorSURCVHJhbnNh
Y3Rpb24gPSB3aW5kb3cuSURCVHJhbnNhY3Rpb24gfHwgd2luZG93LndlYmtpdElEQlRyYW5zYWN0
aW9uCitQQVNTIElEQlRyYW5zYWN0aW9uID09IG51bGwgaXMgZmFsc2UKKworb3BlbnJlcSA9IGlu
ZGV4ZWREQi5vcGVuKCdjdXJzb3Ita2V5LW9yZGVyJykKK2RiID0gb3BlbnJlcS5yZXN1bHQKK3Zl
cnJlcSA9IGRiLnNldFZlcnNpb24oJzEnKQorZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJykK
KworcG9wdWxhdGluZyBzdG9yZS4uLgordHJhbnMgPSBkYi50cmFuc2FjdGlvbignc3RvcmUnLCBJ
REJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQorc3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgnc3Rv
cmUnKTsKK3N0b3JlLnB1dCgwLCAtSW5maW5pdHkpCitzdG9yZS5wdXQoMSwgLU51bWJlci5NQVhf
VkFMVUUpCitzdG9yZS5wdXQoMiwgLTEpCitzdG9yZS5wdXQoMywgLU51bWJlci5NSU5fVkFMVUUp
CitzdG9yZS5wdXQoNCwgMCkKK3N0b3JlLnB1dCg1LCBOdW1iZXIuTUlOX1ZBTFVFKQorc3RvcmUu
cHV0KDYsIDEpCitzdG9yZS5wdXQoNywgTnVtYmVyLk1BWF9WQUxVRSkKK3N0b3JlLnB1dCg4LCBJ
bmZpbml0eSkKK3N0b3JlLnB1dCg5LCBuZXcgRGF0ZSgwKSkKK3N0b3JlLnB1dCgxMCwgbmV3IERh
dGUoMTAwMCkpCitzdG9yZS5wdXQoMTEsIG5ldyBEYXRlKDEzMTczOTk5MzEwMjMpKQorc3RvcmUu
cHV0KDEyLCAnJykKK3N0b3JlLnB1dCgxMywgJycpCitzdG9yZS5wdXQoMTQsICdhJykKK3N0b3Jl
LnB1dCgxNSwgJ2FhJykKK3N0b3JlLnB1dCgxNiwgJ2InKQorc3RvcmUucHV0KDE3LCAnYmEnKQor
c3RvcmUucHV0KDE4LCAnwqInKQorc3RvcmUucHV0KDE5LCAn5rC0JykKK3N0b3JlLnB1dCgyMCwg
J/CdhJ4nKQorc3RvcmUucHV0KDIxLCAn77+9JykKK3N0b3JlLnB1dCgyMiwgW10pCitzdG9yZS5w
dXQoMjMsIFstSW5maW5pdHldKQorc3RvcmUucHV0KDI0LCBbLU51bWJlci5NQVhfVkFMVUVdKQor
c3RvcmUucHV0KDI1LCBbLTFdKQorc3RvcmUucHV0KDI2LCBbLU51bWJlci5NSU5fVkFMVUVdKQor
c3RvcmUucHV0KDI3LCBbMF0pCitzdG9yZS5wdXQoMjgsIFtOdW1iZXIuTUlOX1ZBTFVFXSkKK3N0
b3JlLnB1dCgyOSwgWzFdKQorc3RvcmUucHV0KDMwLCBbTnVtYmVyLk1BWF9WQUxVRV0pCitzdG9y
ZS5wdXQoMzEsIFtJbmZpbml0eV0pCitzdG9yZS5wdXQoMzIsIFtuZXcgRGF0ZSgwKV0pCitzdG9y
ZS5wdXQoMzMsIFtuZXcgRGF0ZSgxMDAwKV0pCitzdG9yZS5wdXQoMzQsIFtuZXcgRGF0ZSgxMzE3
Mzk5OTMxMDIzKV0pCitzdG9yZS5wdXQoMzUsIFsnJ10pCitzdG9yZS5wdXQoMzYsIFsnJ10pCitz
dG9yZS5wdXQoMzcsIFsnYSddKQorc3RvcmUucHV0KDM4LCBbJ2FhJ10pCitzdG9yZS5wdXQoMzks
IFsnYiddKQorc3RvcmUucHV0KDQwLCBbJ2JhJ10pCitzdG9yZS5wdXQoNDEsIFsnwqInXSkKK3N0
b3JlLnB1dCg0MiwgWyfmsLQnXSkKK3N0b3JlLnB1dCg0MywgWyfwnYSeJ10pCitzdG9yZS5wdXQo
NDQsIFsn77+9J10pCitzdG9yZS5wdXQoNDUsIFtbXV0pCitzdG9yZS5wdXQoNDYsIFtbXSwgW11d
KQorc3RvcmUucHV0KDQ3LCBbW10sIFtdLCBbXV0pCitzdG9yZS5wdXQoNDgsIFtbW11dXSkKK3N0
b3JlLnB1dCg0OSwgW1tbW11dXV0pCisKK2l0ZXJhdGluZyBjdXJzb3IuLi4KK3RyYW5zID0gZGIu
dHJhbnNhY3Rpb24oJ3N0b3JlJywgSURCVHJhbnNhY3Rpb24uUkVBRF9PTkxZKQorc3RvcmUgPSB0
cmFucy5vYmplY3RTdG9yZSgnc3RvcmUnKTsKK2NvdW50ID0gMAorY3VycmVxID0gc3RvcmUub3Bl
bkN1cnNvcigpCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtl
eSwgLUluZmluaXR5KSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BB
U1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVz
dWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgLU51bWJlci5NQVhfVkFMVUUpIGlzIHRydWUK
K2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBj
b3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJz
b3Iua2V5LCAtMSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNT
IGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3Vs
dAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIC1OdW1iZXIuTUlOX1ZBTFVFKSBpcyB0cnVlCitn
ZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291
bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29y
LmtleSwgMCkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdl
dHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAor
UEFTUyBjb21wYXJlKGN1cnNvci5rZXksIE51bWJlci5NSU5fVkFMVUUpIGlzIHRydWUKK2dldHJl
cSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsr
IGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5
LCAxKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVx
LnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNT
IGNvbXBhcmUoY3Vyc29yLmtleSwgTnVtYmVyLk1BWF9WQUxVRSkgaXMgdHJ1ZQorZ2V0cmVxID0g
c3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMg
dHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIElu
ZmluaXR5KSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0
cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQ
QVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgbmV3IERhdGUoMCkpIGlzIHRydWUKK2dldHJlcSA9IHN0
b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRy
dWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBuZXcg
RGF0ZSgxMDAwKSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNT
IGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3Vs
dAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIG5ldyBEYXRlKDEzMTczOTk5MzEwMjMpKSBpcyB0
cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9
PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUo
Y3Vyc29yLmtleSwgJycpIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQor
UEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5y
ZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCAnXDAnKSBpcyB0cnVlCitnZXRyZXEgPSBz
dG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0
cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgJ2En
KSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJl
c3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNv
bXBhcmUoY3Vyc29yLmtleSwgJ2FhJykgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNv
ci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0g
Y3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksICdiJykgaXMgdHJ1ZQorZ2V0
cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50
KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5r
ZXksICdiYScpIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBn
ZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQK
K1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCAnwqInKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5n
ZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitj
dXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgJ+awtCcpIGlz
IHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0
ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFy
ZShjdXJzb3Iua2V5LCAn8J2EnicpIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iu
a2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1
cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCAn77+9JykgaXMgdHJ1ZQorZ2V0
cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50
KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5r
ZXksIFtdKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0
cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQ
QVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgWy1JbmZpbml0eV0pIGlzIHRydWUKK2dldHJlcSA9IHN0
b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRy
dWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBbLU51
bWJlci5NQVhfVkFMVUVdKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkK
K1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEu
cmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgWy0xXSkgaXMgdHJ1ZQorZ2V0cmVxID0g
c3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMg
dHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIFst
TnVtYmVyLk1JTl9WQUxVRV0pIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5
KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJl
cS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBbMF0pIGlzIHRydWUKK2dldHJlcSA9
IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlz
IHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBb
TnVtYmVyLk1JTl9WQUxVRV0pIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5
KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJl
cS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBbMV0pIGlzIHRydWUKK2dldHJlcSA9
IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlz
IHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBb
TnVtYmVyLk1BWF9WQUxVRV0pIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5
KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJl
cS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBbSW5maW5pdHldKSBpcyB0cnVlCitn
ZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291
bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29y
LmtleSwgW25ldyBEYXRlKDApXSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5r
ZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3Vy
cmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIFtuZXcgRGF0ZSgxMDAwKV0pIGlz
IHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0
ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFy
ZShjdXJzb3Iua2V5LCBbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldKSBpcyB0cnVlCitnZXRyZXEg
PSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBp
cyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwg
WycnXSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJl
cS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFT
UyBjb21wYXJlKGN1cnNvci5rZXksIFsnXDAnXSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0
KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vy
c29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIFsnYSddKSBpcyB0
cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9
PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUo
Y3Vyc29yLmtleSwgWydhYSddKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtl
eSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJy
ZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgWydiJ10pIGlzIHRydWUKK2dldHJl
cSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsr
IGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5
LCBbJ2JhJ10pIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBn
ZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQK
K1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBbJ8KiJ10pIGlzIHRydWUKK2dldHJlcSA9IHN0b3Jl
LmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUK
K2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBbJ+awtCdd
KSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJl
c3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNv
bXBhcmUoY3Vyc29yLmtleSwgWyfwnYSeJ10pIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChj
dXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNv
ciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBbJ++/vSddKSBpcyB0
cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9
PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUo
Y3Vyc29yLmtleSwgW1tdXSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkp
CitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVx
LnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIFtbXSwgW11dKSBpcyB0cnVlCitnZXRy
ZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQr
KyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtl
eSwgW1tdLCBbXSwgW11dKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkK
K1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEu
cmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgW1tbXV1dKSBpcyB0cnVlCitnZXRyZXEg
PSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBp
cyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwg
W1tbW11dXV0pIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBn
ZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK1BBU1MgY291bnQgPT09IGtleXMubGVu
Z3RoIGlzIHRydWUKKwordmFsaWRhdGUgY29tcGFyZSBmdW5jdGlvbgorUEFTUyBjb21wYXJlKHVu
ZGVmaW5lZCwgdW5kZWZpbmVkKSBpcyB0cnVlCitQQVNTIGNvbXBhcmUodW5kZWZpbmVkLCB0cnVl
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHVuZGVmaW5lZCwgZmFsc2UpIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUodW5kZWZpbmVkLCAwKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHVuZGVmaW5lZCwg
LTApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodW5kZWZpbmVkLCAxMjMpIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUodW5kZWZpbmVkLCBJbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh1bmRl
ZmluZWQsIC1JbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh1bmRlZmluZWQsIE5hTikg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZSh1bmRlZmluZWQsICcnKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKHVuZGVmaW5lZCwgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodW5kZWZpbmVkLCAn
eHl6JykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh1bmRlZmluZWQsIG5ldyBEYXRlKDApKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKHVuZGVmaW5lZCwgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZSh1bmRlZmluZWQsIG5ldyBEYXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUodW5kZWZpbmVkLCBbXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh1bmRlZmluZWQsIFsxMjNd
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHVuZGVmaW5lZCwgWydhYmMnXSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZSh1bmRlZmluZWQsIFsxMjMsICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZSh1bmRlZmluZWQsIFsnYWJjJywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh1bmRlZmlu
ZWQsIFtbXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodW5kZWZpbmVkLCBbWzEyM11dKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKHVuZGVmaW5lZCwgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKHVuZGVmaW5lZCwgW1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
dW5kZWZpbmVkLCBbWzEyM10sIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodHJ1ZSwgdW5k
ZWZpbmVkKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHRydWUsIHRydWUpIGlzIHRydWUKK1BBU1Mg
Y29tcGFyZSh0cnVlLCBmYWxzZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh0cnVlLCAwKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKHRydWUsIC0wKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHRydWUs
IDEyMykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh0cnVlLCBJbmZpbml0eSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZSh0cnVlLCAtSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodHJ1ZSwg
TmFOKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHRydWUsICcnKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKHRydWUsICdhYmMnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHRydWUsICd4eXonKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKHRydWUsIG5ldyBEYXRlKDApKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKHRydWUsIG5ldyBEYXRlKDFlMykpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodHJ1ZSwgbmV3
IERhdGUoMWU5KSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh0cnVlLCBbXSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZSh0cnVlLCBbMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh0cnVlLCBbJ2Fi
YyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHRydWUsIFsxMjMsICdhYmMnXSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZSh0cnVlLCBbJ2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
dHJ1ZSwgW1tdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh0cnVlLCBbWzEyM11dKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKHRydWUsIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh0
cnVlLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh0cnVlLCBbWzEyM10s
IDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoZmFsc2UsIHVuZGVmaW5lZCkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShmYWxzZSwgdHJ1ZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShmYWxzZSwg
ZmFsc2UpIGlzIHRydWUKK1BBU1MgY29tcGFyZShmYWxzZSwgMCkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShmYWxzZSwgLTApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoZmFsc2UsIDEyMykgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShmYWxzZSwgSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
ZmFsc2UsIC1JbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShmYWxzZSwgTmFOKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKGZhbHNlLCAnJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShmYWxz
ZSwgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoZmFsc2UsICd4eXonKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKGZhbHNlLCBuZXcgRGF0ZSgwKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShm
YWxzZSwgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShmYWxzZSwgbmV3IERh
dGUoMWU5KSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShmYWxzZSwgW10pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoZmFsc2UsIFsxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKGZhbHNlLCBbJ2Fi
YyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKGZhbHNlLCBbMTIzLCAnYWJjJ10pIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoZmFsc2UsIFsnYWJjJywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShmYWxzZSwgW1tdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShmYWxzZSwgW1sxMjNdXSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShmYWxzZSwgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKGZhbHNlLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShmYWxzZSwg
W1sxMjNdLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDAsIHVuZGVmaW5lZCkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZSgwLCB0cnVlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDAsIGZhbHNl
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDAsIDApIGlzIHRydWUKK1BBU1MgY29tcGFyZSgwLCAt
MCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgwLCAxMjMpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
MCwgSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMCwgLUluZmluaXR5KSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKDAsIE5hTikgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgwLCAnJykgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZSgwLCAnYWJjJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgwLCAn
eHl6JykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgwLCBuZXcgRGF0ZSgwKSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZSgwLCBuZXcgRGF0ZSgxZTMpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDAsIG5l
dyBEYXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMCwgW10pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoMCwgWzEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMCwgWydhYmMnXSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZSgwLCBbMTIzLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoMCwgWydhYmMnLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDAsIFtbXV0pIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoMCwgW1sxMjNdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgwLCBb
WydhYmMnXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMCwgW1sxMjNdLCAnYWJjJ10pIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoMCwgW1sxMjNdLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KC0wLCB1bmRlZmluZWQpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLTAsIHRydWUpIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoLTAsIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC0wLCAwKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKC0wLCAtMCkgaXMgdHJ1ZQorUEFTUyBjb21wYXJlKC0wLCAx
MjMpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLTAsIEluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKC0wLCAtSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLTAsIE5hTikgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwgJycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLTAsICdh
YmMnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC0wLCAneHl6JykgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZSgtMCwgbmV3IERhdGUoMCkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLTAsIG5ldyBEYXRl
KDFlMykpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLTAsIG5ldyBEYXRlKDFlOSkpIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoLTAsIFtdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC0wLCBbMTIzXSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwgWydhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZSgtMCwgWzEyMywgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC0wLCBbJ2FiYycsIDEy
M10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLTAsIFtbXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoLTAsIFtbMTIzXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLTAsIFtbJ2FiYyddXSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwgW1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoLTAsIFtbMTIzXSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgxMjMsIHVuZGVm
aW5lZCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgxMjMsIHRydWUpIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoMTIzLCBmYWxzZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgxMjMsIDApIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoMTIzLCAtMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgxMjMsIDEyMykg
aXMgdHJ1ZQorUEFTUyBjb21wYXJlKDEyMywgSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoMTIzLCAtSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCBOYU4pIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoMTIzLCAnJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgxMjMsICdh
YmMnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDEyMywgJ3h5eicpIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoMTIzLCBuZXcgRGF0ZSgwKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgxMjMsIG5ldyBE
YXRlKDFlMykpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCBuZXcgRGF0ZSgxZTkpKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKDEyMywgW10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCBb
MTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgxMjMsIFsnYWJjJ10pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoMTIzLCBbMTIzLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCBb
J2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCBbW11dKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKDEyMywgW1sxMjNdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgxMjMsIFtb
J2FiYyddXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgxMjMsIFtbMTIzXSwgJ2FiYyddKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKDEyMywgW1sxMjNdLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKEluZmluaXR5LCB1bmRlZmluZWQpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoSW5maW5pdHks
IHRydWUpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoSW5maW5pdHksIGZhbHNlKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKEluZmluaXR5LCAwKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKEluZmluaXR5
LCAtMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShJbmZpbml0eSwgMTIzKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKEluZmluaXR5LCBJbmZpbml0eSkgaXMgdHJ1ZQorUEFTUyBjb21wYXJlKEluZmlu
aXR5LCAtSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoSW5maW5pdHksIE5hTikgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShJbmZpbml0eSwgJycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
SW5maW5pdHksICdhYmMnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKEluZmluaXR5LCAneHl6Jykg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShJbmZpbml0eSwgbmV3IERhdGUoMCkpIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoSW5maW5pdHksIG5ldyBEYXRlKDFlMykpIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoSW5maW5pdHksIG5ldyBEYXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoSW5maW5p
dHksIFtdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKEluZmluaXR5LCBbMTIzXSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShJbmZpbml0eSwgWydhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShJ
bmZpbml0eSwgWzEyMywgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKEluZmluaXR5LCBb
J2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoSW5maW5pdHksIFtbXV0pIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoSW5maW5pdHksIFtbMTIzXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoSW5maW5pdHksIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShJbmZpbml0eSwg
W1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoSW5maW5pdHksIFtbMTIzXSwg
MTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtSW5maW5pdHksIHVuZGVmaW5lZCkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZSgtSW5maW5pdHksIHRydWUpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
LUluZmluaXR5LCBmYWxzZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtSW5maW5pdHksIDApIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCAtMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZSgtSW5maW5pdHksIDEyMykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtSW5maW5pdHksIEluZmlu
aXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC1JbmZpbml0eSwgLUluZmluaXR5KSBpcyB0cnVl
CitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCBOYU4pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLUlu
ZmluaXR5LCAnJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtSW5maW5pdHksICdhYmMnKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKC1JbmZpbml0eSwgJ3h5eicpIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoLUluZmluaXR5LCBuZXcgRGF0ZSgwKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtSW5maW5p
dHksIG5ldyBEYXRlKDFlMykpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCBuZXcg
RGF0ZSgxZTkpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC1JbmZpbml0eSwgW10pIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCBbMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgt
SW5maW5pdHksIFsnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCBbMTIz
LCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCBbJ2FiYycsIDEyM10p
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCBbW11dKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKC1JbmZpbml0eSwgW1sxMjNdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtSW5maW5p
dHksIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtSW5maW5pdHksIFtbMTIzXSwg
J2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC1JbmZpbml0eSwgW1sxMjNdLCAxMjNdKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKE5hTiwgdW5kZWZpbmVkKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKE5hTiwgdHJ1ZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShOYU4sIGZhbHNlKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKE5hTiwgMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShOYU4sIC0wKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKE5hTiwgMTIzKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5h
TiwgSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoTmFOLCAtSW5maW5pdHkpIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoTmFOLCBOYU4pIGlzIHRydWUKK1BBU1MgY29tcGFyZShOYU4sICcn
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5hTiwgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoTmFOLCAneHl6JykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShOYU4sIG5ldyBEYXRlKDApKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKE5hTiwgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZShOYU4sIG5ldyBEYXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoTmFOLCBb
XSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShOYU4sIFsxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKE5hTiwgWydhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShOYU4sIFsxMjMsICdhYmMn
XSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShOYU4sIFsnYWJjJywgMTIzXSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShOYU4sIFtbXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoTmFOLCBbWzEyM11d
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5hTiwgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKE5hTiwgW1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoTmFOLCBb
WzEyM10sIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJycsIHVuZGVmaW5lZCkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZSgnJywgdHJ1ZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnJywgZmFs
c2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJycsIDApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
JycsIC0wKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCcnLCAxMjMpIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoJycsIEluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCcnLCAtSW5maW5pdHkp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJycsIE5hTikgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgn
JywgJycpIGlzIHRydWUKK1BBU1MgY29tcGFyZSgnJywgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoJycsICd4eXonKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCcnLCBuZXcgRGF0ZSgwKSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnJywgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZSgnJywgbmV3IERhdGUoMWU5KSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnJywgW10p
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJycsIFsxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KCcnLCBbJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCcnLCBbMTIzLCAnYWJjJ10pIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoJycsIFsnYWJjJywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZSgnJywgW1tdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnJywgW1sxMjNdXSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZSgnJywgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCcn
LCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnJywgW1sxMjNdLCAxMjNd
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCdhYmMnLCB1bmRlZmluZWQpIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoJ2FiYycsIHRydWUpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ2FiYycsIGZhbHNl
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCdhYmMnLCAwKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KCdhYmMnLCAtMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnYWJjJywgMTIzKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKCdhYmMnLCBJbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnYWJj
JywgLUluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCdhYmMnLCBOYU4pIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoJ2FiYycsICcnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCdhYmMnLCAn
YWJjJykgaXMgdHJ1ZQorUEFTUyBjb21wYXJlKCdhYmMnLCAneHl6JykgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZSgnYWJjJywgbmV3IERhdGUoMCkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ2FiYycs
IG5ldyBEYXRlKDFlMykpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ2FiYycsIG5ldyBEYXRlKDFl
OSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ2FiYycsIFtdKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKCdhYmMnLCBbMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnYWJjJywgWydhYmMnXSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnYWJjJywgWzEyMywgJ2FiYyddKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKCdhYmMnLCBbJ2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ2Fi
YycsIFtbXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ2FiYycsIFtbMTIzXV0pIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoJ2FiYycsIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgn
YWJjJywgW1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ2FiYycsIFtbMTIz
XSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgneHl6JywgdW5kZWZpbmVkKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKCd4eXonLCB0cnVlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCd4eXon
LCBmYWxzZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgneHl6JywgMCkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZSgneHl6JywgLTApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ3h5eicsIDEyMykgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZSgneHl6JywgSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoJ3h5eicsIC1JbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgneHl6JywgTmFOKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKCd4eXonLCAnJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgn
eHl6JywgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ3h5eicsICd4eXonKSBpcyB0cnVl
CitQQVNTIGNvbXBhcmUoJ3h5eicsIG5ldyBEYXRlKDApKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KCd4eXonLCBuZXcgRGF0ZSgxZTMpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCd4eXonLCBuZXcg
RGF0ZSgxZTkpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCd4eXonLCBbXSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZSgneHl6JywgWzEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ3h5eicsIFsn
YWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ3h5eicsIFsxMjMsICdhYmMnXSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZSgneHl6JywgWydhYmMnLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKCd4eXonLCBbW11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCd4eXonLCBbWzEyM11dKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKCd4eXonLCBbWydhYmMnXV0pIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoJ3h5eicsIFtbMTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCd4eXon
LCBbWzEyM10sIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMCksIHVuZGVm
aW5lZCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgwKSwgdHJ1ZSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShuZXcgRGF0ZSgwKSwgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
bmV3IERhdGUoMCksIDApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMCksIC0wKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDApLCAxMjMpIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUobmV3IERhdGUoMCksIEluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBE
YXRlKDApLCAtSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMCksIE5h
TikgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgwKSwgJycpIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUobmV3IERhdGUoMCksICdhYmMnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBE
YXRlKDApLCAneHl6JykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgwKSwgbmV3IERh
dGUoMCkpIGlzIHRydWUKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgwKSwgbmV3IERhdGUoMWUzKSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgwKSwgbmV3IERhdGUoMWU5KSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgwKSwgW10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
bmV3IERhdGUoMCksIFsxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDApLCBb
J2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDApLCBbMTIzLCAnYWJjJ10p
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMCksIFsnYWJjJywgMTIzXSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgwKSwgW1tdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShuZXcgRGF0ZSgwKSwgW1sxMjNdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgw
KSwgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDApLCBbWzEyM10s
ICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgwKSwgW1sxMjNdLCAxMjNd
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlMyksIHVuZGVmaW5lZCkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTMpLCB0cnVlKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKG5ldyBEYXRlKDFlMyksIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRl
KDFlMyksIDApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWUzKSwgLTApIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWUzKSwgMTIzKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKG5ldyBEYXRlKDFlMyksIEluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBE
YXRlKDFlMyksIC1JbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTMp
LCBOYU4pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWUzKSwgJycpIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWUzKSwgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUobmV3IERhdGUoMWUzKSwgJ3h5eicpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUo
MWUzKSwgbmV3IERhdGUoMCkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWUzKSwg
bmV3IERhdGUoMWUzKSkgaXMgdHJ1ZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlMyksIG5ldyBE
YXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWUzKSwgW10pIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWUzKSwgWzEyM10pIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUobmV3IERhdGUoMWUzKSwgWydhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcg
RGF0ZSgxZTMpLCBbMTIzLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUo
MWUzKSwgWydhYmMnLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlMyks
IFtbXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWUzKSwgW1sxMjNdXSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTMpLCBbWydhYmMnXV0pIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUobmV3IERhdGUoMWUzKSwgW1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUobmV3IERhdGUoMWUzKSwgW1sxMjNdLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKG5ldyBEYXRlKDFlOSksIHVuZGVmaW5lZCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcg
RGF0ZSgxZTkpLCB0cnVlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlOSksIGZh
bHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlOSksIDApIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwgLTApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3
IERhdGUoMWU5KSwgMTIzKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlOSksIElu
ZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlOSksIC1JbmZpbml0eSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTkpLCBOYU4pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUobmV3IERhdGUoMWU5KSwgJycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERh
dGUoMWU5KSwgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwgJ3h5
eicpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwgbmV3IERhdGUoMCkpIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwgbmV3IERhdGUoMWUzKSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTkpLCBuZXcgRGF0ZSgxZTkpKSBpcyB0cnVlCitQ
QVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwgW10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3
IERhdGUoMWU5KSwgWzEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwg
WydhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTkpLCBbMTIzLCAnYWJj
J10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwgWydhYmMnLCAxMjNdKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlOSksIFtbXV0pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUobmV3IERhdGUoMWU5KSwgW1sxMjNdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShu
ZXcgRGF0ZSgxZTkpLCBbWydhYmMnXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUo
MWU5KSwgW1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWU5
KSwgW1sxMjNdLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtdLCB1bmRlZmluZWQpIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoW10sIHRydWUpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW10s
IGZhbHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtdLCAwKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKFtdLCAtMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbXSwgMTIzKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKFtdLCBJbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbXSwgLUluZmlu
aXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtdLCBOYU4pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoW10sICcnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtdLCAnYWJjJykgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbXSwgJ3h5eicpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW10sIG5ldyBEYXRl
KDApKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtdLCBuZXcgRGF0ZSgxZTMpKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFtdLCBuZXcgRGF0ZSgxZTkpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtd
LCBbXSkgaXMgdHJ1ZQorUEFTUyBjb21wYXJlKFtdLCBbMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShbXSwgWydhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbXSwgWzEyMywgJ2FiYydd
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtdLCBbJ2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoW10sIFtbXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW10sIFtbMTIzXV0pIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoW10sIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShbXSwgW1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW10sIFtbMTIzXSwg
MTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzXSwgdW5kZWZpbmVkKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFsxMjNdLCB0cnVlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjNdLCBm
YWxzZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzXSwgMCkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShbMTIzXSwgLTApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyM10sIDEyMykgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShbMTIzXSwgSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
WzEyM10sIC1JbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzXSwgTmFOKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKFsxMjNdLCAnJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIz
XSwgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyM10sICd4eXonKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFsxMjNdLCBuZXcgRGF0ZSgwKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShb
MTIzXSwgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzXSwgbmV3IERh
dGUoMWU5KSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzXSwgW10pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoWzEyM10sIFsxMjNdKSBpcyB0cnVlCitQQVNTIGNvbXBhcmUoWzEyM10sIFsnYWJj
J10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyM10sIFsxMjMsICdhYmMnXSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShbMTIzXSwgWydhYmMnLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KFsxMjNdLCBbW11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjNdLCBbWzEyM11dKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKFsxMjNdLCBbWydhYmMnXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoWzEyM10sIFtbMTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjNdLCBb
WzEyM10sIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnXSwgdW5kZWZpbmVkKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJ10sIHRydWUpIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoWydhYmMnXSwgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnXSwgMCkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYyddLCAtMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShb
J2FiYyddLCAxMjMpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnXSwgSW5maW5pdHkpIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnXSwgLUluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKFsnYWJjJ10sIE5hTikgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYyddLCAnJykg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYyddLCAnYWJjJykgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShbJ2FiYyddLCAneHl6JykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYyddLCBuZXcg
RGF0ZSgwKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYyddLCBuZXcgRGF0ZSgxZTMpKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJ10sIG5ldyBEYXRlKDFlOSkpIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoWydhYmMnXSwgW10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnXSwg
WzEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnXSwgWydhYmMnXSkgaXMgdHJ1ZQor
UEFTUyBjb21wYXJlKFsnYWJjJ10sIFsxMjMsICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShbJ2FiYyddLCBbJ2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnXSwg
W1tdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYyddLCBbWzEyM11dKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFsnYWJjJ10sIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShb
J2FiYyddLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYyddLCBb
WzEyM10sIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyMywgJ2FiYyddLCB1bmRlZmlu
ZWQpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyMywgJ2FiYyddLCB0cnVlKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFsxMjMsICdhYmMnXSwgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
WzEyMywgJ2FiYyddLCAwKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjMsICdhYmMnXSwgLTAp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyMywgJ2FiYyddLCAxMjMpIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoWzEyMywgJ2FiYyddLCBJbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShb
MTIzLCAnYWJjJ10sIC1JbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzLCAnYWJj
J10sIE5hTikgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzLCAnYWJjJ10sICcnKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKFsxMjMsICdhYmMnXSwgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoWzEyMywgJ2FiYyddLCAneHl6JykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzLCAnYWJj
J10sIG5ldyBEYXRlKDApKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjMsICdhYmMnXSwgbmV3
IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzLCAnYWJjJ10sIG5ldyBEYXRl
KDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyMywgJ2FiYyddLCBbXSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShbMTIzLCAnYWJjJ10sIFsxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KFsxMjMsICdhYmMnXSwgWydhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzLCAnYWJj
J10sIFsxMjMsICdhYmMnXSkgaXMgdHJ1ZQorUEFTUyBjb21wYXJlKFsxMjMsICdhYmMnXSwgWydh
YmMnLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjMsICdhYmMnXSwgW1tdXSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzLCAnYWJjJ10sIFtbMTIzXV0pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoWzEyMywgJ2FiYyddLCBbWydhYmMnXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
WzEyMywgJ2FiYyddLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIz
LCAnYWJjJ10sIFtbMTIzXSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYycsIDEy
M10sIHVuZGVmaW5lZCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYycsIDEyM10sIHRydWUp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnLCAxMjNdLCBmYWxzZSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbJ2FiYycsIDEyM10sIDApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMn
LCAxMjNdLCAtMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYycsIDEyM10sIDEyMykgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYycsIDEyM10sIEluZmluaXR5KSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKFsnYWJjJywgMTIzXSwgLUluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KFsnYWJjJywgMTIzXSwgTmFOKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJywgMTIzXSwg
JycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnLCAxMjNdLCAnYWJjJykgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShbJ2FiYycsIDEyM10sICd4eXonKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KFsnYWJjJywgMTIzXSwgbmV3IERhdGUoMCkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMn
LCAxMjNdLCBuZXcgRGF0ZSgxZTMpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJywgMTIz
XSwgbmV3IERhdGUoMWU5KSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYycsIDEyM10sIFtd
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJywgMTIzXSwgWzEyM10pIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoWydhYmMnLCAxMjNdLCBbJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KFsnYWJjJywgMTIzXSwgWzEyMywgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJj
JywgMTIzXSwgWydhYmMnLCAxMjNdKSBpcyB0cnVlCitQQVNTIGNvbXBhcmUoWydhYmMnLCAxMjNd
LCBbW11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJywgMTIzXSwgW1sxMjNdXSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYycsIDEyM10sIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbJ2FiYycsIDEyM10sIFtbMTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKFsnYWJjJywgMTIzXSwgW1sxMjNdLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KFtbXV0sIHVuZGVmaW5lZCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbW11dLCB0cnVlKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKFtbXV0sIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtb
XV0sIDApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1tdXSwgLTApIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoW1tdXSwgMTIzKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbXV0sIEluZmluaXR5KSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKFtbXV0sIC1JbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShbW11dLCBOYU4pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1tdXSwgJycpIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoW1tdXSwgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1tdXSwg
J3h5eicpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1tdXSwgbmV3IERhdGUoMCkpIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoW1tdXSwgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShbW11dLCBuZXcgRGF0ZSgxZTkpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbXV0sIFtdKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKFtbXV0sIFsxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KFtbXV0sIFsnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1tdXSwgWzEyMywgJ2FiYydd
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbXV0sIFsnYWJjJywgMTIzXSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbW11dLCBbW11dKSBpcyB0cnVlCitQQVNTIGNvbXBhcmUoW1tdXSwgW1sxMjNd
XSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbW11dLCBbWydhYmMnXV0pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoW1tdXSwgW1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1td
XSwgW1sxMjNdLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXV0sIHVuZGVmaW5l
ZCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM11dLCB0cnVlKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKFtbMTIzXV0sIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXV0sIDAp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwgLTApIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoW1sxMjNdXSwgMTIzKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXV0sIEluZmluaXR5
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXV0sIC1JbmZpbml0eSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbWzEyM11dLCBOYU4pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwg
JycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwgJ2FiYycpIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoW1sxMjNdXSwgJ3h5eicpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwg
bmV3IERhdGUoMCkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwgbmV3IERhdGUoMWUz
KSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM11dLCBuZXcgRGF0ZSgxZTkpKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKFtbMTIzXV0sIFtdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIz
XV0sIFsxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXV0sIFsnYWJjJ10pIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwgWzEyMywgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKFtbMTIzXV0sIFsnYWJjJywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEy
M11dLCBbW11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXV0sIFtbMTIzXV0pIGlzIHRy
dWUKK1BBU1MgY29tcGFyZShbWzEyM11dLCBbWydhYmMnXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoW1sxMjNdXSwgW1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNd
XSwgW1sxMjNdLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbJ2FiYyddXSwgdW5kZWZp
bmVkKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbJ2FiYyddXSwgdHJ1ZSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbWydhYmMnXV0sIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbJ2Fi
YyddXSwgMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWydhYmMnXV0sIC0wKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFtbJ2FiYyddXSwgMTIzKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbJ2Fi
YyddXSwgSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1snYWJjJ11dLCAtSW5maW5p
dHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1snYWJjJ11dLCBOYU4pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoW1snYWJjJ11dLCAnJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWydhYmMnXV0s
ICdhYmMnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbJ2FiYyddXSwgJ3h5eicpIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoW1snYWJjJ11dLCBuZXcgRGF0ZSgwKSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShbWydhYmMnXV0sIG5ldyBEYXRlKDFlMykpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sn
YWJjJ11dLCBuZXcgRGF0ZSgxZTkpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbJ2FiYyddXSwg
W10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1snYWJjJ11dLCBbMTIzXSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbWydhYmMnXV0sIFsnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sn
YWJjJ11dLCBbMTIzLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1snYWJjJ11dLCBb
J2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1snYWJjJ11dLCBbW11dKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKFtbJ2FiYyddXSwgW1sxMjNdXSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShbWydhYmMnXV0sIFtbJ2FiYyddXSkgaXMgdHJ1ZQorUEFTUyBjb21wYXJlKFtbJ2FiYydd
XSwgW1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1snYWJjJ11dLCBbWzEy
M10sIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJjJ10sIHVuZGVmaW5l
ZCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sICdhYmMnXSwgdHJ1ZSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShbWzEyM10sICdhYmMnXSwgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoW1sxMjNdLCAnYWJjJ10sIDApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJj
J10sIC0wKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgJ2FiYyddLCAxMjMpIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJjJ10sIEluZmluaXR5KSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKFtbMTIzXSwgJ2FiYyddLCAtSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoW1sxMjNdLCAnYWJjJ10sIE5hTikgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sICdh
YmMnXSwgJycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJjJ10sICdhYmMnKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgJ2FiYyddLCAneHl6JykgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbWzEyM10sICdhYmMnXSwgbmV3IERhdGUoMCkpIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoW1sxMjNdLCAnYWJjJ10sIG5ldyBEYXRlKDFlMykpIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoW1sxMjNdLCAnYWJjJ10sIG5ldyBEYXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
W1sxMjNdLCAnYWJjJ10sIFtdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgJ2FiYydd
LCBbMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sICdhYmMnXSwgWydhYmMnXSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sICdhYmMnXSwgWzEyMywgJ2FiYyddKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgJ2FiYyddLCBbJ2FiYycsIDEyM10pIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJjJ10sIFtbXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoW1sxMjNdLCAnYWJjJ10sIFtbMTIzXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNd
LCAnYWJjJ10sIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sICdhYmMn
XSwgW1sxMjNdLCAnYWJjJ10pIGlzIHRydWUKK1BBU1MgY29tcGFyZShbWzEyM10sICdhYmMnXSwg
W1sxMjNdLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgMTIzXSwgdW5kZWZp
bmVkKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgMTIzXSwgdHJ1ZSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShbWzEyM10sIDEyM10sIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KFtbMTIzXSwgMTIzXSwgMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sIDEyM10sIC0w
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgMTIzXSwgMTIzKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKFtbMTIzXSwgMTIzXSwgSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
W1sxMjNdLCAxMjNdLCAtSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAx
MjNdLCBOYU4pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNdLCAnJykgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShbWzEyM10sIDEyM10sICdhYmMnKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKFtbMTIzXSwgMTIzXSwgJ3h5eicpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAx
MjNdLCBuZXcgRGF0ZSgwKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sIDEyM10sIG5l
dyBEYXRlKDFlMykpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNdLCBuZXcgRGF0
ZSgxZTkpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgMTIzXSwgW10pIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNdLCBbMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShbWzEyM10sIDEyM10sIFsnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAx
MjNdLCBbMTIzLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNdLCBb
J2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNdLCBbW11dKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgMTIzXSwgW1sxMjNdXSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbWzEyM10sIDEyM10sIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShbWzEyM10sIDEyM10sIFtbMTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtb
MTIzXSwgMTIzXSwgW1sxMjNdLCAxMjNdKSBpcyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvY3Vyc29yLWtleS1vcmRlci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvY3Vyc29yLWtleS1vcmRlci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhiOTA5OTc2Y2Y4
MzM5ZjBlYjY0NWU2ODc3NGJiMTM1YWZlYWE2M2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Ita2V5LW9yZGVyLmh0bWwKQEAgLTAsMCArMSwy
NDIgQEAKKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4u
L2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL3NoYXJlZC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlk
PSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0Pgor
CitkZXNjcmlwdGlvbigiVGVzdCBJbmRleGVkREIga2V5cyBvcmRlcmluZyBhbmQgcmVhZGJhY2sg
ZnJvbSBjdXJzb3JzLiIpOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBs
YXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisKK2Z1bmN0aW9uIHRlc3QoKQor
eworICAgIGV2YWxBbmRMb2coImluZGV4ZWREQiA9IHdpbmRvdy5pbmRleGVkREIgfHwgd2luZG93
LndlYmtpdEluZGV4ZWREQiB8fCB3aW5kb3cubW96SW5kZXhlZERCOyIpOworICAgIHNob3VsZEJl
RmFsc2UoImluZGV4ZWREQiA9PSBudWxsIik7CisgICAgZXZhbEFuZExvZygiSURCQ3Vyc29yID0g
d2luZG93LklEQkN1cnNvciB8fCB3aW5kb3cud2Via2l0SURCQ3Vyc29yOyIpOworICAgIHNob3Vs
ZEJlRmFsc2UoIklEQkN1cnNvciA9PSBudWxsIik7CisgICAgZXZhbEFuZExvZygiSURCVHJhbnNh
Y3Rpb24gPSB3aW5kb3cuSURCVHJhbnNhY3Rpb24gfHwgd2luZG93LndlYmtpdElEQlRyYW5zYWN0
aW9uIik7CisgICAgc2hvdWxkQmVGYWxzZSgiSURCVHJhbnNhY3Rpb24gPT0gbnVsbCIpOworCisg
ICAgcHJlcGFyZURhdGFiYXNlKCk7Cit9CisKK2Z1bmN0aW9uIHByZXBhcmVEYXRhYmFzZSgpCit7
CisgICAgZGVidWcoIiIpOworICAgIGV2YWxBbmRMb2coIm9wZW5yZXEgPSBpbmRleGVkREIub3Bl
bignY3Vyc29yLWtleS1vcmRlcicpIik7CisgICAgb3BlbnJlcS5vbmVycm9yID0gdW5leHBlY3Rl
ZEVycm9yQ2FsbGJhY2s7CisgICAgb3BlbnJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKKyAg
ICAgICAgZXZhbEFuZExvZygiZGIgPSBvcGVucmVxLnJlc3VsdCIpOworICAgICAgICBldmFsQW5k
TG9nKCJ2ZXJyZXEgPSBkYi5zZXRWZXJzaW9uKCcxJykiKTsKKyAgICAgICAgdmVycmVxLm9uZXJy
b3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKKyAgICAgICAgdmVycmVxLm9uc3VjY2VzcyA9
IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0U3Rv
cmUoJ3N0b3JlJykiKTsKKyAgICAgICAgICAgIHZlcnJlcS5yZXN1bHQub25jb21wbGV0ZSA9IHBv
cHVsYXRlU3RvcmU7CisgICAgICAgIH07CisgICAgfTsKK30KKword2luZG93LmtleXMgPSBbCisg
ICAgIi1JbmZpbml0eSIsCisgICAgIi1OdW1iZXIuTUFYX1ZBTFVFIiwKKyAgICAiLTEiLAorICAg
ICItTnVtYmVyLk1JTl9WQUxVRSIsCisgICAgIjAiLAorICAgICJOdW1iZXIuTUlOX1ZBTFVFIiwK
KyAgICAiMSIsCisgICAgIk51bWJlci5NQVhfVkFMVUUiLAorICAgICJJbmZpbml0eSIsCisKKyAg
ICAibmV3IERhdGUoMCkiLAorICAgICJuZXcgRGF0ZSgxMDAwKSIsCisgICAgIm5ldyBEYXRlKDEz
MTczOTk5MzEwMjMpIiwKKworICAgICInJyIsCisgICAgIidceDAwJyIsCisgICAgIidhJyIsCisg
ICAgIidhYSciLAorICAgICInYiciLAorICAgICInYmEnIiwKKworICAgICInXHhBMiciLCAvLyBV
KzAwQTIgQ0VOVCBTSUdOCisgICAgIidcdTZDMzQnIiwgLy8gVSs2QzM0IENKSyBVTklGSUVEIElE
RU9HUkFQSCAod2F0ZXIpCisgICAgIidcdUQ4MzRcdUREMUUnIiwgLy8gVSsxRDExRSBNVVNJQ0FM
IFNZTUJPTCBHLUNMRUYgKFVURi0xNiBzdXJyb2dhdGUgcGFpcikKKyAgICAiJ1x1RkZGRCciLCAv
LyBVK0ZGRkQgUkVQTEFDRU1FTlQgQ0hBUkFDVEVSCisKKyAgICAiW10iLAorCisgICAgIlstSW5m
aW5pdHldIiwKKyAgICAiWy1OdW1iZXIuTUFYX1ZBTFVFXSIsCisgICAgIlstMV0iLAorICAgICJb
LU51bWJlci5NSU5fVkFMVUVdIiwKKyAgICAiWzBdIiwKKyAgICAiW051bWJlci5NSU5fVkFMVUVd
IiwKKyAgICAiWzFdIiwKKyAgICAiW051bWJlci5NQVhfVkFMVUVdIiwKKyAgICAiW0luZmluaXR5
XSIsCisKKyAgICAiW25ldyBEYXRlKDApXSIsCisgICAgIltuZXcgRGF0ZSgxMDAwKV0iLAorICAg
ICJbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldIiwKKworICAgICJbJyddIiwKKyAgICAiWydceDAw
J10iLAorICAgICJbJ2EnXSIsCisgICAgIlsnYWEnXSIsCisgICAgIlsnYiddIiwKKyAgICAiWydi
YSddIiwKKworICAgICJbJ1x4QTInXSIsIC8vIFUrMDBBMiBDRU5UIFNJR04KKyAgICAiWydcdTZD
MzQnXSIsIC8vIFUrNkMzNCBDSksgVU5JRklFRCBJREVPR1JBUEggKHdhdGVyKQorICAgICJbJ1x1
RDgzNFx1REQxRSddIiwgLy8gVSsxRDExRSBNVVNJQ0FMIFNZTUJPTCBHLUNMRUYgKFVURi0xNiBz
dXJyb2dhdGUgcGFpcikKKyAgICAiWydcdUZGRkQnXSIsIC8vIFUrRkZGRCBSRVBMQUNFTUVOVCBD
SEFSQUNURVIKKworICAgICJbW11dIiwKKworICAgICJbW10sIFtdXSIsCisgICAgIltbXSwgW10s
IFtdXSIsCisKKyAgICAiW1tbXV1dIiwKKyAgICAiW1tbW11dXV0iCitdOworCitmdW5jdGlvbiBj
b21wYXJlKGEsIGIpCit7CisgICAgaWYgKHR5cGVvZiBhICE9PSB0eXBlb2YgYikgeworICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgc3dpdGNoICh0eXBlb2YgYSkgeworICAgICAg
ICBjYXNlICd1bmRlZmluZWQnOiAvLyBOb3QgdmFsaWQga2V5cywgYnV0IGNvbXBhcmUgYW55d2F5
LgorICAgICAgICBjYXNlICdib29sZWFuJzogLy8gTm90IHZhbGlkIGtleXMsIGJ1dCBjb21wYXJl
IGFueXdheS4KKyAgICAgICAgY2FzZSAnc3RyaW5nJzoKKyAgICAgICAgICAgIHJldHVybiBhID09
PSBiOworICAgICAgICBjYXNlICdudW1iZXInOgorICAgICAgICAgICAgaWYgKGEgPT09IGIpIHsK
KyAgICAgICAgICAgICAgICByZXR1cm4gKGEgIT09IDApIHx8ICgxIC8gYSA9PT0gMSAvIGIpOyAv
LyAwIGlzbid0IC0wCisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHJldHVy
biBhICE9PSBhICYmIGIgIT09IGI7IC8vIE5hTiBpcyBOYU4KKyAgICAgICAgICAgIH0KKyAgICAg
ICAgY2FzZSAnb2JqZWN0JzoKKyAgICAgICAgICAgIGlmIChhIGluc3RhbmNlb2YgRGF0ZSAmJiBi
IGluc3RhbmNlb2YgRGF0ZSkgeworICAgICAgICAgICAgICAgIHJldHVybiArYSA9PT0gK2I7Cisg
ICAgICAgICAgICB9IGVsc2UgaWYgKGEgaW5zdGFuY2VvZiBBcnJheSAmJiBiIGluc3RhbmNlb2Yg
QXJyYXkpIHsKKyAgICAgICAgICAgICAgICBpZiAoYS5sZW5ndGggIT09IGIubGVuZ3RoKSB7Cisg
ICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgICAgICB9CisgICAg
ICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhLmxlbmd0aDsgaSsrKSB7CisgICAgICAg
ICAgICAgICAgICAgIGlmICghY29tcGFyZShhW2ldLCBiW2ldKSkgeworICAgICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgfQorICAg
ICAgICAgICAgLy8gRm9yIHRoZSBwdXJwb3NlcyBvZiB0aGlzIHRlc3QsIG90aGVyIG9iamVjdHMg
ZG9uJ3QgY291bnQKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgZGVmYXVsdDoK
KyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9Cit9CisKK2Z1bmN0aW9uIHBvcHVsYXRl
U3RvcmUoKQoreworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygicG9wdWxhdGluZyBzdG9yZS4u
LiIpOworICAgIGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJywgSURC
VHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsKKyAgICBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5z
Lm9iamVjdFN0b3JlKCdzdG9yZScpOyIpOworICAgIHRyYW5zLm9uZXJyb3IgPSB1bmV4cGVjdGVk
RXJyb3JDYWxsYmFjazsKKyAgICB0cmFucy5vbmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJh
Y2s7CisgICAgdmFyIGNvdW50ID0gMDsKKyAgICBrZXlzLmZvckVhY2goZnVuY3Rpb24oa2V5KSB7
CisgICAgICAgIGV2YWxBbmRMb2coInN0b3JlLnB1dCgiICsgKGNvdW50KyspICsgIiwgIiArIGtl
eSArICIpIik7CisgICAgfSk7CisgICAgdHJhbnMub25jb21wbGV0ZSA9IGNoZWNrU3RvcmU7Cit9
CisKK2Z1bmN0aW9uIGNoZWNrU3RvcmUoKQoreworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1Zygi
aXRlcmF0aW5nIGN1cnNvci4uLiIpOworICAgIGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNh
Y3Rpb24oJ3N0b3JlJywgSURCVHJhbnNhY3Rpb24uUkVBRF9PTkxZKSIpOworICAgIGV2YWxBbmRM
b2coInN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlJyk7Iik7CisgICAgdHJhbnMub25l
cnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4
cGVjdGVkQWJvcnRDYWxsYmFjazsKKyAgICBldmFsQW5kTG9nKCJjb3VudCA9IDAiKTsKKyAgICBj
dXJyZXEgPSBldmFsQW5kTG9nKCJjdXJyZXEgPSBzdG9yZS5vcGVuQ3Vyc29yKCkiKTsKKyAgICBj
dXJyZXEub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIGN1cnJlcS5vbnN1
Y2Nlc3MgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgaWYgKGN1cnJlcS5yZXN1bHQpIHsKKyAgICAg
ICAgICAgIGV2YWxBbmRMb2coImN1cnNvciA9IGN1cnJlcS5yZXN1bHQiKTsKKyAgICAgICAgICAg
IHNob3VsZEJlVHJ1ZSgiY29tcGFyZShjdXJzb3Iua2V5LCAiICsga2V5c1tjb3VudF0gKyAiKSIp
OworICAgICAgICAgICAgZXZhbEFuZExvZygiZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkp
Iik7CisgICAgICAgICAgICBnZXRyZXEub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNr
OworICAgICAgICAgICAgZ2V0cmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgeworICAgICAgICAg
ICAgICAgIHNob3VsZEJlVHJ1ZSgiZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyIpOworICAgICAg
ICAgICAgICAgIGN1cnNvci5jb250aW51ZSgpOworICAgICAgICAgICAgfTsKKyAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiY291bnQgPT09IGtleXMubGVuZ3RoIik7
CisgICAgICAgICAgICBmaW5pc2hVcCgpOworICAgICAgICB9CisgICAgfTsKK30KKworZnVuY3Rp
b24gZmluaXNoVXAoKQoreworICAgIHRlc3RLZXlDb21wYXJlKCk7CisgICAgZG9uZSgpOworfQor
CitmdW5jdGlvbiB0ZXN0S2V5Q29tcGFyZSgpCit7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVn
KCJ2YWxpZGF0ZSBjb21wYXJlIGZ1bmN0aW9uIik7CisgICAgdmFyIGNhc2VzID0gWworICAgICAg
ICAidW5kZWZpbmVkIiwKKyAgICAgICAgInRydWUiLAorICAgICAgICAiZmFsc2UiLAorICAgICAg
ICAiMCIsCisgICAgICAgICItMCIsCisgICAgICAgICIxMjMiLAorICAgICAgICAiSW5maW5pdHki
LAorICAgICAgICAiLUluZmluaXR5IiwKKyAgICAgICAgIk5hTiIsCisgICAgICAgICInJyIsCisg
ICAgICAgICInYWJjJyIsCisgICAgICAgICIneHl6JyIsCisgICAgICAgICJuZXcgRGF0ZSgwKSIs
CisgICAgICAgICJuZXcgRGF0ZSgxZTMpIiwKKyAgICAgICAgIm5ldyBEYXRlKDFlOSkiLAorICAg
ICAgICAiW10iLAorICAgICAgICAiWzEyM10iLAorICAgICAgICAiWydhYmMnXSIsCisgICAgICAg
ICJbMTIzLCAnYWJjJ10iLAorICAgICAgICAiWydhYmMnLCAxMjNdIiwKKyAgICAgICAgIltbXV0i
LAorICAgICAgICAiW1sxMjNdXSIsCisgICAgICAgICJbWydhYmMnXV0iLAorICAgICAgICAiW1sx
MjNdLCAnYWJjJ10iLAorICAgICAgICAiW1sxMjNdLCAxMjNdIgorICAgIF07CisKKyAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IGNhc2VzLmxlbmd0aDsgKytpKSB7CisgICAgICAgIGZvciAodmFyIGog
PSAwOyBqIDwgY2FzZXMubGVuZ3RoOyArK2opIHsKKyAgICAgICAgICAgIGlmIChpID09PSBqKSB7
CisgICAgICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJjb21wYXJlKCIgKyBjYXNlc1tpXSArICIs
ICIgKyBjYXNlc1tqXSArICIpIik7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
ICAgIHNob3VsZEJlRmFsc2UoImNvbXBhcmUoIiArIGNhc2VzW2ldICsgIiwgIiArIGNhc2VzW2pd
ICsgIikiKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KK30KKwordGVzdCgpOwor
Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21wLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21wLWV4cGVjdGVkLnR4dAppbmRleCAyNmJlMTgyNWFm
ZTM3YmI4OTk3NmNlMTE5ZDJlNzVhODM1ZDEzNGIzLi4xOWY1NTQ0MDkzOTdjYTRlODE1N2RiNWE3
YWYxMzc5ZTc2ODYyZTM5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9mYWN0b3J5LWNtcC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvZmFjdG9yeS1jbXAtZXhwZWN0ZWQudHh0CkBAIC0xMCw3ICsxMCw2IEBAIFBBU1MgSURC
RGF0YWJhc2VFeGNlcHRpb24gPT0gbnVsbCBpcyBmYWxzZQogUEFTUyB0eXBlb2YgaW5kZXhlZERC
LmNtcCA9PT0gJ2Z1bmN0aW9uJyBpcyB0cnVlCiAKIGNvbXBhcmUgdmFsaWQga2V5cwotKEFycmF5
IGtleXMgYXJlIG5vdCB5ZXQgaW1wbGVtZW50ZWQgc28gbWFueSB0ZXN0cyB3aWxsIGZhaWwpCiBQ
QVNTIGluZGV4ZWREQi5jbXAoLUluZmluaXR5LC1OdW1iZXIuTUFYX1ZBTFVFKSA9PT0gLTEgaXMg
dHJ1ZQogUEFTUyBpbmRleGVkREIuY21wKC1OdW1iZXIuTUFYX1ZBTFVFLC1JbmZpbml0eSkgPT09
IDEgaXMgdHJ1ZQogUEFTUyBpbmRleGVkREIuY21wKC1JbmZpbml0eSwtSW5maW5pdHkpID09PSAw
IGlzIHRydWUKQEAgLTk1LDExOCArOTQsMTE4IEBAIFBBU1MgaW5kZXhlZERCLmNtcCgn8J2Enics
J++/vScpID09PSAtMSBpcyB0cnVlCiBQQVNTIGluZGV4ZWREQi5jbXAoJ++/vScsJ/CdhJ4nKSA9
PT0gMSBpcyB0cnVlCiBQQVNTIGluZGV4ZWREQi5jbXAoJ/CdhJ4nLCfwnYSeJykgPT09IDAgaXMg
dHJ1ZQogUEFTUyBpbmRleGVkREIuY21wKCfvv70nLCfvv70nKSA9PT0gMCBpcyB0cnVlCi1GQUlM
IGluZGV4ZWREQi5jbXAoJ++/vScsW10pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlM
IGluZGV4ZWREQi5jbXAoW10sJ++/vScpID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNl
cHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKK1BBU1Mg
aW5kZXhlZERCLmNtcCgn77+9JyxbXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNt
cChbXSwn77+9JykgPT09IDEgaXMgdHJ1ZQogUEFTUyBpbmRleGVkREIuY21wKCfvv70nLCfvv70n
KSA9PT0gMCBpcyB0cnVlCi1GQUlMIGluZGV4ZWREQi5jbXAoW10sW10pID09PSAwIHNob3VsZCBi
ZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2Ug
RXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbXSxbLUluZmluaXR5XSkgPT09IC0xIHNo
b3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0
YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbLUluZmluaXR5XSxbXSkgPT09
IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJ
REJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtdLFtdKSA9PT0gMCBz
aG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRh
dGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWy1JbmZpbml0eV0sWy1JbmZp
bml0eV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFf
RVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbLUlu
ZmluaXR5XSxbLTEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XSkgPT09IC0xIHNob3VsZCBiZSB0cnVl
LiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0
aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbLTEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XSxbLUlu
ZmluaXR5XSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFU
QV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFst
SW5maW5pdHldLFstSW5maW5pdHldKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGlu
ZGV4ZWREQi5jbXAoWy0xLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0sWy0xLjc5NzY5MzEzNDg2MjMx
NTdlKzMwOF0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERB
VEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChb
LTEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XSxbLTFdKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24g
NQotRkFJTCBpbmRleGVkREIuY21wKFstMV0sWy0xLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0pID09
PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00g
SURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbLTEuNzk3NjkzMTM0
ODYyMzE1N2UrMzA4XSxbLTEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XSkgPT09IDAgc2hvdWxkIGJl
IHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBF
eGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFstMV0sWy0xXSkgPT09IDAgc2hvdWxkIGJl
IHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBF
eGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFstMV0sWy01ZS0zMjRdKSA9PT0gLTEgc2hv
dWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRh
YmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFstNWUtMzI0XSxbLTFdKSA9PT0g
MSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElE
QkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWy0xXSxbLTFdKSA9PT0g
MCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElE
QkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWy01ZS0zMjRdLFstNWUt
MzI0XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9F
UlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFstNWUt
MzI0XSxbMF0pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBE
QVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAo
WzBdLFstNWUtMzI0XSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIu
Y21wKFstNWUtMzI0XSxbLTVlLTMyNF0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNl
cHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwg
aW5kZXhlZERCLmNtcChbMF0sWzBdKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGlu
ZGV4ZWREQi5jbXAoWzBdLFs1ZS0zMjRdKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJ
TCBpbmRleGVkREIuY21wKFs1ZS0zMjRdLFswXSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQot
RkFJTCBpbmRleGVkREIuY21wKFswXSxbMF0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBl
eGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZB
SUwgaW5kZXhlZERCLmNtcChbNWUtMzI0XSxbNWUtMzI0XSkgPT09IDAgc2hvdWxkIGJlIHRydWUu
IFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRp
b24gNQotRkFJTCBpbmRleGVkREIuY21wKFs1ZS0zMjRdLFsxXSkgPT09IC0xIHNob3VsZCBiZSB0
cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhj
ZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbMV0sWzVlLTMyNF0pID09PSAxIHNob3VsZCBi
ZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2Ug
RXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbNWUtMzI0XSxbNWUtMzI0XSkgPT09IDAg
c2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJE
YXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsxXSxbMV0pID09PSAwIHNo
b3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0
YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbMV0sWzEuNzk3NjkzMTM0ODYy
MzE1N2UrMzA4XSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6
IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNt
cChbMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdLFsxXSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24g
NQotRkFJTCBpbmRleGVkREIuY21wKFsxXSxbMV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJl
dyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUK
LUZBSUwgaW5kZXhlZERCLmNtcChbMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdLFsxLjc5NzY5MzEz
NDg2MjMxNTdlKzMwOF0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJy
b3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERC
LmNtcChbMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdLFtJbmZpbml0eV0pID09PSAtMSBzaG91bGQg
YmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNl
IEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW0luZmluaXR5XSxbMS43OTc2OTMxMzQ4
NjIzMTU3ZSszMDhdKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5j
bXAoWzEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XSxbMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdKSA9
PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9N
IElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW0luZmluaXR5XSxb
SW5maW5pdHldKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBE
QVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAo
W0luZmluaXR5XSxbbmV3IERhdGUoMCldKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJ
TCBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgwKV0sW0luZmluaXR5XSkgPT09IDEgc2hvdWxkIGJl
IHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBF
eGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtJbmZpbml0eV0sW0luZmluaXR5XSkgPT09
IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJ
REJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgwKV0s
W25ldyBEYXRlKDApXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIu
Y21wKFtuZXcgRGF0ZSgwKV0sW25ldyBEYXRlKDEwMDApXSkgPT09IC0xIHNob3VsZCBiZSB0cnVl
LiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0
aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTAwMCldLFtuZXcgRGF0ZSgwKV0p
ID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBE
T00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbbmV3IERhdGUo
MCldLFtuZXcgRGF0ZSgwKV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24g
RXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhl
ZERCLmNtcChbbmV3IERhdGUoMTAwMCldLFtuZXcgRGF0ZSgxMDAwKV0pID09PSAwIHNob3VsZCBi
ZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2Ug
RXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTAwMCldLFtuZXcgRGF0
ZSgxMzE3Mzk5OTMxMDIzKV0pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4
ZWREQi5jbXAoW25ldyBEYXRlKDEzMTczOTk5MzEwMjMpXSxbbmV3IERhdGUoMTAwMCldKSA9PT0g
MSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElE
QkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDEwMDAp
XSxbbmV3IERhdGUoMTAwMCldKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4
ZWREQi5jbXAoW25ldyBEYXRlKDEzMTczOTk5MzEwMjMpXSxbbmV3IERhdGUoMTMxNzM5OTkzMTAy
MyldKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VS
UjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW25ldyBE
YXRlKDEzMTczOTk5MzEwMjMpXSxbJyddKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJ
TCBpbmRleGVkREIuY21wKFsnJ10sW25ldyBEYXRlKDEzMTczOTk5MzEwMjMpXSkgPT09IDEgc2hv
dWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRh
YmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgxMzE3Mzk5OTMx
MDIzKV0sW25ldyBEYXRlKDEzMTczOTk5MzEwMjMpXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24g
NQotRkFJTCBpbmRleGVkREIuY21wKFsnJ10sWycnXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24g
NQotRkFJTCBpbmRleGVkREIuY21wKFsnJ10sWydcMCddKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUu
IFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRp
b24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnXDAnXSxbJyddKSA9PT0gMSBzaG91bGQgYmUgdHJ1
ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2Vw
dGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWycnXSxbJyddKSA9PT0gMCBzaG91bGQgYmUgdHJ1
ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2Vw
dGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydcMCddLFsnXDAnXSkgPT09IDAgc2hvdWxkIGJl
IHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBF
eGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnXDAnXSxbJ2EnXSkgPT09IC0xIHNob3Vs
ZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJh
c2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ2EnXSxbJ1wwJ10pID09PSAxIHNo
b3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0
YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ1wwJ10sWydcMCddKSA9PT0g
MCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElE
QkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydhJ10sWydhJ10pID09
PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00g
SURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ2EnXSxbJ2FhJ10p
ID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjog
RE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydhYSddLFsn
YSddKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VS
UjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydhJ10s
WydhJ10pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFf
RVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ2Fh
J10sWydhYSddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBE
QVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAo
WydhYSddLFsnYiddKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIu
Y21wKFsnYiddLFsnYWEnXSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVk
REIuY21wKFsnYWEnXSxbJ2FhJ10pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRp
b24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5k
ZXhlZERCLmNtcChbJ2InXSxbJ2InXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBp
bmRleGVkREIuY21wKFsnYiddLFsnYmEnXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBl
eGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZB
SUwgaW5kZXhlZERCLmNtcChbJ2JhJ10sWydiJ10pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJl
dyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUK
LUZBSUwgaW5kZXhlZERCLmNtcChbJ2InXSxbJ2InXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24g
NQotRkFJTCBpbmRleGVkREIuY21wKFsnYmEnXSxbJ2JhJ10pID09PSAwIHNob3VsZCBiZSB0cnVl
LiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0
aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ2JhJ10sWyfCoiddKSA9PT0gLTEgc2hvdWxkIGJl
IHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBF
eGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnwqInXSxbJ2JhJ10pID09PSAxIHNob3Vs
ZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJh
c2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ2JhJ10sWydiYSddKSA9PT0gMCBz
aG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRh
dGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfCoiddLFsnwqInXSkgPT09
IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJ
REJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnwqInXSxbJ+awtCdd
KSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6
IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsn5rC0J10s
WyfCoiddKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRB
X0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfC
oiddLFsnwqInXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
REFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21w
KFsn5rC0J10sWyfmsLQnXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVk
REIuY21wKFsn5rC0J10sWyfwnYSeJ10pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlM
IGluZGV4ZWREQi5jbXAoWyfwnYSeJ10sWyfmsLQnXSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24g
NQotRkFJTCBpbmRleGVkREIuY21wKFsn5rC0J10sWyfmsLQnXSkgPT09IDAgc2hvdWxkIGJlIHRy
dWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNl
cHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsn8J2EniddLFsn8J2EniddKSA9PT0gMCBzaG91
bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFi
YXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfwnYSeJ10sWyfvv70nXSkgPT09
IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00g
SURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ++/vSddLFsn8J2E
niddKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VS
UjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfwnYSe
J10sWyfwnYSeJ10pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6
IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNt
cChbJ++/vSddLFsn77+9J10pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24g
RXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhl
ZERCLmNtcChbJ++/vSddLFtbXV0pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGlu
ZGV4ZWREQi5jbXAoW1tdXSxbJ++/vSddKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlM
IGluZGV4ZWREQi5jbXAoWyfvv70nXSxbJ++/vSddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1
Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tdXSxbW11dKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1
Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tdXSxbW10sIFtdXSkgPT09IC0xIHNob3VsZCBiZSB0cnVl
LiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0
aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW10sIFtdXSxbW11dKSA9PT0gMSBzaG91bGQgYmUg
dHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4
Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tdXSxbW11dKSA9PT0gMCBzaG91bGQgYmUg
dHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4
Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tdLCBbXV0sW1tdLCBbXV0pID09PSAwIHNo
b3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0
YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW10sIFtdXSxbW10sIFtdLCBb
XV0pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VS
UjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tdLCBb
XSwgW11dLFtbXSwgW11dKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWRE
Qi5jbXAoW1tdLCBbXV0sW1tdLCBbXV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNl
cHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwg
aW5kZXhlZERCLmNtcChbW10sIFtdLCBbXV0sW1tdLCBbXSwgW11dKSA9PT0gMCBzaG91bGQgYmUg
dHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4
Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tdLCBbXSwgW11dLFtbW11dXSkgPT09IC0x
IHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURC
RGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW1tdXV0sW1tdLCBbXSwg
W11dKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VS
UjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tdLCBb
XSwgW11dLFtbXSwgW10sIFtdXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlv
biBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRl
eGVkREIuY21wKFtbW11dXSxbW1tdXV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNl
cHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwg
aW5kZXhlZERCLmNtcChbW1tdXV0sW1tbW11dXV0pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1
Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tbW11dXV0sW1tbXV1dKSA9PT0gMSBzaG91bGQgYmUgdHJ1
ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2Vw
dGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tbXV1dLFtbW11dXSkgPT09IDAgc2hvdWxkIGJl
IHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBF
eGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtbW1tdXV1dLFtbW1tdXV1dKSA9PT0gMCBz
aG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRh
dGFiYXNlIEV4Y2VwdGlvbiA1CitQQVNTIGluZGV4ZWREQi5jbXAoW10sW10pID09PSAwIGlzIHRy
dWUKK1BBU1MgaW5kZXhlZERCLmNtcChbXSxbLUluZmluaXR5XSkgPT09IC0xIGlzIHRydWUKK1BB
U1MgaW5kZXhlZERCLmNtcChbLUluZmluaXR5XSxbXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRl
eGVkREIuY21wKFtdLFtdKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWy1JbmZp
bml0eV0sWy1JbmZpbml0eV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbLUlu
ZmluaXR5XSxbLU51bWJlci5NQVhfVkFMVUVdKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVk
REIuY21wKFstTnVtYmVyLk1BWF9WQUxVRV0sWy1JbmZpbml0eV0pID09PSAxIGlzIHRydWUKK1BB
U1MgaW5kZXhlZERCLmNtcChbLUluZmluaXR5XSxbLUluZmluaXR5XSkgPT09IDAgaXMgdHJ1ZQor
UEFTUyBpbmRleGVkREIuY21wKFstTnVtYmVyLk1BWF9WQUxVRV0sWy1OdW1iZXIuTUFYX1ZBTFVF
XSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFstTnVtYmVyLk1BWF9WQUxVRV0s
Wy0xXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbLTFdLFstTnVtYmVyLk1B
WF9WQUxVRV0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbLU51bWJlci5NQVhf
VkFMVUVdLFstTnVtYmVyLk1BWF9WQUxVRV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERC
LmNtcChbLTFdLFstMV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbLTFdLFst
TnVtYmVyLk1JTl9WQUxVRV0pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWy1O
dW1iZXIuTUlOX1ZBTFVFXSxbLTFdKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAo
Wy0xXSxbLTFdKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWy1OdW1iZXIuTUlO
X1ZBTFVFXSxbLU51bWJlci5NSU5fVkFMVUVdKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWRE
Qi5jbXAoWy1OdW1iZXIuTUlOX1ZBTFVFXSxbMF0pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4
ZWREQi5jbXAoWzBdLFstTnVtYmVyLk1JTl9WQUxVRV0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5k
ZXhlZERCLmNtcChbLU51bWJlci5NSU5fVkFMVUVdLFstTnVtYmVyLk1JTl9WQUxVRV0pID09PSAw
IGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbMF0sWzBdKSA9PT0gMCBpcyB0cnVlCitQQVNT
IGluZGV4ZWREQi5jbXAoWzBdLFtOdW1iZXIuTUlOX1ZBTFVFXSkgPT09IC0xIGlzIHRydWUKK1BB
U1MgaW5kZXhlZERCLmNtcChbTnVtYmVyLk1JTl9WQUxVRV0sWzBdKSA9PT0gMSBpcyB0cnVlCitQ
QVNTIGluZGV4ZWREQi5jbXAoWzBdLFswXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIu
Y21wKFtOdW1iZXIuTUlOX1ZBTFVFXSxbTnVtYmVyLk1JTl9WQUxVRV0pID09PSAwIGlzIHRydWUK
K1BBU1MgaW5kZXhlZERCLmNtcChbTnVtYmVyLk1JTl9WQUxVRV0sWzFdKSA9PT0gLTEgaXMgdHJ1
ZQorUEFTUyBpbmRleGVkREIuY21wKFsxXSxbTnVtYmVyLk1JTl9WQUxVRV0pID09PSAxIGlzIHRy
dWUKK1BBU1MgaW5kZXhlZERCLmNtcChbTnVtYmVyLk1JTl9WQUxVRV0sW051bWJlci5NSU5fVkFM
VUVdKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWzFdLFsxXSkgPT09IDAgaXMg
dHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsxXSxbTnVtYmVyLk1BWF9WQUxVRV0pID09PSAtMSBp
cyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW051bWJlci5NQVhfVkFMVUVdLFsxXSkgPT09IDEg
aXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsxXSxbMV0pID09PSAwIGlzIHRydWUKK1BBU1Mg
aW5kZXhlZERCLmNtcChbTnVtYmVyLk1BWF9WQUxVRV0sW051bWJlci5NQVhfVkFMVUVdKSA9PT0g
MCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW051bWJlci5NQVhfVkFMVUVdLFtJbmZpbml0
eV0pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW0luZmluaXR5XSxbTnVtYmVy
Lk1BWF9WQUxVRV0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbTnVtYmVyLk1B
WF9WQUxVRV0sW051bWJlci5NQVhfVkFMVUVdKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWRE
Qi5jbXAoW0luZmluaXR5XSxbSW5maW5pdHldKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWRE
Qi5jbXAoW0luZmluaXR5XSxbbmV3IERhdGUoMCldKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRl
eGVkREIuY21wKFtuZXcgRGF0ZSgwKV0sW0luZmluaXR5XSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBp
bmRleGVkREIuY21wKFtJbmZpbml0eV0sW0luZmluaXR5XSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBp
bmRleGVkREIuY21wKFtuZXcgRGF0ZSgwKV0sW25ldyBEYXRlKDApXSkgPT09IDAgaXMgdHJ1ZQor
UEFTUyBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgwKV0sW25ldyBEYXRlKDEwMDApXSkgPT09IC0x
IGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTAwMCldLFtuZXcgRGF0ZSgw
KV0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMCldLFtuZXcg
RGF0ZSgwKV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTAw
MCldLFtuZXcgRGF0ZSgxMDAwKV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChb
bmV3IERhdGUoMTAwMCldLFtuZXcgRGF0ZSgxMzE3Mzk5OTMxMDIzKV0pID09PSAtMSBpcyB0cnVl
CitQQVNTIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDEzMTczOTk5MzEwMjMpXSxbbmV3IERhdGUo
MTAwMCldKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDEwMDAp
XSxbbmV3IERhdGUoMTAwMCldKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW25l
dyBEYXRlKDEzMTczOTk5MzEwMjMpXSxbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldKSA9PT0gMCBp
cyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDEzMTczOTk5MzEwMjMpXSxbJydd
KSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnJ10sW25ldyBEYXRlKDEzMTcz
OTk5MzEwMjMpXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgx
MzE3Mzk5OTMxMDIzKV0sW25ldyBEYXRlKDEzMTczOTk5MzEwMjMpXSkgPT09IDAgaXMgdHJ1ZQor
UEFTUyBpbmRleGVkREIuY21wKFsnJ10sWycnXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVk
REIuY21wKFsnJ10sWydcMCddKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsn
XDAnXSxbJyddKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWycnXSxbJyddKSA9
PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWydcMCddLFsnXDAnXSkgPT09IDAgaXMg
dHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnXDAnXSxbJ2EnXSkgPT09IC0xIGlzIHRydWUKK1BB
U1MgaW5kZXhlZERCLmNtcChbJ2EnXSxbJ1wwJ10pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhl
ZERCLmNtcChbJ1wwJ10sWydcMCddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAo
WydhJ10sWydhJ10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ2EnXSxbJ2Fh
J10pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWydhYSddLFsnYSddKSA9PT0g
MSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWydhJ10sWydhJ10pID09PSAwIGlzIHRydWUK
K1BBU1MgaW5kZXhlZERCLmNtcChbJ2FhJ10sWydhYSddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGlu
ZGV4ZWREQi5jbXAoWydhYSddLFsnYiddKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIu
Y21wKFsnYiddLFsnYWEnXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYWEn
XSxbJ2FhJ10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ2InXSxbJ2InXSkg
PT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYiddLFsnYmEnXSkgPT09IC0xIGlz
IHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ2JhJ10sWydiJ10pID09PSAxIGlzIHRydWUKK1BB
U1MgaW5kZXhlZERCLmNtcChbJ2InXSxbJ2InXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVk
REIuY21wKFsnYmEnXSxbJ2JhJ10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChb
J2JhJ10sWyfCoiddKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnwqInXSxb
J2JhJ10pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ2JhJ10sWydiYSddKSA9
PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfCoiddLFsnwqInXSkgPT09IDAgaXMg
dHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnwqInXSxbJ+awtCddKSA9PT0gLTEgaXMgdHJ1ZQor
UEFTUyBpbmRleGVkREIuY21wKFsn5rC0J10sWyfCoiddKSA9PT0gMSBpcyB0cnVlCitQQVNTIGlu
ZGV4ZWREQi5jbXAoWyfCoiddLFsnwqInXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIu
Y21wKFsn5rC0J10sWyfmsLQnXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsn
5rC0J10sWyfwnYSeJ10pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfwnYSe
J10sWyfmsLQnXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsn5rC0J10sWyfm
sLQnXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsn8J2EniddLFsn8J2Enidd
KSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfwnYSeJ10sWyfvv70nXSkgPT09
IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ++/vSddLFsn8J2EniddKSA9PT0gMSBp
cyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfwnYSeJ10sWyfwnYSeJ10pID09PSAwIGlzIHRy
dWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ++/vSddLFsn77+9J10pID09PSAwIGlzIHRydWUKK1BB
U1MgaW5kZXhlZERCLmNtcChbJ++/vSddLFtbXV0pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4
ZWREQi5jbXAoW1tdXSxbJ++/vSddKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAo
Wyfvv70nXSxbJ++/vSddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW1tdXSxb
W11dKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW1tdXSxbW10sIFtdXSkgPT09
IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbW10sIFtdXSxbW11dKSA9PT0gMSBpcyB0
cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW1tdXSxbW11dKSA9PT0gMCBpcyB0cnVlCitQQVNTIGlu
ZGV4ZWREQi5jbXAoW1tdLCBbXV0sW1tdLCBbXV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhl
ZERCLmNtcChbW10sIFtdXSxbW10sIFtdLCBbXV0pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4
ZWREQi5jbXAoW1tdLCBbXSwgW11dLFtbXSwgW11dKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4
ZWREQi5jbXAoW1tdLCBbXV0sW1tdLCBbXV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERC
LmNtcChbW10sIFtdLCBbXV0sW1tdLCBbXSwgW11dKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4
ZWREQi5jbXAoW1tdLCBbXSwgW11dLFtbW11dXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhl
ZERCLmNtcChbW1tdXV0sW1tdLCBbXSwgW11dKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWRE
Qi5jbXAoW1tdLCBbXSwgW11dLFtbXSwgW10sIFtdXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRl
eGVkREIuY21wKFtbW11dXSxbW1tdXV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNt
cChbW1tdXV0sW1tbW11dXV0pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW1tb
W11dXV0sW1tbXV1dKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW1tbXV1dLFtb
W11dXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtbW1tdXV1dLFtbW1tdXV1d
KSA9PT0gMCBpcyB0cnVlCiAKIGNvbXBhcmUgaW52YWxpZCBrZXlzCiBFeHBlY3RpbmcgZXhjZXB0
aW9uIGZyb20gaW5kZXhlZERCLmNtcCh2b2lkIDAsIHRydWUpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWNtcC5odG1sIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvZmFjdG9yeS1jbXAuaHRtbAppbmRleCBiYjgyODYxMTQ3YjhjM2VjMGNm
NmEzZjdjZGQ3NzI0ODEyMjk3YTMwLi5iYjhlNTM0Y2FiZDlhMGQ5NzM0ZmJmOTRkZDUwZGZhMzRh
YTYzYTRjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5
LWNtcC5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21w
Lmh0bWwKQEAgLTMzLDggKzMzLDYgQEAgZnVuY3Rpb24gdGVzdFZhbGlkS2V5cygpCiAgICAgZGVi
dWcoIiIpOwogICAgIGRlYnVnKCJjb21wYXJlIHZhbGlkIGtleXMiKTsKIAotICAgIGRlYnVnKCIo
QXJyYXkga2V5cyBhcmUgbm90IHlldCBpbXBsZW1lbnRlZCBzbyBtYW55IHRlc3RzIHdpbGwgZmFp
bCkiKTsKLQogICAgIHZhciBrZXlzID0gWwogICAgICAgICAiLUluZmluaXR5IiwKICAgICAgICAg
Ii1OdW1iZXIuTUFYX1ZBTFVFIiwKQEAgLTYyLDE3ICs2MCwxNiBAQCBmdW5jdGlvbiB0ZXN0VmFs
aWRLZXlzKCkKICAgICAgICAgIidcdUQ4MzRcdUREMUUnIiwgLy8gVSsxRDExRSBNVVNJQ0FMIFNZ
TUJPTCBHLUNMRUYgKFVURi0xNiBzdXJyb2dhdGUgcGFpcikKICAgICAgICAgIidcdUZGRkQnIiwg
Ly8gVStGRkZEIFJFUExBQ0VNRU5UIENIQVJBQ1RFUgogCi0gICAgICAgIC8vIEZJWE1FOiBBcnJh
eSBrZXlzIGFyZSBOWUksIGJ1dCB0aGVzZSBzaG91bGQgcGFzcyBvbmNlIGltcGxlbWVudGVkCiAg
ICAgICAgICJbXSIsCiAKICAgICAgICAgIlstSW5maW5pdHldIiwKLSAgICAgICAgIlstMS43OTc2
OTMxMzQ4NjIzMTU3ZSszMDhdIiwKKyAgICAgICAgIlstTnVtYmVyLk1BWF9WQUxVRV0iLAogICAg
ICAgICAiWy0xXSIsCi0gICAgICAgICJbLTVlLTMyNF0iLAorICAgICAgICAiWy1OdW1iZXIuTUlO
X1ZBTFVFXSIsCiAgICAgICAgICJbMF0iLAotICAgICAgICAiWzVlLTMyNF0iLAorICAgICAgICAi
W051bWJlci5NSU5fVkFMVUVdIiwKICAgICAgICAgIlsxXSIsCi0gICAgICAgICJbMS43OTc2OTMx
MzQ4NjIzMTU3ZSszMDhdIiwKKyAgICAgICAgIltOdW1iZXIuTUFYX1ZBTFVFXSIsCiAgICAgICAg
ICJbSW5maW5pdHldIiwKICAKICAgICAgICAgIltuZXcgRGF0ZSgwKV0iLApAQCAtOTcsNyArOTQs
NyBAQCBmdW5jdGlvbiB0ZXN0VmFsaWRLZXlzKCkKICAgICAgICAgIltbXSwgW10sIFtdXSIsCiAK
ICAgICAgICAgIltbW11dXSIsCi0gICAgICAgICJbW1tbXV1dXSIsCisgICAgICAgICJbW1tbXV1d
XSIKICAgICBdOwogCiAgICAgdmFyIGksIGtleTEsIGtleTI7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1iYXNpY3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLWV4cGVjdGVkLnR4dAppbmRleCBj
NTg5YzgxMjk3ZjFhOTMzZjU2NmMzOWRmNDBiNzgzZmVjNWU5NzE2Li5mZGE4ZGJmM2ZiNjBlNTc4
MDRiNzI5MjAwNTJkNjFlYWZmYTRiMjliIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdl
L2luZGV4ZWRkYi9pbmRleC1iYXNpY3MtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy1leHBlY3RlZC50eHQKQEAgLTgxLDkgKzgxLDkg
QEAgUEFTUyBldmVudC50YXJnZXQucmVzdWx0LnZhbHVlLnggaXMgInZhbHVlMyIKIFBBU1MgZXZl
bnQudGFyZ2V0LnJlc3VsdC52YWx1ZS55IGlzICI0NTYiCiBldmVudC50YXJnZXQucmVzdWx0LmNv
bnRpbnVlKCkKIFBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdCA9PT0gbnVsbCBpcyB0cnVlCi1QYXNz
aW5nIGFuIGludmFsaWQga2V5IGludG8gaW5kZXhPYmplY3QuZ2V0KCkuCitQYXNzaW5nIGFuIGlu
dmFsaWQga2V5IGludG8gaW5kZXhPYmplY3QuZ2V0KHt9KS4KIFBBU1MgQ2F1Z2h0IGV4Y2VwdGlv
bjogRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLVBhc3Npbmcg
YW4gaW52YWxpZCBrZXkgaW50byBpbmRleE9iamVjdC5nZXRLZXkoKS4KK1Bhc3NpbmcgYW4gaW52
YWxpZCBrZXkgaW50byBpbmRleE9iamVjdC5nZXRLZXkoe30pLgogUEFTUyBDYXVnaHQgZXhjZXB0
aW9uOiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQogUEFTUyBz
dWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9pbmRleC1iYXNpY3MuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5k
ZXhlZGRiL2luZGV4LWJhc2ljcy5odG1sCmluZGV4IGE4ZjdkOTVkNGMyYWIwYjQzZWU3ZjM1NTUx
MDNhOTM3MDk4NWRiZDQuLjUzYzFmNWI5YTE0OTUyYmI1ZGNlNDA4NmNhM2JkMmYyMzE1ZTYyYTIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy5o
dG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy5odG1s
CkBAIC0yNDEsMTYgKzI0MSwxNiBAQCBmdW5jdGlvbiBsYXN0KCkKICAgICBzaG91bGRCZVRydWUo
ImV2ZW50LnRhcmdldC5yZXN1bHQgPT09IG51bGwiKTsKIAogICAgIHRyeSB7Ci0gICAgICAgIGRl
YnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gaW5kZXhPYmplY3QuZ2V0KCkuIik7Ci0g
ICAgICAgIGluZGV4T2JqZWN0LmdldChbXSk7CisgICAgICAgIGRlYnVnKCJQYXNzaW5nIGFuIGlu
dmFsaWQga2V5IGludG8gaW5kZXhPYmplY3QuZ2V0KHt9KS4iKTsKKyAgICAgICAgaW5kZXhPYmpl
Y3QuZ2V0KHt9KTsKICAgICAgICAgdGVzdEZhaWxlZCgiTm8gZXhjZXB0aW9uIHRocm93biIpOwog
ICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgdGVzdFBhc3NlZCgiQ2F1Z2h0IGV4Y2VwdGlvbjog
IiArIGUudG9TdHJpbmcoKSk7CiAgICAgfQogCiAgICAgdHJ5IHsKLSAgICAgICAgZGVidWcoIlBh
c3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBpbmRleE9iamVjdC5nZXRLZXkoKS4iKTsKLSAgICAg
ICAgaW5kZXhPYmplY3QuZ2V0S2V5KFtdKTsKKyAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52
YWxpZCBrZXkgaW50byBpbmRleE9iamVjdC5nZXRLZXkoe30pLiIpOworICAgICAgICBpbmRleE9i
amVjdC5nZXRLZXkoe30pOwogICAgICAgICB0ZXN0RmFpbGVkKCJObyBleGNlcHRpb24gdGhyb3du
Iik7CiAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICB0ZXN0UGFzc2VkKCJDYXVnaHQgZXhjZXB0
aW9uOiAiICsgZS50b1N0cmluZygpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2tleS10eXBlLWFycmF5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNmU0
MWQ0ZGM5MjhjMmU0NzhmZWMyODQyOGI2OTk1YTZkMTQzMTI4Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtYXJyYXktZXhwZWN0ZWQudHh0
CkBAIC0wLDAgKzEsMjYyIEBACitUZXN0IEluZGV4ZWREQiBrZXkgdHlwZXMKKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK2luZGV4ZWREQiA9IHdpbmRvdy5pbmRleGVkREIgfHwgd2lu
ZG93LndlYmtpdEluZGV4ZWREQiB8fCB3aW5kb3cubW96SW5kZXhlZERCOworUEFTUyBpbmRleGVk
REIgPT0gbnVsbCBpcyBmYWxzZQorSURCVHJhbnNhY3Rpb24gPSB3aW5kb3cuSURCVHJhbnNhY3Rp
b24gfHwgd2luZG93LndlYmtpdElEQlRyYW5zYWN0aW9uOworUEFTUyBJREJUcmFuc2FjdGlvbiA9
PSBudWxsIGlzIGZhbHNlCitJREJEYXRhYmFzZUV4Y2VwdGlvbiA9IHdpbmRvdy5JREJEYXRhYmFz
ZUV4Y2VwdGlvbiB8fCB3aW5kb3cud2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb247CitQQVNTIElE
QkRhdGFiYXNlRXhjZXB0aW9uID09IG51bGwgaXMgZmFsc2UKK2luZGV4ZWREQi5vcGVuKG5hbWUs
IGRlc2NyaXB0aW9uKQorZGIgPSBvcGVucmVxLnJlc3VsdAorcmVxdWVzdCA9IGRiLnNldFZlcnNp
b24oJzEnKQorcHJlcGFyaW5nIGRhdGFiYXNlCitEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgor
ZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJyk7CisKK3RyYW5zID0gZGIudHJhbnNhY3Rpb24o
J3N0b3JlJywgSURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkKK3N0b3JlID0gdHJhbnMub2JqZWN0
U3RvcmUoJ3N0b3JlJykKKworbG9uZ19hcnJheSA9IFtdOyBmb3IgKGkgPSAwOyBpIDwgMTAwMDsg
KytpKSB7IGxvbmdfYXJyYXkucHVzaCgnYWJjJywgMTIzLCBuZXcgRGF0ZSgwKSwgW10pOyB9CisK
K2FycmF5IHRoYXQgY29udGFpbnMgbm9uLW51bWVyaWMgc2VsZi1yZWZlcmVuY2UKK3NlbGZfcmVm
ZXJyZW50aWFsX2FycmF5ID0gW107IHNlbGZfcmVmZXJyZW50aWFsX2FycmF5LnNlbGYgPSBzZWxm
X3JlZmVycmVudGlhbF9hcnJheTsKKwordGVzdGluZyBhcnJheSBrZXk6IFtdCitzdG9yZS5wdXQo
J3ZhbHVlMScsIFtdKTsKK3N0b3JlLmdldChbXSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZh
bHVlMSIKKwordGVzdGluZyBhcnJheSBrZXk6IFstSW5maW5pdHldCitzdG9yZS5wdXQoJ3ZhbHVl
MicsIFstSW5maW5pdHldKTsKK3N0b3JlLmdldChbLUluZmluaXR5XSk7CitQQVNTIGdldHJlcS5y
ZXN1bHQgaXMgInZhbHVlMiIKKwordGVzdGluZyBhcnJheSBrZXk6IFstTnVtYmVyLk1BWF9WQUxV
RV0KK3N0b3JlLnB1dCgndmFsdWUzJywgWy1OdW1iZXIuTUFYX1ZBTFVFXSk7CitzdG9yZS5nZXQo
Wy1OdW1iZXIuTUFYX1ZBTFVFXSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMyIKKwor
dGVzdGluZyBhcnJheSBrZXk6IFstMV0KK3N0b3JlLnB1dCgndmFsdWU0JywgWy0xXSk7CitzdG9y
ZS5nZXQoWy0xXSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlNCIKKwordGVzdGluZyBh
cnJheSBrZXk6IFstTnVtYmVyLk1JTl9WQUxVRV0KK3N0b3JlLnB1dCgndmFsdWU1JywgWy1OdW1i
ZXIuTUlOX1ZBTFVFXSk7CitzdG9yZS5nZXQoWy1OdW1iZXIuTUlOX1ZBTFVFXSk7CitQQVNTIGdl
dHJlcS5yZXN1bHQgaXMgInZhbHVlNSIKKwordGVzdGluZyBhcnJheSBrZXk6IFswXQorc3RvcmUu
cHV0KCd2YWx1ZTYnLCBbMF0pOworc3RvcmUuZ2V0KFswXSk7CitQQVNTIGdldHJlcS5yZXN1bHQg
aXMgInZhbHVlNiIKKwordGVzdGluZyBhcnJheSBrZXk6IFtOdW1iZXIuTUlOX1ZBTFVFXQorc3Rv
cmUucHV0KCd2YWx1ZTcnLCBbTnVtYmVyLk1JTl9WQUxVRV0pOworc3RvcmUuZ2V0KFtOdW1iZXIu
TUlOX1ZBTFVFXSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlNyIKKwordGVzdGluZyBh
cnJheSBrZXk6IFsxXQorc3RvcmUucHV0KCd2YWx1ZTgnLCBbMV0pOworc3RvcmUuZ2V0KFsxXSk7
CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlOCIKKwordGVzdGluZyBhcnJheSBrZXk6IFtO
dW1iZXIuTUFYX1ZBTFVFXQorc3RvcmUucHV0KCd2YWx1ZTknLCBbTnVtYmVyLk1BWF9WQUxVRV0p
Oworc3RvcmUuZ2V0KFtOdW1iZXIuTUFYX1ZBTFVFXSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMg
InZhbHVlOSIKKwordGVzdGluZyBhcnJheSBrZXk6IFtJbmZpbml0eV0KK3N0b3JlLnB1dCgndmFs
dWUxMCcsIFtJbmZpbml0eV0pOworc3RvcmUuZ2V0KFtJbmZpbml0eV0pOworUEFTUyBnZXRyZXEu
cmVzdWx0IGlzICJ2YWx1ZTEwIgorCit0ZXN0aW5nIGFycmF5IGtleTogWzEsMiwzXQorc3RvcmUu
cHV0KCd2YWx1ZTExJywgWzEsMiwzXSk7CitzdG9yZS5nZXQoWzEsMiwzXSk7CitQQVNTIGdldHJl
cS5yZXN1bHQgaXMgInZhbHVlMTEiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbbmV3IERhdGUoMCld
CitzdG9yZS5wdXQoJ3ZhbHVlMTInLCBbbmV3IERhdGUoMCldKTsKK3N0b3JlLmdldChbbmV3IERh
dGUoMCldKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUxMiIKKwordGVzdGluZyBhcnJh
eSBrZXk6IFtuZXcgRGF0ZSgnMjUyNS0wMS0wMVQwMDowMDowMFonKV0KK3N0b3JlLnB1dCgndmFs
dWUxMycsIFtuZXcgRGF0ZSgnMjUyNS0wMS0wMVQwMDowMDowMFonKV0pOworc3RvcmUuZ2V0KFtu
ZXcgRGF0ZSgnMjUyNS0wMS0wMVQwMDowMDowMFonKV0pOworUEFTUyBnZXRyZXEucmVzdWx0IGlz
ICJ2YWx1ZTEzIgorCit0ZXN0aW5nIGFycmF5IGtleTogW25ldyBEYXRlKDApLCBuZXcgRGF0ZSgn
MjUyNS0wMS0wMVQwMDowMDowMFonKV0KK3N0b3JlLnB1dCgndmFsdWUxNCcsIFtuZXcgRGF0ZSgw
KSwgbmV3IERhdGUoJzI1MjUtMDEtMDFUMDA6MDA6MDBaJyldKTsKK3N0b3JlLmdldChbbmV3IERh
dGUoMCksIG5ldyBEYXRlKCcyNTI1LTAxLTAxVDAwOjAwOjAwWicpXSk7CitQQVNTIGdldHJlcS5y
ZXN1bHQgaXMgInZhbHVlMTQiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbJyddCitzdG9yZS5wdXQo
J3ZhbHVlMTUnLCBbJyddKTsKK3N0b3JlLmdldChbJyddKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBp
cyAidmFsdWUxNSIKKwordGVzdGluZyBhcnJheSBrZXk6IFsnJ10KK3N0b3JlLnB1dCgndmFsdWUx
NicsIFsnJ10pOworc3RvcmUuZ2V0KFsnJ10pOworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1
ZTE2IgorCit0ZXN0aW5nIGFycmF5IGtleTogWydhYmMxMjMnXQorc3RvcmUucHV0KCd2YWx1ZTE3
JywgWydhYmMxMjMnXSk7CitzdG9yZS5nZXQoWydhYmMxMjMnXSk7CitQQVNTIGdldHJlcS5yZXN1
bHQgaXMgInZhbHVlMTciCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbJ2FiYycsIDEyM10KK3N0b3Jl
LnB1dCgndmFsdWUxOCcsIFsnYWJjJywgMTIzXSk7CitzdG9yZS5nZXQoWydhYmMnLCAxMjNdKTsK
K1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUxOCIKKwordGVzdGluZyBhcnJheSBrZXk6IFtb
XV0KK3N0b3JlLnB1dCgndmFsdWUxOScsIFtbXV0pOworc3RvcmUuZ2V0KFtbXV0pOworUEFTUyBn
ZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTE5IgorCit0ZXN0aW5nIGFycmF5IGtleTogW1tdLCBbXV0K
K3N0b3JlLnB1dCgndmFsdWUyMCcsIFtbXSwgW11dKTsKK3N0b3JlLmdldChbW10sIFtdXSk7CitQ
QVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMjAiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbW10s
IFtdLCBbXV0KK3N0b3JlLnB1dCgndmFsdWUyMScsIFtbXSwgW10sIFtdXSk7CitzdG9yZS5nZXQo
W1tdLCBbXSwgW11dKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUyMSIKKwordGVzdGlu
ZyBhcnJheSBrZXk6IFtbW11dXQorc3RvcmUucHV0KCd2YWx1ZTIyJywgW1tbXV1dKTsKK3N0b3Jl
LmdldChbW1tdXV0pOworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTIyIgorCit0ZXN0aW5n
IGFycmF5IGtleTogW1tbW11dXV0KK3N0b3JlLnB1dCgndmFsdWUyMycsIFtbW1tdXV1dKTsKK3N0
b3JlLmdldChbW1tbXV1dXSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMjMiCisKK3Rl
c3RpbmcgYXJyYXkga2V5OiBbMTIzLCAnYWJjJywgbmV3IERhdGUoMCksIFtdXQorc3RvcmUucHV0
KCd2YWx1ZTI0JywgWzEyMywgJ2FiYycsIG5ldyBEYXRlKDApLCBbXV0pOworc3RvcmUuZ2V0KFsx
MjMsICdhYmMnLCBuZXcgRGF0ZSgwKSwgW11dKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFs
dWUyNCIKKwordGVzdGluZyBhcnJheSBrZXk6IFtbMTIzLCAnYWJjJywgbmV3IERhdGUoMCksIFtd
XSwgWzQ1NiwgJ2RlZicsIG5ldyBEYXRlKDk5OSksIFtbXV1dXQorc3RvcmUucHV0KCd2YWx1ZTI1
JywgW1sxMjMsICdhYmMnLCBuZXcgRGF0ZSgwKSwgW11dLCBbNDU2LCAnZGVmJywgbmV3IERhdGUo
OTk5KSwgW1tdXV1dKTsKK3N0b3JlLmdldChbWzEyMywgJ2FiYycsIG5ldyBEYXRlKDApLCBbXV0s
IFs0NTYsICdkZWYnLCBuZXcgRGF0ZSg5OTkpLCBbW11dXV0pOworUEFTUyBnZXRyZXEucmVzdWx0
IGlzICJ2YWx1ZTI1IgorCit0ZXN0aW5nIGFycmF5IGtleTogbG9uZ19hcnJheQorc3RvcmUucHV0
KCd2YWx1ZTI2JywgbG9uZ19hcnJheSk7CitzdG9yZS5nZXQobG9uZ19hcnJheSk7CitQQVNTIGdl
dHJlcS5yZXN1bHQgaXMgInZhbHVlMjYiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBzZWxmX3JlZmVy
cmVudGlhbF9hcnJheQorc3RvcmUucHV0KCd2YWx1ZTI3Jywgc2VsZl9yZWZlcnJlbnRpYWxfYXJy
YXkpOworc3RvcmUuZ2V0KHNlbGZfcmVmZXJyZW50aWFsX2FycmF5KTsKK1BBU1MgZ2V0cmVxLnJl
c3VsdCBpcyAidmFsdWUyNyIKKwordHJhbnMgPSBkYi50cmFuc2FjdGlvbignc3RvcmUnLCBJREJU
cmFuc2FjdGlvbi5SRUFEX1dSSVRFKQorc3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmUn
KQorCithcnJheSB0aGF0IGNvbnRhaW5zIGl0c2VsZjogYXJyYXkgPSBbIGFycmF5IF0KK2N5Y2xp
Y19hcnJheSA9IFtdOyBjeWNsaWNfYXJyYXkucHVzaChjeWNsaWNfYXJyYXkpCitQQVNTIEpTT04u
c3RyaW5naWZ5KGN5Y2xpY19hcnJheSkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQ29udmVy
dGluZyBjaXJjdWxhciBzdHJ1Y3R1cmUgdG8gSlNPTi4KK2FycmF5IHRoYXQgY29udGFpbnMgaXRz
ZWxmLCBvbmUgbGV2ZWwgZG93bjogYXJyYXkgPSBbIFsgYXJyYXkgXSBdCitjeWNsaWNfYXJyYXky
ID0gW107IGN5Y2xpY19hcnJheTIucHVzaChbY3ljbGljX2FycmF5Ml0pCitQQVNTIEpTT04uc3Ry
aW5naWZ5KGN5Y2xpY19hcnJheTIpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IENvbnZlcnRp
bmcgY2lyY3VsYXIgc3RydWN0dXJlIHRvIEpTT04uCithcnJheSB0aGF0IGNvbnRhaW5zIGl0c2Vs
Ziwgbm90IGFzIGZpcnN0IGVsZW1lbnQ6IGFycmF5ID0gWzEsICdiJywgW10sIGFycmF5XQorY3lj
bGljX2FycmF5MyA9IFsxLCAnYicsIFtdXTsgY3ljbGljX2FycmF5My5wdXNoKGN5Y2xpY19hcnJh
eTMpCitQQVNTIEpTT04uc3RyaW5naWZ5KGN5Y2xpY19hcnJheTMpIHRocmV3IGV4Y2VwdGlvbiBU
eXBlRXJyb3I6IENvbnZlcnRpbmcgY2lyY3VsYXIgc3RydWN0dXJlIHRvIEpTT04uCisKK2FycmF5
IHRoYXQgY29udGFpbnMgYXJyYXkgdGhhdCBjb250YWlucyBpdHNlbGYKK2N5Y2xpY19hcnJheTQg
PSBbY3ljbGljX2FycmF5XTsKK1BBU1MgSlNPTi5zdHJpbmdpZnkoY3ljbGljX2FycmF5NCkgdGhy
ZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQ29udmVydGluZyBjaXJjdWxhciBzdHJ1Y3R1cmUgdG8g
SlNPTi4KKwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogWyB2b2lkIDAgXQorRXhwZWN0aW5n
IGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIHZvaWQgMCBdKTsKK1BBU1MgRXhj
ZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFU
QV9FUlIKKwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogWyB0cnVlIF0KK0V4cGVjdGluZyBl
eGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyB0cnVlIF0pOworUEFTUyBFeGNlcHRp
b24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VS
UgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIGZhbHNlIF0KK0V4cGVjdGluZyBleGNl
cHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyBmYWxzZSBdKTsKK1BBU1MgRXhjZXB0aW9u
IHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIK
KwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogWyBOYU4gXQorRXhwZWN0aW5nIGV4Y2VwdGlv
biBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIE5hTiBdKTsKK1BBU1MgRXhjZXB0aW9uIHdhcyB0
aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKKwordGVz
dGluZyBpbnZhbGlkIGFycmF5IGtleTogWyBudWxsIF0KK0V4cGVjdGluZyBleGNlcHRpb24gZnJv
bSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyBudWxsIF0pOworUEFTUyBFeGNlcHRpb24gd2FzIHRocm93
bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgorCit0ZXN0aW5n
IGludmFsaWQgYXJyYXkga2V5OiBbIHt9IF0KK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9y
ZS5wdXQoJ3ZhbHVlJywgWyB7fSBdKTsKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNT
IGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKKwordGVzdGluZyBpbnZhbGlk
IGFycmF5IGtleTogWyBmdW5jdGlvbiAoKSB7fSBdCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20g
c3RvcmUucHV0KCd2YWx1ZScsIFsgZnVuY3Rpb24gKCkge30gXSk7CitQQVNTIEV4Y2VwdGlvbiB3
YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCisK
K3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IFsgL3JlZ2V4LyBdCitFeHBlY3RpbmcgZXhjZXB0
aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIFsgL3JlZ2V4LyBdKTsKK1BBU1MgRXhjZXB0aW9u
IHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIK
KwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogWyB3aW5kb3cgXQorRXhwZWN0aW5nIGV4Y2Vw
dGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIHdpbmRvdyBdKTsKK1BBU1MgRXhjZXB0aW9u
IHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIK
KwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogWyB3aW5kb3cuZG9jdW1lbnQgXQorRXhwZWN0
aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIHdpbmRvdy5kb2N1bWVudCBd
KTsKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VF
eGNlcHRpb24uREFUQV9FUlIKKwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogWyB3aW5kb3cu
ZG9jdW1lbnQuYm9keSBdCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1
ZScsIFsgd2luZG93LmRvY3VtZW50LmJvZHkgXSk7CitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3du
LgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCisKK3Rlc3Rpbmcg
aW52YWxpZCBhcnJheSBrZXk6IGN5Y2xpY19hcnJheQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9t
IHN0b3JlLnB1dCgndmFsdWUnLCBjeWNsaWNfYXJyYXkpOworUEFTUyBFeGNlcHRpb24gd2FzIHRo
cm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgorCit0ZXN0
aW5nIGludmFsaWQgYXJyYXkga2V5OiBjeWNsaWNfYXJyYXkyCitFeHBlY3RpbmcgZXhjZXB0aW9u
IGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIGN5Y2xpY19hcnJheTIpOworUEFTUyBFeGNlcHRpb24g
d2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgor
Cit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBjeWNsaWNfYXJyYXkzCitFeHBlY3RpbmcgZXhj
ZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIGN5Y2xpY19hcnJheTMpOworUEFTUyBFeGNl
cHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRB
X0VSUgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBjeWNsaWNfYXJyYXk0CitFeHBlY3Rp
bmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIGN5Y2xpY19hcnJheTQpOworUEFT
UyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlv
bi5EQVRBX0VSUgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBBcnJheSgxMDAwKQorRXhw
ZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBBcnJheSgxMDAwKSk7CitQ
QVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0
aW9uLkRBVEFfRVJSCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXkt
dHlwZS1hcnJheS5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUt
YXJyYXkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45M2Y4OTA0YTBlOGM5NWVjNmVmYjAyOWIwMGYwMjQ2ZDYz
M2QyMGMwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
a2V5LXR5cGUtYXJyYXkuaHRtbApAQCAtMCwwICsxLDE5MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8
aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi8uLi9mYXN0L2pz
L3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy9zaGFyZWQuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3Jp
cHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdD4KKworZGVzY3Jp
cHRpb24oIlRlc3QgSW5kZXhlZERCIGtleSB0eXBlcyIpOworaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisK
K2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGV2YWxBbmRMb2coImluZGV4ZWREQiA9IHdpbmRvdy5p
bmRleGVkREIgfHwgd2luZG93LndlYmtpdEluZGV4ZWREQiB8fCB3aW5kb3cubW96SW5kZXhlZERC
OyIpOworICAgIHNob3VsZEJlRmFsc2UoImluZGV4ZWREQiA9PSBudWxsIik7CisKKyAgICBldmFs
QW5kTG9nKCJJREJUcmFuc2FjdGlvbiA9IHdpbmRvdy5JREJUcmFuc2FjdGlvbiB8fCB3aW5kb3cu
d2Via2l0SURCVHJhbnNhY3Rpb247Iik7CisgICAgc2hvdWxkQmVGYWxzZSgiSURCVHJhbnNhY3Rp
b24gPT0gbnVsbCIpOworCisgICAgZXZhbEFuZExvZygiSURCRGF0YWJhc2VFeGNlcHRpb24gPSB3
aW5kb3cuSURCRGF0YWJhc2VFeGNlcHRpb24gfHwgd2luZG93LndlYmtpdElEQkRhdGFiYXNlRXhj
ZXB0aW9uOyIpOworICAgIHNob3VsZEJlRmFsc2UoIklEQkRhdGFiYXNlRXhjZXB0aW9uID09IG51
bGwiKTsKKworCisgICAgbmFtZSA9IHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZTsKKyAgICBkZXNj
cmlwdGlvbiA9ICJNeSBUZXN0IERhdGFiYXNlIjsKKyAgICBvcGVucmVxID0gZXZhbEFuZExvZygi
aW5kZXhlZERCLm9wZW4obmFtZSwgZGVzY3JpcHRpb24pIik7CisgICAgb3BlbnJlcS5vbnN1Y2Nl
c3MgPSBvcGVuU3VjY2VzczsKKyAgICBvcGVucmVxLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JD
YWxsYmFjazsKK30KKworZnVuY3Rpb24gb3BlblN1Y2Nlc3MoKQoreworICAgIGV2YWxBbmRMb2co
ImRiID0gb3BlbnJlcS5yZXN1bHQiKTsKKyAgICBzZXR2ZXJyZXEgPSBldmFsQW5kTG9nKCJyZXF1
ZXN0ID0gZGIuc2V0VmVyc2lvbignMScpIik7CisgICAgc2V0dmVycmVxLm9uc3VjY2VzcyA9IHNl
dFZlcnNpb25TdWNjZXNzOworICAgIHNldHZlcnJlcS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9y
Q2FsbGJhY2s7Cit9CisKK2Z1bmN0aW9uIHNldFZlcnNpb25TdWNjZXNzKCkKK3sKKyAgICBkZWJ1
ZygicHJlcGFyaW5nIGRhdGFiYXNlIik7CisgICAgdHJhbnMgPSBzZXR2ZXJyZXEucmVzdWx0Owor
ICAgIHRyYW5zLm9uY29tcGxldGUgPSB0ZXN0VmFsaWRBcnJheUtleXM7CisgICAgZGVsZXRlQWxs
T2JqZWN0U3RvcmVzKGRiKTsKKyAgICBvYmplY3RTdG9yZSA9IGV2YWxBbmRMb2coImRiLmNyZWF0
ZU9iamVjdFN0b3JlKCdzdG9yZScpOyIpOworICAgIGRlYnVnKCIiKTsKK30KKworZnVuY3Rpb24g
dGVzdFZhbGlkQXJyYXlLZXlzKCkKK3sKKyAgICBldmFsQW5kTG9nKCJ0cmFucyA9IGRiLnRyYW5z
YWN0aW9uKCdzdG9yZScsIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpIik7CisgICAgZXZhbEFu
ZExvZygic3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmUnKSIpOworICAgIGRlYnVnKCIi
KTsKKworICAgIGV2YWxBbmRMb2coImxvbmdfYXJyYXkgPSBbXTsgZm9yIChpID0gMDsgaSA8IDEw
MDA7ICsraSkgeyBsb25nX2FycmF5LnB1c2goJ2FiYycsIDEyMywgbmV3IERhdGUoMCksIFtdKTsg
fSIpOworICAgIGRlYnVnKCIiKTsKKworICAgIGRlYnVnKCJhcnJheSB0aGF0IGNvbnRhaW5zIG5v
bi1udW1lcmljIHNlbGYtcmVmZXJlbmNlIik7CisgICAgZXZhbEFuZExvZygic2VsZl9yZWZlcnJl
bnRpYWxfYXJyYXkgPSBbXTsgc2VsZl9yZWZlcnJlbnRpYWxfYXJyYXkuc2VsZiA9IHNlbGZfcmVm
ZXJyZW50aWFsX2FycmF5OyIpOworICAgIGRlYnVnKCIiKTsKKworICAgIHZhciBuID0gMCwgY2Fz
ZXMgPSBbCisgICAgICAgICJbXSIsCisKKyAgICAgICAgIlstSW5maW5pdHldIiwKKyAgICAgICAg
IlstTnVtYmVyLk1BWF9WQUxVRV0iLAorICAgICAgICAiWy0xXSIsCisgICAgICAgICJbLU51bWJl
ci5NSU5fVkFMVUVdIiwKKyAgICAgICAgIlswXSIsCisgICAgICAgICJbTnVtYmVyLk1JTl9WQUxV
RV0iLAorICAgICAgICAiWzFdIiwKKyAgICAgICAgIltOdW1iZXIuTUFYX1ZBTFVFXSIsCisgICAg
ICAgICJbSW5maW5pdHldIiwKKworICAgICAgICAiWzEsMiwzXSIsCisKKyAgICAgICAgIltuZXcg
RGF0ZSgwKV0iLAorICAgICAgICAiW25ldyBEYXRlKCcyNTI1LTAxLTAxVDAwOjAwOjAwWicpXSIs
CisKKyAgICAgICAgIltuZXcgRGF0ZSgwKSwgbmV3IERhdGUoJzI1MjUtMDEtMDFUMDA6MDA6MDBa
JyldIiwKKworICAgICAgICAiWycnXSIsCisgICAgICAgICJbJ1x4MDAnXSIsCisgICAgICAgICJb
J2FiYzEyMyddIiwKKworICAgICAgICAiWydhYmMnLCAxMjNdIiwKKworICAgICAgICAiW1tdXSIs
CisKKyAgICAgICAgIltbXSwgW11dIiwKKyAgICAgICAgIltbXSwgW10sIFtdXSIsCisKKyAgICAg
ICAgIltbW11dXSIsCisgICAgICAgICJbW1tbXV1dXSIsCisKKyAgICAgICAgIlsxMjMsICdhYmMn
LCBuZXcgRGF0ZSgwKSwgW11dIiwKKyAgICAgICAgIltbMTIzLCAnYWJjJywgbmV3IERhdGUoMCks
IFtdXSwgWzQ1NiwgJ2RlZicsIG5ldyBEYXRlKDk5OSksIFtbXV1dXSIsCisKKyAgICAgICAgImxv
bmdfYXJyYXkiLAorICAgICAgICAic2VsZl9yZWZlcnJlbnRpYWxfYXJyYXkiCisgICAgXTsKKwor
ICAgIGZ1bmN0aW9uIHRlc3RBcnJheVB1dEdldCh2YWx1ZSwga2V5LCBjYWxsYmFjaykKKyAgICB7
CisgICAgICAgIGRlYnVnKCJ0ZXN0aW5nIGFycmF5IGtleTogIiArIGtleSk7CisgICAgICAgIHB1
dHJlcSA9IGV2YWxBbmRMb2coInN0b3JlLnB1dCgnIiArIHZhbHVlICsgIicsICIgKyBrZXkgKyAi
KTsiKTsKKyAgICAgICAgcHV0cmVxLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsK
KyAgICAgICAgcHV0cmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgZ2V0
cmVxID0gZXZhbEFuZExvZygic3RvcmUuZ2V0KCIgKyBrZXkgKyAiKTsiKTsKKyAgICAgICAgICAg
IGdldHJlcS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAgICAgICAgICBn
ZXRyZXEub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJnZXRyZXEucmVzdWx0IiwgdmFsdWUpOworICAgICAgICAgICAgICAgIGRl
YnVnKCIiKTsKKyAgICAgICAgICAgICAgICBjYWxsYmFjaygpOworICAgICAgICAgICAgfTsKKyAg
ICAgICAgfTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBuZXh0VGVzdCgpIHsKKyAgICAgICAgdmFy
IHRlc3RjYXNlID0gY2FzZXMuc2hpZnQoKTsKKyAgICAgICAgaWYgKHRlc3RjYXNlKSB7CisgICAg
ICAgICAgICB0ZXN0QXJyYXlQdXRHZXQoInZhbHVlIiArICgrK24pLCB0ZXN0Y2FzZSwgbmV4dFRl
c3QpOworICAgICAgICB9CisgICAgfQorCisgICAgbmV4dFRlc3QoKTsKKworICAgIHRyYW5zLm9u
Y29tcGxldGUgPSB0ZXN0SW52YWxpZEFycmF5S2V5czsKK30KKworCitmdW5jdGlvbiB0ZXN0SW52
YWxpZEFycmF5S2V5cygpCit7CisgICAgZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlv
bignc3RvcmUnLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIGV2YWxBbmRMb2co
InN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlJykiKTsKKyAgICBkZWJ1ZygiIik7CisK
KyAgICBkZWJ1ZygiYXJyYXkgdGhhdCBjb250YWlucyBpdHNlbGY6IGFycmF5ID0gWyBhcnJheSBd
Iik7CisgICAgZXZhbEFuZExvZygiY3ljbGljX2FycmF5ID0gW107IGN5Y2xpY19hcnJheS5wdXNo
KGN5Y2xpY19hcnJheSkiKTsKKyAgICBzaG91bGRUaHJvdygiSlNPTi5zdHJpbmdpZnkoY3ljbGlj
X2FycmF5KSIpOworCisgICAgZGVidWcoImFycmF5IHRoYXQgY29udGFpbnMgaXRzZWxmLCBvbmUg
bGV2ZWwgZG93bjogYXJyYXkgPSBbIFsgYXJyYXkgXSBdIik7CisgICAgZXZhbEFuZExvZygiY3lj
bGljX2FycmF5MiA9IFtdOyBjeWNsaWNfYXJyYXkyLnB1c2goW2N5Y2xpY19hcnJheTJdKSIpOwor
ICAgIHNob3VsZFRocm93KCJKU09OLnN0cmluZ2lmeShjeWNsaWNfYXJyYXkyKSIpOworCisgICAg
ZGVidWcoImFycmF5IHRoYXQgY29udGFpbnMgaXRzZWxmLCBub3QgYXMgZmlyc3QgZWxlbWVudDog
YXJyYXkgPSBbMSwgJ2InLCBbXSwgYXJyYXldIik7CisgICAgZXZhbEFuZExvZygiY3ljbGljX2Fy
cmF5MyA9IFsxLCAnYicsIFtdXTsgY3ljbGljX2FycmF5My5wdXNoKGN5Y2xpY19hcnJheTMpIik7
CisgICAgc2hvdWxkVGhyb3coIkpTT04uc3RyaW5naWZ5KGN5Y2xpY19hcnJheTMpIik7CisgICAg
ZGVidWcoIiIpOworCisgICAgZGVidWcoImFycmF5IHRoYXQgY29udGFpbnMgYXJyYXkgdGhhdCBj
b250YWlucyBpdHNlbGYiKTsKKyAgICBldmFsQW5kTG9nKCJjeWNsaWNfYXJyYXk0ID0gW2N5Y2xp
Y19hcnJheV07Iik7CisgICAgc2hvdWxkVGhyb3coIkpTT04uc3RyaW5naWZ5KGN5Y2xpY19hcnJh
eTQpIik7CisgICAgZGVidWcoIiIpOworCisgICAgdmFyIGludmFsaWRLZXlzID0gWworICAgICAg
ICAiWyB2b2lkIDAgXSIsIC8vIHVuZGVmaW5lZAorICAgICAgICAiWyB0cnVlIF0iLAorICAgICAg
ICAiWyBmYWxzZSBdIiwKKyAgICAgICAgIlsgTmFOIF0iLAorICAgICAgICAiWyBudWxsIF0iLAor
ICAgICAgICAiWyB7fSBdIiwKKyAgICAgICAgIlsgZnVuY3Rpb24gKCkge30gXSIsCisgICAgICAg
ICJbIC9yZWdleC8gXSIsCisgICAgICAgICJbIHdpbmRvdyBdIiwKKyAgICAgICAgIlsgd2luZG93
LmRvY3VtZW50IF0iLAorICAgICAgICAiWyB3aW5kb3cuZG9jdW1lbnQuYm9keSBdIiwKKyAgICAg
ICAgImN5Y2xpY19hcnJheSIsCisgICAgICAgICJjeWNsaWNfYXJyYXkyIiwKKyAgICAgICAgImN5
Y2xpY19hcnJheTMiLAorICAgICAgICAiY3ljbGljX2FycmF5NCIsCisgICAgICAgICJBcnJheSgx
MDAwKSIgLy8gc3BhcnNlCisgICAgXTsKKworICAgIGludmFsaWRLZXlzLmZvckVhY2goZnVuY3Rp
b24gKGtleSkgeworICAgICAgICBkZWJ1ZygidGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogIiAr
IGtleSk7CisgICAgICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLnB1dCgndmFsdWUn
LCAiICsga2V5ICsgIik7IiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSIik7CisgICAg
ICAgIGRlYnVnKCIiKTsKKyAgICB9KTsKKworICAgIGRvbmUoKTsKK30KKwordGVzdCgpOworCis8
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2tleXJhbmdlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2tleXJhbmdlLWV4cGVjdGVkLnR4dAppbmRleCBiZGJmMTVlYmM1M2EzNTk0NWNl
OWE2NjFhMTkxNTI5YzY0Y2MzMjczLi40NTRlYzkzYzU1YThmZTQzZTg5OWIzOTk1NGU5ODA5OTAx
ZDRmOTU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXlyYW5n
ZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5cmFu
Z2UtZXhwZWN0ZWQudHh0CkBAIC0yMDcsMTcgKzIwNywxNyBAQCBQQVNTIGtleVJhbmdlLmxvd2Vy
IGlzICdhYWYnCiBQQVNTIGtleVJhbmdlLnVwcGVyIGlzICdhYmYnCiBQQVNTIGtleVJhbmdlLmxv
d2VyT3BlbiBpcyB0cnVlCiBQQVNTIGtleVJhbmdlLnVwcGVyT3BlbiBpcyB0cnVlCi1QYXNzaW5n
IGFuIGludmFsaWQga2V5IGludG8gb25seShbXSkKK1Bhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50
byBvbmx5KHt9KQogUEFTUyBDYXVnaHQgZXhjZXB0aW9uOiBFcnJvcjogREFUQV9FUlI6IERPTSBJ
REJEYXRhYmFzZSBFeGNlcHRpb24gNQotUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIHVwcGVy
Qm91bmQoW10pCitQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gdXBwZXJCb3VuZCh7fSkKIFBB
U1MgQ2F1Z2h0IGV4Y2VwdGlvbjogRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhj
ZXB0aW9uIDUKLVBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBsb3dlckJvdW5kKFtdKQorUGFz
c2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGxvd2VyQm91bmQoe30pCiBQQVNTIENhdWdodCBleGNl
cHRpb246IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1QYXNz
aW5nIGFuIGludmFsaWQga2V5IGludG8gYm91bmQobnVsbCwgW10pCitQYXNzaW5nIGFuIGludmFs
aWQga2V5IGludG8gYm91bmQobnVsbCwge30pCiBQQVNTIENhdWdodCBleGNlcHRpb246IEVycm9y
OiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1QYXNzaW5nIGFuIGludmFs
aWQga2V5IGludG8gYm91bmQoW10sbnVsbCkKK1Bhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBi
b3VuZCh7fSxudWxsKQogUEFTUyBDYXVnaHQgZXhjZXB0aW9uOiBFcnJvcjogREFUQV9FUlI6IERP
TSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGJv
dW5kKFtdLCBbXSkKK1Bhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBib3VuZCh7fSwge30pCiBQ
QVNTIENhdWdodCBleGNlcHRpb246IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4
Y2VwdGlvbiA1CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleXJhbmdlLmh0bWwgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXlyYW5nZS5odG1sCmluZGV4IDAzMTEyZDE5MWZlOWQxYzll
NjU5NWVmODI0ODdjOGYxOTZmNDhiMjMuLjY3OGU5MmNmNmRjYmY0MDIwZWY0MGU1ZGE1NDdiMTYy
Yjg5Mjk0YWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleXJh
bmdlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5cmFuZ2UuaHRt
bApAQCAtMTI2LDQ4ICsxMjYsNDggQEAgZnVuY3Rpb24gdGVzdCgpCiAgICAgY2hlY2tCb3VuZEtl
eVJhbmdlKCInYWFmJyIsICInYWJmJyIsIHRydWUsIHRydWUpOwogCiAgICAgdHJ5IHsKLSAgICAg
ICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBvbmx5KFtdKSIpOwotICAgICAg
ICB3ZWJraXRJREJLZXlSYW5nZS5vbmx5KFtdKTsKKyAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4g
aW52YWxpZCBrZXkgaW50byBvbmx5KHt9KSIpOworICAgICAgICB3ZWJraXRJREJLZXlSYW5nZS5v
bmx5KHt9KTsKICAgICAgICAgdGVzdEZhaWxlZCgiTm8gZXhjZXB0aW9uIHRocm93biIpOwogICAg
IH0gY2F0Y2ggKGUpIHsKICAgICAgICAgdGVzdFBhc3NlZCgiQ2F1Z2h0IGV4Y2VwdGlvbjogIiAr
IGUudG9TdHJpbmcoKSk7CiAgICAgfQogCiAgICAgdHJ5IHsKLSAgICAgICAgZGVidWcoIlBhc3Np
bmcgYW4gaW52YWxpZCBrZXkgaW50byB1cHBlckJvdW5kKFtdKSIpOwotICAgICAgICB3ZWJraXRJ
REJLZXlSYW5nZS51cHBlckJvdW5kKFtdKTsKKyAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52
YWxpZCBrZXkgaW50byB1cHBlckJvdW5kKHt9KSIpOworICAgICAgICB3ZWJraXRJREJLZXlSYW5n
ZS51cHBlckJvdW5kKHt9KTsKICAgICAgICAgdGVzdEZhaWxlZCgiTm8gZXhjZXB0aW9uIHRocm93
biIpOwogICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgdGVzdFBhc3NlZCgiQ2F1Z2h0IGV4Y2Vw
dGlvbjogIiArIGUudG9TdHJpbmcoKSk7CiAgICAgfQogIAogICAgIHRyeSB7Ci0gICAgICAgIGRl
YnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gbG93ZXJCb3VuZChbXSkiKTsKLSAgICAg
ICAgd2Via2l0SURCS2V5UmFuZ2UubG93ZXJCb3VuZChbXSk7CisgICAgICAgIGRlYnVnKCJQYXNz
aW5nIGFuIGludmFsaWQga2V5IGludG8gbG93ZXJCb3VuZCh7fSkiKTsKKyAgICAgICAgd2Via2l0
SURCS2V5UmFuZ2UubG93ZXJCb3VuZCh7fSk7CiAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGV4Y2Vw
dGlvbiB0aHJvd24iKTsKICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgIHRlc3RQYXNzZWQoIkNh
dWdodCBleGNlcHRpb246ICIgKyBlLnRvU3RyaW5nKCkpOwogICAgIH0KIAogICAgIHRyeSB7Ci0g
ICAgICAgIGRlYnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gYm91bmQobnVsbCwgW10p
Iik7Ci0gICAgICAgIHdlYmtpdElEQktleVJhbmdlLmJvdW5kKG51bGwsIFtdKTsKKyAgICAgICAg
ZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBib3VuZChudWxsLCB7fSkiKTsKKyAg
ICAgICAgd2Via2l0SURCS2V5UmFuZ2UuYm91bmQobnVsbCwge30pOwogICAgICAgICB0ZXN0RmFp
bGVkKCJObyBleGNlcHRpb24gdGhyb3duIik7CiAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICB0
ZXN0UGFzc2VkKCJDYXVnaHQgZXhjZXB0aW9uOiAiICsgZS50b1N0cmluZygpKTsKICAgICB9CiAK
ICAgICB0cnkgewotICAgICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGJv
dW5kKFtdLG51bGwpIik7Ci0gICAgICAgIHdlYmtpdElEQktleVJhbmdlLmJvdW5kKFtdLCBudWxs
KTsKKyAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBib3VuZCh7fSxu
dWxsKSIpOworICAgICAgICB3ZWJraXRJREJLZXlSYW5nZS5ib3VuZCh7fSwgbnVsbCk7CiAgICAg
ICAgIHRlc3RGYWlsZWQoIk5vIGV4Y2VwdGlvbiB0aHJvd24iKTsKICAgICB9IGNhdGNoIChlKSB7
CiAgICAgICAgIHRlc3RQYXNzZWQoIkNhdWdodCBleGNlcHRpb246ICIgKyBlLnRvU3RyaW5nKCkp
OwogICAgIH0KIAogICAgIHRyeSB7Ci0gICAgICAgIGRlYnVnKCJQYXNzaW5nIGFuIGludmFsaWQg
a2V5IGludG8gYm91bmQoW10sIFtdKSIpOwotICAgICAgICB3ZWJraXRJREJLZXlSYW5nZS5ib3Vu
ZChbXSwgW10pOworICAgICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGJv
dW5kKHt9LCB7fSkiKTsKKyAgICAgICAgd2Via2l0SURCS2V5UmFuZ2UuYm91bmQoe30sIHt9KTsK
ICAgICAgICAgdGVzdEZhaWxlZCgiTm8gZXhjZXB0aW9uIHRocm93biIpOwogICAgIH0gY2F0Y2gg
KGUpIHsKICAgICAgICAgdGVzdFBhc3NlZCgiQ2F1Z2h0IGV4Y2VwdGlvbjogIiArIGUudG9TdHJp
bmcoKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3Rz
dG9yZS1iYXNpY3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
b2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4dAppbmRleCA2ZWNjNDMwYzM4NTk0ZWVjOGEw
YTViODAwZWMzZWI3OWJlMzgyNzE2Li5kMGQyNzhkN2MzYmY5M2EyNDFlOGI2NTkxYWYxMTQ3NjQy
ZWYwMWMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3Rz
dG9yZS1iYXNpY3MtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL29iamVjdHN0b3JlLWJhc2ljcy1leHBlY3RlZC50eHQKQEAgLTkzLDE5ICs5MywxOSBAQCBy
ZW1vdmVTdWNjZXNzKCk6CiBQQVNTIGV2ZW50LnRhcmdldC5yZXN1bHQgaXMgbnVsbAogc3RvcmUg
PSBldmVudC50YXJnZXQuc291cmNlCiBQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gc3RvcmUu
Z2V0KCkuCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUuZ2V0KFtdKQorRXhwZWN0aW5n
IGV4Y2VwdGlvbiBmcm9tIHN0b3JlLmdldCh7fSkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24u
CiBQQVNTIGNvZGUgaXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIFBhc3Np
bmcgYW4gaW52YWxpZCBrZXkgaW50byBzdG9yZS5kZWxldGUoKS4KLUV4cGVjdGluZyBleGNlcHRp
b24gZnJvbSBzdG9yZS5kZWxldGUoW10pCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUu
ZGVsZXRlKHt9KQogUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyB3ZWJr
aXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgogUGFzc2luZyBhbiBpbnZhbGlkIGtleSBp
bnRvIHN0b3JlLmFkZCgpLgotRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLmFkZChudWxs
LCBbXSkKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5hZGQobnVsbCwge30pCiBQQVNT
IEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBjb2RlIGlzIHdlYmtpdElEQkRhdGFiYXNlRXhj
ZXB0aW9uLkRBVEFfRVJSCiBQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gc3RvcmUucHV0KCku
Ci1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KG51bGwsIFtdKQorRXhwZWN0aW5n
IGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dChudWxsLCB7fSkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0
aHJvd24uCiBQQVNTIGNvZGUgaXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIK
IFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy5odG1sIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLmh0bWwKaW5kZXggYmIxNmM4OTc1
ODk4OWZkY2YxNzc0NGRjNTM1MzU3ODkwZTNlOWNhZC4uOWU3N2I3MWE4NTZhNTc1MjcxOTJiMWJl
MWM1OTVhODQzNzU4ZjljZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvb2JqZWN0c3RvcmUtYmFzaWNzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLmh0bWwKQEAgLTI0MSwxNiArMjQxLDE2IEBAIGZ1bmN0
aW9uIHJlbW92ZVN1Y2Nlc3MoKQogICAgIHZhciBzdG9yZSA9IGV2YWxBbmRMb2coInN0b3JlID0g
ZXZlbnQudGFyZ2V0LnNvdXJjZSIpOwogCiAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBr
ZXkgaW50byBzdG9yZS5nZXQoKS4iKTsKLSAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9y
ZS5nZXQoW10pIiwgIndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSIik7CisgICAg
ZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUuZ2V0KHt9KSIsICJ3ZWJraXRJREJEYXRhYmFz
ZUV4Y2VwdGlvbi5EQVRBX0VSUiIpOwogCiAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBr
ZXkgaW50byBzdG9yZS5kZWxldGUoKS4iKTsKLSAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJz
dG9yZS5kZWxldGUoW10pIiwgIndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSIik7
CisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUuZGVsZXRlKHt9KSIsICJ3ZWJraXRJ
REJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUiIpOwogCiAgICAgZGVidWcoIlBhc3NpbmcgYW4g
aW52YWxpZCBrZXkgaW50byBzdG9yZS5hZGQoKS4iKTsKLSAgICBldmFsQW5kRXhwZWN0RXhjZXB0
aW9uKCJzdG9yZS5hZGQobnVsbCwgW10pIiwgIndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLkRB
VEFfRVJSIik7CisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUuYWRkKG51bGwsIHt9
KSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUiIpOwogCiAgICAgZGVidWco
IlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBzdG9yZS5wdXQoKS4iKTsKLSAgICBldmFsQW5k
RXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5wdXQobnVsbCwgW10pIiwgIndlYmtpdElEQkRhdGFiYXNl
RXhjZXB0aW9uLkRBVEFfRVJSIik7CisgICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUu
cHV0KG51bGwsIHt9KSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUiIpOwog
CiAgICAgZG9uZSgpOwogfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvb3Blbi1jdXJzb3ItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIvb3Blbi1jdXJzb3ItZXhwZWN0ZWQudHh0CmluZGV4IDYwMjBlMjU2ZjdjM2EyNDg3Y2I3NTU2
MzJlZTQxZmJhMDE5MjA4OTEuLjNhOWUyMDI4MDNmYTA4YWY4ZDEwNzc0OGM1NDVkODM4YjgwNzM2
YWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY3Vyc29y
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWN1
cnNvci1leHBlY3RlZC50eHQKQEAgLTE5LDcgKzE5LDcgQEAgUEFTUyBldmVudC50YXJnZXQucmVz
dWx0LmRpcmVjdGlvbiBpcyAwCiBQQVNTIGV2ZW50LnRhcmdldC5yZXN1bHQua2V5IGlzICdteUtl
eScKIFBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdC52YWx1ZSBpcyAnbXlWYWx1ZScKIAotUGFzc2lu
ZyBhbiBpbnZhbGlkIGtleSBpbnRvIC5jb250aW51ZSgpLgorUGFzc2luZyBhbiBpbnZhbGlkIGtl
eSBpbnRvIC5jb250aW51ZSh7fSkuCiBQQVNTIENhdWdodCBleGNlcHRpb246IEVycm9yOiBEQVRB
X0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1CiAKIE9wZW5pbmcgYW4gZW1wdHkgY3Vy
c29yLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jdXJz
b3IuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY3Vyc29yLmh0bWwK
aW5kZXggOTE2MDYzMThkMjNjYzg3ZjMwOGY3MjQ2YzRmYTBjZTNhMGM3MGQ0My4uY2E5OTIyNTFh
ZDY4M2Y0MDY4NzRkYzY1NjBlYjgzNDNkYmVjN2VmNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jdXJzb3IuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9vcGVuLWN1cnNvci5odG1sCkBAIC0zOCw4ICszOCw4IEBAIGZ1bmN0aW9u
IGN1cnNvclN1Y2Nlc3MoKQogICAgIHNob3VsZEJlKCJldmVudC50YXJnZXQucmVzdWx0LnZhbHVl
IiwgIidteVZhbHVlJyIpOwogICAgIGRlYnVnKCIiKTsKICAgICB0cnkgewotICAgICAgICBkZWJ1
ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIC5jb250aW51ZSgpLiIpOwotICAgICAgICBl
dmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKFtdKTsKKyAgICAgICAgZGVidWcoIlBhc3Npbmcg
YW4gaW52YWxpZCBrZXkgaW50byAuY29udGludWUoe30pLiIpOworICAgICAgICBldmVudC50YXJn
ZXQucmVzdWx0LmNvbnRpbnVlKHt9KTsKICAgICAgICAgdGVzdEZhaWxlZCgiTm8gZXhjZXB0aW9u
IHRocm93biIpOwogICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgdGVzdFBhc3NlZCgiQ2F1Z2h0
IGV4Y2VwdGlvbjogIiArIGUudG9TdHJpbmcoKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113727</attachid>
            <date>2011-11-04 16:19:48 -0700</date>
            <delta_ts>2011-11-08 11:59:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-62284-20111104161947.patch</filename>
            <type>text/plain</type>
            <size>129411</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAxZjI0NzczMTkzNDk2M2VhZGNkZTA2ZjMwMjMwMDlmOGE4NzQxYmJmLi40
N2M5MzNhOGI1OGIxNGU2OWUyOGZjMmY0MzM0NjZhNjg3NmM3OWQ2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzggQEAKKzIwMTEtMTEtMDMgIEpvc2h1YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBJbmRleGVkREI6IGltcGxlbWVudCBjb21wb3VuZCAoYXJyYXkpIGtleSBz
dXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
MjI4NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRl
c3RzOiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Ita2V5LW9yZGVyLmh0bWwKKyAgICAgICAgICAg
ICAgIHN0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5Lmh0bWwKKworICAgICAgICAqIGJp
bmRpbmdzL2pzL0pTSURCS2V5Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgor
ICAgICAgICAqIGJpbmRpbmdzL3Y4L0lEQkJpbmRpbmdVdGlsaXRpZXMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6SURCS2V5Q3JlYXRvcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6OklEQktl
eUNyZWF0b3I6OklEQktleUNyZWF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5Q3JlYXRv
cjo6Y3JlYXRlSW50ZXJuYWwpOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRlSURCS2V5RnJvbVZh
bHVlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhJREJLZXlDdXN0b20uY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogc3RvcmFnZS9JREJLZXkuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6SURCS2V5Ojpjb21wYXJlKToKKyAgICAgICAgKiBzdG9yYWdlL0lE
QktleS5oOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5OjpjcmVhdGVBcnJheSk6CisgICAgICAg
IChXZWJDb3JlOjpJREJLZXk6OnZhbGlkKToKKyAgICAgICAgKFdlYkNvcmU6OklEQktleTo6YXJy
YXkpOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5Ojpjb21wYXJlVHlwZXMpOgorICAgICAgICAq
IHN0b3JhZ2UvSURCTGV2ZWxEQkNvZGluZy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJREJMZXZl
bERCQ29kaW5nOjpjb21wYXJlRW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3RoKToKKyAgICAgICAgKFdl
YkNvcmU6OklEQkxldmVsREJDb2Rpbmc6OmVuY29kZUlEQktleSk6CisgICAgICAgIChXZWJDb3Jl
OjpJREJMZXZlbERCQ29kaW5nOjpkZWNvZGVJREJLZXkpOgorICAgICAgICAoV2ViQ29yZTo6SURC
TGV2ZWxEQkNvZGluZzo6ZXh0cmFjdEVuY29kZWRJREJLZXkpOgorICAgICAgICAoV2ViQ29yZTo6
SURCTGV2ZWxEQkNvZGluZzo6a2V5VHlwZUJ5dGVUb0tleVR5cGUpOgorICAgICAgICAoV2ViQ29y
ZTo6SURCTGV2ZWxEQkNvZGluZzo6Y29tcGFyZUVuY29kZWRJREJLZXlzKToKKyAgICAgICAgKiBz
dG9yYWdlL0lEQkxldmVsREJDb2RpbmcuaDoKKwogMjAxMS0xMS0wNCAgUGF0cmljayBHYW5zdGVy
ZXIgIDxwYXJvZ2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIENNYWtlIGJ1aWxk
IGZpeCBmb3IgIUVOQUJMRShTUUxfREFUQUJBU0UpLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpp
bmRleCAxZDg5NzczNDc0M2MwYjJkNDRlMDIwZTFiYmU1MWZhZTU4MDdkYTNhLi4xMjk4ZTQyYjRh
MDZiMDdlNWU3ODdjYTcwNzBjM2FjMTFiZDFlNzgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDI1IEBACisyMDExLTExLTAzICBKb3NodWEgQmVsbCAgPGpzYmVsbEBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgSW5kZXhlZERCOiBpbXBsZW1lbnQgY29tcG91bmQgKGFycmF5
KSBrZXkgc3VwcG9ydAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NjIyODQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICAqIHB1YmxpYy9XZWJJREJLZXkuaDoKKyAgICAgICAgKiBzcmMvQXNzZXJ0TWF0Y2hpbmdF
bnVtcy5jcHA6CisgICAgICAgICogc3JjL1dlYklEQktleS5jcHA6CisgICAgICAgIChXZWJLaXQ6
OldlYklEQktleTo6Y3JlYXRlQXJyYXkpOgorICAgICAgICAoV2ViS2l0Ojpjb252ZXJ0RnJvbVdl
YklEQktleUFycmF5KToKKyAgICAgICAgKFdlYktpdDo6Y29udmVydFRvV2ViSURCS2V5QXJyYXkp
OgorICAgICAgICAoV2ViS2l0OjpXZWJJREJLZXk6OmFzc2lnbkFycmF5KToKKyAgICAgICAgKFdl
YktpdDo6V2ViSURCS2V5OjphcnJheSk6CisgICAgICAgICogdGVzdHMvSURCQmluZGluZ1V0aWxp
dGllc1Rlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VEVTVCk6CisgICAgICAgICogdGVzdHMv
SURCTGV2ZWxEQkNvZGluZ1Rlc3QuY3BwOgorICAgICAgICAoSURCTGV2ZWxEQkNvZGluZzo6Y3Jl
YXRlQXJyYXlJREJLZXkpOgorICAgICAgICAoSURCTGV2ZWxEQkNvZGluZzo6VEVTVCk6CisgICAg
ICAgIChJREJMZXZlbERCQ29kaW5nOjpjb21wYXJlU3RyaW5ncyk6CisKIDIwMTEtMTEtMDIgIFhp
YW9tZWkgSmkgIDx4amlAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEVuYWJsZSBjdHJsLWFycm93
IG1vdmUgY3Vyc29yIGJ5IHdvcmQgaW4gdmlzdWFsIG9yZGVyIGluIGNyLXdpbiBieSBjb21tYW5k
IGxpbmUgZmxhZy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSURC
S2V5Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTSURCS2V5Q3VzdG9t
LmNwcAppbmRleCAxMDI3OGYzY2NmMWY0YTY2NmRkODZlOTk5MDc3ZWY5ZGU4MTJiNDkzLi42MmZh
N2NiZTE4ZmM5OWY4MTc4OTk3OWIxMDE2YmY3ZTRlMjRlZTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0lEQktleUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNJREJLZXlDdXN0b20uY3BwCkBAIC00OCw2ICs0OCw3IEBAIEpTVmFs
dWUgdG9KUyhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiwgSURCS2V5KiBrZXkp
CiAgICAgY2FzZSBJREJLZXk6OlN0cmluZ1R5cGU6CiAgICAgICAgIHJldHVybiBqc1N0cmluZyhl
eGVjLCBrZXktPnN0cmluZygpKTsKICAgICAvLyBGSVhNRTogSW1wbGVtZW50IGRhdGVzLgorICAg
IC8vIEZJWE1FOiBJbXBsZW1lbnQgYXJyYXlzLgogICAgIH0KIAogICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvSURCQmluZGlu
Z1V0aWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9JREJCaW5kaW5nVXRp
bGl0aWVzLmNwcAppbmRleCBjYjZhYjBhN2RjZDViZWE3MzU1YjBiOWIxNGUxNTIxODJkYWNmZTg5
Li40NTM5ZWM4NGNkOTNhZDdiMGM2M2U4NzJjMTg3MzgzZDExNDE1YzhmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9JREJCaW5kaW5nVXRpbGl0aWVzLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9JREJCaW5kaW5nVXRpbGl0aWVzLmNwcApAQCAtMSw1
ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zOCw3ICszOCw5
IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0ZUlE
QktleUZyb21WYWx1ZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUpCitzdGF0aWMgY29uc3Qg
c2l6ZV90IG1heGltdW1EZXB0aCA9IDIwMDAwOworCitzdGF0aWMgUGFzc1JlZlB0cjxJREJLZXk+
IGNyZWF0ZUlEQktleUZyb21WYWx1ZSh2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdmFsdWUsIFZlY3Rv
cjx2ODo6SGFuZGxlPHY4OjpBcnJheT4gPiYgc3RhY2spCiB7CiAgICAgaWYgKHZhbHVlLT5Jc051
bWJlcigpICYmICFpc25hbih2YWx1ZS0+TnVtYmVyVmFsdWUoKSkpCiAgICAgICAgIHJldHVybiBJ
REJLZXk6OmNyZWF0ZU51bWJlcih2YWx1ZS0+TnVtYmVyVmFsdWUoKSk7CkBAIC00Niw3ICs0OCwz
NyBAQCBQYXNzUmVmUHRyPElEQktleT4gY3JlYXRlSURCS2V5RnJvbVZhbHVlKHY4OjpIYW5kbGU8
djg6OlZhbHVlPiB2YWx1ZSkKICAgICAgICAgcmV0dXJuIElEQktleTo6Y3JlYXRlU3RyaW5nKHY4
VmFsdWVUb1dlYkNvcmVTdHJpbmcodmFsdWUpKTsKICAgICBpZiAodmFsdWUtPklzRGF0ZSgpKQog
ICAgICAgICByZXR1cm4gSURCS2V5OjpjcmVhdGVEYXRlKHZhbHVlLT5OdW1iZXJWYWx1ZSgpKTsK
KyAgICBpZiAodmFsdWUtPklzQXJyYXkoKSkgeworICAgICAgICB2ODo6SGFuZGxlPHY4OjpBcnJh
eT4gYXJyYXkgPSB2ODo6SGFuZGxlPHY4OjpBcnJheT46OkNhc3QodmFsdWUpOworCisgICAgICAg
IGlmIChzdGFjay5jb250YWlucyhhcnJheSkpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAg
ICAgaWYgKHN0YWNrLnNpemUoKSA+PSBtYXhpbXVtRGVwdGgpCisgICAgICAgICAgICByZXR1cm4g
MDsKKyAgICAgICAgc3RhY2suYXBwZW5kKGFycmF5KTsKKworICAgICAgICBJREJLZXk6OktleUFy
cmF5IHN1YmtleXM7CisgICAgICAgIHVpbnQzMl90IGxlbmd0aCA9IGFycmF5LT5MZW5ndGgoKTsK
KyAgICAgICAgZm9yICh1aW50MzJfdCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKSB7CisgICAgICAg
ICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiBpdGVtID0gYXJyYXktPkdldCh2ODo6SW50MzI6Ok5l
dyhpKSk7CisgICAgICAgICAgICBSZWZQdHI8SURCS2V5PiBzdWJrZXkgPSBjcmVhdGVJREJLZXlG
cm9tVmFsdWUoaXRlbSwgc3RhY2spOworICAgICAgICAgICAgaWYgKCFzdWJrZXkpCisgICAgICAg
ICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICBzdWJrZXlzLmFwcGVuZChzdWJrZXkpOwor
ICAgICAgICB9CisKKyAgICAgICAgc3RhY2sucmVtb3ZlTGFzdCgpOworICAgICAgICByZXR1cm4g
SURCS2V5OjpjcmVhdGVBcnJheShzdWJrZXlzKTsKKyAgICB9CisgICAgcmV0dXJuIDA7Cit9CiAK
K1Bhc3NSZWZQdHI8SURCS2V5PiBjcmVhdGVJREJLZXlGcm9tVmFsdWUodjg6OkhhbmRsZTx2ODo6
VmFsdWU+IHZhbHVlKQoreworICAgIFZlY3Rvcjx2ODo6SGFuZGxlPHY4OjpBcnJheT4gPiBzdGFj
azsKKyAgICBSZWZQdHI8SURCS2V5PiBrZXkgPSBjcmVhdGVJREJLZXlGcm9tVmFsdWUodmFsdWUs
IHN0YWNrKTsKKyAgICBpZiAoa2V5KQorICAgICAgICByZXR1cm4ga2V5OwogICAgIHJldHVybiBJ
REJLZXk6OmNyZWF0ZUludmFsaWQoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvdjgvY3VzdG9tL1Y4SURCS2V5Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOElEQktleUN1c3RvbS5jcHAKaW5kZXggM2I0ZWRhODc3ZWFmN2Fl
MzVlNmIxY2RlZGJhMmZhMTc5MzNiNWRkZS4uMGZiZmUxYmYyNjc0OWY3Nzg4MDkwODQ1NjAwYzA2
NDA2MmMzOWU2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9t
L1Y4SURCS2V5Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhJREJLZXlDdXN0b20uY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zNCw2ICszNCw4IEBACiAjaW5jbHVkZSAiSURCS2V5Lmgi
CiAjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCiAKKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAogdjg6OkhhbmRsZTx2ODo6VmFsdWU+IHRvVjgoSURCS2V5KiBr
ZXkpCkBAIC00Myw2ICs0NSw3IEBAIHY4OjpIYW5kbGU8djg6OlZhbHVlPiB0b1Y4KElEQktleSog
a2V5KQogCiAgICAgc3dpdGNoIChrZXktPnR5cGUoKSkgewogICAgIGNhc2UgSURCS2V5OjpJbnZh
bGlkVHlwZToKKyAgICBjYXNlIElEQktleTo6TWluVHlwZToKICAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CiAgICAgICAgIHJldHVybiB2ODo6VW5kZWZpbmVkKCk7CiAgICAgY2FzZSBJREJL
ZXk6Ok51bWJlclR5cGU6CkBAIC01MSw2ICs1NCwxMyBAQCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4g
dG9WOChJREJLZXkqIGtleSkKICAgICAgICAgcmV0dXJuIHY4U3RyaW5nKGtleS0+c3RyaW5nKCkp
OwogICAgIGNhc2UgSURCS2V5OjpEYXRlVHlwZToKICAgICAgICAgcmV0dXJuIHY4OjpEYXRlOjpO
ZXcoa2V5LT5kYXRlKCkpOworICAgIGNhc2UgSURCS2V5OjpBcnJheVR5cGU6CisgICAgICAgIHsK
KyAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6QXJyYXk+IGFycmF5ID0gdjg6OkFycmF5OjpOZXco
a2V5LT5hcnJheSgpLnNpemUoKSk7CisgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8
IGtleS0+YXJyYXkoKS5zaXplKCk7ICsraSkKKyAgICAgICAgICAgICAgICBhcnJheS0+U2V0KGks
IHRvVjgoa2V5LT5hcnJheSgpW2ldLmdldCgpKSk7CisgICAgICAgICAgICByZXR1cm4gYXJyYXk7
CisgICAgICAgIH0KICAgICB9CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0
b3JhZ2UvSURCS2V5LmNwcAppbmRleCA1ZTUyNmNlMjIzOWI5OGQzODZmYTg3MmIyMDdhOWIwZTNj
MDllOWVlLi5lOTI5N2Q2NDBhZmRlYTE2N2I5YjdkOTA4NDZkZDA5ZDE4ZDEyNjYwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQktleS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9JREJLZXkuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChD
KSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKQEAgLTQ2LDYgKzQ2LDE2IEBAIGludCBJREJLZXk6OmNvbXBhcmUoY29u
c3QgSURCS2V5KiBvdGhlcikgY29uc3QKICAgICAgICAgcmV0dXJuIG1fdHlwZSA+IG90aGVyLT5t
X3R5cGUgPyAtMSA6IDE7CiAKICAgICBzd2l0Y2ggKG1fdHlwZSkgeworICAgIGNhc2UgQXJyYXlU
eXBlOgorICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fYXJyYXkuc2l6ZSgpICYmIGkg
PCBvdGhlci0+bV9hcnJheS5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgaWYgKGludCByZXN1
bHQgPSBtX2FycmF5W2ldLT5jb21wYXJlKG90aGVyLT5tX2FycmF5W2ldLmdldCgpKSkKKyAgICAg
ICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAgICB9CisgICAgICAgIGlmIChtX2FycmF5
LnNpemUoKSA8IG90aGVyLT5tX2FycmF5LnNpemUoKSkKKyAgICAgICAgICAgIHJldHVybiAtMTsK
KyAgICAgICAgaWYgKG1fYXJyYXkuc2l6ZSgpID4gb3RoZXItPm1fYXJyYXkuc2l6ZSgpKQorICAg
ICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIHJldHVybiAwOwogICAgIGNhc2UgU3RyaW5nVHlw
ZToKICAgICAgICAgcmV0dXJuIC1jb2RlUG9pbnRDb21wYXJlKG90aGVyLT5tX3N0cmluZywgbV9z
dHJpbmcpOwogICAgIGNhc2UgRGF0ZVR5cGU6CkBAIC01NSw2ICs2NSw3IEBAIGludCBJREJLZXk6
OmNvbXBhcmUoY29uc3QgSURCS2V5KiBvdGhlcikgY29uc3QKICAgICAgICAgcmV0dXJuIChtX251
bWJlciA8IG90aGVyLT5tX251bWJlcikgPyAtMSA6CiAgICAgICAgICAgICAgICAgKG1fbnVtYmVy
ID4gb3RoZXItPiBtX251bWJlcikgPyAxIDogMDsKICAgICBjYXNlIEludmFsaWRUeXBlOgorICAg
IGNhc2UgTWluVHlwZToKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJl
dHVybiAwOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5
LmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQktleS5oCmluZGV4IGM5YTFiNDdkYWJjM2E0
ZjJlOTMwMWI1N2YwM2NmY2Y3OGFhYzkxNWQuLjkxYzkyNTc0NjUxOTk3NDZkMDY1ZTBlYmUxNWVh
ZDY1YTQxMWRhZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJLZXkuaApAQCAtMSw1ICsxLDUgQEAKIC8q
Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMSwxMSArMzEsMTQgQEAKICNpbmNs
dWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVk
ZSA8d3RmL1RocmVhZGluZy5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBJREJLZXkgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8
SURCS2V5PiB7CiBwdWJsaWM6CisgICAgdHlwZWRlZiBWZWN0b3I8UmVmUHRyPElEQktleT4gPiBL
ZXlBcnJheTsKKwogICAgIHN0YXRpYyBQYXNzUmVmUHRyPElEQktleT4gY3JlYXRlSW52YWxpZCgp
CiAgICAgewogICAgICAgICBSZWZQdHI8SURCS2V5PiBpZGJLZXkobmV3IElEQktleSgpKTsKQEAg
LTY3LDE3ICs3MCwzNCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBpZGJLZXkucmVsZWFzZSgp
OwogICAgIH0KIAorICAgIHN0YXRpYyBQYXNzUmVmUHRyPElEQktleT4gY3JlYXRlQXJyYXkoY29u
c3QgS2V5QXJyYXkmIGFycmF5KQorICAgIHsKKyAgICAgICAgUmVmUHRyPElEQktleT4gaWRiS2V5
KG5ldyBJREJLZXkoKSk7CisgICAgICAgIGlkYktleS0+bV90eXBlID0gQXJyYXlUeXBlOworICAg
ICAgICBpZGJLZXktPm1fYXJyYXkgPSBhcnJheTsKKyAgICAgICAgcmV0dXJuIGlkYktleS5yZWxl
YXNlKCk7CisgICAgfQorCiAgICAgfklEQktleSgpOwogCiAgICAgLy8gSW4gb3JkZXIgb2YgdGhl
IGxlYXN0IHRvIHRoZSBoaWdoZXN0IHByZWNlZGVudCBpbiB0ZXJtcyBvZiBzb3J0IG9yZGVyLgog
ICAgIGVudW0gVHlwZSB7CiAgICAgICAgIEludmFsaWRUeXBlID0gMCwKKyAgICAgICAgQXJyYXlU
eXBlLAogICAgICAgICBTdHJpbmdUeXBlLAogICAgICAgICBEYXRlVHlwZSwKLSAgICAgICAgTnVt
YmVyVHlwZQorICAgICAgICBOdW1iZXJUeXBlLAorICAgICAgICBNaW5UeXBlCiAgICAgfTsKIAog
ICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQorICAgIGJvb2wgdmFsaWQo
KSBjb25zdCB7IHJldHVybiBtX3R5cGUgIT0gSW52YWxpZFR5cGU7IH0KKworICAgIGNvbnN0IEtl
eUFycmF5JiBhcnJheSgpIGNvbnN0CisgICAgeworICAgICAgICBBU1NFUlQobV90eXBlID09IEFy
cmF5VHlwZSk7CisgICAgICAgIHJldHVybiBtX2FycmF5OworICAgIH0KIAogICAgIGNvbnN0IFN0
cmluZyYgc3RyaW5nKCkgY29uc3QKICAgICB7CkBAIC0xMDEsNiArMTIxLDExIEBAIHB1YmxpYzoK
ICAgICBib29sIGlzTGVzc1RoYW4oY29uc3QgSURCS2V5KiBvdGhlcikgY29uc3Q7CiAgICAgYm9v
bCBpc0VxdWFsKGNvbnN0IElEQktleSogb3RoZXIpIGNvbnN0OwogCisgICAgc3RhdGljIGludCBj
b21wYXJlVHlwZXMoVHlwZSBhLCBUeXBlIGIpCisgICAgeworICAgICAgICByZXR1cm4gYiAtIGE7
CisgICAgfQorCiAgICAgdXNpbmcgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8SURCS2V5Pjo6cmVmOwog
ICAgIHVzaW5nIFRocmVhZFNhZmVSZWZDb3VudGVkPElEQktleT46OmRlcmVmOwogCkBAIC0xMDgs
NiArMTMzLDcgQEAgcHJpdmF0ZToKICAgICBJREJLZXkoKTsKIAogICAgIFR5cGUgbV90eXBlOwor
ICAgIEtleUFycmF5IG1fYXJyYXk7CiAgICAgU3RyaW5nIG1fc3RyaW5nOwogICAgIGRvdWJsZSBt
X2RhdGU7CiAgICAgZG91YmxlIG1fbnVtYmVyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
c3RvcmFnZS9JREJMZXZlbERCQ29kaW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURC
TGV2ZWxEQkNvZGluZy5jcHAKaW5kZXggN2NjNGFlZDAwZThiNTQ4ZGQ0YWFkOWFiNDdiNDNhYTE3
YWM0NGQ2MS4uMjBmNDVhYjVmOWE0ZmQ1NGJlNTE3MDExZGU2OWY1MmI3MzRlYzcyNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJMZXZlbERCQ29kaW5nLmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkxldmVsREJDb2RpbmcuY3BwCkBAIC0xMjksNyArMTI5
LDggQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIga0lEQktleU51bGxUeXBlQnl0ZSA9IDA7
CiBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBrSURCS2V5U3RyaW5nVHlwZUJ5dGUgPSAxOwog
c3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIga0lEQktleURhdGVUeXBlQnl0ZSA9IDI7CiBzdGF0
aWMgY29uc3QgdW5zaWduZWQgY2hhciBrSURCS2V5TnVtYmVyVHlwZUJ5dGUgPSAzOwotc3RhdGlj
IGNvbnN0IHVuc2lnbmVkIGNoYXIga0lEQktleU1pbktleVR5cGVCeXRlID0gNDsKK3N0YXRpYyBj
b25zdCB1bnNpZ25lZCBjaGFyIGtJREJLZXlBcnJheVR5cGVCeXRlID0gNDsKK3N0YXRpYyBjb25z
dCB1bnNpZ25lZCBjaGFyIGtJREJLZXlNaW5LZXlUeXBlQnl0ZSA9IDU7CiAKIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBjaGFyIGtPYmplY3RTdG9yZURhdGFJbmRleElkID0gMTsKIHN0YXRpYyBjb25z
dCB1bnNpZ25lZCBjaGFyIGtFeGlzdHNFbnRyeUluZGV4SWQgPSAyOwpAQCAtMzAxLDggKzMwMiw5
IEBAIGNvbnN0IGNoYXIqIGRlY29kZVN0cmluZ1dpdGhMZW5ndGgoY29uc3QgY2hhciogcCwgY29u
c3QgY2hhciogbGltaXQsIFN0cmluZyYgZm91CiAgICAgcmV0dXJuIHA7CiB9CiAKLWludCBjb21w
YXJlRW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3RoKGNvbnN0IGNoYXIqIHAsIGNvbnN0IGNoYXIqIGxp
bWl0UCwgY29uc3QgY2hhciogcSwgY29uc3QgY2hhciogbGltaXRRKQoraW50IGNvbXBhcmVFbmNv
ZGVkU3RyaW5nc1dpdGhMZW5ndGgoY29uc3QgY2hhciomIHAsIGNvbnN0IGNoYXIqIGxpbWl0UCwg
Y29uc3QgY2hhciomIHEsIGNvbnN0IGNoYXIqIGxpbWl0USkKIHsKKyAgICBBU1NFUlQoJnAgIT0g
JnEpOwogICAgIEFTU0VSVChsaW1pdFAgPj0gcCk7CiAgICAgQVNTRVJUKGxpbWl0USA+PSBxKTsK
ICAgICBpbnQ2NF90IGxlblAsIGxlblE7CkBAIC0zMTQsOCArMzE2LDE2IEBAIGludCBjb21wYXJl
RW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3RoKGNvbnN0IGNoYXIqIHAsIGNvbnN0IGNoYXIqIGxpbWl0
UCwgY29uc3QgY2hhCiAgICAgQVNTRVJUKHAgKyBsZW5QICogMiA8PSBsaW1pdFApOwogICAgIEFT
U0VSVChxICsgbGVuUSAqIDIgPD0gbGltaXRRKTsKIAorICAgIGNvbnN0IGNoYXIqIHN0YXJ0UCA9
IHA7CisgICAgY29uc3QgY2hhciogc3RhcnRRID0gcTsKKyAgICBwICs9IGxlblAgKiAyOworICAg
IHEgKz0gbGVuUSAqIDI7CisKKyAgICBpZiAocCA+IGxpbWl0UCB8fCBxID4gbGltaXRRKQorICAg
ICAgICByZXR1cm4gMDsKKwogICAgIGNvbnN0IHNpemVfdCBsbWluID0gc3RhdGljX2Nhc3Q8c2l6
ZV90PihsZW5QIDwgbGVuUSA/IGxlblAgOiBsZW5RKTsKLSAgICBpZiAoaW50IHggPSBtZW1jbXAo
cCwgcSwgbG1pbiAqIDIpKQorICAgIGlmIChpbnQgeCA9IG1lbWNtcChzdGFydFAsIHN0YXJ0USwg
bG1pbiAqIDIpKQogICAgICAgICByZXR1cm4geDsKIAogICAgIGlmIChsZW5QID09IGxlblEpCkBA
IC0zNDgsMzEgKzM1OCw1MCBAQCBjb25zdCBjaGFyKiBkZWNvZGVEb3VibGUoY29uc3QgY2hhciog
cCwgY29uc3QgY2hhciogbGltaXQsIGRvdWJsZSogZCkKIFZlY3RvcjxjaGFyPiBlbmNvZGVJREJL
ZXkoY29uc3QgSURCS2V5JiBrZXkpCiB7CiAgICAgVmVjdG9yPGNoYXI+IHJldDsKKyAgICBlbmNv
ZGVJREJLZXkoa2V5LCByZXQpOworICAgIHJldHVybiByZXQ7Cit9CiAKK3ZvaWQgZW5jb2RlSURC
S2V5KGNvbnN0IElEQktleSYga2V5LCBWZWN0b3I8Y2hhcj4mIGludG8pCit7CisgICAgc2l6ZV90
IHByZXZpb3VzU2l6ZSA9IGludG8uc2l6ZSgpOwogICAgIHN3aXRjaCAoa2V5LnR5cGUoKSkgewog
ICAgIGNhc2UgSURCS2V5OjpJbnZhbGlkVHlwZToKKyAgICBjYXNlIElEQktleTo6TWluVHlwZToK
ICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0gICAgICAgIHJldHVybiBlbmNvZGVCeXRl
KGtJREJLZXlOdWxsVHlwZUJ5dGUpOworICAgICAgICBpbnRvLmFwcGVuZChlbmNvZGVCeXRlKGtJ
REJLZXlOdWxsVHlwZUJ5dGUpKTsKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgSURCS2V5OjpB
cnJheVR5cGU6CisgICAgICAgIHsKKyAgICAgICAgICAgIGludG8uYXBwZW5kKGVuY29kZUJ5dGUo
a0lEQktleUFycmF5VHlwZUJ5dGUpKTsKKyAgICAgICAgICAgIHNpemVfdCBsZW5ndGggPSBrZXku
YXJyYXkoKS5zaXplKCk7CisgICAgICAgICAgICBpbnRvLmFwcGVuZChlbmNvZGVWYXJJbnQobGVu
Z3RoKSk7CisgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGxlbmd0aDsgKytpKQor
ICAgICAgICAgICAgICAgIGVuY29kZUlEQktleSgqa2V5LmFycmF5KClbaV0sIGludG8pOworICAg
ICAgICAgICAgQVNTRVJUX1VOVVNFRChwcmV2aW91c1NpemUsIGludG8uc2l6ZSgpID4gcHJldmlv
dXNTaXplKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQogICAgIGNhc2UgSURCS2V5
OjpTdHJpbmdUeXBlOgotICAgICAgICByZXQgPSBlbmNvZGVCeXRlKGtJREJLZXlTdHJpbmdUeXBl
Qnl0ZSk7Ci0gICAgICAgIHJldC5hcHBlbmQoZW5jb2RlU3RyaW5nV2l0aExlbmd0aChrZXkuc3Ry
aW5nKCkpKTsKLSAgICAgICAgcmV0dXJuIHJldDsKKyAgICAgICAgaW50by5hcHBlbmQoZW5jb2Rl
Qnl0ZShrSURCS2V5U3RyaW5nVHlwZUJ5dGUpKTsKKyAgICAgICAgaW50by5hcHBlbmQoZW5jb2Rl
U3RyaW5nV2l0aExlbmd0aChrZXkuc3RyaW5nKCkpKTsKKyAgICAgICAgQVNTRVJUX1VOVVNFRChw
cmV2aW91c1NpemUsIGludG8uc2l6ZSgpID4gcHJldmlvdXNTaXplKTsKKyAgICAgICAgcmV0dXJu
OwogICAgIGNhc2UgSURCS2V5OjpEYXRlVHlwZToKLSAgICAgICAgcmV0ID0gZW5jb2RlQnl0ZShr
SURCS2V5RGF0ZVR5cGVCeXRlKTsKLSAgICAgICAgcmV0LmFwcGVuZChlbmNvZGVEb3VibGUoa2V5
LmRhdGUoKSkpOwotICAgICAgICBBU1NFUlQocmV0LnNpemUoKSA9PSA5KTsKLSAgICAgICAgcmV0
dXJuIHJldDsKKyAgICAgICAgaW50by5hcHBlbmQoZW5jb2RlQnl0ZShrSURCS2V5RGF0ZVR5cGVC
eXRlKSk7CisgICAgICAgIGludG8uYXBwZW5kKGVuY29kZURvdWJsZShrZXkuZGF0ZSgpKSk7Cisg
ICAgICAgIEFTU0VSVF9VTlVTRUQocHJldmlvdXNTaXplLCBpbnRvLnNpemUoKSAtIHByZXZpb3Vz
U2l6ZSA9PSA5KTsKKyAgICAgICAgcmV0dXJuOwogICAgIGNhc2UgSURCS2V5OjpOdW1iZXJUeXBl
OgotICAgICAgICByZXQgPSBlbmNvZGVCeXRlKGtJREJLZXlOdW1iZXJUeXBlQnl0ZSk7Ci0gICAg
ICAgIHJldC5hcHBlbmQoZW5jb2RlRG91YmxlKGtleS5udW1iZXIoKSkpOwotICAgICAgICBBU1NF
UlQocmV0LnNpemUoKSA9PSA5KTsKLSAgICAgICAgcmV0dXJuIHJldDsKKyAgICAgICAgaW50by5h
cHBlbmQoZW5jb2RlQnl0ZShrSURCS2V5TnVtYmVyVHlwZUJ5dGUpKTsKKyAgICAgICAgaW50by5h
cHBlbmQoZW5jb2RlRG91YmxlKGtleS5udW1iZXIoKSkpOworICAgICAgICBBU1NFUlRfVU5VU0VE
KHByZXZpb3VzU2l6ZSwgaW50by5zaXplKCkgLSBwcmV2aW91c1NpemUgPT0gOSk7CisgICAgICAg
IHJldHVybjsKICAgICB9CiAKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKLSAgICByZXR1cm4g
VmVjdG9yPGNoYXI+KCk7CiB9CiAKKwogY29uc3QgY2hhciogZGVjb2RlSURCS2V5KGNvbnN0IGNo
YXIqIHAsIGNvbnN0IGNoYXIqIGxpbWl0LCBSZWZQdHI8SURCS2V5PiYgZm91bmRLZXkpCiB7CiAg
ICAgQVNTRVJUKGxpbWl0ID49IHApOwpAQCAtMzgwLDM1ICs0MDksNTggQEAgY29uc3QgY2hhciog
ZGVjb2RlSURCS2V5KGNvbnN0IGNoYXIqIHAsIGNvbnN0IGNoYXIqIGxpbWl0LCBSZWZQdHI8SURC
S2V5PiYgZm91bmQKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICB1bnNpZ25lZCBjaGFyIHR5cGUg
PSAqcCsrOwotICAgIFN0cmluZyBzOwotICAgIGRvdWJsZSBkOwogCiAgICAgc3dpdGNoICh0eXBl
KSB7CiAgICAgY2FzZSBrSURCS2V5TnVsbFR5cGVCeXRlOgotICAgICAgICAvLyBOdWxsLgogICAg
ICAgICBmb3VuZEtleSA9IElEQktleTo6Y3JlYXRlSW52YWxpZCgpOwogICAgICAgICByZXR1cm4g
cDsKKworICAgIGNhc2Uga0lEQktleUFycmF5VHlwZUJ5dGU6CisgICAgICAgIHsKKyAgICAgICAg
ICAgIGludDY0X3QgbGVuZ3RoOworICAgICAgICAgICAgcCA9IGRlY29kZVZhckludChwLCBsaW1p
dCwgbGVuZ3RoKTsKKyAgICAgICAgICAgIGlmICghcCkKKyAgICAgICAgICAgICAgICByZXR1cm4g
MDsKKyAgICAgICAgICAgIGlmIChsZW5ndGggPCAwKQorICAgICAgICAgICAgICAgIHJldHVybiAw
OworICAgICAgICAgICAgSURCS2V5OjpLZXlBcnJheSBhcnJheTsKKyAgICAgICAgICAgIHdoaWxl
IChsZW5ndGgtLSkgeworICAgICAgICAgICAgICAgIFJlZlB0cjxJREJLZXk+IGtleTsKKyAgICAg
ICAgICAgICAgICBwID0gZGVjb2RlSURCS2V5KHAsIGxpbWl0LCBrZXkpOworICAgICAgICAgICAg
ICAgIGlmICghcCkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICAg
ICAgYXJyYXkuYXBwZW5kKGtleSk7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBmb3VuZEtl
eSA9IElEQktleTo6Y3JlYXRlQXJyYXkoYXJyYXkpOworICAgICAgICAgICAgcmV0dXJuIHA7Cisg
ICAgICAgIH0KICAgICBjYXNlIGtJREJLZXlTdHJpbmdUeXBlQnl0ZToKLSAgICAgICAgLy8gU3Ry
aW5nLgotICAgICAgICBwID0gZGVjb2RlU3RyaW5nV2l0aExlbmd0aChwLCBsaW1pdCwgcyk7Ci0g
ICAgICAgIGlmICghcCkKLSAgICAgICAgICAgIHJldHVybiAwOwotICAgICAgICBmb3VuZEtleSA9
IElEQktleTo6Y3JlYXRlU3RyaW5nKHMpOwotICAgICAgICByZXR1cm4gcDsKKyAgICAgICAgewor
ICAgICAgICAgICAgU3RyaW5nIHM7CisgICAgICAgICAgICBwID0gZGVjb2RlU3RyaW5nV2l0aExl
bmd0aChwLCBsaW1pdCwgcyk7CisgICAgICAgICAgICBpZiAoIXApCisgICAgICAgICAgICAgICAg
cmV0dXJuIDA7CisgICAgICAgICAgICBmb3VuZEtleSA9IElEQktleTo6Y3JlYXRlU3RyaW5nKHMp
OworICAgICAgICAgICAgcmV0dXJuIHA7CisgICAgICAgIH0KICAgICBjYXNlIGtJREJLZXlEYXRl
VHlwZUJ5dGU6Ci0gICAgICAgIC8vIERhdGUuCi0gICAgICAgIHAgPSBkZWNvZGVEb3VibGUocCwg
bGltaXQsICZkKTsKLSAgICAgICAgaWYgKCFwKQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAg
ICAgIGZvdW5kS2V5ID0gSURCS2V5OjpjcmVhdGVEYXRlKGQpOwotICAgICAgICByZXR1cm4gcDsK
KyAgICAgICAgeworICAgICAgICAgICAgZG91YmxlIGQ7CisgICAgICAgICAgICBwID0gZGVjb2Rl
RG91YmxlKHAsIGxpbWl0LCAmZCk7CisgICAgICAgICAgICBpZiAoIXApCisgICAgICAgICAgICAg
ICAgcmV0dXJuIDA7CisgICAgICAgICAgICBmb3VuZEtleSA9IElEQktleTo6Y3JlYXRlRGF0ZShk
KTsKKyAgICAgICAgICAgIHJldHVybiBwOworICAgICAgICB9CiAgICAgY2FzZSBrSURCS2V5TnVt
YmVyVHlwZUJ5dGU6Ci0gICAgICAgIC8vIE51bWJlci4KLSAgICAgICAgcCA9IGRlY29kZURvdWJs
ZShwLCBsaW1pdCwgJmQpOwotICAgICAgICBpZiAoIXApCi0gICAgICAgICAgICByZXR1cm4gMDsK
LSAgICAgICAgZm91bmRLZXkgPSBJREJLZXk6OmNyZWF0ZU51bWJlcihkKTsKLSAgICAgICAgcmV0
dXJuIHA7CisgICAgICAgIHsKKyAgICAgICAgICAgIGRvdWJsZSBkOworICAgICAgICAgICAgcCA9
IGRlY29kZURvdWJsZShwLCBsaW1pdCwgJmQpOworICAgICAgICAgICAgaWYgKCFwKQorICAgICAg
ICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgZm91bmRLZXkgPSBJREJLZXk6OmNyZWF0
ZU51bWJlcihkKTsKKyAgICAgICAgICAgIHJldHVybiBwOworICAgICAgICB9CiAgICAgfQogCiAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC00MTcsMzIgKzQ2OSw1MSBAQCBjb25zdCBjaGFy
KiBkZWNvZGVJREJLZXkoY29uc3QgY2hhciogcCwgY29uc3QgY2hhciogbGltaXQsIFJlZlB0cjxJ
REJLZXk+JiBmb3VuZAogCiBjb25zdCBjaGFyKiBleHRyYWN0RW5jb2RlZElEQktleShjb25zdCBj
aGFyKiBzdGFydCwgY29uc3QgY2hhciogbGltaXQsIFZlY3RvcjxjaGFyPiogcmVzdWx0KQogewor
ICAgIEFTU0VSVChyZXN1bHQpOwogICAgIGNvbnN0IGNoYXIqIHAgPSBzdGFydDsKICAgICBpZiAo
cCA+PSBsaW1pdCkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICB1bnNpZ25lZCBjaGFyIHR5cGUg
PSAqcCsrOwogCi0gICAgaW50NjRfdCBzdHJpbmdMZW47Ci0KICAgICBzd2l0Y2ggKHR5cGUpIHsK
ICAgICBjYXNlIGtJREJLZXlOdWxsVHlwZUJ5dGU6CiAgICAgY2FzZSBrSURCS2V5TWluS2V5VHlw
ZUJ5dGU6CiAgICAgICAgICpyZXN1bHQgPSBlbmNvZGVCeXRlKHR5cGUpOwogICAgICAgICByZXR1
cm4gcDsKKyAgICBjYXNlIGtJREJLZXlBcnJheVR5cGVCeXRlOgorICAgICAgICB7CisgICAgICAg
ICAgICBpbnQ2NF90IGxlbmd0aDsKKyAgICAgICAgICAgIHAgPSBkZWNvZGVWYXJJbnQocCwgbGlt
aXQsIGxlbmd0aCk7CisgICAgICAgICAgICBpZiAoIXApCisgICAgICAgICAgICAgICAgcmV0dXJu
IDA7CisgICAgICAgICAgICBpZiAobGVuZ3RoIDwgMCkKKyAgICAgICAgICAgICAgICByZXR1cm4g
MDsKKyAgICAgICAgICAgIHJlc3VsdC0+Y2xlYXIoKTsKKyAgICAgICAgICAgIHJlc3VsdC0+YXBw
ZW5kKHN0YXJ0LCBwIC0gc3RhcnQpOworICAgICAgICAgICAgd2hpbGUgKGxlbmd0aC0tKSB7Cisg
ICAgICAgICAgICAgICAgVmVjdG9yPGNoYXI+IHN1YmtleTsKKyAgICAgICAgICAgICAgICBwID0g
ZXh0cmFjdEVuY29kZWRJREJLZXkocCwgbGltaXQsICZzdWJrZXkpOworICAgICAgICAgICAgICAg
IGlmICghcCkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICAgICAg
cmVzdWx0LT5hcHBlbmQoc3Via2V5KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVy
biBwOworICAgICAgICB9CiAgICAgY2FzZSBrSURCS2V5U3RyaW5nVHlwZUJ5dGU6Ci0gICAgICAg
IC8vIFN0cmluZy4KLSAgICAgICAgcCA9IGRlY29kZVZhckludChwLCBsaW1pdCwgc3RyaW5nTGVu
KTsKLSAgICAgICAgaWYgKCFwKQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIGlmIChw
ICsgc3RyaW5nTGVuICogMiA+IGxpbWl0KQotICAgICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAg
IHJlc3VsdC0+Y2xlYXIoKTsKLSAgICAgICAgcmVzdWx0LT5hcHBlbmQoc3RhcnQsIHAgLSBzdGFy
dCArIHN0cmluZ0xlbiAqIDIpOwotICAgICAgICByZXR1cm4gcCArIHN0cmluZ0xlbiAqIDI7Cisg
ICAgICAgIHsKKyAgICAgICAgICAgIGludDY0X3QgbGVuZ3RoOworICAgICAgICAgICAgcCA9IGRl
Y29kZVZhckludChwLCBsaW1pdCwgbGVuZ3RoKTsKKyAgICAgICAgICAgIGlmICghcCkKKyAgICAg
ICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIGlmIChwICsgbGVuZ3RoICogMiA+IGxp
bWl0KQorICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgcmVzdWx0LT5jbGVh
cigpOworICAgICAgICAgICAgcmVzdWx0LT5hcHBlbmQoc3RhcnQsIHAgLSBzdGFydCArIGxlbmd0
aCAqIDIpOworICAgICAgICAgICAgcmV0dXJuIHAgKyBsZW5ndGggKiAyOworICAgICAgICB9CiAg
ICAgY2FzZSBrSURCS2V5RGF0ZVR5cGVCeXRlOgogICAgIGNhc2Uga0lEQktleU51bWJlclR5cGVC
eXRlOgotICAgICAgICAvLyBEYXRlIG9yIG51bWJlci4KICAgICAgICAgaWYgKHAgKyBzaXplb2Yo
ZG91YmxlKSA+IGxpbWl0KQogICAgICAgICAgICAgcmV0dXJuIDA7CiAgICAgICAgIHJlc3VsdC0+
Y2xlYXIoKTsKQEAgLTQ1MywyMiArNTI0LDM2IEBAIGNvbnN0IGNoYXIqIGV4dHJhY3RFbmNvZGVk
SURCS2V5KGNvbnN0IGNoYXIqIHN0YXJ0LCBjb25zdCBjaGFyKiBsaW1pdCwgVmVjdG9yPGNoCiAg
ICAgcmV0dXJuIDA7CiB9CiAKLWludCBjb21wYXJlRW5jb2RlZElEQktleXMoY29uc3QgVmVjdG9y
PGNoYXI+JiBrZXlBLCBjb25zdCBWZWN0b3I8Y2hhcj4mIGtleUIpCitzdGF0aWMgSURCS2V5OjpU
eXBlIGtleVR5cGVCeXRlVG9LZXlUeXBlKHVuc2lnbmVkIGNoYXIgdHlwZSkKIHsKLSAgICBBU1NF
UlQoa2V5QS5zaXplKCkgPj0gMSk7Ci0gICAgQVNTRVJUKGtleUIuc2l6ZSgpID49IDEpOworICAg
IHN3aXRjaCAodHlwZSkgeworICAgIGNhc2Uga0lEQktleU51bGxUeXBlQnl0ZToKKyAgICAgICAg
cmV0dXJuIElEQktleTo6SW52YWxpZFR5cGU7CisgICAgY2FzZSBrSURCS2V5QXJyYXlUeXBlQnl0
ZToKKyAgICAgICAgcmV0dXJuIElEQktleTo6QXJyYXlUeXBlOworICAgIGNhc2Uga0lEQktleVN0
cmluZ1R5cGVCeXRlOgorICAgICAgICByZXR1cm4gSURCS2V5OjpTdHJpbmdUeXBlOworICAgIGNh
c2Uga0lEQktleURhdGVUeXBlQnl0ZToKKyAgICAgICAgcmV0dXJuIElEQktleTo6RGF0ZVR5cGU7
CisgICAgY2FzZSBrSURCS2V5TnVtYmVyVHlwZUJ5dGU6CisgICAgICAgIHJldHVybiBJREJLZXk6
Ok51bWJlclR5cGU7CisgICAgY2FzZSBrSURCS2V5TWluS2V5VHlwZUJ5dGU6CisgICAgICAgIHJl
dHVybiBJREJLZXk6Ok1pblR5cGU7CisgICAgfQogCi0gICAgY29uc3QgY2hhciogcCA9IGtleUEu
ZGF0YSgpOwotICAgIGNvbnN0IGNoYXIqIGxpbWl0QSA9IHAgKyBrZXlBLnNpemUoKTsKLSAgICBj
b25zdCBjaGFyKiBxID0ga2V5Qi5kYXRhKCk7Ci0gICAgY29uc3QgY2hhciogbGltaXRCID0gcSAr
IGtleUIuc2l6ZSgpOworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBJREJL
ZXk6OkludmFsaWRUeXBlOworfQogCitpbnQgY29tcGFyZUVuY29kZWRJREJLZXlzKGNvbnN0IGNo
YXIqJiBwLCBjb25zdCBjaGFyKiBsaW1pdEEsIGNvbnN0IGNoYXIqJiBxLCBjb25zdCBjaGFyKiBs
aW1pdEIpCit7CisgICAgQVNTRVJUKCZwICE9ICZxKTsKKyAgICBBU1NFUlQocCA8IGxpbWl0QSk7
CisgICAgQVNTRVJUKHEgPCBsaW1pdEIpOwogICAgIHVuc2lnbmVkIGNoYXIgdHlwZUEgPSAqcCsr
OwogICAgIHVuc2lnbmVkIGNoYXIgdHlwZUIgPSAqcSsrOwogCi0gICAgZG91YmxlIGQsIGU7Ci0K
LSAgICBpZiAoaW50IHggPSB0eXBlQiAtIHR5cGVBKSAvLyBGSVhNRTogTm90ZSB0aGUgc3VidGxl
bmVzcyEKKyAgICBpZiAoaW50IHggPSBJREJLZXk6OmNvbXBhcmVUeXBlcyhrZXlUeXBlQnl0ZVRv
S2V5VHlwZSh0eXBlQSksIGtleVR5cGVCeXRlVG9LZXlUeXBlKHR5cGVCKSkpCiAgICAgICAgIHJl
dHVybiB4OwogCiAgICAgc3dpdGNoICh0eXBlQSkgewpAQCAtNDc2LDI3ICs1NjEsNjIgQEAgaW50
IGNvbXBhcmVFbmNvZGVkSURCS2V5cyhjb25zdCBWZWN0b3I8Y2hhcj4mIGtleUEsIGNvbnN0IFZl
Y3RvcjxjaGFyPiYga2V5QikKICAgICBjYXNlIGtJREJLZXlNaW5LZXlUeXBlQnl0ZToKICAgICAg
ICAgLy8gTnVsbCB0eXBlIG9yIG1heCB0eXBlOyBubyBwYXlsb2FkIHRvIGNvbXBhcmUuCiAgICAg
ICAgIHJldHVybiAwOworICAgIGNhc2Uga0lEQktleUFycmF5VHlwZUJ5dGU6CisgICAgICAgIHsK
KyAgICAgICAgICAgIGludDY0X3QgbGVuZ3RoQSwgbGVuZ3RoQjsKKyAgICAgICAgICAgIHAgPSBk
ZWNvZGVWYXJJbnQocCwgbGltaXRBLCBsZW5ndGhBKTsKKyAgICAgICAgICAgIGlmICghcCkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIHEgPSBkZWNvZGVWYXJJbnQocSwg
bGltaXRCLCBsZW5ndGhCKTsKKyAgICAgICAgICAgIGlmICghcSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gMDsKKyAgICAgICAgICAgIGlmIChsZW5ndGhBIDwgMCB8fCBsZW5ndGhCIDwgMCkKKyAg
ICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIGZvciAoaW50NjRfdCBpID0gMDsg
aSA8IGxlbmd0aEEgJiYgaSA8IGxlbmd0aEI7ICsraSkgeworICAgICAgICAgICAgICAgIGlmIChp
bnQgY21wID0gY29tcGFyZUVuY29kZWRJREJLZXlzKHAsIGxpbWl0QSwgcSwgbGltaXRCKSkKKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuIGNtcDsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IGlmIChsZW5ndGhBIDwgbGVuZ3RoQikKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAg
ICAgICAgICBpZiAobGVuZ3RoQSA+IGxlbmd0aEIpCisgICAgICAgICAgICAgICAgcmV0dXJuIDE7
CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgfQogICAgIGNhc2Uga0lEQktleVN0cmlu
Z1R5cGVCeXRlOgotICAgICAgICAvLyBTdHJpbmcgdHlwZS4KICAgICAgICAgcmV0dXJuIGNvbXBh
cmVFbmNvZGVkU3RyaW5nc1dpdGhMZW5ndGgocCwgbGltaXRBLCBxLCBsaW1pdEIpOwogICAgIGNh
c2Uga0lEQktleURhdGVUeXBlQnl0ZToKICAgICBjYXNlIGtJREJLZXlOdW1iZXJUeXBlQnl0ZToK
LSAgICAgICAgLy8gRGF0ZSBvciBudW1iZXIuCi0gICAgICAgIHAgPSBkZWNvZGVEb3VibGUocCwg
bGltaXRBLCAmZCk7Ci0gICAgICAgIEFTU0VSVChwKTsKLSAgICAgICAgcSA9IGRlY29kZURvdWJs
ZShxLCBsaW1pdEIsICZlKTsKLSAgICAgICAgQVNTRVJUKHEpOwotICAgICAgICBpZiAoZCA8IGUp
Ci0gICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAgIGlmIChkID4gZSkKLSAgICAgICAgICAg
IHJldHVybiAxOwotICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgeworICAgICAgICAgICAgZG91
YmxlIGQsIGU7CisgICAgICAgICAgICBwID0gZGVjb2RlRG91YmxlKHAsIGxpbWl0QSwgJmQpOwor
ICAgICAgICAgICAgQVNTRVJUKHApOworICAgICAgICAgICAgcSA9IGRlY29kZURvdWJsZShxLCBs
aW1pdEIsICZlKTsKKyAgICAgICAgICAgIEFTU0VSVChxKTsKKyAgICAgICAgICAgIGlmIChkIDwg
ZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBpZiAoZCA+IGUpCisg
ICAgICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAg
fQogICAgIH0KIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiAwOwogfQog
CitpbnQgY29tcGFyZUVuY29kZWRJREJLZXlzKGNvbnN0IFZlY3RvcjxjaGFyPiYga2V5QSwgY29u
c3QgVmVjdG9yPGNoYXI+JiBrZXlCKQoreworICAgIEFTU0VSVChrZXlBLnNpemUoKSA+PSAxKTsK
KyAgICBBU1NFUlQoa2V5Qi5zaXplKCkgPj0gMSk7CisKKyAgICBjb25zdCBjaGFyKiBwID0ga2V5
QS5kYXRhKCk7CisgICAgY29uc3QgY2hhciogbGltaXRBID0gcCArIGtleUEuc2l6ZSgpOworICAg
IGNvbnN0IGNoYXIqIHEgPSBrZXlCLmRhdGEoKTsKKyAgICBjb25zdCBjaGFyKiBsaW1pdEIgPSBx
ICsga2V5Qi5zaXplKCk7CisKKyAgICByZXR1cm4gY29tcGFyZUVuY29kZWRJREJLZXlzKHAsIGxp
bWl0QSwgcSwgbGltaXRCKTsKK30KKwogbmFtZXNwYWNlIHsKIHRlbXBsYXRlPHR5cGVuYW1lIEtl
eVR5cGU+CiBpbnQgZGVjb2RlQW5kQ29tcGFyZShjb25zdCBMZXZlbERCU2xpY2UmIGEsIGNvbnN0
IExldmVsREJTbGljZSYgYikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURC
TGV2ZWxEQkNvZGluZy5oIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJMZXZlbERCQ29kaW5n
LmgKaW5kZXggZjNiZGNmMzBiNTZlMDU2OTNjZDQxNDZiODU4MjBmOGQwMTlmY2Y2Yy4uMTU4MWZi
YmJmZDc5ZjJmZDY3ZGVkMGYzYTJiNThhYzE5NGEwNWZkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvc3RvcmFnZS9JREJMZXZlbERCQ29kaW5nLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3Rv
cmFnZS9JREJMZXZlbERCQ29kaW5nLmgKQEAgLTUzLDkgKzUzLDEwIEBAIFZlY3RvcjxjaGFyPiBl
bmNvZGVTdHJpbmcoY29uc3QgU3RyaW5nJik7CiBTdHJpbmcgZGVjb2RlU3RyaW5nKGNvbnN0IGNo
YXIqIHAsIGNvbnN0IGNoYXIqIGVuZCk7CiBWZWN0b3I8Y2hhcj4gZW5jb2RlU3RyaW5nV2l0aExl
bmd0aChjb25zdCBTdHJpbmcmKTsKIGNvbnN0IGNoYXIqIGRlY29kZVN0cmluZ1dpdGhMZW5ndGgo
Y29uc3QgY2hhciogcCwgY29uc3QgY2hhciogbGltaXQsIFN0cmluZyYgZm91bmRTdHJpbmcpOwot
aW50IGNvbXBhcmVFbmNvZGVkU3RyaW5nc1dpdGhMZW5ndGgoY29uc3QgY2hhciogcCwgY29uc3Qg
Y2hhciogbGltaXRQLCBjb25zdCBjaGFyKiBxLCBjb25zdCBjaGFyKiBsaW1pdFEpOworaW50IGNv
bXBhcmVFbmNvZGVkU3RyaW5nc1dpdGhMZW5ndGgoY29uc3QgY2hhciomIHAsIGNvbnN0IGNoYXIq
IGxpbWl0UCwgY29uc3QgY2hhciomIHEsIGNvbnN0IGNoYXIqIGxpbWl0USk7CiBWZWN0b3I8Y2hh
cj4gZW5jb2RlRG91YmxlKGRvdWJsZSk7CiBjb25zdCBjaGFyKiBkZWNvZGVEb3VibGUoY29uc3Qg
Y2hhciogcCwgY29uc3QgY2hhciogbGltaXQsIGRvdWJsZSopOwordm9pZCBlbmNvZGVJREJLZXko
Y29uc3QgSURCS2V5JiwgVmVjdG9yPGNoYXI+JiBpbnRvKTsKIFZlY3RvcjxjaGFyPiBlbmNvZGVJ
REJLZXkoY29uc3QgSURCS2V5Jik7CiBjb25zdCBjaGFyKiBkZWNvZGVJREJLZXkoY29uc3QgY2hh
ciogcCwgY29uc3QgY2hhciogbGltaXQsIFJlZlB0cjxJREJLZXk+JiBmb3VuZEtleSk7CiBjb25z
dCBjaGFyKiBleHRyYWN0RW5jb2RlZElEQktleShjb25zdCBjaGFyKiBzdGFydCwgY29uc3QgY2hh
ciogbGltaXQsIFZlY3RvcjxjaGFyPiogcmVzdWx0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYklEQktleS5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViSURCS2V5LmgKaW5kZXggMWRiNDY3ZmUyNzBhNjBiOGRlYThlNGM0Y2U5NjZjMDU0
NDIzYmQxOS4uY2EwZDEyOTA2NDkwNGM1MjE3NzgxYWM5ZjY2YzdkZDM1ZTg0NmFkMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURCS2V5LmgKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURCS2V5LmgKQEAgLTEsNSArMSw1IEBACiAv
KgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjksNiArMjksNyBAQAogI2luY2x1
ZGUgIldlYkNvbW1vbi5oIgogI2luY2x1ZGUgIldlYlByaXZhdGVQdHIuaCIKICNpbmNsdWRlICJX
ZWJTdHJpbmcuaCIKKyNpbmNsdWRlICJXZWJWZWN0b3IuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUg
eyBjbGFzcyBJREJLZXk7IH0KIApAQCAtNDMsNiArNDQsNyBAQCBwdWJsaWM6CiAgICAgV2ViSURC
S2V5KCkgeyB9CiAgICAgfldlYklEQktleSgpIHsgcmVzZXQoKTsgfQogCisgICAgV0VCS0lUX0VY
UE9SVCBzdGF0aWMgV2ViSURCS2V5IGNyZWF0ZUFycmF5KGNvbnN0IFdlYlZlY3RvcjxXZWJJREJL
ZXk+Jik7CiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgV2ViSURCS2V5IGNyZWF0ZVN0cmluZyhj
b25zdCBXZWJTdHJpbmcmKTsKICAgICBXRUJLSVRfRVhQT1JUIHN0YXRpYyBXZWJJREJLZXkgY3Jl
YXRlRGF0ZShkb3VibGUpOwogICAgIFdFQktJVF9FWFBPUlQgc3RhdGljIFdlYklEQktleSBjcmVh
dGVOdW1iZXIoZG91YmxlKTsKQEAgLTU4LDYgKzYwLDcgQEAgcHVibGljOgogICAgIH0KIAogICAg
IFdFQktJVF9FWFBPUlQgdm9pZCBhc3NpZ24oY29uc3QgV2ViSURCS2V5Jik7CisgICAgV0VCS0lU
X0VYUE9SVCB2b2lkIGFzc2lnbkFycmF5KGNvbnN0IFdlYlZlY3RvcjxXZWJJREJLZXk+Jik7CiAg
ICAgV0VCS0lUX0VYUE9SVCB2b2lkIGFzc2lnblN0cmluZyhjb25zdCBXZWJTdHJpbmcmKTsKICAg
ICBXRUJLSVRfRVhQT1JUIHZvaWQgYXNzaWduRGF0ZShkb3VibGUpOwogICAgIFdFQktJVF9FWFBP
UlQgdm9pZCBhc3NpZ25OdW1iZXIoZG91YmxlKTsKQEAgLTY2LDEyICs2OSwxNCBAQCBwdWJsaWM6
CiAKICAgICBlbnVtIFR5cGUgewogICAgICAgICBJbnZhbGlkVHlwZSA9IDAsCisgICAgICAgIEFy
cmF5VHlwZSwKICAgICAgICAgU3RyaW5nVHlwZSwKICAgICAgICAgRGF0ZVR5cGUsCiAgICAgICAg
IE51bWJlclR5cGUKICAgICB9OwogCiAgICAgV0VCS0lUX0VYUE9SVCBUeXBlIHR5cGUoKSBjb25z
dDsKKyAgICBXRUJLSVRfRVhQT1JUIFdlYlZlY3RvcjxXZWJJREJLZXk+IGFycmF5KCkgY29uc3Q7
IC8vIE9ubHkgdmFsaWQgZm9yIEFycmF5VHlwZS4KICAgICBXRUJLSVRfRVhQT1JUIFdlYlN0cmlu
ZyBzdHJpbmcoKSBjb25zdDsgLy8gT25seSB2YWxpZCBmb3IgU3RyaW5nVHlwZS4KICAgICBXRUJL
SVRfRVhQT1JUIGRvdWJsZSBkYXRlKCkgY29uc3Q7IC8vIE9ubHkgdmFsaWQgZm9yIERhdGVUeXBl
LgogICAgIFdFQktJVF9FWFBPUlQgZG91YmxlIG51bWJlcigpIGNvbnN0OyAvLyBPbmx5IHZhbGlk
IGZvciBOdW1iZXJUeXBlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
QXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3Nl
cnRNYXRjaGluZ0VudW1zLmNwcAppbmRleCAwMDNkMjczZmJlOWY4MjIxYmJlYzgwZDgxZmE1NDlj
NjFjZGNkM2JjLi41NWJmOGQxZTE1ZjVhMzBlNzYzNjYxM2VlYzAwZWI1YjY0OGQ0ZGM2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNw
cApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDkgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpA
QCAtMzk5LDYgKzM5OSw3IEBAIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViVmlldzo6
VXNlclN0eWxlSW5qZWN0SW5FeGlzdGluZ0RvY3VtZW50cywgSW5qZWN0CiBDT01QSUxFX0FTU0VS
VF9NQVRDSElOR19FTlVNKFdlYlZpZXc6OlVzZXJTdHlsZUluamVjdEluU3Vic2VxdWVudERvY3Vt
ZW50cywgSW5qZWN0SW5TdWJzZXF1ZW50RG9jdW1lbnRzKTsKIAogQ09NUElMRV9BU1NFUlRfTUFU
Q0hJTkdfRU5VTShXZWJJREJLZXk6OkludmFsaWRUeXBlLCBJREJLZXk6OkludmFsaWRUeXBlKTsK
K0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViSURCS2V5OjpBcnJheVR5cGUsIElEQktl
eTo6QXJyYXlUeXBlKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViSURCS2V5OjpT
dHJpbmdUeXBlLCBJREJLZXk6OlN0cmluZ1R5cGUpOwogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdf
RU5VTShXZWJJREJLZXk6OkRhdGVUeXBlLCBJREJLZXk6OkRhdGVUeXBlKTsKIENPTVBJTEVfQVNT
RVJUX01BVENISU5HX0VOVU0oV2ViSURCS2V5OjpOdW1iZXJUeXBlLCBJREJLZXk6Ok51bWJlclR5
cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCS2V5LmNw
cCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYklEQktleS5jcHAKaW5kZXggOWY2YTA5
MDUyNmU1MGZmNjVhOWNkZGUxZjEzZDM3MWU0ZTA2OWRhZS4uZTljN2U5Y2MwZjhkMThlYzE2ODE0
YWMzZWRjMmIzYTZkYTY2Y2IzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViSURCS2V5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJJREJL
ZXkuY3BwCkBAIC00MSw2ICs0MSwxMyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKK1dlYklEQktleSBXZWJJREJLZXk6OmNyZWF0ZUFycmF5KGNvbnN0
IFdlYlZlY3RvcjxXZWJJREJLZXk+JiBhcnJheSkKK3sKKyAgICBXZWJJREJLZXkga2V5OworICAg
IGtleS5hc3NpZ25BcnJheShhcnJheSk7CisgICAgcmV0dXJuIGtleTsKK30KKwogV2ViSURCS2V5
IFdlYklEQktleTo6Y3JlYXRlU3RyaW5nKGNvbnN0IFdlYlN0cmluZyYgc3RyaW5nKQogewogICAg
IFdlYklEQktleSBrZXk7CkBAIC04Niw2ICs5Myw2NiBAQCB2b2lkIFdlYklEQktleTo6YXNzaWdu
KGNvbnN0IFdlYklEQktleSYgdmFsdWUpCiAgICAgbV9wcml2YXRlID0gdmFsdWUubV9wcml2YXRl
OwogfQogCitzdGF0aWMgUGFzc1JlZlB0cjxJREJLZXk+IGNvbnZlcnRGcm9tV2ViSURCS2V5QXJy
YXkoY29uc3QgV2ViVmVjdG9yPFdlYklEQktleT4mIGFycmF5KQoreworICAgIElEQktleTo6S2V5
QXJyYXkga2V5czsKKyAgICBrZXlzLnJlc2VydmVDYXBhY2l0eShhcnJheS5zaXplKCkpOworICAg
IGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYXJyYXkuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgc3dp
dGNoIChhcnJheVtpXS50eXBlKCkpIHsKKyAgICAgICAgY2FzZSBXZWJJREJLZXk6OkFycmF5VHlw
ZToKKyAgICAgICAgICAgIGtleXMuYXBwZW5kKGNvbnZlcnRGcm9tV2ViSURCS2V5QXJyYXkoYXJy
YXlbaV0uYXJyYXkoKSkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViSURC
S2V5OjpTdHJpbmdUeXBlOgorICAgICAgICAgICAga2V5cy5hcHBlbmQoSURCS2V5OjpjcmVhdGVT
dHJpbmcoYXJyYXlbaV0uc3RyaW5nKCkpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBj
YXNlIFdlYklEQktleTo6RGF0ZVR5cGU6CisgICAgICAgICAgICBrZXlzLmFwcGVuZChJREJLZXk6
OmNyZWF0ZURhdGUoYXJyYXlbaV0uZGF0ZSgpKSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgY2FzZSBXZWJJREJLZXk6Ok51bWJlclR5cGU6CisgICAgICAgICAgICBrZXlzLmFwcGVuZChJ
REJLZXk6OmNyZWF0ZU51bWJlcihhcnJheVtpXS5udW1iZXIoKSkpOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIGNhc2UgV2ViSURCS2V5OjpJbnZhbGlkVHlwZToKKyAgICAgICAgICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9
CisgICAgcmV0dXJuIElEQktleTo6Y3JlYXRlQXJyYXkoa2V5cyk7Cit9CisKK3N0YXRpYyB2b2lk
IGNvbnZlcnRUb1dlYklEQktleUFycmF5KGNvbnN0IElEQktleTo6S2V5QXJyYXkmIGFycmF5LCBX
ZWJWZWN0b3I8V2ViSURCS2V5PiYgcmVzdWx0KQoreworICAgIFdlYlZlY3RvcjxXZWJJREJLZXk+
IGtleXMoYXJyYXkuc2l6ZSgpKTsKKyAgICBXZWJWZWN0b3I8V2ViSURCS2V5PiBzdWJrZXlzOwor
ICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYXJyYXkuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAg
UmVmUHRyPElEQktleT4ga2V5ID0gYXJyYXlbaV07CisgICAgICAgIHN3aXRjaCAoa2V5LT50eXBl
KCkpIHsKKyAgICAgICAgY2FzZSBJREJLZXk6OkFycmF5VHlwZToKKyAgICAgICAgICAgIGNvbnZl
cnRUb1dlYklEQktleUFycmF5KGtleS0+YXJyYXkoKSwgc3Via2V5cyk7CisgICAgICAgICAgICBr
ZXlzW2ldID0gV2ViSURCS2V5OjpjcmVhdGVBcnJheShzdWJrZXlzKTsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICBjYXNlIElEQktleTo6U3RyaW5nVHlwZToKKyAgICAgICAgICAgIGtleXNb
aV0gPSBXZWJJREJLZXk6OmNyZWF0ZVN0cmluZyhrZXktPnN0cmluZygpKTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBjYXNlIElEQktleTo6RGF0ZVR5cGU6CisgICAgICAgICAgICBrZXlz
W2ldID0gV2ViSURCS2V5OjpjcmVhdGVEYXRlKGtleS0+ZGF0ZSgpKTsKKyAgICAgICAgICAgIGJy
ZWFrOworICAgICAgICBjYXNlIElEQktleTo6TnVtYmVyVHlwZToKKyAgICAgICAgICAgIGtleXNb
aV0gPSBXZWJJREJLZXk6OmNyZWF0ZU51bWJlcihrZXktPm51bWJlcigpKTsKKyAgICAgICAgICAg
IGJyZWFrOworICAgICAgICBjYXNlIElEQktleTo6SW52YWxpZFR5cGU6CisgICAgICAgIGNhc2Ug
SURCS2V5OjpNaW5UeXBlOgorICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
ICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXN1bHQuc3dhcChrZXlzKTsK
K30KKwordm9pZCBXZWJJREJLZXk6OmFzc2lnbkFycmF5KGNvbnN0IFdlYlZlY3RvcjxXZWJJREJL
ZXk+JiBhcnJheSkKK3sKKyAgICBtX3ByaXZhdGUgPSBjb252ZXJ0RnJvbVdlYklEQktleUFycmF5
KGFycmF5KTsKK30KKwogdm9pZCBXZWJJREJLZXk6OmFzc2lnblN0cmluZyhjb25zdCBXZWJTdHJp
bmcmIHN0cmluZykKIHsKICAgICBtX3ByaXZhdGUgPSBJREJLZXk6OmNyZWF0ZVN0cmluZyhzdHJp
bmcpOwpAQCAtMTE4LDYgKzE4NSwxMyBAQCBXZWJJREJLZXk6OlR5cGUgV2ViSURCS2V5Ojp0eXBl
KCkgY29uc3QKICAgICByZXR1cm4gVHlwZShtX3ByaXZhdGUtPnR5cGUoKSk7CiB9CiAKK1dlYlZl
Y3RvcjxXZWJJREJLZXk+IFdlYklEQktleTo6YXJyYXkoKSBjb25zdAoreworICAgIFdlYlZlY3Rv
cjxXZWJJREJLZXk+IGtleXM7CisgICAgY29udmVydFRvV2ViSURCS2V5QXJyYXkobV9wcml2YXRl
LT5hcnJheSgpLCBrZXlzKTsKKyAgICByZXR1cm4ga2V5czsKK30KKwogV2ViU3RyaW5nIFdlYklE
QktleTo6c3RyaW5nKCkgY29uc3QKIHsKICAgICByZXR1cm4gbV9wcml2YXRlLT5zdHJpbmcoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvSURCQmluZGluZ1V0aWxp
dGllc1Rlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJCaW5kaW5nVXRp
bGl0aWVzVGVzdC5jcHAKaW5kZXggMzIxZjBhZjdkMmE4YTE0Y2RmNWRhMWM5OGY0YzgzMzE4NjM5
MjkwOC4uN2RlNmE2YzhmZTgzOGQwYWI5ZmNiMjI3MTNhNmIzZDkyMGRlMGQ2MyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJCaW5kaW5nVXRpbGl0aWVzVGVzdC5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJCaW5kaW5nVXRpbGl0aWVz
VGVzdC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2ds
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtMTU1LDYgKzE1NSw4IEBAIFRFU1QoSW5qZWN0SURCS2V5VGVzdCwgU3ViUHJvcGVydHkp
CiAgICAgY2hlY2tJbmplY3Rpb24oSURCS2V5OjpjcmVhdGVOdW1iZXIoNzg5KSwgU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlOjpjcmVhdGUob2JqZWN0KSwgImZvby5iYXoiKTsKICAgICBjaGVja0luamVj
dGlvbihJREJLZXk6OmNyZWF0ZURhdGUoNDU2NyksIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3Jl
YXRlKG9iamVjdCksICJmb28uYmF6Iik7CiAgICAgY2hlY2tJbmplY3Rpb24oSURCS2V5OjpjcmVh
dGVEYXRlKDQ1NjcpLCBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShvYmplY3QpLCAiYmFy
Iik7CisgICAgY2hlY2tJbmplY3Rpb24oSURCS2V5OjpjcmVhdGVBcnJheShJREJLZXk6OktleUFy
cmF5KCkpLCBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShvYmplY3QpLCAiZm9vLmJheiIp
OworICAgIGNoZWNrSW5qZWN0aW9uKElEQktleTo6Y3JlYXRlQXJyYXkoSURCS2V5OjpLZXlBcnJh
eSgpKSwgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUob2JqZWN0KSwgImJhciIpOwogCiAg
ICAgY2hlY2tJbmplY3Rpb25GYWlscyhJREJLZXk6OmNyZWF0ZVN0cmluZygiem9vIiksIFNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKG9iamVjdCksICJmb28uYmFyLmJheiIpOwogICAgIGNo
ZWNrSW5qZWN0aW9uRmFpbHMoSURCS2V5OjpjcmVhdGVTdHJpbmcoInpvbyIpLCBTZXJpYWxpemVk
U2NyaXB0VmFsdWU6OmNyZWF0ZShvYmplY3QpLCAiZm9vLnh5ei5mb28iKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvSURCTGV2ZWxEQkNvZGluZ1Rlc3QuY3BwIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJMZXZlbERCQ29kaW5nVGVzdC5jcHAKaW5k
ZXggNGMwNGM1NDYwY2U2MDgzNDExMDNmYmM0ZTAzOTIzYjM3ZTMwNzRjZS4uN2Q2MTU5ZTZhMWIx
ZmM0YWYzMzViOWU4ZjQ2MDJlM2U2MzM0ZDhjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS90ZXN0cy9JREJMZXZlbERCQ29kaW5nVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS90ZXN0cy9JREJMZXZlbERCQ29kaW5nVGVzdC5jcHAKQEAgLTM5LDYgKzM5LDMx
IEBAIHVzaW5nIG5hbWVzcGFjZSBJREJMZXZlbERCQ29kaW5nOwogCiBuYW1lc3BhY2UgewogCitz
dGF0aWMgUGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0ZUFycmF5SURCS2V5KCkKK3sKKyAgICByZXR1
cm4gSURCS2V5OjpjcmVhdGVBcnJheShJREJLZXk6OktleUFycmF5KCkpOworfQorCitzdGF0aWMg
UGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0ZUFycmF5SURCS2V5KFBhc3NSZWZQdHI8SURCS2V5PiBw
cnBLZXkxKQoreworICAgIFJlZlB0cjxJREJLZXk+IGtleTEgPSBwcnBLZXkxOworCisgICAgSURC
S2V5OjpLZXlBcnJheSBhcnJheTsKKyAgICBhcnJheS5hcHBlbmQoa2V5MSk7CisgICAgcmV0dXJu
IElEQktleTo6Y3JlYXRlQXJyYXkoYXJyYXkpOworfQorCitzdGF0aWMgUGFzc1JlZlB0cjxJREJL
ZXk+IGNyZWF0ZUFycmF5SURCS2V5KFBhc3NSZWZQdHI8SURCS2V5PiBwcnBLZXkxLCBQYXNzUmVm
UHRyPElEQktleT4gcHJwS2V5MikKK3sKKyAgICBSZWZQdHI8SURCS2V5PiBrZXkxID0gcHJwS2V5
MTsKKyAgICBSZWZQdHI8SURCS2V5PiBrZXkyID0gcHJwS2V5MjsKKworICAgIElEQktleTo6S2V5
QXJyYXkgYXJyYXk7CisgICAgYXJyYXkuYXBwZW5kKGtleTEpOworICAgIGFycmF5LmFwcGVuZChr
ZXkyKTsKKyAgICByZXR1cm4gSURCS2V5OjpjcmVhdGVBcnJheShhcnJheSk7Cit9CisKIFRFU1Qo
SURCTGV2ZWxEQkNvZGluZ1Rlc3QsIEVuY29kZUJ5dGUpCiB7CiAgICAgVmVjdG9yPGNoYXI+IGV4
cGVjdGVkOwpAQCAtNjMsMTEgKzg4LDEzIEBAIFRFU1QoSURCTGV2ZWxEQkNvZGluZ1Rlc3QsIE1h
eElEQktleSkKICAgICBWZWN0b3I8Y2hhcj4gbWF4S2V5ID0gbWF4SURCS2V5KCk7CiAKICAgICBW
ZWN0b3I8Y2hhcj4gbWluS2V5ID0gbWluSURCS2V5KCk7CisgICAgVmVjdG9yPGNoYXI+IGFycmF5
S2V5ID0gZW5jb2RlSURCS2V5KCpJREJLZXk6OmNyZWF0ZUFycmF5KElEQktleTo6S2V5QXJyYXko
KSkpOwogICAgIFZlY3RvcjxjaGFyPiBzdHJpbmdLZXkgPSBlbmNvZGVJREJLZXkoKklEQktleTo6
Y3JlYXRlU3RyaW5nKCJIZWxsbyB3b3JsZCIpKTsKICAgICBWZWN0b3I8Y2hhcj4gbnVtYmVyS2V5
ID0gZW5jb2RlSURCS2V5KCpJREJLZXk6OmNyZWF0ZU51bWJlcigzLjE0KSk7CiAgICAgVmVjdG9y
PGNoYXI+IGRhdGVLZXkgPSBlbmNvZGVJREJLZXkoKklEQktleTo6Y3JlYXRlRGF0ZSgxMDAwMDAw
KSk7CiAKICAgICBFWFBFQ1RfR1QoY29tcGFyZUVuY29kZWRJREJLZXlzKG1heEtleSwgbWluS2V5
KSwgMCk7CisgICAgRVhQRUNUX0dUKGNvbXBhcmVFbmNvZGVkSURCS2V5cyhtYXhLZXksIGFycmF5
S2V5KSwgMCk7CiAgICAgRVhQRUNUX0dUKGNvbXBhcmVFbmNvZGVkSURCS2V5cyhtYXhLZXksIHN0
cmluZ0tleSksIDApOwogICAgIEVYUEVDVF9HVChjb21wYXJlRW5jb2RlZElEQktleXMobWF4S2V5
LCBudW1iZXJLZXkpLCAwKTsKICAgICBFWFBFQ1RfR1QoY29tcGFyZUVuY29kZWRJREJLZXlzKG1h
eEtleSwgZGF0ZUtleSksIDApOwpAQCAtNzgsMTEgKzEwNSwxMyBAQCBURVNUKElEQkxldmVsREJD
b2RpbmdUZXN0LCBNaW5JREJLZXkpCiAgICAgVmVjdG9yPGNoYXI+IG1pbktleSA9IG1pbklEQktl
eSgpOwogCiAgICAgVmVjdG9yPGNoYXI+IG1heEtleSA9IG1heElEQktleSgpOworICAgIFZlY3Rv
cjxjaGFyPiBhcnJheUtleSA9IGVuY29kZUlEQktleSgqSURCS2V5OjpjcmVhdGVBcnJheShJREJL
ZXk6OktleUFycmF5KCkpKTsKICAgICBWZWN0b3I8Y2hhcj4gc3RyaW5nS2V5ID0gZW5jb2RlSURC
S2V5KCpJREJLZXk6OmNyZWF0ZVN0cmluZygiSGVsbG8gd29ybGQiKSk7CiAgICAgVmVjdG9yPGNo
YXI+IG51bWJlcktleSA9IGVuY29kZUlEQktleSgqSURCS2V5OjpjcmVhdGVOdW1iZXIoMy4xNCkp
OwogICAgIFZlY3RvcjxjaGFyPiBkYXRlS2V5ID0gZW5jb2RlSURCS2V5KCpJREJLZXk6OmNyZWF0
ZURhdGUoMTAwMDAwMCkpOwogCiAgICAgRVhQRUNUX0xUKGNvbXBhcmVFbmNvZGVkSURCS2V5cyht
aW5LZXksIG1heEtleSksIDApOworICAgIEVYUEVDVF9MVChjb21wYXJlRW5jb2RlZElEQktleXMo
bWluS2V5LCBhcnJheUtleSksIDApOwogICAgIEVYUEVDVF9MVChjb21wYXJlRW5jb2RlZElEQktl
eXMobWluS2V5LCBzdHJpbmdLZXkpLCAwKTsKICAgICBFWFBFQ1RfTFQoY29tcGFyZUVuY29kZWRJ
REJLZXlzKG1pbktleSwgbnVtYmVyS2V5KSwgMCk7CiAgICAgRVhQRUNUX0xUKGNvbXBhcmVFbmNv
ZGVkSURCS2V5cyhtaW5LZXksIGRhdGVLZXkpLCAwKTsKQEAgLTIzMCw2ICsyNTksMTQgQEAgVEVT
VChJREJMZXZlbERCQ29kaW5nVGVzdCwgRGVjb2RlU3RyaW5nV2l0aExlbmd0aCkKICAgICB9CiB9
CiAKK3N0YXRpYyBpbnQgY29tcGFyZVN0cmluZ3MoY29uc3QgY2hhciogcCwgY29uc3QgY2hhciog
bGltaXRQLCBjb25zdCBjaGFyKiBxLCBjb25zdCBjaGFyKiBsaW1pdFEpCit7CisgICAgaW50IHJl
c3VsdCA9IGNvbXBhcmVFbmNvZGVkU3RyaW5nc1dpdGhMZW5ndGgocCwgbGltaXRQLCBxLCBsaW1p
dFEpOworICAgIEVYUEVDVF9FUShwLCBsaW1pdFApOworICAgIEVYUEVDVF9FUShxLCBsaW1pdFEp
OworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIFRFU1QoSURCTGV2ZWxEQkNvZGluZ1Rlc3QsIENv
bXBhcmVFbmNvZGVkU3RyaW5nc1dpdGhMZW5ndGgpCiB7CiAgICAgY29uc3QgVUNoYXIgdGVzdFN0
cmluZ0FbXSA9IHsweDEwMDAsIDB4MTAwMCwgJ1wwJ307CkBAIC0yNzIsMTAgKzMwOSwxMCBAQCBU
RVNUKElEQkxldmVsREJDb2RpbmdUZXN0LCBDb21wYXJlRW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3Ro
KQogICAgICAgICBjb25zdCBjaGFyKiBxID0gZW5jb2RlZEIuZGF0YSgpOwogICAgICAgICBjb25z
dCBjaGFyKiBsaW1pdFEgPSBxICsgZW5jb2RlZEIuc2l6ZSgpOwogCi0gICAgICAgIEVYUEVDVF9M
VChjb21wYXJlRW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3RoKHAsIGxpbWl0UCwgcSwgbGltaXRRKSwg
MCk7Ci0gICAgICAgIEVYUEVDVF9HVChjb21wYXJlRW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3RoKHEs
IGxpbWl0USwgcCwgbGltaXRQKSwgMCk7Ci0gICAgICAgIEVYUEVDVF9FUShjb21wYXJlRW5jb2Rl
ZFN0cmluZ3NXaXRoTGVuZ3RoKHAsIGxpbWl0UCwgcCwgbGltaXRQKSwgMCk7Ci0gICAgICAgIEVY
UEVDVF9FUShjb21wYXJlRW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3RoKHEsIGxpbWl0USwgcSwgbGlt
aXRRKSwgMCk7CisgICAgICAgIEVYUEVDVF9MVChjb21wYXJlU3RyaW5ncyhwLCBsaW1pdFAsIHEs
IGxpbWl0USksIDApOworICAgICAgICBFWFBFQ1RfR1QoY29tcGFyZVN0cmluZ3MocSwgbGltaXRR
LCBwLCBsaW1pdFApLCAwKTsKKyAgICAgICAgRVhQRUNUX0VRKGNvbXBhcmVTdHJpbmdzKHAsIGxp
bWl0UCwgcCwgbGltaXRQKSwgMCk7CisgICAgICAgIEVYUEVDVF9FUShjb21wYXJlU3RyaW5ncyhx
LCBsaW1pdFEsIHEsIGxpbWl0USksIDApOwogICAgIH0KIH0KIApAQCAtMzI3LDEyICszNjQsMzAg
QEAgVEVTVChJREJMZXZlbERCQ29kaW5nVGVzdCwgRW5jb2RlRGVjb2RlSURCS2V5KQogICAgIEVY
UEVDVF9FUSh2LmRhdGEoKSArIHYuc2l6ZSgpLCBwKTsKICAgICBFWFBFQ1RfRVEoMCwgZGVjb2Rl
SURCS2V5KHYuZGF0YSgpLCB2LmRhdGEoKSArIHYuc2l6ZSgpIC0gMSwgZGVjb2RlZEtleSkpOwog
CisgICAgZXhwZWN0ZWRLZXkgPSBjcmVhdGVBcnJheUlEQktleSgpOworICAgIHYgPSBlbmNvZGVJ
REJLZXkoKmV4cGVjdGVkS2V5KTsKKyAgICBwID0gZGVjb2RlSURCS2V5KHYuZGF0YSgpLCB2LmRh
dGEoKSArIHYuc2l6ZSgpLCBkZWNvZGVkS2V5KTsKKyAgICBFWFBFQ1RfVFJVRShkZWNvZGVkS2V5
LT5pc0VxdWFsKGV4cGVjdGVkS2V5LmdldCgpKSk7CisgICAgRVhQRUNUX0VRKHYuZGF0YSgpICsg
di5zaXplKCksIHApOworICAgIEVYUEVDVF9FUSgwLCBkZWNvZGVJREJLZXkodi5kYXRhKCksIHYu
ZGF0YSgpICsgdi5zaXplKCkgLSAxLCBkZWNvZGVkS2V5KSk7CisKICAgICBleHBlY3RlZEtleSA9
IElEQktleTo6Y3JlYXRlRGF0ZSg3ODkwKTsKICAgICB2ID0gZW5jb2RlSURCS2V5KCpleHBlY3Rl
ZEtleSk7CiAgICAgcCA9IGRlY29kZUlEQktleSh2LmRhdGEoKSwgdi5kYXRhKCkgKyB2LnNpemUo
KSwgZGVjb2RlZEtleSk7CiAgICAgRVhQRUNUX1RSVUUoZGVjb2RlZEtleS0+aXNFcXVhbChleHBl
Y3RlZEtleS5nZXQoKSkpOwogICAgIEVYUEVDVF9FUSh2LmRhdGEoKSArIHYuc2l6ZSgpLCBwKTsK
ICAgICBFWFBFQ1RfRVEoMCwgZGVjb2RlSURCS2V5KHYuZGF0YSgpLCB2LmRhdGEoKSArIHYuc2l6
ZSgpIC0gMSwgZGVjb2RlZEtleSkpOworCisgICAgSURCS2V5OjpLZXlBcnJheSBhcnJheTsKKyAg
ICBhcnJheS5hcHBlbmQoSURCS2V5OjpjcmVhdGVOdW1iZXIoMTIzNCkpOworICAgIGFycmF5LmFw
cGVuZChJREJLZXk6OmNyZWF0ZVN0cmluZygiSGVsbG8gV29ybGQhIikpOworICAgIGFycmF5LmFw
cGVuZChJREJLZXk6OmNyZWF0ZURhdGUoNzg5MCkpOworICAgIGV4cGVjdGVkS2V5ID0gSURCS2V5
OjpjcmVhdGVBcnJheShhcnJheSk7CisgICAgdiA9IGVuY29kZUlEQktleSgqZXhwZWN0ZWRLZXkp
OworICAgIHAgPSBkZWNvZGVJREJLZXkodi5kYXRhKCksIHYuZGF0YSgpICsgdi5zaXplKCksIGRl
Y29kZWRLZXkpOworICAgIEVYUEVDVF9UUlVFKGRlY29kZWRLZXktPmlzRXF1YWwoZXhwZWN0ZWRL
ZXkuZ2V0KCkpKTsKKyAgICBFWFBFQ1RfRVEodi5kYXRhKCkgKyB2LnNpemUoKSwgcCk7CisgICAg
RVhQRUNUX0VRKDAsIGRlY29kZUlEQktleSh2LmRhdGEoKSwgdi5kYXRhKCkgKyB2LnNpemUoKSAt
IDEsIGRlY29kZWRLZXkpKTsKIH0KIAogVEVTVChJREJMZXZlbERCQ29kaW5nVGVzdCwgRXh0cmFj
dEFuZENvbXBhcmVJREJLZXlzKQpAQCAtMzU0LDYgKzQwOSwxOCBAQCBURVNUKElEQkxldmVsREJD
b2RpbmdUZXN0LCBFeHRyYWN0QW5kQ29tcGFyZUlEQktleXMpCiAgICAga2V5cy5hcHBlbmQoSURC
S2V5OjpjcmVhdGVTdHJpbmcoImJhYWIiKSk7CiAgICAga2V5cy5hcHBlbmQoSURCS2V5OjpjcmVh
dGVTdHJpbmcoImMiKSk7CiAKKyAgICBrZXlzLmFwcGVuZChjcmVhdGVBcnJheUlEQktleSgpKTsK
KyAgICBrZXlzLmFwcGVuZChjcmVhdGVBcnJheUlEQktleShJREJLZXk6OmNyZWF0ZU51bWJlcigw
KSkpOworICAgIGtleXMuYXBwZW5kKGNyZWF0ZUFycmF5SURCS2V5KElEQktleTo6Y3JlYXRlTnVt
YmVyKDApLCBJREJLZXk6OmNyZWF0ZU51bWJlcigzLjE0KSkpOworICAgIGtleXMuYXBwZW5kKGNy
ZWF0ZUFycmF5SURCS2V5KElEQktleTo6Y3JlYXRlRGF0ZSgwKSkpOworICAgIGtleXMuYXBwZW5k
KGNyZWF0ZUFycmF5SURCS2V5KElEQktleTo6Y3JlYXRlRGF0ZSgwKSwgSURCS2V5OjpjcmVhdGVE
YXRlKDApKSk7CisgICAga2V5cy5hcHBlbmQoY3JlYXRlQXJyYXlJREJLZXkoSURCS2V5OjpjcmVh
dGVTdHJpbmcoIiIpKSk7CisgICAga2V5cy5hcHBlbmQoY3JlYXRlQXJyYXlJREJLZXkoSURCS2V5
OjpjcmVhdGVTdHJpbmcoIiIpLCBJREJLZXk6OmNyZWF0ZVN0cmluZygiYSIpKSk7CisgICAga2V5
cy5hcHBlbmQoY3JlYXRlQXJyYXlJREJLZXkoY3JlYXRlQXJyYXlJREJLZXkoKSkpOworICAgIGtl
eXMuYXBwZW5kKGNyZWF0ZUFycmF5SURCS2V5KGNyZWF0ZUFycmF5SURCS2V5KCksIGNyZWF0ZUFy
cmF5SURCS2V5KCkpKTsKKyAgICBrZXlzLmFwcGVuZChjcmVhdGVBcnJheUlEQktleShjcmVhdGVB
cnJheUlEQktleShjcmVhdGVBcnJheUlEQktleSgpKSkpOworICAgIGtleXMuYXBwZW5kKGNyZWF0
ZUFycmF5SURCS2V5KGNyZWF0ZUFycmF5SURCS2V5KGNyZWF0ZUFycmF5SURCS2V5KGNyZWF0ZUFy
cmF5SURCS2V5KCkpKSkpOworCiAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBrZXlzLnNpemUo
KSAtIDE7ICsraSkgewogICAgICAgICBSZWZQdHI8SURCS2V5PiBrZXlBID0ga2V5c1tpXTsKICAg
ICAgICAgUmVmUHRyPElEQktleT4ga2V5QiA9IGtleXNbaSArIDFdOwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDcxOGZkMzAw
YmEzMGViZjI1MWFhOGUzZDVjMWIxNWU0ODU5YTcyNmYuLmUxZjJkNWQ4ODM1M2I5YWRiMGU2YjAz
YWIwMjdmNzQ2N2MwODgzYmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNSBAQAorMjAxMS0xMS0wMyAgSm9z
aHVhIEJlbGwgIDxqc2JlbGxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEluZGV4ZWREQjogaW1w
bGVtZW50IGNvbXBvdW5kIChhcnJheSkga2V5IHN1cHBvcnQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjg0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Ita2V5
LW9yZGVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
Y3Vyc29yLWtleS1vcmRlci5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRk
Yi9mYWN0b3J5LWNtcC1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
ZmFjdG9yeS1jbXAuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1iYXNp
Y3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2lj
cy5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5LWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtYXJy
YXkuaHRtbDogQWRkZWQuCisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIva2V5cmFuZ2UtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2tleXJhbmdlLmh0bWw6Cisg
ICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MuaHRtbDoK
KyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWN1cnNvci1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jdXJzb3IuaHRtbDoKKwogMjAxMS0xMS0w
NCAgUGhpbGlwcGUgTm9ybWFuZCAgPHBub3JtYW5kQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCwgc2tpcCBzb21lIGZhc3Qvdmlld3BvcnQgZmFpbGluZyB0ZXN0cyBvbiBHVEsgYWZ0
ZXIgcjk5MTk1LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vy
c29yLWtleS1vcmRlci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9jdXJzb3Ita2V5LW9yZGVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43Y2EyOTQ3Y2JiZDAw
ZmMzYjViYThlN2Q1MTQzMTNlZTg4MmUwNmQ4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWtleS1vcmRlci1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSw5MDggQEAKK1Rlc3QgSW5kZXhlZERCIGtleXMgb3JkZXJpbmcgYW5kIHJlYWRiYWNrIGZy
b20gY3Vyc29ycy4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK2luZGV4ZWREQiA9
IHdpbmRvdy5pbmRleGVkREIgfHwgd2luZG93LndlYmtpdEluZGV4ZWREQiB8fCB3aW5kb3cubW96
SW5kZXhlZERCOworUEFTUyBpbmRleGVkREIgPT0gbnVsbCBpcyBmYWxzZQorSURCQ3Vyc29yID0g
d2luZG93LklEQkN1cnNvciB8fCB3aW5kb3cud2Via2l0SURCQ3Vyc29yOworUEFTUyBJREJDdXJz
b3IgPT0gbnVsbCBpcyBmYWxzZQorSURCVHJhbnNhY3Rpb24gPSB3aW5kb3cuSURCVHJhbnNhY3Rp
b24gfHwgd2luZG93LndlYmtpdElEQlRyYW5zYWN0aW9uCitQQVNTIElEQlRyYW5zYWN0aW9uID09
IG51bGwgaXMgZmFsc2UKKworb3BlbnJlcSA9IGluZGV4ZWREQi5vcGVuKCdjdXJzb3Ita2V5LW9y
ZGVyJykKK2RiID0gb3BlbnJlcS5yZXN1bHQKK3ZlcnJlcSA9IGRiLnNldFZlcnNpb24oJzEnKQor
ZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJykKKworcG9wdWxhdGluZyBzdG9yZS4uLgordHJh
bnMgPSBkYi50cmFuc2FjdGlvbignc3RvcmUnLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQor
c3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmUnKTsKK3N0b3JlLnB1dCgwLCAtSW5maW5p
dHkpCitzdG9yZS5wdXQoMSwgLU51bWJlci5NQVhfVkFMVUUpCitzdG9yZS5wdXQoMiwgLTEpCitz
dG9yZS5wdXQoMywgLU51bWJlci5NSU5fVkFMVUUpCitzdG9yZS5wdXQoNCwgMCkKK3N0b3JlLnB1
dCg1LCBOdW1iZXIuTUlOX1ZBTFVFKQorc3RvcmUucHV0KDYsIDEpCitzdG9yZS5wdXQoNywgTnVt
YmVyLk1BWF9WQUxVRSkKK3N0b3JlLnB1dCg4LCBJbmZpbml0eSkKK3N0b3JlLnB1dCg5LCBuZXcg
RGF0ZSgwKSkKK3N0b3JlLnB1dCgxMCwgbmV3IERhdGUoMTAwMCkpCitzdG9yZS5wdXQoMTEsIG5l
dyBEYXRlKDEzMTczOTk5MzEwMjMpKQorc3RvcmUucHV0KDEyLCAnJykKK3N0b3JlLnB1dCgxMywg
JycpCitzdG9yZS5wdXQoMTQsICdhJykKK3N0b3JlLnB1dCgxNSwgJ2FhJykKK3N0b3JlLnB1dCgx
NiwgJ2InKQorc3RvcmUucHV0KDE3LCAnYmEnKQorc3RvcmUucHV0KDE4LCAnwqInKQorc3RvcmUu
cHV0KDE5LCAn5rC0JykKK3N0b3JlLnB1dCgyMCwgJ/CdhJ4nKQorc3RvcmUucHV0KDIxLCAn77+9
JykKK3N0b3JlLnB1dCgyMiwgW10pCitzdG9yZS5wdXQoMjMsIFstSW5maW5pdHldKQorc3RvcmUu
cHV0KDI0LCBbLU51bWJlci5NQVhfVkFMVUVdKQorc3RvcmUucHV0KDI1LCBbLTFdKQorc3RvcmUu
cHV0KDI2LCBbLU51bWJlci5NSU5fVkFMVUVdKQorc3RvcmUucHV0KDI3LCBbMF0pCitzdG9yZS5w
dXQoMjgsIFtOdW1iZXIuTUlOX1ZBTFVFXSkKK3N0b3JlLnB1dCgyOSwgWzFdKQorc3RvcmUucHV0
KDMwLCBbTnVtYmVyLk1BWF9WQUxVRV0pCitzdG9yZS5wdXQoMzEsIFtJbmZpbml0eV0pCitzdG9y
ZS5wdXQoMzIsIFtuZXcgRGF0ZSgwKV0pCitzdG9yZS5wdXQoMzMsIFtuZXcgRGF0ZSgxMDAwKV0p
CitzdG9yZS5wdXQoMzQsIFtuZXcgRGF0ZSgxMzE3Mzk5OTMxMDIzKV0pCitzdG9yZS5wdXQoMzUs
IFsnJ10pCitzdG9yZS5wdXQoMzYsIFsnJ10pCitzdG9yZS5wdXQoMzcsIFsnYSddKQorc3RvcmUu
cHV0KDM4LCBbJ2FhJ10pCitzdG9yZS5wdXQoMzksIFsnYiddKQorc3RvcmUucHV0KDQwLCBbJ2Jh
J10pCitzdG9yZS5wdXQoNDEsIFsnwqInXSkKK3N0b3JlLnB1dCg0MiwgWyfmsLQnXSkKK3N0b3Jl
LnB1dCg0MywgWyfwnYSeJ10pCitzdG9yZS5wdXQoNDQsIFsn77+9J10pCitzdG9yZS5wdXQoNDUs
IFtbXV0pCitzdG9yZS5wdXQoNDYsIFtbXSwgW11dKQorc3RvcmUucHV0KDQ3LCBbW10sIFtdLCBb
XV0pCitzdG9yZS5wdXQoNDgsIFtbW11dXSkKK3N0b3JlLnB1dCg0OSwgW1tbW11dXV0pCisKK2l0
ZXJhdGluZyBjdXJzb3IuLi4KK3RyYW5zID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJywgSURCVHJh
bnNhY3Rpb24uUkVBRF9PTkxZKQorc3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmUnKTsK
K2NvdW50ID0gMAorY3VycmVxID0gc3RvcmUub3BlbkN1cnNvcigpCitjdXJzb3IgPSBjdXJyZXEu
cmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgLUluZmluaXR5KSBpcyB0cnVlCitnZXRy
ZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQr
KyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtl
eSwgLU51bWJlci5NQVhfVkFMVUUpIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iu
a2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1
cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCAtMSkgaXMgdHJ1ZQorZ2V0cmVx
ID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50Kysg
aXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXks
IC1OdW1iZXIuTUlOX1ZBTFVFKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtl
eSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJy
ZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgMCkgaXMgdHJ1ZQorZ2V0cmVxID0g
c3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMg
dHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIE51
bWJlci5NSU5fVkFMVUUpIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQor
UEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5y
ZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCAxKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9y
ZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVl
CitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgTnVtYmVy
Lk1BWF9WQUxVRSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNT
IGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3Vs
dAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIEluZmluaXR5KSBpcyB0cnVlCitnZXRyZXEgPSBz
dG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0
cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgbmV3
IERhdGUoMCkpIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBn
ZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQK
K1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBuZXcgRGF0ZSgxMDAwKSkgaXMgdHJ1ZQorZ2V0cmVx
ID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50Kysg
aXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXks
IG5ldyBEYXRlKDEzMTczOTk5MzEwMjMpKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vy
c29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3Ig
PSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgJycpIGlzIHRydWUKK2dl
dHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3Vu
dCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iu
a2V5LCAnXDAnKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1Mg
Z2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0
CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgJ2EnKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5n
ZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitj
dXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgJ2FhJykgaXMg
dHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQg
PT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJl
KGN1cnNvci5rZXksICdiJykgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkp
CitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVx
LnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksICdiYScpIGlzIHRydWUKK2dldHJlcSA9
IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlz
IHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCAn
wqInKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVx
LnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNT
IGNvbXBhcmUoY3Vyc29yLmtleSwgJ+awtCcpIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChj
dXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNv
ciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCAn8J2EnicpIGlzIHRy
dWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09
PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShj
dXJzb3Iua2V5LCAn77+9JykgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkp
CitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVx
LnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIFtdKSBpcyB0cnVlCitnZXRyZXEgPSBz
dG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0
cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgWy1J
bmZpbml0eV0pIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBn
ZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQK
K1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBbLU51bWJlci5NQVhfVkFMVUVdKSBpcyB0cnVlCitn
ZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291
bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29y
LmtleSwgWy0xXSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNT
IGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3Vs
dAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIFstTnVtYmVyLk1JTl9WQUxVRV0pIGlzIHRydWUK
K2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBj
b3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJz
b3Iua2V5LCBbMF0pIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFT
UyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1
bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBbTnVtYmVyLk1JTl9WQUxVRV0pIGlzIHRydWUK
K2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBj
b3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJz
b3Iua2V5LCBbMV0pIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFT
UyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1
bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBbTnVtYmVyLk1BWF9WQUxVRV0pIGlzIHRydWUK
K2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBj
b3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJz
b3Iua2V5LCBbSW5maW5pdHldKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtl
eSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJy
ZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgW25ldyBEYXRlKDApXSkgaXMgdHJ1
ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09
IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1
cnNvci5rZXksIFtuZXcgRGF0ZSgxMDAwKV0pIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChj
dXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNv
ciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBbbmV3IERhdGUoMTMx
NzM5OTkzMTAyMyldKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BB
U1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVz
dWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgWycnXSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3Rv
cmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1
ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIFsnXDAn
XSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5y
ZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBj
b21wYXJlKGN1cnNvci5rZXksIFsnYSddKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vy
c29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3Ig
PSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgWydhYSddKSBpcyB0cnVl
CitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0g
Y291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vy
c29yLmtleSwgWydiJ10pIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQor
UEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5y
ZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBbJ2JhJ10pIGlzIHRydWUKK2dldHJlcSA9
IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlz
IHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBb
J8KiJ10pIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRy
ZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BB
U1MgY29tcGFyZShjdXJzb3Iua2V5LCBbJ+awtCddKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5n
ZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitj
dXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgWyfwnYSeJ10p
IGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVz
dWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29t
cGFyZShjdXJzb3Iua2V5LCBbJ++/vSddKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vy
c29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3Ig
PSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgW1tdXSkgaXMgdHJ1ZQor
Z2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNv
dW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNv
ci5rZXksIFtbXSwgW11dKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkK
K1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEu
cmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgW1tdLCBbXSwgW11dKSBpcyB0cnVlCitn
ZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291
bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29y
LmtleSwgW1tbXV1dKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BB
U1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVz
dWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgW1tbW11dXV0pIGlzIHRydWUKK2dldHJlcSA9
IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlz
IHRydWUKK1BBU1MgY291bnQgPT09IGtleXMubGVuZ3RoIGlzIHRydWUKKwordmFsaWRhdGUgY29t
cGFyZSBmdW5jdGlvbgorUEFTUyBjb21wYXJlKHVuZGVmaW5lZCwgdW5kZWZpbmVkKSBpcyB0cnVl
CitQQVNTIGNvbXBhcmUodW5kZWZpbmVkLCB0cnVlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHVu
ZGVmaW5lZCwgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodW5kZWZpbmVkLCAwKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKHVuZGVmaW5lZCwgLTApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
dW5kZWZpbmVkLCAxMjMpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodW5kZWZpbmVkLCBJbmZpbml0
eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh1bmRlZmluZWQsIC1JbmZpbml0eSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZSh1bmRlZmluZWQsIE5hTikgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh1bmRl
ZmluZWQsICcnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHVuZGVmaW5lZCwgJ2FiYycpIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUodW5kZWZpbmVkLCAneHl6JykgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZSh1bmRlZmluZWQsIG5ldyBEYXRlKDApKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHVuZGVmaW5l
ZCwgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh1bmRlZmluZWQsIG5ldyBE
YXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodW5kZWZpbmVkLCBbXSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZSh1bmRlZmluZWQsIFsxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHVu
ZGVmaW5lZCwgWydhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh1bmRlZmluZWQsIFsxMjMs
ICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh1bmRlZmluZWQsIFsnYWJjJywgMTIzXSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZSh1bmRlZmluZWQsIFtbXV0pIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUodW5kZWZpbmVkLCBbWzEyM11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHVuZGVmaW5l
ZCwgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHVuZGVmaW5lZCwgW1sxMjNdLCAn
YWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodW5kZWZpbmVkLCBbWzEyM10sIDEyM10pIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUodHJ1ZSwgdW5kZWZpbmVkKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKHRydWUsIHRydWUpIGlzIHRydWUKK1BBU1MgY29tcGFyZSh0cnVlLCBmYWxzZSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZSh0cnVlLCAwKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHRydWUsIC0w
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHRydWUsIDEyMykgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZSh0cnVlLCBJbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh0cnVlLCAtSW5maW5pdHkp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodHJ1ZSwgTmFOKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KHRydWUsICcnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHRydWUsICdhYmMnKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKHRydWUsICd4eXonKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHRydWUsIG5l
dyBEYXRlKDApKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHRydWUsIG5ldyBEYXRlKDFlMykpIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUodHJ1ZSwgbmV3IERhdGUoMWU5KSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZSh0cnVlLCBbXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh0cnVlLCBbMTIzXSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZSh0cnVlLCBbJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KHRydWUsIFsxMjMsICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh0cnVlLCBbJ2FiYycs
IDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodHJ1ZSwgW1tdXSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZSh0cnVlLCBbWzEyM11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHRydWUsIFtbJ2Fi
YyddXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh0cnVlLCBbWzEyM10sICdhYmMnXSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZSh0cnVlLCBbWzEyM10sIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoZmFsc2UsIHVuZGVmaW5lZCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShmYWxzZSwgdHJ1ZSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShmYWxzZSwgZmFsc2UpIGlzIHRydWUKK1BBU1MgY29tcGFy
ZShmYWxzZSwgMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShmYWxzZSwgLTApIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoZmFsc2UsIDEyMykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShmYWxzZSwgSW5m
aW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoZmFsc2UsIC1JbmZpbml0eSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShmYWxzZSwgTmFOKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKGZhbHNlLCAn
JykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShmYWxzZSwgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoZmFsc2UsICd4eXonKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKGZhbHNlLCBuZXcgRGF0
ZSgwKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShmYWxzZSwgbmV3IERhdGUoMWUzKSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShmYWxzZSwgbmV3IERhdGUoMWU5KSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShmYWxzZSwgW10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoZmFsc2UsIFsxMjNdKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKGZhbHNlLCBbJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KGZhbHNlLCBbMTIzLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoZmFsc2UsIFsnYWJj
JywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShmYWxzZSwgW1tdXSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShmYWxzZSwgW1sxMjNdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShmYWxzZSwg
W1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKGZhbHNlLCBbWzEyM10sICdhYmMnXSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShmYWxzZSwgW1sxMjNdLCAxMjNdKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKDAsIHVuZGVmaW5lZCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgwLCB0cnVlKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKDAsIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDAs
IDApIGlzIHRydWUKK1BBU1MgY29tcGFyZSgwLCAtMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgw
LCAxMjMpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMCwgSW5maW5pdHkpIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoMCwgLUluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDAsIE5hTikgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZSgwLCAnJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgwLCAnYWJj
JykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgwLCAneHl6JykgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZSgwLCBuZXcgRGF0ZSgwKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgwLCBuZXcgRGF0ZSgxZTMp
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDAsIG5ldyBEYXRlKDFlOSkpIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoMCwgW10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMCwgWzEyM10pIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoMCwgWydhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgwLCBbMTIz
LCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMCwgWydhYmMnLCAxMjNdKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKDAsIFtbXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMCwgW1sxMjNd
XSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgwLCBbWydhYmMnXV0pIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoMCwgW1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMCwgW1sxMjNd
LCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC0wLCB1bmRlZmluZWQpIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoLTAsIHRydWUpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLTAsIGZhbHNlKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKC0wLCAwKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC0wLCAt
MCkgaXMgdHJ1ZQorUEFTUyBjb21wYXJlKC0wLCAxMjMpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
LTAsIEluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC0wLCAtSW5maW5pdHkpIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoLTAsIE5hTikgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwgJycp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLTAsICdhYmMnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KC0wLCAneHl6JykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwgbmV3IERhdGUoMCkpIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoLTAsIG5ldyBEYXRlKDFlMykpIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoLTAsIG5ldyBEYXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLTAsIFtdKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKC0wLCBbMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwg
WydhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwgWzEyMywgJ2FiYyddKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKC0wLCBbJ2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
LTAsIFtbXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLTAsIFtbMTIzXV0pIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoLTAsIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwgW1sx
MjNdLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLTAsIFtbMTIzXSwgMTIzXSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZSgxMjMsIHVuZGVmaW5lZCkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZSgxMjMsIHRydWUpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCBmYWxzZSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZSgxMjMsIDApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCAtMCkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZSgxMjMsIDEyMykgaXMgdHJ1ZQorUEFTUyBjb21wYXJlKDEyMywg
SW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCAtSW5maW5pdHkpIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoMTIzLCBOYU4pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCAnJykg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZSgxMjMsICdhYmMnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KDEyMywgJ3h5eicpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCBuZXcgRGF0ZSgwKSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZSgxMjMsIG5ldyBEYXRlKDFlMykpIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoMTIzLCBuZXcgRGF0ZSgxZTkpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDEyMywgW10p
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCBbMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZSgxMjMsIFsnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCBbMTIzLCAnYWJjJ10p
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCBbJ2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoMTIzLCBbW11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDEyMywgW1sxMjNdXSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZSgxMjMsIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZSgxMjMsIFtbMTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDEyMywgW1sx
MjNdLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKEluZmluaXR5LCB1bmRlZmluZWQpIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoSW5maW5pdHksIHRydWUpIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoSW5maW5pdHksIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKEluZmluaXR5LCAwKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKEluZmluaXR5LCAtMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShJbmZpbml0eSwgMTIzKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKEluZmluaXR5LCBJbmZpbml0
eSkgaXMgdHJ1ZQorUEFTUyBjb21wYXJlKEluZmluaXR5LCAtSW5maW5pdHkpIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoSW5maW5pdHksIE5hTikgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShJbmZpbml0
eSwgJycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoSW5maW5pdHksICdhYmMnKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKEluZmluaXR5LCAneHl6JykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShJbmZp
bml0eSwgbmV3IERhdGUoMCkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoSW5maW5pdHksIG5ldyBE
YXRlKDFlMykpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoSW5maW5pdHksIG5ldyBEYXRlKDFlOSkp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoSW5maW5pdHksIFtdKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKEluZmluaXR5LCBbMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShJbmZpbml0eSwgWydh
YmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShJbmZpbml0eSwgWzEyMywgJ2FiYyddKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKEluZmluaXR5LCBbJ2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoSW5maW5pdHksIFtbXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoSW5maW5pdHks
IFtbMTIzXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoSW5maW5pdHksIFtbJ2FiYyddXSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShJbmZpbml0eSwgW1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoSW5maW5pdHksIFtbMTIzXSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZSgtSW5maW5pdHksIHVuZGVmaW5lZCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtSW5maW5pdHks
IHRydWUpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCBmYWxzZSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZSgtSW5maW5pdHksIDApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLUluZmlu
aXR5LCAtMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtSW5maW5pdHksIDEyMykgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZSgtSW5maW5pdHksIEluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KC1JbmZpbml0eSwgLUluZmluaXR5KSBpcyB0cnVlCitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCBO
YU4pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCAnJykgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZSgtSW5maW5pdHksICdhYmMnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC1JbmZpbml0
eSwgJ3h5eicpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCBuZXcgRGF0ZSgwKSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtSW5maW5pdHksIG5ldyBEYXRlKDFlMykpIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCBuZXcgRGF0ZSgxZTkpKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKC1JbmZpbml0eSwgW10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCBb
MTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtSW5maW5pdHksIFsnYWJjJ10pIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCBbMTIzLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoLUluZmluaXR5LCBbJ2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLUlu
ZmluaXR5LCBbW11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC1JbmZpbml0eSwgW1sxMjNdXSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtSW5maW5pdHksIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZSgtSW5maW5pdHksIFtbMTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKC1JbmZpbml0eSwgW1sxMjNdLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5hTiwg
dW5kZWZpbmVkKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5hTiwgdHJ1ZSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShOYU4sIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5hTiwgMCkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShOYU4sIC0wKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5hTiwg
MTIzKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5hTiwgSW5maW5pdHkpIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoTmFOLCAtSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoTmFOLCBOYU4p
IGlzIHRydWUKK1BBU1MgY29tcGFyZShOYU4sICcnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5h
TiwgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoTmFOLCAneHl6JykgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShOYU4sIG5ldyBEYXRlKDApKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5hTiwg
bmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShOYU4sIG5ldyBEYXRlKDFlOSkp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoTmFOLCBbXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShO
YU4sIFsxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5hTiwgWydhYmMnXSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShOYU4sIFsxMjMsICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShO
YU4sIFsnYWJjJywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShOYU4sIFtbXV0pIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoTmFOLCBbWzEyM11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5h
TiwgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5hTiwgW1sxMjNdLCAnYWJjJ10p
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoTmFOLCBbWzEyM10sIDEyM10pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoJycsIHVuZGVmaW5lZCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnJywgdHJ1ZSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnJywgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
JycsIDApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJycsIC0wKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKCcnLCAxMjMpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJycsIEluZmluaXR5KSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKCcnLCAtSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJycs
IE5hTikgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnJywgJycpIGlzIHRydWUKK1BBU1MgY29tcGFy
ZSgnJywgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJycsICd4eXonKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKCcnLCBuZXcgRGF0ZSgwKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnJywg
bmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnJywgbmV3IERhdGUoMWU5KSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnJywgW10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJycs
IFsxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCcnLCBbJ2FiYyddKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKCcnLCBbMTIzLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJycsIFsn
YWJjJywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnJywgW1tdXSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZSgnJywgW1sxMjNdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnJywgW1snYWJj
J11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCcnLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZSgnJywgW1sxMjNdLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCdh
YmMnLCB1bmRlZmluZWQpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ2FiYycsIHRydWUpIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoJ2FiYycsIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCdh
YmMnLCAwKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCdhYmMnLCAtMCkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZSgnYWJjJywgMTIzKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCdhYmMnLCBJbmZpbml0
eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnYWJjJywgLUluZmluaXR5KSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKCdhYmMnLCBOYU4pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ2FiYycsICcnKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKCdhYmMnLCAnYWJjJykgaXMgdHJ1ZQorUEFTUyBjb21wYXJl
KCdhYmMnLCAneHl6JykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnYWJjJywgbmV3IERhdGUoMCkp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ2FiYycsIG5ldyBEYXRlKDFlMykpIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoJ2FiYycsIG5ldyBEYXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
J2FiYycsIFtdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCdhYmMnLCBbMTIzXSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZSgnYWJjJywgWydhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnYWJj
JywgWzEyMywgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCdhYmMnLCBbJ2FiYycsIDEy
M10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ2FiYycsIFtbXV0pIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoJ2FiYycsIFtbMTIzXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ2FiYycsIFtbJ2Fi
YyddXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnYWJjJywgW1sxMjNdLCAnYWJjJ10pIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoJ2FiYycsIFtbMTIzXSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZSgneHl6JywgdW5kZWZpbmVkKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCd4eXonLCB0cnVl
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCd4eXonLCBmYWxzZSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZSgneHl6JywgMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgneHl6JywgLTApIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoJ3h5eicsIDEyMykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgneHl6Jywg
SW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ3h5eicsIC1JbmZpbml0eSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZSgneHl6JywgTmFOKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCd4eXon
LCAnJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgneHl6JywgJ2FiYycpIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoJ3h5eicsICd4eXonKSBpcyB0cnVlCitQQVNTIGNvbXBhcmUoJ3h5eicsIG5ldyBE
YXRlKDApKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCd4eXonLCBuZXcgRGF0ZSgxZTMpKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKCd4eXonLCBuZXcgRGF0ZSgxZTkpKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKCd4eXonLCBbXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgneHl6JywgWzEyM10pIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoJ3h5eicsIFsnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoJ3h5eicsIFsxMjMsICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgneHl6JywgWydh
YmMnLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCd4eXonLCBbW11dKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKCd4eXonLCBbWzEyM11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCd4eXon
LCBbWydhYmMnXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ3h5eicsIFtbMTIzXSwgJ2FiYydd
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCd4eXonLCBbWzEyM10sIDEyM10pIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUobmV3IERhdGUoMCksIHVuZGVmaW5lZCkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShuZXcgRGF0ZSgwKSwgdHJ1ZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgwKSwg
ZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMCksIDApIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUobmV3IERhdGUoMCksIC0wKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBE
YXRlKDApLCAxMjMpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMCksIEluZmluaXR5
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDApLCAtSW5maW5pdHkpIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUobmV3IERhdGUoMCksIE5hTikgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShu
ZXcgRGF0ZSgwKSwgJycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMCksICdhYmMn
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDApLCAneHl6JykgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShuZXcgRGF0ZSgwKSwgbmV3IERhdGUoMCkpIGlzIHRydWUKK1BBU1MgY29tcGFy
ZShuZXcgRGF0ZSgwKSwgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcg
RGF0ZSgwKSwgbmV3IERhdGUoMWU5KSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgw
KSwgW10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMCksIFsxMjNdKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDApLCBbJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKG5ldyBEYXRlKDApLCBbMTIzLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3
IERhdGUoMCksIFsnYWJjJywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgw
KSwgW1tdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgwKSwgW1sxMjNdXSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgwKSwgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKG5ldyBEYXRlKDApLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShuZXcgRGF0ZSgwKSwgW1sxMjNdLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5l
dyBEYXRlKDFlMyksIHVuZGVmaW5lZCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgx
ZTMpLCB0cnVlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlMyksIGZhbHNlKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlMyksIDApIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUobmV3IERhdGUoMWUzKSwgLTApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUo
MWUzKSwgMTIzKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlMyksIEluZmluaXR5
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlMyksIC1JbmZpbml0eSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTMpLCBOYU4pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUobmV3IERhdGUoMWUzKSwgJycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWUz
KSwgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWUzKSwgJ3h5eicpIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWUzKSwgbmV3IERhdGUoMCkpIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWUzKSwgbmV3IERhdGUoMWUzKSkgaXMgdHJ1ZQorUEFT
UyBjb21wYXJlKG5ldyBEYXRlKDFlMyksIG5ldyBEYXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUobmV3IERhdGUoMWUzKSwgW10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUo
MWUzKSwgWzEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWUzKSwgWydhYmMn
XSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTMpLCBbMTIzLCAnYWJjJ10pIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWUzKSwgWydhYmMnLCAxMjNdKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlMyksIFtbXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUobmV3IERhdGUoMWUzKSwgW1sxMjNdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0
ZSgxZTMpLCBbWydhYmMnXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWUzKSwg
W1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWUzKSwgW1sx
MjNdLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlOSksIHVuZGVmaW5l
ZCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTkpLCB0cnVlKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlOSksIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KG5ldyBEYXRlKDFlOSksIDApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwg
LTApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwgMTIzKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlOSksIEluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKG5ldyBEYXRlKDFlOSksIC1JbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcg
RGF0ZSgxZTkpLCBOYU4pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwgJycp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwgJ2FiYycpIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwgJ3h5eicpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
bmV3IERhdGUoMWU5KSwgbmV3IERhdGUoMCkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERh
dGUoMWU5KSwgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgx
ZTkpLCBuZXcgRGF0ZSgxZTkpKSBpcyB0cnVlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwg
W10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwgWzEyM10pIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwgWydhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShuZXcgRGF0ZSgxZTkpLCBbMTIzLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
bmV3IERhdGUoMWU5KSwgWydhYmMnLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBE
YXRlKDFlOSksIFtbXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwgW1sx
MjNdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTkpLCBbWydhYmMnXV0pIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwgW1sxMjNdLCAnYWJjJ10pIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwgW1sxMjNdLCAxMjNdKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFtdLCB1bmRlZmluZWQpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW10sIHRy
dWUpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW10sIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKFtdLCAwKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtdLCAtMCkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZShbXSwgMTIzKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtdLCBJbmZpbml0eSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShbXSwgLUluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KFtdLCBOYU4pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW10sICcnKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKFtdLCAnYWJjJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbXSwgJ3h5eicpIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoW10sIG5ldyBEYXRlKDApKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KFtdLCBuZXcgRGF0ZSgxZTMpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtdLCBuZXcgRGF0ZSgx
ZTkpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtdLCBbXSkgaXMgdHJ1ZQorUEFTUyBjb21wYXJl
KFtdLCBbMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbXSwgWydhYmMnXSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShbXSwgWzEyMywgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtd
LCBbJ2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW10sIFtbXV0pIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoW10sIFtbMTIzXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW10sIFtb
J2FiYyddXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbXSwgW1sxMjNdLCAnYWJjJ10pIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoW10sIFtbMTIzXSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShbMTIzXSwgdW5kZWZpbmVkKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjNdLCB0cnVlKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjNdLCBmYWxzZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShbMTIzXSwgMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzXSwgLTApIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoWzEyM10sIDEyMykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzXSwgSW5m
aW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyM10sIC1JbmZpbml0eSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShbMTIzXSwgTmFOKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjNdLCAn
JykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzXSwgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoWzEyM10sICd4eXonKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjNdLCBuZXcgRGF0
ZSgwKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzXSwgbmV3IERhdGUoMWUzKSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShbMTIzXSwgbmV3IERhdGUoMWU5KSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShbMTIzXSwgW10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyM10sIFsxMjNdKSBpcyB0
cnVlCitQQVNTIGNvbXBhcmUoWzEyM10sIFsnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
WzEyM10sIFsxMjMsICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzXSwgWydhYmMn
LCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjNdLCBbW11dKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKFsxMjNdLCBbWzEyM11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjNdLCBb
WydhYmMnXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyM10sIFtbMTIzXSwgJ2FiYyddKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjNdLCBbWzEyM10sIDEyM10pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoWydhYmMnXSwgdW5kZWZpbmVkKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJj
J10sIHRydWUpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnXSwgZmFsc2UpIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoWydhYmMnXSwgMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYydd
LCAtMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYyddLCAxMjMpIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoWydhYmMnXSwgSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMn
XSwgLUluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJ10sIE5hTikgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShbJ2FiYyddLCAnJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2Fi
YyddLCAnYWJjJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYyddLCAneHl6JykgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShbJ2FiYyddLCBuZXcgRGF0ZSgwKSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShbJ2FiYyddLCBuZXcgRGF0ZSgxZTMpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJj
J10sIG5ldyBEYXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnXSwgW10pIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnXSwgWzEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoWydhYmMnXSwgWydhYmMnXSkgaXMgdHJ1ZQorUEFTUyBjb21wYXJlKFsnYWJjJ10sIFsxMjMs
ICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYyddLCBbJ2FiYycsIDEyM10pIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnXSwgW1tdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShbJ2FiYyddLCBbWzEyM11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJ10sIFtbJ2Fi
YyddXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYyddLCBbWzEyM10sICdhYmMnXSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYyddLCBbWzEyM10sIDEyM10pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoWzEyMywgJ2FiYyddLCB1bmRlZmluZWQpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
WzEyMywgJ2FiYyddLCB0cnVlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjMsICdhYmMnXSwg
ZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyMywgJ2FiYyddLCAwKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFsxMjMsICdhYmMnXSwgLTApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEy
MywgJ2FiYyddLCAxMjMpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyMywgJ2FiYyddLCBJbmZp
bml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzLCAnYWJjJ10sIC1JbmZpbml0eSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzLCAnYWJjJ10sIE5hTikgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShbMTIzLCAnYWJjJ10sICcnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjMsICdhYmMn
XSwgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyMywgJ2FiYyddLCAneHl6JykgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzLCAnYWJjJ10sIG5ldyBEYXRlKDApKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFsxMjMsICdhYmMnXSwgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZShbMTIzLCAnYWJjJ10sIG5ldyBEYXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoWzEyMywgJ2FiYyddLCBbXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzLCAnYWJjJ10s
IFsxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjMsICdhYmMnXSwgWydhYmMnXSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzLCAnYWJjJ10sIFsxMjMsICdhYmMnXSkgaXMgdHJ1ZQor
UEFTUyBjb21wYXJlKFsxMjMsICdhYmMnXSwgWydhYmMnLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKFsxMjMsICdhYmMnXSwgW1tdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzLCAn
YWJjJ10sIFtbMTIzXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyMywgJ2FiYyddLCBbWydh
YmMnXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyMywgJ2FiYyddLCBbWzEyM10sICdhYmMn
XSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzLCAnYWJjJ10sIFtbMTIzXSwgMTIzXSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYycsIDEyM10sIHVuZGVmaW5lZCkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbJ2FiYycsIDEyM10sIHRydWUpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydh
YmMnLCAxMjNdLCBmYWxzZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYycsIDEyM10sIDAp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnLCAxMjNdLCAtMCkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZShbJ2FiYycsIDEyM10sIDEyMykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYycs
IDEyM10sIEluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJywgMTIzXSwgLUlu
ZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJywgMTIzXSwgTmFOKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKFsnYWJjJywgMTIzXSwgJycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
WydhYmMnLCAxMjNdLCAnYWJjJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYycsIDEyM10s
ICd4eXonKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJywgMTIzXSwgbmV3IERhdGUoMCkp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnLCAxMjNdLCBuZXcgRGF0ZSgxZTMpKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJywgMTIzXSwgbmV3IERhdGUoMWU5KSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShbJ2FiYycsIDEyM10sIFtdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsn
YWJjJywgMTIzXSwgWzEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnLCAxMjNdLCBb
J2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJywgMTIzXSwgWzEyMywgJ2FiYydd
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJywgMTIzXSwgWydhYmMnLCAxMjNdKSBpcyB0
cnVlCitQQVNTIGNvbXBhcmUoWydhYmMnLCAxMjNdLCBbW11dKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKFsnYWJjJywgMTIzXSwgW1sxMjNdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYycs
IDEyM10sIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYycsIDEyM10sIFtb
MTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJywgMTIzXSwgW1sxMjNd
LCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbXV0sIHVuZGVmaW5lZCkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShbW11dLCB0cnVlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbXV0sIGZh
bHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbXV0sIDApIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoW1tdXSwgLTApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1tdXSwgMTIzKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFtbXV0sIEluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbXV0s
IC1JbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbW11dLCBOYU4pIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoW1tdXSwgJycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1tdXSwgJ2FiYycp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1tdXSwgJ3h5eicpIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoW1tdXSwgbmV3IERhdGUoMCkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1tdXSwgbmV3IERh
dGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbW11dLCBuZXcgRGF0ZSgxZTkpKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKFtbXV0sIFtdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbXV0s
IFsxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbXV0sIFsnYWJjJ10pIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoW1tdXSwgWzEyMywgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtb
XV0sIFsnYWJjJywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbW11dLCBbW11dKSBpcyB0
cnVlCitQQVNTIGNvbXBhcmUoW1tdXSwgW1sxMjNdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShb
W11dLCBbWydhYmMnXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1tdXSwgW1sxMjNdLCAnYWJj
J10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1tdXSwgW1sxMjNdLCAxMjNdKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFtbMTIzXV0sIHVuZGVmaW5lZCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShb
WzEyM11dLCB0cnVlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXV0sIGZhbHNlKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXV0sIDApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sx
MjNdXSwgLTApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwgMTIzKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFtbMTIzXV0sIEluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtb
MTIzXV0sIC1JbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM11dLCBOYU4pIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwgJycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
W1sxMjNdXSwgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwgJ3h5eicpIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwgbmV3IERhdGUoMCkpIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoW1sxMjNdXSwgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShb
WzEyM11dLCBuZXcgRGF0ZSgxZTkpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXV0sIFtd
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXV0sIFsxMjNdKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKFtbMTIzXV0sIFsnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwg
WzEyMywgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXV0sIFsnYWJjJywgMTIz
XSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM11dLCBbW11dKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKFtbMTIzXV0sIFtbMTIzXV0pIGlzIHRydWUKK1BBU1MgY29tcGFyZShbWzEyM11dLCBb
WydhYmMnXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwgW1sxMjNdLCAnYWJjJ10p
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwgW1sxMjNdLCAxMjNdKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFtbJ2FiYyddXSwgdW5kZWZpbmVkKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KFtbJ2FiYyddXSwgdHJ1ZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWydhYmMnXV0sIGZhbHNl
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbJ2FiYyddXSwgMCkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShbWydhYmMnXV0sIC0wKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbJ2FiYyddXSwgMTIz
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbJ2FiYyddXSwgSW5maW5pdHkpIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoW1snYWJjJ11dLCAtSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
W1snYWJjJ11dLCBOYU4pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1snYWJjJ11dLCAnJykgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShbWydhYmMnXV0sICdhYmMnKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKFtbJ2FiYyddXSwgJ3h5eicpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1snYWJjJ11dLCBu
ZXcgRGF0ZSgwKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWydhYmMnXV0sIG5ldyBEYXRlKDFl
MykpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1snYWJjJ11dLCBuZXcgRGF0ZSgxZTkpKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKFtbJ2FiYyddXSwgW10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
W1snYWJjJ11dLCBbMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWydhYmMnXV0sIFsnYWJj
J10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1snYWJjJ11dLCBbMTIzLCAnYWJjJ10pIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoW1snYWJjJ11dLCBbJ2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoW1snYWJjJ11dLCBbW11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbJ2FiYydd
XSwgW1sxMjNdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWydhYmMnXV0sIFtbJ2FiYyddXSkg
aXMgdHJ1ZQorUEFTUyBjb21wYXJlKFtbJ2FiYyddXSwgW1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoW1snYWJjJ11dLCBbWzEyM10sIDEyM10pIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoW1sxMjNdLCAnYWJjJ10sIHVuZGVmaW5lZCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShb
WzEyM10sICdhYmMnXSwgdHJ1ZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sICdhYmMn
XSwgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJjJ10sIDApIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJjJ10sIC0wKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKFtbMTIzXSwgJ2FiYyddLCAxMjMpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAn
YWJjJ10sIEluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgJ2FiYyddLCAt
SW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJjJ10sIE5hTikgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sICdhYmMnXSwgJycpIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoW1sxMjNdLCAnYWJjJ10sICdhYmMnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIz
XSwgJ2FiYyddLCAneHl6JykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sICdhYmMnXSwg
bmV3IERhdGUoMCkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJjJ10sIG5ldyBE
YXRlKDFlMykpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJjJ10sIG5ldyBEYXRl
KDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJjJ10sIFtdKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgJ2FiYyddLCBbMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShbWzEyM10sICdhYmMnXSwgWydhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEy
M10sICdhYmMnXSwgWzEyMywgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwg
J2FiYyddLCBbJ2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJj
J10sIFtbXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJjJ10sIFtbMTIzXV0p
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJjJ10sIFtbJ2FiYyddXSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShbWzEyM10sICdhYmMnXSwgW1sxMjNdLCAnYWJjJ10pIGlzIHRydWUK
K1BBU1MgY29tcGFyZShbWzEyM10sICdhYmMnXSwgW1sxMjNdLCAxMjNdKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKFtbMTIzXSwgMTIzXSwgdW5kZWZpbmVkKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KFtbMTIzXSwgMTIzXSwgdHJ1ZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sIDEyM10s
IGZhbHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgMTIzXSwgMCkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShbWzEyM10sIDEyM10sIC0wKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtb
MTIzXSwgMTIzXSwgMTIzKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgMTIzXSwgSW5m
aW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNdLCAtSW5maW5pdHkpIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNdLCBOYU4pIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoW1sxMjNdLCAxMjNdLCAnJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sIDEy
M10sICdhYmMnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgMTIzXSwgJ3h5eicpIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNdLCBuZXcgRGF0ZSgwKSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShbWzEyM10sIDEyM10sIG5ldyBEYXRlKDFlMykpIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoW1sxMjNdLCAxMjNdLCBuZXcgRGF0ZSgxZTkpKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKFtbMTIzXSwgMTIzXSwgW10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNd
LCBbMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sIDEyM10sIFsnYWJjJ10pIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNdLCBbMTIzLCAnYWJjJ10pIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNdLCBbJ2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoW1sxMjNdLCAxMjNdLCBbW11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIz
XSwgMTIzXSwgW1sxMjNdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sIDEyM10sIFtb
J2FiYyddXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sIDEyM10sIFtbMTIzXSwgJ2Fi
YyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgMTIzXSwgW1sxMjNdLCAxMjNdKSBp
cyB0cnVlCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUK
KwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWtleS1v
cmRlci5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvY3Vyc29yLWtleS1vcmRl
ci5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjhiOTA5OTc2Y2Y4MzM5ZjBlYjY0NWU2ODc3NGJiMTM1YWZlYWE2
M2EKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJz
b3Ita2V5LW9yZGVyLmh0bWwKQEAgLTAsMCArMSwyNDIgQEAKKzxodG1sPgorPGhlYWQ+Cis8bGlu
ayByZWw9InN0eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYXJlZC5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBp
ZD0iY29uc29sZSI+PC9kaXY+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiVGVzdCBJbmRleGVk
REIga2V5cyBvcmRlcmluZyBhbmQgcmVhZGJhY2sgZnJvbSBjdXJzb3JzLiIpOworaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50
aWxEb25lKCk7CisKK2Z1bmN0aW9uIHRlc3QoKQoreworICAgIGV2YWxBbmRMb2coImluZGV4ZWRE
QiA9IHdpbmRvdy5pbmRleGVkREIgfHwgd2luZG93LndlYmtpdEluZGV4ZWREQiB8fCB3aW5kb3cu
bW96SW5kZXhlZERCOyIpOworICAgIHNob3VsZEJlRmFsc2UoImluZGV4ZWREQiA9PSBudWxsIik7
CisgICAgZXZhbEFuZExvZygiSURCQ3Vyc29yID0gd2luZG93LklEQkN1cnNvciB8fCB3aW5kb3cu
d2Via2l0SURCQ3Vyc29yOyIpOworICAgIHNob3VsZEJlRmFsc2UoIklEQkN1cnNvciA9PSBudWxs
Iik7CisgICAgZXZhbEFuZExvZygiSURCVHJhbnNhY3Rpb24gPSB3aW5kb3cuSURCVHJhbnNhY3Rp
b24gfHwgd2luZG93LndlYmtpdElEQlRyYW5zYWN0aW9uIik7CisgICAgc2hvdWxkQmVGYWxzZSgi
SURCVHJhbnNhY3Rpb24gPT0gbnVsbCIpOworCisgICAgcHJlcGFyZURhdGFiYXNlKCk7Cit9CisK
K2Z1bmN0aW9uIHByZXBhcmVEYXRhYmFzZSgpCit7CisgICAgZGVidWcoIiIpOworICAgIGV2YWxB
bmRMb2coIm9wZW5yZXEgPSBpbmRleGVkREIub3BlbignY3Vyc29yLWtleS1vcmRlcicpIik7Cisg
ICAgb3BlbnJlcS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAgb3BlbnJl
cS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKKyAgICAgICAgZXZhbEFuZExvZygiZGIgPSBvcGVu
cmVxLnJlc3VsdCIpOworICAgICAgICBldmFsQW5kTG9nKCJ2ZXJyZXEgPSBkYi5zZXRWZXJzaW9u
KCcxJykiKTsKKyAgICAgICAgdmVycmVxLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFj
azsKKyAgICAgICAgdmVycmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAg
ZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJykiKTsKKyAgICAgICAgICAg
IHZlcnJlcS5yZXN1bHQub25jb21wbGV0ZSA9IHBvcHVsYXRlU3RvcmU7CisgICAgICAgIH07Cisg
ICAgfTsKK30KKword2luZG93LmtleXMgPSBbCisgICAgIi1JbmZpbml0eSIsCisgICAgIi1OdW1i
ZXIuTUFYX1ZBTFVFIiwKKyAgICAiLTEiLAorICAgICItTnVtYmVyLk1JTl9WQUxVRSIsCisgICAg
IjAiLAorICAgICJOdW1iZXIuTUlOX1ZBTFVFIiwKKyAgICAiMSIsCisgICAgIk51bWJlci5NQVhf
VkFMVUUiLAorICAgICJJbmZpbml0eSIsCisKKyAgICAibmV3IERhdGUoMCkiLAorICAgICJuZXcg
RGF0ZSgxMDAwKSIsCisgICAgIm5ldyBEYXRlKDEzMTczOTk5MzEwMjMpIiwKKworICAgICInJyIs
CisgICAgIidceDAwJyIsCisgICAgIidhJyIsCisgICAgIidhYSciLAorICAgICInYiciLAorICAg
ICInYmEnIiwKKworICAgICInXHhBMiciLCAvLyBVKzAwQTIgQ0VOVCBTSUdOCisgICAgIidcdTZD
MzQnIiwgLy8gVSs2QzM0IENKSyBVTklGSUVEIElERU9HUkFQSCAod2F0ZXIpCisgICAgIidcdUQ4
MzRcdUREMUUnIiwgLy8gVSsxRDExRSBNVVNJQ0FMIFNZTUJPTCBHLUNMRUYgKFVURi0xNiBzdXJy
b2dhdGUgcGFpcikKKyAgICAiJ1x1RkZGRCciLCAvLyBVK0ZGRkQgUkVQTEFDRU1FTlQgQ0hBUkFD
VEVSCisKKyAgICAiW10iLAorCisgICAgIlstSW5maW5pdHldIiwKKyAgICAiWy1OdW1iZXIuTUFY
X1ZBTFVFXSIsCisgICAgIlstMV0iLAorICAgICJbLU51bWJlci5NSU5fVkFMVUVdIiwKKyAgICAi
WzBdIiwKKyAgICAiW051bWJlci5NSU5fVkFMVUVdIiwKKyAgICAiWzFdIiwKKyAgICAiW051bWJl
ci5NQVhfVkFMVUVdIiwKKyAgICAiW0luZmluaXR5XSIsCisKKyAgICAiW25ldyBEYXRlKDApXSIs
CisgICAgIltuZXcgRGF0ZSgxMDAwKV0iLAorICAgICJbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyld
IiwKKworICAgICJbJyddIiwKKyAgICAiWydceDAwJ10iLAorICAgICJbJ2EnXSIsCisgICAgIlsn
YWEnXSIsCisgICAgIlsnYiddIiwKKyAgICAiWydiYSddIiwKKworICAgICJbJ1x4QTInXSIsIC8v
IFUrMDBBMiBDRU5UIFNJR04KKyAgICAiWydcdTZDMzQnXSIsIC8vIFUrNkMzNCBDSksgVU5JRklF
RCBJREVPR1JBUEggKHdhdGVyKQorICAgICJbJ1x1RDgzNFx1REQxRSddIiwgLy8gVSsxRDExRSBN
VVNJQ0FMIFNZTUJPTCBHLUNMRUYgKFVURi0xNiBzdXJyb2dhdGUgcGFpcikKKyAgICAiWydcdUZG
RkQnXSIsIC8vIFUrRkZGRCBSRVBMQUNFTUVOVCBDSEFSQUNURVIKKworICAgICJbW11dIiwKKwor
ICAgICJbW10sIFtdXSIsCisgICAgIltbXSwgW10sIFtdXSIsCisKKyAgICAiW1tbXV1dIiwKKyAg
ICAiW1tbW11dXV0iCitdOworCitmdW5jdGlvbiBjb21wYXJlKGEsIGIpCit7CisgICAgaWYgKHR5
cGVvZiBhICE9PSB0eXBlb2YgYikgeworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisg
ICAgc3dpdGNoICh0eXBlb2YgYSkgeworICAgICAgICBjYXNlICd1bmRlZmluZWQnOiAvLyBOb3Qg
dmFsaWQga2V5cywgYnV0IGNvbXBhcmUgYW55d2F5LgorICAgICAgICBjYXNlICdib29sZWFuJzog
Ly8gTm90IHZhbGlkIGtleXMsIGJ1dCBjb21wYXJlIGFueXdheS4KKyAgICAgICAgY2FzZSAnc3Ry
aW5nJzoKKyAgICAgICAgICAgIHJldHVybiBhID09PSBiOworICAgICAgICBjYXNlICdudW1iZXIn
OgorICAgICAgICAgICAgaWYgKGEgPT09IGIpIHsKKyAgICAgICAgICAgICAgICByZXR1cm4gKGEg
IT09IDApIHx8ICgxIC8gYSA9PT0gMSAvIGIpOyAvLyAwIGlzbid0IC0wCisgICAgICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgICAgIHJldHVybiBhICE9PSBhICYmIGIgIT09IGI7IC8vIE5h
TiBpcyBOYU4KKyAgICAgICAgICAgIH0KKyAgICAgICAgY2FzZSAnb2JqZWN0JzoKKyAgICAgICAg
ICAgIGlmIChhIGluc3RhbmNlb2YgRGF0ZSAmJiBiIGluc3RhbmNlb2YgRGF0ZSkgeworICAgICAg
ICAgICAgICAgIHJldHVybiArYSA9PT0gK2I7CisgICAgICAgICAgICB9IGVsc2UgaWYgKGEgaW5z
dGFuY2VvZiBBcnJheSAmJiBiIGluc3RhbmNlb2YgQXJyYXkpIHsKKyAgICAgICAgICAgICAgICBp
ZiAoYS5sZW5ndGggIT09IGIubGVuZ3RoKSB7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7
IGkgPCBhLmxlbmd0aDsgaSsrKSB7CisgICAgICAgICAgICAgICAgICAgIGlmICghY29tcGFyZShh
W2ldLCBiW2ldKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
ICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHJl
dHVybiB0cnVlOworICAgICAgICAgICAgfQorICAgICAgICAgICAgLy8gRm9yIHRoZSBwdXJwb3Nl
cyBvZiB0aGlzIHRlc3QsIG90aGVyIG9iamVjdHMgZG9uJ3QgY291bnQKKyAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICB9Cit9CisKK2Z1bmN0aW9uIHBvcHVsYXRlU3RvcmUoKQoreworICAgIGRlYnVnKCIiKTsK
KyAgICBkZWJ1ZygicG9wdWxhdGluZyBzdG9yZS4uLiIpOworICAgIGV2YWxBbmRMb2coInRyYW5z
ID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJywgSURCVHJhbnNhY3Rpb24uUkVBRF9XUklURSkiKTsK
KyAgICBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZScpOyIpOwor
ICAgIHRyYW5zLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKKyAgICB0cmFucy5v
bmFib3J0ID0gdW5leHBlY3RlZEFib3J0Q2FsbGJhY2s7CisgICAgdmFyIGNvdW50ID0gMDsKKyAg
ICBrZXlzLmZvckVhY2goZnVuY3Rpb24oa2V5KSB7CisgICAgICAgIGV2YWxBbmRMb2coInN0b3Jl
LnB1dCgiICsgKGNvdW50KyspICsgIiwgIiArIGtleSArICIpIik7CisgICAgfSk7CisgICAgdHJh
bnMub25jb21wbGV0ZSA9IGNoZWNrU3RvcmU7Cit9CisKK2Z1bmN0aW9uIGNoZWNrU3RvcmUoKQor
eworICAgIGRlYnVnKCIiKTsKKyAgICBkZWJ1ZygiaXRlcmF0aW5nIGN1cnNvci4uLiIpOworICAg
IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJywgSURCVHJhbnNhY3Rp
b24uUkVBRF9PTkxZKSIpOworICAgIGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnMub2JqZWN0U3Rv
cmUoJ3N0b3JlJyk7Iik7CisgICAgdHJhbnMub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxi
YWNrOworICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJvcnRDYWxsYmFjazsKKyAgICBl
dmFsQW5kTG9nKCJjb3VudCA9IDAiKTsKKyAgICBjdXJyZXEgPSBldmFsQW5kTG9nKCJjdXJyZXEg
PSBzdG9yZS5vcGVuQ3Vyc29yKCkiKTsKKyAgICBjdXJyZXEub25lcnJvciA9IHVuZXhwZWN0ZWRF
cnJvckNhbGxiYWNrOworICAgIGN1cnJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKKyAgICAg
ICAgaWYgKGN1cnJlcS5yZXN1bHQpIHsKKyAgICAgICAgICAgIGV2YWxBbmRMb2coImN1cnNvciA9
IGN1cnJlcS5yZXN1bHQiKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiY29tcGFyZShjdXJz
b3Iua2V5LCAiICsga2V5c1tjb3VudF0gKyAiKSIpOworICAgICAgICAgICAgZXZhbEFuZExvZygi
Z2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpIik7CisgICAgICAgICAgICBnZXRyZXEub25l
cnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgICAgICAgICAgZ2V0cmVxLm9uc3Vj
Y2VzcyA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiZ2V0cmVx
LnJlc3VsdCA9PT0gY291bnQrKyIpOworICAgICAgICAgICAgICAgIGN1cnNvci5jb250aW51ZSgp
OworICAgICAgICAgICAgfTsKKyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHNob3VsZEJl
VHJ1ZSgiY291bnQgPT09IGtleXMubGVuZ3RoIik7CisgICAgICAgICAgICBmaW5pc2hVcCgpOwor
ICAgICAgICB9CisgICAgfTsKK30KKworZnVuY3Rpb24gZmluaXNoVXAoKQoreworICAgIHRlc3RL
ZXlDb21wYXJlKCk7CisgICAgZG9uZSgpOworfQorCitmdW5jdGlvbiB0ZXN0S2V5Q29tcGFyZSgp
Cit7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJ2YWxpZGF0ZSBjb21wYXJlIGZ1bmN0aW9u
Iik7CisgICAgdmFyIGNhc2VzID0gWworICAgICAgICAidW5kZWZpbmVkIiwKKyAgICAgICAgInRy
dWUiLAorICAgICAgICAiZmFsc2UiLAorICAgICAgICAiMCIsCisgICAgICAgICItMCIsCisgICAg
ICAgICIxMjMiLAorICAgICAgICAiSW5maW5pdHkiLAorICAgICAgICAiLUluZmluaXR5IiwKKyAg
ICAgICAgIk5hTiIsCisgICAgICAgICInJyIsCisgICAgICAgICInYWJjJyIsCisgICAgICAgICIn
eHl6JyIsCisgICAgICAgICJuZXcgRGF0ZSgwKSIsCisgICAgICAgICJuZXcgRGF0ZSgxZTMpIiwK
KyAgICAgICAgIm5ldyBEYXRlKDFlOSkiLAorICAgICAgICAiW10iLAorICAgICAgICAiWzEyM10i
LAorICAgICAgICAiWydhYmMnXSIsCisgICAgICAgICJbMTIzLCAnYWJjJ10iLAorICAgICAgICAi
WydhYmMnLCAxMjNdIiwKKyAgICAgICAgIltbXV0iLAorICAgICAgICAiW1sxMjNdXSIsCisgICAg
ICAgICJbWydhYmMnXV0iLAorICAgICAgICAiW1sxMjNdLCAnYWJjJ10iLAorICAgICAgICAiW1sx
MjNdLCAxMjNdIgorICAgIF07CisKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNhc2VzLmxlbmd0
aDsgKytpKSB7CisgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgY2FzZXMubGVuZ3RoOyArK2op
IHsKKyAgICAgICAgICAgIGlmIChpID09PSBqKSB7CisgICAgICAgICAgICAgICAgc2hvdWxkQmVU
cnVlKCJjb21wYXJlKCIgKyBjYXNlc1tpXSArICIsICIgKyBjYXNlc1tqXSArICIpIik7CisgICAg
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHNob3VsZEJlRmFsc2UoImNvbXBhcmUo
IiArIGNhc2VzW2ldICsgIiwgIiArIGNhc2VzW2pdICsgIikiKTsKKyAgICAgICAgICAgIH0KKyAg
ICAgICAgfQorICAgIH0KK30KKwordGVzdCgpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21w
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21w
LWV4cGVjdGVkLnR4dAppbmRleCAyNmJlMTgyNWFmZTM3YmI4OTk3NmNlMTE5ZDJlNzVhODM1ZDEz
NGIzLi4xOWY1NTQ0MDkzOTdjYTRlODE1N2RiNWE3YWYxMzc5ZTc2ODYyZTM5IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWNtcC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1jbXAtZXhwZWN0ZWQu
dHh0CkBAIC0xMCw3ICsxMCw2IEBAIFBBU1MgSURCRGF0YWJhc2VFeGNlcHRpb24gPT0gbnVsbCBp
cyBmYWxzZQogUEFTUyB0eXBlb2YgaW5kZXhlZERCLmNtcCA9PT0gJ2Z1bmN0aW9uJyBpcyB0cnVl
CiAKIGNvbXBhcmUgdmFsaWQga2V5cwotKEFycmF5IGtleXMgYXJlIG5vdCB5ZXQgaW1wbGVtZW50
ZWQgc28gbWFueSB0ZXN0cyB3aWxsIGZhaWwpCiBQQVNTIGluZGV4ZWREQi5jbXAoLUluZmluaXR5
LC1OdW1iZXIuTUFYX1ZBTFVFKSA9PT0gLTEgaXMgdHJ1ZQogUEFTUyBpbmRleGVkREIuY21wKC1O
dW1iZXIuTUFYX1ZBTFVFLC1JbmZpbml0eSkgPT09IDEgaXMgdHJ1ZQogUEFTUyBpbmRleGVkREIu
Y21wKC1JbmZpbml0eSwtSW5maW5pdHkpID09PSAwIGlzIHRydWUKQEAgLTk1LDExOCArOTQsMTE4
IEBAIFBBU1MgaW5kZXhlZERCLmNtcCgn8J2EnicsJ++/vScpID09PSAtMSBpcyB0cnVlCiBQQVNT
IGluZGV4ZWREQi5jbXAoJ++/vScsJ/CdhJ4nKSA9PT0gMSBpcyB0cnVlCiBQQVNTIGluZGV4ZWRE
Qi5jbXAoJ/CdhJ4nLCfwnYSeJykgPT09IDAgaXMgdHJ1ZQogUEFTUyBpbmRleGVkREIuY21wKCfv
v70nLCfvv70nKSA9PT0gMCBpcyB0cnVlCi1GQUlMIGluZGV4ZWREQi5jbXAoJ++/vScsW10pID09
PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9N
IElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW10sJ++/vScpID09
PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00g
SURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKK1BBU1MgaW5kZXhlZERCLmNtcCgn77+9JyxbXSkgPT09
IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbXSwn77+9JykgPT09IDEgaXMgdHJ1ZQog
UEFTUyBpbmRleGVkREIuY21wKCfvv70nLCfvv70nKSA9PT0gMCBpcyB0cnVlCi1GQUlMIGluZGV4
ZWREQi5jbXAoW10sW10pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJy
b3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERC
LmNtcChbXSxbLUluZmluaXR5XSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRp
b24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5k
ZXhlZERCLmNtcChbLUluZmluaXR5XSxbXSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJ
TCBpbmRleGVkREIuY21wKFtdLFtdKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGlu
ZGV4ZWREQi5jbXAoWy1JbmZpbml0eV0sWy1JbmZpbml0eV0pID09PSAwIHNob3VsZCBiZSB0cnVl
LiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0
aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbLUluZmluaXR5XSxbLTEuNzk3NjkzMTM0ODYyMzE1
N2UrMzA4XSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERB
VEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChb
LTEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XSxbLUluZmluaXR5XSkgPT09IDEgc2hvdWxkIGJlIHRy
dWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNl
cHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFstSW5maW5pdHldLFstSW5maW5pdHldKSA9PT0g
MCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElE
QkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWy0xLjc5NzY5MzEzNDg2
MjMxNTdlKzMwOF0sWy0xLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0pID09PSAwIHNob3VsZCBiZSB0
cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhj
ZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbLTEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XSxb
LTFdKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9F
UlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFstMV0s
Wy0xLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBl
eGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZB
SUwgaW5kZXhlZERCLmNtcChbLTEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XSxbLTEuNzk3NjkzMTM0
ODYyMzE1N2UrMzA4XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIu
Y21wKFstMV0sWy0xXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIu
Y21wKFstMV0sWy01ZS0zMjRdKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlv
biBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRl
eGVkREIuY21wKFstNWUtMzI0XSxbLTFdKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlM
IGluZGV4ZWREQi5jbXAoWy0xXSxbLTFdKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlM
IGluZGV4ZWREQi5jbXAoWy01ZS0zMjRdLFstNWUtMzI0XSkgPT09IDAgc2hvdWxkIGJlIHRydWUu
IFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRp
b24gNQotRkFJTCBpbmRleGVkREIuY21wKFstNWUtMzI0XSxbMF0pID09PSAtMSBzaG91bGQgYmUg
dHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4
Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWzBdLFstNWUtMzI0XSkgPT09IDEgc2hvdWxk
IGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFz
ZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFstNWUtMzI0XSxbLTVlLTMyNF0pID09
PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00g
SURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbMF0sWzBdKSA9PT0g
MCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElE
QkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWzBdLFs1ZS0zMjRdKSA9
PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERP
TSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFs1ZS0zMjRdLFsw
XSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6
IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFswXSxbMF0p
ID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBE
T00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbNWUtMzI0XSxb
NWUtMzI0XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFU
QV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFs1
ZS0zMjRdLFsxXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6
IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNt
cChbMV0sWzVlLTMyNF0pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJy
b3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERC
LmNtcChbNWUtMzI0XSxbNWUtMzI0XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBp
bmRleGVkREIuY21wKFsxXSxbMV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRp
b24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5k
ZXhlZERCLmNtcChbMV0sWzEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XSkgPT09IC0xIHNob3VsZCBi
ZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2Ug
RXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhd
LFsxXSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9F
UlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsxXSxb
MV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJS
OiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbMS43OTc2
OTMxMzQ4NjIzMTU3ZSszMDhdLFsxLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0pID09PSAwIHNob3Vs
ZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJh
c2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbMS43OTc2OTMxMzQ4NjIzMTU3ZSsz
MDhdLFtJbmZpbml0eV0pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWRE
Qi5jbXAoW0luZmluaXR5XSxbMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdKSA9PT0gMSBzaG91bGQg
YmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNl
IEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWzEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4
XSxbMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1G
QUlMIGluZGV4ZWREQi5jbXAoW0luZmluaXR5XSxbSW5maW5pdHldKSA9PT0gMCBzaG91bGQgYmUg
dHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4
Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW0luZmluaXR5XSxbbmV3IERhdGUoMCldKSA9
PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERP
TSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgw
KV0sW0luZmluaXR5XSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIu
Y21wKFtJbmZpbml0eV0sW0luZmluaXR5XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJ
TCBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgwKV0sW25ldyBEYXRlKDApXSkgPT09IDAgc2hvdWxk
IGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFz
ZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgwKV0sW25ldyBEYXRl
KDEwMDApXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERB
VEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChb
bmV3IERhdGUoMTAwMCldLFtuZXcgRGF0ZSgwKV0pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJl
dyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUK
LUZBSUwgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMCldLFtuZXcgRGF0ZSgwKV0pID09PSAwIHNo
b3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0
YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTAwMCldLFtu
ZXcgRGF0ZSgxMDAwKV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJy
b3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERC
LmNtcChbbmV3IERhdGUoMTAwMCldLFtuZXcgRGF0ZSgxMzE3Mzk5OTMxMDIzKV0pID09PSAtMSBz
aG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRh
dGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDEzMTczOTk5
MzEwMjMpXSxbbmV3IERhdGUoMTAwMCldKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlM
IGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDEwMDApXSxbbmV3IERhdGUoMTAwMCldKSA9PT0gMCBz
aG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRh
dGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDEzMTczOTk5
MzEwMjMpXSxbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4g
VGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlv
biA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDEzMTczOTk5MzEwMjMpXSxbJyddKSA9
PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERP
TSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnJ10sW25ldyBE
YXRlKDEzMTczOTk5MzEwMjMpXSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlv
biBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRl
eGVkREIuY21wKFtuZXcgRGF0ZSgxMzE3Mzk5OTMxMDIzKV0sW25ldyBEYXRlKDEzMTczOTk5MzEw
MjMpXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9F
UlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnJ10s
WycnXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9F
UlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnJ10s
WydcMCddKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFU
QV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsn
XDAnXSxbJyddKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBE
QVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAo
WycnXSxbJyddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBE
QVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAo
WydcMCddLFsnXDAnXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIu
Y21wKFsnXDAnXSxbJ2EnXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24g
RXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhl
ZERCLmNtcChbJ2EnXSxbJ1wwJ10pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRp
b24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5k
ZXhlZERCLmNtcChbJ1wwJ10sWydcMCddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlM
IGluZGV4ZWREQi5jbXAoWydhJ10sWydhJ10pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBl
eGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZB
SUwgaW5kZXhlZERCLmNtcChbJ2EnXSxbJ2FhJ10pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1
Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydhYSddLFsnYSddKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4g
VGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlv
biA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydhJ10sWydhJ10pID09PSAwIHNob3VsZCBiZSB0cnVl
LiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0
aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ2FhJ10sWydhYSddKSA9PT0gMCBzaG91bGQgYmUg
dHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4
Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydhYSddLFsnYiddKSA9PT0gLTEgc2hvdWxk
IGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFz
ZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnYiddLFsnYWEnXSkgPT09IDEgc2hv
dWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRh
YmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnYWEnXSxbJ2FhJ10pID09PSAw
IHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURC
RGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ2InXSxbJ2InXSkgPT09
IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJ
REJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnYiddLFsnYmEnXSkg
PT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBE
T00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ2JhJ10sWydi
J10pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJS
OiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ2InXSxb
J2InXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9F
UlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnYmEn
XSxbJ2JhJ10pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERB
VEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChb
J2JhJ10sWyfCoiddKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIu
Y21wKFsnwqInXSxbJ2JhJ10pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24g
RXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhl
ZERCLmNtcChbJ2JhJ10sWydiYSddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGlu
ZGV4ZWREQi5jbXAoWyfCoiddLFsnwqInXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJ
TCBpbmRleGVkREIuY21wKFsnwqInXSxbJ+awtCddKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24g
NQotRkFJTCBpbmRleGVkREIuY21wKFsn5rC0J10sWyfCoiddKSA9PT0gMSBzaG91bGQgYmUgdHJ1
ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2Vw
dGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfCoiddLFsnwqInXSkgPT09IDAgc2hvdWxkIGJl
IHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBF
eGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsn5rC0J10sWyfmsLQnXSkgPT09IDAgc2hv
dWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRh
YmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsn5rC0J10sWyfwnYSeJ10pID09
PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9N
IElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfwnYSeJ10sWyfm
sLQnXSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9F
UlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsn5rC0
J10sWyfmsLQnXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjog
REFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21w
KFsn8J2EniddLFsn8J2EniddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4
ZWREQi5jbXAoWyfwnYSeJ10sWyfvv70nXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBl
eGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZB
SUwgaW5kZXhlZERCLmNtcChbJ++/vSddLFsn8J2EniddKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4g
VGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlv
biA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfwnYSeJ10sWyfwnYSeJ10pID09PSAwIHNob3VsZCBi
ZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2Ug
RXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ++/vSddLFsn77+9J10pID09PSAwIHNo
b3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0
YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ++/vSddLFtbXV0pID09PSAt
MSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElE
QkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tdXSxbJ++/vSddKSA9
PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9N
IElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfvv70nXSxbJ++/
vSddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VS
UjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tdXSxb
W11dKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VS
UjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tdXSxb
W10sIFtdXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERB
VEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChb
W10sIFtdXSxbW11dKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5j
bXAoW1tdXSxbW11dKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5j
bXAoW1tdLCBbXV0sW1tdLCBbXV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRp
b24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5k
ZXhlZERCLmNtcChbW10sIFtdXSxbW10sIFtdLCBbXV0pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4g
VGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlv
biA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tdLCBbXSwgW11dLFtbXSwgW11dKSA9PT0gMSBzaG91
bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFi
YXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tdLCBbXV0sW1tdLCBbXV0pID09
PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00g
SURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW10sIFtdLCBbXV0s
W1tdLCBbXSwgW11dKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5j
bXAoW1tdLCBbXSwgW11dLFtbW11dXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNl
cHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwg
aW5kZXhlZERCLmNtcChbW1tdXV0sW1tdLCBbXSwgW11dKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4g
VGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlv
biA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tdLCBbXSwgW11dLFtbXSwgW10sIFtdXSkgPT09IDAg
c2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJE
YXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtbW11dXSxbW1tdXV0pID09
PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00g
SURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW1tdXV0sW1tbW11d
XV0pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VS
UjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tbW11d
XV0sW1tbXV1dKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBE
QVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAo
W1tbXV1dLFtbW11dXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIu
Y21wKFtbW1tdXV1dLFtbW1tdXV1dKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1CitQQVNTIGlu
ZGV4ZWREQi5jbXAoW10sW10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbXSxb
LUluZmluaXR5XSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbLUluZmluaXR5
XSxbXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtdLFtdKSA9PT0gMCBpcyB0
cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWy1JbmZpbml0eV0sWy1JbmZpbml0eV0pID09PSAwIGlz
IHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbLUluZmluaXR5XSxbLU51bWJlci5NQVhfVkFMVUVd
KSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFstTnVtYmVyLk1BWF9WQUxVRV0s
Wy1JbmZpbml0eV0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbLUluZmluaXR5
XSxbLUluZmluaXR5XSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFstTnVtYmVy
Lk1BWF9WQUxVRV0sWy1OdW1iZXIuTUFYX1ZBTFVFXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRl
eGVkREIuY21wKFstTnVtYmVyLk1BWF9WQUxVRV0sWy0xXSkgPT09IC0xIGlzIHRydWUKK1BBU1Mg
aW5kZXhlZERCLmNtcChbLTFdLFstTnVtYmVyLk1BWF9WQUxVRV0pID09PSAxIGlzIHRydWUKK1BB
U1MgaW5kZXhlZERCLmNtcChbLU51bWJlci5NQVhfVkFMVUVdLFstTnVtYmVyLk1BWF9WQUxVRV0p
ID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbLTFdLFstMV0pID09PSAwIGlzIHRy
dWUKK1BBU1MgaW5kZXhlZERCLmNtcChbLTFdLFstTnVtYmVyLk1JTl9WQUxVRV0pID09PSAtMSBp
cyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWy1OdW1iZXIuTUlOX1ZBTFVFXSxbLTFdKSA9PT0g
MSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWy0xXSxbLTFdKSA9PT0gMCBpcyB0cnVlCitQ
QVNTIGluZGV4ZWREQi5jbXAoWy1OdW1iZXIuTUlOX1ZBTFVFXSxbLU51bWJlci5NSU5fVkFMVUVd
KSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWy1OdW1iZXIuTUlOX1ZBTFVFXSxb
MF0pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWzBdLFstTnVtYmVyLk1JTl9W
QUxVRV0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbLU51bWJlci5NSU5fVkFM
VUVdLFstTnVtYmVyLk1JTl9WQUxVRV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNt
cChbMF0sWzBdKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWzBdLFtOdW1iZXIu
TUlOX1ZBTFVFXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbTnVtYmVyLk1J
Tl9WQUxVRV0sWzBdKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWzBdLFswXSkg
PT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtOdW1iZXIuTUlOX1ZBTFVFXSxbTnVt
YmVyLk1JTl9WQUxVRV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbTnVtYmVy
Lk1JTl9WQUxVRV0sWzFdKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsxXSxb
TnVtYmVyLk1JTl9WQUxVRV0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbTnVt
YmVyLk1JTl9WQUxVRV0sW051bWJlci5NSU5fVkFMVUVdKSA9PT0gMCBpcyB0cnVlCitQQVNTIGlu
ZGV4ZWREQi5jbXAoWzFdLFsxXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsx
XSxbTnVtYmVyLk1BWF9WQUxVRV0pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAo
W051bWJlci5NQVhfVkFMVUVdLFsxXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21w
KFsxXSxbMV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbTnVtYmVyLk1BWF9W
QUxVRV0sW051bWJlci5NQVhfVkFMVUVdKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5j
bXAoW051bWJlci5NQVhfVkFMVUVdLFtJbmZpbml0eV0pID09PSAtMSBpcyB0cnVlCitQQVNTIGlu
ZGV4ZWREQi5jbXAoW0luZmluaXR5XSxbTnVtYmVyLk1BWF9WQUxVRV0pID09PSAxIGlzIHRydWUK
K1BBU1MgaW5kZXhlZERCLmNtcChbTnVtYmVyLk1BWF9WQUxVRV0sW051bWJlci5NQVhfVkFMVUVd
KSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW0luZmluaXR5XSxbSW5maW5pdHld
KSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW0luZmluaXR5XSxbbmV3IERhdGUo
MCldKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgwKV0sW0lu
ZmluaXR5XSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtJbmZpbml0eV0sW0lu
ZmluaXR5XSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgwKV0s
W25ldyBEYXRlKDApXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtuZXcgRGF0
ZSgwKV0sW25ldyBEYXRlKDEwMDApXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNt
cChbbmV3IERhdGUoMTAwMCldLFtuZXcgRGF0ZSgwKV0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5k
ZXhlZERCLmNtcChbbmV3IERhdGUoMCldLFtuZXcgRGF0ZSgwKV0pID09PSAwIGlzIHRydWUKK1BB
U1MgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTAwMCldLFtuZXcgRGF0ZSgxMDAwKV0pID09PSAw
IGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTAwMCldLFtuZXcgRGF0ZSgx
MzE3Mzk5OTMxMDIzKV0pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW25ldyBE
YXRlKDEzMTczOTk5MzEwMjMpXSxbbmV3IERhdGUoMTAwMCldKSA9PT0gMSBpcyB0cnVlCitQQVNT
IGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDEwMDApXSxbbmV3IERhdGUoMTAwMCldKSA9PT0gMCBp
cyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDEzMTczOTk5MzEwMjMpXSxbbmV3
IERhdGUoMTMxNzM5OTkzMTAyMyldKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAo
W25ldyBEYXRlKDEzMTczOTk5MzEwMjMpXSxbJyddKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRl
eGVkREIuY21wKFsnJ10sW25ldyBEYXRlKDEzMTczOTk5MzEwMjMpXSkgPT09IDEgaXMgdHJ1ZQor
UEFTUyBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgxMzE3Mzk5OTMxMDIzKV0sW25ldyBEYXRlKDEz
MTczOTk5MzEwMjMpXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnJ10sWycn
XSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnJ10sWydcMCddKSA9PT0gLTEg
aXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnXDAnXSxbJyddKSA9PT0gMSBpcyB0cnVlCitQ
QVNTIGluZGV4ZWREQi5jbXAoWycnXSxbJyddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWRE
Qi5jbXAoWydcMCddLFsnXDAnXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsn
XDAnXSxbJ2EnXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ2EnXSxbJ1ww
J10pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ1wwJ10sWydcMCddKSA9PT0g
MCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWydhJ10sWydhJ10pID09PSAwIGlzIHRydWUK
K1BBU1MgaW5kZXhlZERCLmNtcChbJ2EnXSxbJ2FhJ10pID09PSAtMSBpcyB0cnVlCitQQVNTIGlu
ZGV4ZWREQi5jbXAoWydhYSddLFsnYSddKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5j
bXAoWydhJ10sWydhJ10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ2FhJ10s
WydhYSddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWydhYSddLFsnYiddKSA9
PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYiddLFsnYWEnXSkgPT09IDEgaXMg
dHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYWEnXSxbJ2FhJ10pID09PSAwIGlzIHRydWUKK1BB
U1MgaW5kZXhlZERCLmNtcChbJ2InXSxbJ2InXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVk
REIuY21wKFsnYiddLFsnYmEnXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChb
J2JhJ10sWydiJ10pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ2InXSxbJ2In
XSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYmEnXSxbJ2JhJ10pID09PSAw
IGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ2JhJ10sWyfCoiddKSA9PT0gLTEgaXMgdHJ1
ZQorUEFTUyBpbmRleGVkREIuY21wKFsnwqInXSxbJ2JhJ10pID09PSAxIGlzIHRydWUKK1BBU1Mg
aW5kZXhlZERCLmNtcChbJ2JhJ10sWydiYSddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWRE
Qi5jbXAoWyfCoiddLFsnwqInXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsn
wqInXSxbJ+awtCddKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsn5rC0J10s
WyfCoiddKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfCoiddLFsnwqInXSkg
PT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsn5rC0J10sWyfmsLQnXSkgPT09IDAg
aXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsn5rC0J10sWyfwnYSeJ10pID09PSAtMSBpcyB0
cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfwnYSeJ10sWyfmsLQnXSkgPT09IDEgaXMgdHJ1ZQor
UEFTUyBpbmRleGVkREIuY21wKFsn5rC0J10sWyfmsLQnXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBp
bmRleGVkREIuY21wKFsn8J2EniddLFsn8J2EniddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4
ZWREQi5jbXAoWyfwnYSeJ10sWyfvv70nXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERC
LmNtcChbJ++/vSddLFsn8J2EniddKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAo
WyfwnYSeJ10sWyfwnYSeJ10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ++/
vSddLFsn77+9J10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ++/vSddLFtb
XV0pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW1tdXSxbJ++/vSddKSA9PT0g
MSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfvv70nXSxbJ++/vSddKSA9PT0gMCBpcyB0
cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW1tdXSxbW11dKSA9PT0gMCBpcyB0cnVlCitQQVNTIGlu
ZGV4ZWREQi5jbXAoW1tdXSxbW10sIFtdXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERC
LmNtcChbW10sIFtdXSxbW11dKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW1td
XSxbW11dKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW1tdLCBbXV0sW1tdLCBb
XV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbW10sIFtdXSxbW10sIFtdLCBb
XV0pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW1tdLCBbXSwgW11dLFtbXSwg
W11dKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW1tdLCBbXV0sW1tdLCBbXV0p
ID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbW10sIFtdLCBbXV0sW1tdLCBbXSwg
W11dKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW1tdLCBbXSwgW11dLFtbW11d
XSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbW1tdXV0sW1tdLCBbXSwgW11d
KSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW1tdLCBbXSwgW11dLFtbXSwgW10s
IFtdXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtbW11dXSxbW1tdXV0pID09
PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbW1tdXV0sW1tbW11dXV0pID09PSAtMSBp
cyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW1tbW11dXV0sW1tbXV1dKSA9PT0gMSBpcyB0cnVl
CitQQVNTIGluZGV4ZWREQi5jbXAoW1tbXV1dLFtbW11dXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBp
bmRleGVkREIuY21wKFtbW1tdXV1dLFtbW1tdXV1dKSA9PT0gMCBpcyB0cnVlCiAKIGNvbXBhcmUg
aW52YWxpZCBrZXlzCiBFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gaW5kZXhlZERCLmNtcCh2b2lk
IDAsIHRydWUpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0
b3J5LWNtcC5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1jbXAu
aHRtbAppbmRleCAyOWY2YzU2ZTViZTMyNTNkNTRhMmJiNjM1NDljMDAzZjFlNzg0MTE3Li4zZDJi
NGQyMWM3NjJlYmMwNzAyYmFiY2QyYzcxNmY4YWMxM2I0NzBkIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWNtcC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21wLmh0bWwKQEAgLTMyLDggKzMyLDYgQEAgZnVu
Y3Rpb24gdGVzdFZhbGlkS2V5cygpCiAgICAgZGVidWcoIiIpOwogICAgIGRlYnVnKCJjb21wYXJl
IHZhbGlkIGtleXMiKTsKIAotICAgIGRlYnVnKCIoQXJyYXkga2V5cyBhcmUgbm90IHlldCBpbXBs
ZW1lbnRlZCBzbyBtYW55IHRlc3RzIHdpbGwgZmFpbCkiKTsKLQogICAgIHZhciBrZXlzID0gWwog
ICAgICAgICAiLUluZmluaXR5IiwKICAgICAgICAgIi1OdW1iZXIuTUFYX1ZBTFVFIiwKQEAgLTYx
LDE3ICs1OSwxNiBAQCBmdW5jdGlvbiB0ZXN0VmFsaWRLZXlzKCkKICAgICAgICAgIidcdUQ4MzRc
dUREMUUnIiwgLy8gVSsxRDExRSBNVVNJQ0FMIFNZTUJPTCBHLUNMRUYgKFVURi0xNiBzdXJyb2dh
dGUgcGFpcikKICAgICAgICAgIidcdUZGRkQnIiwgLy8gVStGRkZEIFJFUExBQ0VNRU5UIENIQVJB
Q1RFUgogCi0gICAgICAgIC8vIEZJWE1FOiBBcnJheSBrZXlzIGFyZSBOWUksIGJ1dCB0aGVzZSBz
aG91bGQgcGFzcyBvbmNlIGltcGxlbWVudGVkCiAgICAgICAgICJbXSIsCiAKICAgICAgICAgIlst
SW5maW5pdHldIiwKLSAgICAgICAgIlstMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdIiwKKyAgICAg
ICAgIlstTnVtYmVyLk1BWF9WQUxVRV0iLAogICAgICAgICAiWy0xXSIsCi0gICAgICAgICJbLTVl
LTMyNF0iLAorICAgICAgICAiWy1OdW1iZXIuTUlOX1ZBTFVFXSIsCiAgICAgICAgICJbMF0iLAot
ICAgICAgICAiWzVlLTMyNF0iLAorICAgICAgICAiW051bWJlci5NSU5fVkFMVUVdIiwKICAgICAg
ICAgIlsxXSIsCi0gICAgICAgICJbMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdIiwKKyAgICAgICAg
IltOdW1iZXIuTUFYX1ZBTFVFXSIsCiAgICAgICAgICJbSW5maW5pdHldIiwKICAKICAgICAgICAg
IltuZXcgRGF0ZSgwKV0iLApAQCAtOTYsNyArOTMsNyBAQCBmdW5jdGlvbiB0ZXN0VmFsaWRLZXlz
KCkKICAgICAgICAgIltbXSwgW10sIFtdXSIsCiAKICAgICAgICAgIltbW11dXSIsCi0gICAgICAg
ICJbW1tbXV1dXSIsCisgICAgICAgICJbW1tbXV1dXSIKICAgICBdOwogCiAgICAgdmFyIGksIGtl
eTEsIGtleTI7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRl
eC1iYXNpY3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5k
ZXgtYmFzaWNzLWV4cGVjdGVkLnR4dAppbmRleCBjNTg5YzgxMjk3ZjFhOTMzZjU2NmMzOWRmNDBi
NzgzZmVjNWU5NzE2Li5mZGE4ZGJmM2ZiNjBlNTc4MDRiNzI5MjAwNTJkNjFlYWZmYTRiMjliIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1iYXNpY3MtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2lj
cy1leHBlY3RlZC50eHQKQEAgLTgxLDkgKzgxLDkgQEAgUEFTUyBldmVudC50YXJnZXQucmVzdWx0
LnZhbHVlLnggaXMgInZhbHVlMyIKIFBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdC52YWx1ZS55IGlz
ICI0NTYiCiBldmVudC50YXJnZXQucmVzdWx0LmNvbnRpbnVlKCkKIFBBU1MgZXZlbnQudGFyZ2V0
LnJlc3VsdCA9PT0gbnVsbCBpcyB0cnVlCi1QYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gaW5k
ZXhPYmplY3QuZ2V0KCkuCitQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gaW5kZXhPYmplY3Qu
Z2V0KHt9KS4KIFBBU1MgQ2F1Z2h0IGV4Y2VwdGlvbjogRXJyb3I6IERBVEFfRVJSOiBET00gSURC
RGF0YWJhc2UgRXhjZXB0aW9uIDUKLVBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBpbmRleE9i
amVjdC5nZXRLZXkoKS4KK1Bhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBpbmRleE9iamVjdC5n
ZXRLZXkoe30pLgogUEFTUyBDYXVnaHQgZXhjZXB0aW9uOiBFcnJvcjogREFUQV9FUlI6IERPTSBJ
REJEYXRhYmFzZSBFeGNlcHRpb24gNQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1iYXNpY3Mu
aHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy5odG1sCmlu
ZGV4IDFkMDVhYWQ5OGM2YjMyM2Y5NWJiZDhjMTUyYzFmNmMxZDZlZjQwNmYuLjhiYTM3ZjM0YTVl
OGE5YjQ5NTM0YzJmZjk4ZTEyNDEwNGVkN2QwM2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0
b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3Jh
Z2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy5odG1sCkBAIC0yNDAsMTYgKzI0MCwxNiBAQCBmdW5j
dGlvbiBsYXN0KCkKICAgICBzaG91bGRCZVRydWUoImV2ZW50LnRhcmdldC5yZXN1bHQgPT09IG51
bGwiKTsKIAogICAgIHRyeSB7Ci0gICAgICAgIGRlYnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5
IGludG8gaW5kZXhPYmplY3QuZ2V0KCkuIik7Ci0gICAgICAgIGluZGV4T2JqZWN0LmdldChbXSk7
CisgICAgICAgIGRlYnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gaW5kZXhPYmplY3Qu
Z2V0KHt9KS4iKTsKKyAgICAgICAgaW5kZXhPYmplY3QuZ2V0KHt9KTsKICAgICAgICAgdGVzdEZh
aWxlZCgiTm8gZXhjZXB0aW9uIHRocm93biIpOwogICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAg
dGVzdFBhc3NlZCgiQ2F1Z2h0IGV4Y2VwdGlvbjogIiArIGUudG9TdHJpbmcoKSk7CiAgICAgfQog
CiAgICAgdHJ5IHsKLSAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBp
bmRleE9iamVjdC5nZXRLZXkoKS4iKTsKLSAgICAgICAgaW5kZXhPYmplY3QuZ2V0S2V5KFtdKTsK
KyAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBpbmRleE9iamVjdC5n
ZXRLZXkoe30pLiIpOworICAgICAgICBpbmRleE9iamVjdC5nZXRLZXkoe30pOwogICAgICAgICB0
ZXN0RmFpbGVkKCJObyBleGNlcHRpb24gdGhyb3duIik7CiAgICAgfSBjYXRjaCAoZSkgewogICAg
ICAgICB0ZXN0UGFzc2VkKCJDYXVnaHQgZXhjZXB0aW9uOiAiICsgZS50b1N0cmluZygpKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5LWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMjllZWRmYmM0NzJjNTRhOTYxOTQ0OTJiMWU2YWVl
YmVhYjcyMjYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVk
ZGIva2V5LXR5cGUtYXJyYXktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjcxIEBACitUZXN0IElu
ZGV4ZWREQiBrZXkgdHlwZXMKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK2luZGV4
ZWREQiA9IHdpbmRvdy5pbmRleGVkREIgfHwgd2luZG93LndlYmtpdEluZGV4ZWREQiB8fCB3aW5k
b3cubW96SW5kZXhlZERCOworUEFTUyBpbmRleGVkREIgPT0gbnVsbCBpcyBmYWxzZQorSURCVHJh
bnNhY3Rpb24gPSB3aW5kb3cuSURCVHJhbnNhY3Rpb24gfHwgd2luZG93LndlYmtpdElEQlRyYW5z
YWN0aW9uOworUEFTUyBJREJUcmFuc2FjdGlvbiA9PSBudWxsIGlzIGZhbHNlCitJREJEYXRhYmFz
ZUV4Y2VwdGlvbiA9IHdpbmRvdy5JREJEYXRhYmFzZUV4Y2VwdGlvbiB8fCB3aW5kb3cud2Via2l0
SURCRGF0YWJhc2VFeGNlcHRpb247CitQQVNTIElEQkRhdGFiYXNlRXhjZXB0aW9uID09IG51bGwg
aXMgZmFsc2UKK2luZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKQorZGIgPSBvcGVucmVx
LnJlc3VsdAorcmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKQorcHJlcGFyaW5nIGRhdGFiYXNl
CitEZWxldGVkIGFsbCBvYmplY3Qgc3RvcmVzLgorZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3Jl
Jyk7CisKK3RyYW5zID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJywgSURCVHJhbnNhY3Rpb24uUkVB
RF9XUklURSkKK3N0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlJykKKworbG9uZ19hcnJh
eSA9IFtdOyBmb3IgKGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7IGxvbmdfYXJyYXkucHVzaCgnYWJj
JywgMTIzLCBuZXcgRGF0ZSgwKSwgW10pOyB9CisKK2FycmF5IHRoYXQgY29udGFpbnMgbm9uLW51
bWVyaWMgc2VsZi1yZWZlcmVuY2UKK3NlbGZfcmVmZXJyZW50aWFsX2FycmF5ID0gW107IHNlbGZf
cmVmZXJyZW50aWFsX2FycmF5LnNlbGYgPSBzZWxmX3JlZmVycmVudGlhbF9hcnJheTsKKwordGVz
dGluZyBhcnJheSBrZXk6IFtdCitzdG9yZS5wdXQoJ3ZhbHVlMScsIFtdKTsKK3N0b3JlLmdldChb
XSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMSIKKwordGVzdGluZyBhcnJheSBrZXk6
IFstSW5maW5pdHldCitzdG9yZS5wdXQoJ3ZhbHVlMicsIFstSW5maW5pdHldKTsKK3N0b3JlLmdl
dChbLUluZmluaXR5XSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMiIKKwordGVzdGlu
ZyBhcnJheSBrZXk6IFstTnVtYmVyLk1BWF9WQUxVRV0KK3N0b3JlLnB1dCgndmFsdWUzJywgWy1O
dW1iZXIuTUFYX1ZBTFVFXSk7CitzdG9yZS5nZXQoWy1OdW1iZXIuTUFYX1ZBTFVFXSk7CitQQVNT
IGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMyIKKwordGVzdGluZyBhcnJheSBrZXk6IFstMV0KK3N0
b3JlLnB1dCgndmFsdWU0JywgWy0xXSk7CitzdG9yZS5nZXQoWy0xXSk7CitQQVNTIGdldHJlcS5y
ZXN1bHQgaXMgInZhbHVlNCIKKwordGVzdGluZyBhcnJheSBrZXk6IFstTnVtYmVyLk1JTl9WQUxV
RV0KK3N0b3JlLnB1dCgndmFsdWU1JywgWy1OdW1iZXIuTUlOX1ZBTFVFXSk7CitzdG9yZS5nZXQo
Wy1OdW1iZXIuTUlOX1ZBTFVFXSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlNSIKKwor
dGVzdGluZyBhcnJheSBrZXk6IFswXQorc3RvcmUucHV0KCd2YWx1ZTYnLCBbMF0pOworc3RvcmUu
Z2V0KFswXSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlNiIKKwordGVzdGluZyBhcnJh
eSBrZXk6IFtOdW1iZXIuTUlOX1ZBTFVFXQorc3RvcmUucHV0KCd2YWx1ZTcnLCBbTnVtYmVyLk1J
Tl9WQUxVRV0pOworc3RvcmUuZ2V0KFtOdW1iZXIuTUlOX1ZBTFVFXSk7CitQQVNTIGdldHJlcS5y
ZXN1bHQgaXMgInZhbHVlNyIKKwordGVzdGluZyBhcnJheSBrZXk6IFsxXQorc3RvcmUucHV0KCd2
YWx1ZTgnLCBbMV0pOworc3RvcmUuZ2V0KFsxXSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZh
bHVlOCIKKwordGVzdGluZyBhcnJheSBrZXk6IFtOdW1iZXIuTUFYX1ZBTFVFXQorc3RvcmUucHV0
KCd2YWx1ZTknLCBbTnVtYmVyLk1BWF9WQUxVRV0pOworc3RvcmUuZ2V0KFtOdW1iZXIuTUFYX1ZB
TFVFXSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlOSIKKwordGVzdGluZyBhcnJheSBr
ZXk6IFtJbmZpbml0eV0KK3N0b3JlLnB1dCgndmFsdWUxMCcsIFtJbmZpbml0eV0pOworc3RvcmUu
Z2V0KFtJbmZpbml0eV0pOworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTEwIgorCit0ZXN0
aW5nIGFycmF5IGtleTogWzEsMiwzXQorc3RvcmUucHV0KCd2YWx1ZTExJywgWzEsMiwzXSk7Citz
dG9yZS5nZXQoWzEsMiwzXSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMTEiCisKK3Rl
c3RpbmcgYXJyYXkga2V5OiBbbmV3IERhdGUoMCldCitzdG9yZS5wdXQoJ3ZhbHVlMTInLCBbbmV3
IERhdGUoMCldKTsKK3N0b3JlLmdldChbbmV3IERhdGUoMCldKTsKK1BBU1MgZ2V0cmVxLnJlc3Vs
dCBpcyAidmFsdWUxMiIKKwordGVzdGluZyBhcnJheSBrZXk6IFtuZXcgRGF0ZSgnMjUyNS0wMS0w
MVQwMDowMDowMFonKV0KK3N0b3JlLnB1dCgndmFsdWUxMycsIFtuZXcgRGF0ZSgnMjUyNS0wMS0w
MVQwMDowMDowMFonKV0pOworc3RvcmUuZ2V0KFtuZXcgRGF0ZSgnMjUyNS0wMS0wMVQwMDowMDow
MFonKV0pOworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTEzIgorCit0ZXN0aW5nIGFycmF5
IGtleTogW25ldyBEYXRlKDApLCBuZXcgRGF0ZSgnMjUyNS0wMS0wMVQwMDowMDowMFonKV0KK3N0
b3JlLnB1dCgndmFsdWUxNCcsIFtuZXcgRGF0ZSgwKSwgbmV3IERhdGUoJzI1MjUtMDEtMDFUMDA6
MDA6MDBaJyldKTsKK3N0b3JlLmdldChbbmV3IERhdGUoMCksIG5ldyBEYXRlKCcyNTI1LTAxLTAx
VDAwOjAwOjAwWicpXSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMTQiCisKK3Rlc3Rp
bmcgYXJyYXkga2V5OiBbJyddCitzdG9yZS5wdXQoJ3ZhbHVlMTUnLCBbJyddKTsKK3N0b3JlLmdl
dChbJyddKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUxNSIKKwordGVzdGluZyBhcnJh
eSBrZXk6IFsnJ10KK3N0b3JlLnB1dCgndmFsdWUxNicsIFsnJ10pOworc3RvcmUuZ2V0KFsnJ10p
OworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTE2IgorCit0ZXN0aW5nIGFycmF5IGtleTog
WydhYmMxMjMnXQorc3RvcmUucHV0KCd2YWx1ZTE3JywgWydhYmMxMjMnXSk7CitzdG9yZS5nZXQo
WydhYmMxMjMnXSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMTciCisKK3Rlc3Rpbmcg
YXJyYXkga2V5OiBbJ2FiYycsIDEyM10KK3N0b3JlLnB1dCgndmFsdWUxOCcsIFsnYWJjJywgMTIz
XSk7CitzdG9yZS5nZXQoWydhYmMnLCAxMjNdKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFs
dWUxOCIKKwordGVzdGluZyBhcnJheSBrZXk6IFtbXV0KK3N0b3JlLnB1dCgndmFsdWUxOScsIFtb
XV0pOworc3RvcmUuZ2V0KFtbXV0pOworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTE5Igor
Cit0ZXN0aW5nIGFycmF5IGtleTogW1tdLCBbXV0KK3N0b3JlLnB1dCgndmFsdWUyMCcsIFtbXSwg
W11dKTsKK3N0b3JlLmdldChbW10sIFtdXSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVl
MjAiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbW10sIFtdLCBbXV0KK3N0b3JlLnB1dCgndmFsdWUy
MScsIFtbXSwgW10sIFtdXSk7CitzdG9yZS5nZXQoW1tdLCBbXSwgW11dKTsKK1BBU1MgZ2V0cmVx
LnJlc3VsdCBpcyAidmFsdWUyMSIKKwordGVzdGluZyBhcnJheSBrZXk6IFtbW11dXQorc3RvcmUu
cHV0KCd2YWx1ZTIyJywgW1tbXV1dKTsKK3N0b3JlLmdldChbW1tdXV0pOworUEFTUyBnZXRyZXEu
cmVzdWx0IGlzICJ2YWx1ZTIyIgorCit0ZXN0aW5nIGFycmF5IGtleTogW1tbW11dXV0KK3N0b3Jl
LnB1dCgndmFsdWUyMycsIFtbW1tdXV1dKTsKK3N0b3JlLmdldChbW1tbXV1dXSk7CitQQVNTIGdl
dHJlcS5yZXN1bHQgaXMgInZhbHVlMjMiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbMTIzLCAnYWJj
JywgbmV3IERhdGUoMCksIFtdXQorc3RvcmUucHV0KCd2YWx1ZTI0JywgWzEyMywgJ2FiYycsIG5l
dyBEYXRlKDApLCBbXV0pOworc3RvcmUuZ2V0KFsxMjMsICdhYmMnLCBuZXcgRGF0ZSgwKSwgW11d
KTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUyNCIKKwordGVzdGluZyBhcnJheSBrZXk6
IFtbMTIzLCAnYWJjJywgbmV3IERhdGUoMCksIFtdXSwgWzQ1NiwgJ2RlZicsIG5ldyBEYXRlKDk5
OSksIFtbXV1dXQorc3RvcmUucHV0KCd2YWx1ZTI1JywgW1sxMjMsICdhYmMnLCBuZXcgRGF0ZSgw
KSwgW11dLCBbNDU2LCAnZGVmJywgbmV3IERhdGUoOTk5KSwgW1tdXV1dKTsKK3N0b3JlLmdldChb
WzEyMywgJ2FiYycsIG5ldyBEYXRlKDApLCBbXV0sIFs0NTYsICdkZWYnLCBuZXcgRGF0ZSg5OTkp
LCBbW11dXV0pOworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTI1IgorCit0ZXN0aW5nIGFy
cmF5IGtleTogbG9uZ19hcnJheQorc3RvcmUucHV0KCd2YWx1ZTI2JywgbG9uZ19hcnJheSk7Citz
dG9yZS5nZXQobG9uZ19hcnJheSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMjYiCisK
K3Rlc3RpbmcgYXJyYXkga2V5OiBzZWxmX3JlZmVycmVudGlhbF9hcnJheQorc3RvcmUucHV0KCd2
YWx1ZTI3Jywgc2VsZl9yZWZlcnJlbnRpYWxfYXJyYXkpOworc3RvcmUuZ2V0KHNlbGZfcmVmZXJy
ZW50aWFsX2FycmF5KTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUyNyIKKwordHJhbnMg
PSBkYi50cmFuc2FjdGlvbignc3RvcmUnLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQorc3Rv
cmUgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmUnKQorCithcnJheSB0aGF0IGNvbnRhaW5zIGl0
c2VsZjogYXJyYXkgPSBbIGFycmF5IF0KK2N5Y2xpY19hcnJheSA9IFtdOyBjeWNsaWNfYXJyYXku
cHVzaChjeWNsaWNfYXJyYXkpCitQQVNTIEpTT04uc3RyaW5naWZ5KGN5Y2xpY19hcnJheSkgdGhy
ZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQ29udmVydGluZyBjaXJjdWxhciBzdHJ1Y3R1cmUgdG8g
SlNPTi4KK2FycmF5IHRoYXQgY29udGFpbnMgaXRzZWxmLCBvbmUgbGV2ZWwgZG93bjogYXJyYXkg
PSBbIFsgYXJyYXkgXSBdCitjeWNsaWNfYXJyYXkyID0gW107IGN5Y2xpY19hcnJheTIucHVzaChb
Y3ljbGljX2FycmF5Ml0pCitQQVNTIEpTT04uc3RyaW5naWZ5KGN5Y2xpY19hcnJheTIpIHRocmV3
IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IENvbnZlcnRpbmcgY2lyY3VsYXIgc3RydWN0dXJlIHRvIEpT
T04uCithcnJheSB0aGF0IGNvbnRhaW5zIGl0c2VsZiwgbm90IGFzIGZpcnN0IGVsZW1lbnQ6IGFy
cmF5ID0gWzEsICdiJywgW10sIGFycmF5XQorY3ljbGljX2FycmF5MyA9IFsxLCAnYicsIFtdXTsg
Y3ljbGljX2FycmF5My5wdXNoKGN5Y2xpY19hcnJheTMpCitQQVNTIEpTT04uc3RyaW5naWZ5KGN5
Y2xpY19hcnJheTMpIHRocmV3IGV4Y2VwdGlvbiBUeXBlRXJyb3I6IENvbnZlcnRpbmcgY2lyY3Vs
YXIgc3RydWN0dXJlIHRvIEpTT04uCisKK2FycmF5IHRoYXQgY29udGFpbnMgYXJyYXkgdGhhdCBj
b250YWlucyBpdHNlbGYKK2N5Y2xpY19hcnJheTQgPSBbY3ljbGljX2FycmF5XTsKK1BBU1MgSlNP
Ti5zdHJpbmdpZnkoY3ljbGljX2FycmF5NCkgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjogQ29u
dmVydGluZyBjaXJjdWxhciBzdHJ1Y3R1cmUgdG8gSlNPTi4KKwordGVzdGluZyBpbnZhbGlkIGFy
cmF5IGtleTogWyB2b2lkIDAgXQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgn
dmFsdWUnLCBbIHZvaWQgMCBdKTsKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNv
ZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKKwordGVzdGluZyBpbnZhbGlkIGFy
cmF5IGtleTogWyB0cnVlIF0KK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3Zh
bHVlJywgWyB0cnVlIF0pOworUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBp
cyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkg
a2V5OiBbIGZhbHNlIF0KK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVl
JywgWyBmYWxzZSBdKTsKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMg
SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKKwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtl
eTogWyBOYU4gXQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBb
IE5hTiBdKTsKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0
YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKKwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogWyBu
dWxsIF0KK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyBudWxs
IF0pOworUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFz
ZUV4Y2VwdGlvbi5EQVRBX0VSUgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIHt9IF0K
K0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyB7fSBdKTsKK1BB
U1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRp
b24uREFUQV9FUlIKKwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogWyBmdW5jdGlvbiAoKSB7
fSBdCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIFsgZnVuY3Rp
b24gKCkge30gXSk7CitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElE
QkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCisKK3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6
IFsgL3JlZ2V4LyBdCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScs
IFsgL3JlZ2V4LyBdKTsKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMg
SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKKwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtl
eTogWyB3aW5kb3cgXQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUn
LCBbIHdpbmRvdyBdKTsKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMg
SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKKwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtl
eTogWyB3aW5kb3cuZG9jdW1lbnQgXQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1
dCgndmFsdWUnLCBbIHdpbmRvdy5kb2N1bWVudCBdKTsKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJv
d24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKKwordGVzdGlu
ZyBpbnZhbGlkIGFycmF5IGtleTogWyB3aW5kb3cuZG9jdW1lbnQuYm9keSBdCitFeHBlY3Rpbmcg
ZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIFsgd2luZG93LmRvY3VtZW50LmJvZHkg
XSk7CitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNl
RXhjZXB0aW9uLkRBVEFfRVJSCisKK3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IGN5Y2xpY19h
cnJheQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBjeWNsaWNf
YXJyYXkpOworUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRh
YmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBjeWNs
aWNfYXJyYXkyCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIGN5
Y2xpY19hcnJheTIpOworUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJ
REJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5
OiBjeWNsaWNfYXJyYXkzCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1
ZScsIGN5Y2xpY19hcnJheTMpOworUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29k
ZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgorCit0ZXN0aW5nIGludmFsaWQgYXJy
YXkga2V5OiBjeWNsaWNfYXJyYXk0CitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0
KCd2YWx1ZScsIGN5Y2xpY19hcnJheTQpOworUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BB
U1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgorCit0ZXN0aW5nIGludmFs
aWQgYXJyYXkga2V5OiBBcnJheSgxMDAwKQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3Jl
LnB1dCgndmFsdWUnLCBBcnJheSgxMDAwKSk7CitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgor
UEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCisKK1BBU1MgaW5kZXhl
ZERCLmNtcChtYWtlQXJyYXlPZkRlcHRoKDEpLCAwKSBpcyAxCitQQVNTIGluZGV4ZWREQi5jbXAo
bWFrZUFycmF5T2ZEZXB0aCgxMCksIDApIGlzIDEKK1BBU1MgaW5kZXhlZERCLmNtcChtYWtlQXJy
YXlPZkRlcHRoKDEwMCksIDApIGlzIDEKK1BBU1MgaW5kZXhlZERCLmNtcChtYWtlQXJyYXlPZkRl
cHRoKDEwMDApLCAwKSBpcyAxCitQQVNTIGluZGV4ZWREQi5jbXAobWFrZUFycmF5T2ZEZXB0aCgx
MDAwMCksIDApIGlzIDEKK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKG1h
a2VBcnJheU9mRGVwdGgoMTAwMDAwKSwgMCkKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQ
QVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKKworUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5Lmh0bWwgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktdHlwZS1hcnJheS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJkZTQw
NDEzODdmODJlNDZkY2MyNjVmZDZjMTQ0ZWE0M2ZlM2JlODUKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktdHlwZS1hcnJheS5odG1sCkBAIC0wLDAg
KzEsMjE3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bGluayByZWw9InN0
eWxlc2hlZXQiIGhyZWY9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3Nz
Ij4KKzxzY3JpcHQgc3JjPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYXJlZC5qcyI+PC9zY3JpcHQ+Cis8
L2hlYWQ+Cis8Ym9keT4KKzxwIGlkPSJkZXNjcmlwdGlvbiI+PC9wPgorPGRpdiBpZD0iY29uc29s
ZSI+PC9kaXY+Cis8c2NyaXB0PgorCitkZXNjcmlwdGlvbigiVGVzdCBJbmRleGVkREIga2V5IHR5
cGVzIik7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RD
b250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKworZnVuY3Rpb24gdGVzdCgpCit7CisgICAgZXZh
bEFuZExvZygiaW5kZXhlZERCID0gd2luZG93LmluZGV4ZWREQiB8fCB3aW5kb3cud2Via2l0SW5k
ZXhlZERCIHx8IHdpbmRvdy5tb3pJbmRleGVkREI7Iik7CisgICAgc2hvdWxkQmVGYWxzZSgiaW5k
ZXhlZERCID09IG51bGwiKTsKKworICAgIGV2YWxBbmRMb2coIklEQlRyYW5zYWN0aW9uID0gd2lu
ZG93LklEQlRyYW5zYWN0aW9uIHx8IHdpbmRvdy53ZWJraXRJREJUcmFuc2FjdGlvbjsiKTsKKyAg
ICBzaG91bGRCZUZhbHNlKCJJREJUcmFuc2FjdGlvbiA9PSBudWxsIik7CisKKyAgICBldmFsQW5k
TG9nKCJJREJEYXRhYmFzZUV4Y2VwdGlvbiA9IHdpbmRvdy5JREJEYXRhYmFzZUV4Y2VwdGlvbiB8
fCB3aW5kb3cud2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb247Iik7CisgICAgc2hvdWxkQmVGYWxz
ZSgiSURCRGF0YWJhc2VFeGNlcHRpb24gPT0gbnVsbCIpOworCisKKyAgICBuYW1lID0gd2luZG93
LmxvY2F0aW9uLnBhdGhuYW1lOworICAgIGRlc2NyaXB0aW9uID0gIk15IFRlc3QgRGF0YWJhc2Ui
OworICAgIG9wZW5yZXEgPSBldmFsQW5kTG9nKCJpbmRleGVkREIub3BlbihuYW1lLCBkZXNjcmlw
dGlvbikiKTsKKyAgICBvcGVucmVxLm9uc3VjY2VzcyA9IG9wZW5TdWNjZXNzOworICAgIG9wZW5y
ZXEub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworfQorCitmdW5jdGlvbiBvcGVu
U3VjY2VzcygpCit7CisgICAgZXZhbEFuZExvZygiZGIgPSBvcGVucmVxLnJlc3VsdCIpOworICAg
IHNldHZlcnJlcSA9IGV2YWxBbmRMb2coInJlcXVlc3QgPSBkYi5zZXRWZXJzaW9uKCcxJykiKTsK
KyAgICBzZXR2ZXJyZXEub25zdWNjZXNzID0gc2V0VmVyc2lvblN1Y2Nlc3M7CisgICAgc2V0dmVy
cmVxLm9uZXJyb3IgPSB1bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKK30KKworZnVuY3Rpb24gc2V0
VmVyc2lvblN1Y2Nlc3MoKQoreworICAgIGRlYnVnKCJwcmVwYXJpbmcgZGF0YWJhc2UiKTsKKyAg
ICB0cmFucyA9IHNldHZlcnJlcS5yZXN1bHQ7CisgICAgdHJhbnMub25jb21wbGV0ZSA9IHRlc3RW
YWxpZEFycmF5S2V5czsKKyAgICBkZWxldGVBbGxPYmplY3RTdG9yZXMoZGIpOworICAgIG9iamVj
dFN0b3JlID0gZXZhbEFuZExvZygiZGIuY3JlYXRlT2JqZWN0U3RvcmUoJ3N0b3JlJyk7Iik7Cisg
ICAgZGVidWcoIiIpOworfQorCitmdW5jdGlvbiB0ZXN0VmFsaWRBcnJheUtleXMoKQoreworICAg
IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJywgSURCVHJhbnNhY3Rp
b24uUkVBRF9XUklURSkiKTsKKyAgICBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0
b3JlKCdzdG9yZScpIik7CisgICAgZGVidWcoIiIpOworCisgICAgZXZhbEFuZExvZygibG9uZ19h
cnJheSA9IFtdOyBmb3IgKGkgPSAwOyBpIDwgMTAwMDsgKytpKSB7IGxvbmdfYXJyYXkucHVzaCgn
YWJjJywgMTIzLCBuZXcgRGF0ZSgwKSwgW10pOyB9Iik7CisgICAgZGVidWcoIiIpOworCisgICAg
ZGVidWcoImFycmF5IHRoYXQgY29udGFpbnMgbm9uLW51bWVyaWMgc2VsZi1yZWZlcmVuY2UiKTsK
KyAgICBldmFsQW5kTG9nKCJzZWxmX3JlZmVycmVudGlhbF9hcnJheSA9IFtdOyBzZWxmX3JlZmVy
cmVudGlhbF9hcnJheS5zZWxmID0gc2VsZl9yZWZlcnJlbnRpYWxfYXJyYXk7Iik7CisgICAgZGVi
dWcoIiIpOworCisgICAgdmFyIG4gPSAwLCBjYXNlcyA9IFsKKyAgICAgICAgIltdIiwKKworICAg
ICAgICAiWy1JbmZpbml0eV0iLAorICAgICAgICAiWy1OdW1iZXIuTUFYX1ZBTFVFXSIsCisgICAg
ICAgICJbLTFdIiwKKyAgICAgICAgIlstTnVtYmVyLk1JTl9WQUxVRV0iLAorICAgICAgICAiWzBd
IiwKKyAgICAgICAgIltOdW1iZXIuTUlOX1ZBTFVFXSIsCisgICAgICAgICJbMV0iLAorICAgICAg
ICAiW051bWJlci5NQVhfVkFMVUVdIiwKKyAgICAgICAgIltJbmZpbml0eV0iLAorCisgICAgICAg
ICJbMSwyLDNdIiwKKworICAgICAgICAiW25ldyBEYXRlKDApXSIsCisgICAgICAgICJbbmV3IERh
dGUoJzI1MjUtMDEtMDFUMDA6MDA6MDBaJyldIiwKKworICAgICAgICAiW25ldyBEYXRlKDApLCBu
ZXcgRGF0ZSgnMjUyNS0wMS0wMVQwMDowMDowMFonKV0iLAorCisgICAgICAgICJbJyddIiwKKyAg
ICAgICAgIlsnXHgwMCddIiwKKyAgICAgICAgIlsnYWJjMTIzJ10iLAorCisgICAgICAgICJbJ2Fi
YycsIDEyM10iLAorCisgICAgICAgICJbW11dIiwKKworICAgICAgICAiW1tdLCBbXV0iLAorICAg
ICAgICAiW1tdLCBbXSwgW11dIiwKKworICAgICAgICAiW1tbXV1dIiwKKyAgICAgICAgIltbW1td
XV1dIiwKKworICAgICAgICAiWzEyMywgJ2FiYycsIG5ldyBEYXRlKDApLCBbXV0iLAorICAgICAg
ICAiW1sxMjMsICdhYmMnLCBuZXcgRGF0ZSgwKSwgW11dLCBbNDU2LCAnZGVmJywgbmV3IERhdGUo
OTk5KSwgW1tdXV1dIiwKKworICAgICAgICAibG9uZ19hcnJheSIsCisgICAgICAgICJzZWxmX3Jl
ZmVycmVudGlhbF9hcnJheSIKKyAgICBdOworCisgICAgZnVuY3Rpb24gdGVzdEFycmF5UHV0R2V0
KHZhbHVlLCBrZXksIGNhbGxiYWNrKQorICAgIHsKKyAgICAgICAgZGVidWcoInRlc3RpbmcgYXJy
YXkga2V5OiAiICsga2V5KTsKKyAgICAgICAgcHV0cmVxID0gZXZhbEFuZExvZygic3RvcmUucHV0
KCciICsgdmFsdWUgKyAiJywgIiArIGtleSArICIpOyIpOworICAgICAgICBwdXRyZXEub25lcnJv
ciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgICAgICBwdXRyZXEub25zdWNjZXNzID0g
ZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBnZXRyZXEgPSBldmFsQW5kTG9nKCJzdG9yZS5nZXQo
IiArIGtleSArICIpOyIpOworICAgICAgICAgICAgZ2V0cmVxLm9uZXJyb3IgPSB1bmV4cGVjdGVk
RXJyb3JDYWxsYmFjazsKKyAgICAgICAgICAgIGdldHJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigp
IHsKKyAgICAgICAgICAgICAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldHJlcS5yZXN1bHQi
LCB2YWx1ZSk7CisgICAgICAgICAgICAgICAgZGVidWcoIiIpOworICAgICAgICAgICAgICAgIGNh
bGxiYWNrKCk7CisgICAgICAgICAgICB9OworICAgICAgICB9OworICAgIH0KKworICAgIGZ1bmN0
aW9uIG5leHRUZXN0KCkKKyAgICB7CisgICAgICAgIHZhciB0ZXN0Y2FzZSA9IGNhc2VzLnNoaWZ0
KCk7CisgICAgICAgIGlmICh0ZXN0Y2FzZSkgeworICAgICAgICAgICAgdGVzdEFycmF5UHV0R2V0
KCJ2YWx1ZSIgKyAoKytuKSwgdGVzdGNhc2UsIG5leHRUZXN0KTsKKyAgICAgICAgfQorICAgIH0K
KworICAgIG5leHRUZXN0KCk7CisKKyAgICB0cmFucy5vbmNvbXBsZXRlID0gdGVzdEludmFsaWRB
cnJheUtleXM7Cit9CisKKworZnVuY3Rpb24gdGVzdEludmFsaWRBcnJheUtleXMoKQoreworICAg
IGV2YWxBbmRMb2coInRyYW5zID0gZGIudHJhbnNhY3Rpb24oJ3N0b3JlJywgSURCVHJhbnNhY3Rp
b24uUkVBRF9XUklURSkiKTsKKyAgICBldmFsQW5kTG9nKCJzdG9yZSA9IHRyYW5zLm9iamVjdFN0
b3JlKCdzdG9yZScpIik7CisgICAgZGVidWcoIiIpOworCisgICAgZGVidWcoImFycmF5IHRoYXQg
Y29udGFpbnMgaXRzZWxmOiBhcnJheSA9IFsgYXJyYXkgXSIpOworICAgIGV2YWxBbmRMb2coImN5
Y2xpY19hcnJheSA9IFtdOyBjeWNsaWNfYXJyYXkucHVzaChjeWNsaWNfYXJyYXkpIik7CisgICAg
c2hvdWxkVGhyb3coIkpTT04uc3RyaW5naWZ5KGN5Y2xpY19hcnJheSkiKTsKKworICAgIGRlYnVn
KCJhcnJheSB0aGF0IGNvbnRhaW5zIGl0c2VsZiwgb25lIGxldmVsIGRvd246IGFycmF5ID0gWyBb
IGFycmF5IF0gXSIpOworICAgIGV2YWxBbmRMb2coImN5Y2xpY19hcnJheTIgPSBbXTsgY3ljbGlj
X2FycmF5Mi5wdXNoKFtjeWNsaWNfYXJyYXkyXSkiKTsKKyAgICBzaG91bGRUaHJvdygiSlNPTi5z
dHJpbmdpZnkoY3ljbGljX2FycmF5MikiKTsKKworICAgIGRlYnVnKCJhcnJheSB0aGF0IGNvbnRh
aW5zIGl0c2VsZiwgbm90IGFzIGZpcnN0IGVsZW1lbnQ6IGFycmF5ID0gWzEsICdiJywgW10sIGFy
cmF5XSIpOworICAgIGV2YWxBbmRMb2coImN5Y2xpY19hcnJheTMgPSBbMSwgJ2InLCBbXV07IGN5
Y2xpY19hcnJheTMucHVzaChjeWNsaWNfYXJyYXkzKSIpOworICAgIHNob3VsZFRocm93KCJKU09O
LnN0cmluZ2lmeShjeWNsaWNfYXJyYXkzKSIpOworICAgIGRlYnVnKCIiKTsKKworICAgIGRlYnVn
KCJhcnJheSB0aGF0IGNvbnRhaW5zIGFycmF5IHRoYXQgY29udGFpbnMgaXRzZWxmIik7CisgICAg
ZXZhbEFuZExvZygiY3ljbGljX2FycmF5NCA9IFtjeWNsaWNfYXJyYXldOyIpOworICAgIHNob3Vs
ZFRocm93KCJKU09OLnN0cmluZ2lmeShjeWNsaWNfYXJyYXk0KSIpOworICAgIGRlYnVnKCIiKTsK
KworICAgIHZhciBpbnZhbGlkS2V5cyA9IFsKKyAgICAgICAgIlsgdm9pZCAwIF0iLCAvLyB1bmRl
ZmluZWQKKyAgICAgICAgIlsgdHJ1ZSBdIiwKKyAgICAgICAgIlsgZmFsc2UgXSIsCisgICAgICAg
ICJbIE5hTiBdIiwKKyAgICAgICAgIlsgbnVsbCBdIiwKKyAgICAgICAgIlsge30gXSIsCisgICAg
ICAgICJbIGZ1bmN0aW9uICgpIHt9IF0iLAorICAgICAgICAiWyAvcmVnZXgvIF0iLAorICAgICAg
ICAiWyB3aW5kb3cgXSIsCisgICAgICAgICJbIHdpbmRvdy5kb2N1bWVudCBdIiwKKyAgICAgICAg
Ilsgd2luZG93LmRvY3VtZW50LmJvZHkgXSIsCisgICAgICAgICJjeWNsaWNfYXJyYXkiLAorICAg
ICAgICAiY3ljbGljX2FycmF5MiIsCisgICAgICAgICJjeWNsaWNfYXJyYXkzIiwKKyAgICAgICAg
ImN5Y2xpY19hcnJheTQiLAorICAgICAgICAiQXJyYXkoMTAwMCkiIC8vIHNwYXJzZQorICAgIF07
CisKKyAgICBpbnZhbGlkS2V5cy5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsKKyAgICAgICAgZGVi
dWcoInRlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6ICIgKyBrZXkpOworICAgICAgICBldmFsQW5k
RXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5wdXQoJ3ZhbHVlJywgIiArIGtleSArICIpOyIsICJJREJE
YXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUiIpOworICAgICAgICBkZWJ1ZygiIik7CisgICAgfSk7
CisKKyAgICB0ZXN0RGVwdGhMaW1pdHMoKTsKK30KKworZnVuY3Rpb24gbWFrZUFycmF5T2ZEZXB0
aChuKQoreworICAgIHZhciBhcnJheSA9IFtdLCBjdXJyZW50ID0gYXJyYXk7CisgICAgd2hpbGUg
KC0tbikgeworICAgICAgICBjdXJyZW50LnB1c2goW10pOworICAgICAgICBjdXJyZW50ID0gY3Vy
cmVudFswXTsKKyAgICB9CisgICAgcmV0dXJuIGFycmF5OworfQorCitmdW5jdGlvbiB0ZXN0RGVw
dGhMaW1pdHMoKQoreworICAgIHNob3VsZEJlKCJpbmRleGVkREIuY21wKG1ha2VBcnJheU9mRGVw
dGgoMSksIDApIiwgIjEiKTsKKyAgICBzaG91bGRCZSgiaW5kZXhlZERCLmNtcChtYWtlQXJyYXlP
ZkRlcHRoKDEwKSwgMCkiLCAiMSIpOworICAgIHNob3VsZEJlKCJpbmRleGVkREIuY21wKG1ha2VB
cnJheU9mRGVwdGgoMTAwKSwgMCkiLCAiMSIpOworICAgIHNob3VsZEJlKCJpbmRleGVkREIuY21w
KG1ha2VBcnJheU9mRGVwdGgoMTAwMCksIDApIiwgIjEiKTsKKyAgICBzaG91bGRCZSgiaW5kZXhl
ZERCLmNtcChtYWtlQXJyYXlPZkRlcHRoKDEwMDAwKSwgMCkiLCAiMSIpOworICAgIGV2YWxBbmRF
eHBlY3RFeGNlcHRpb24oImluZGV4ZWREQi5jbXAobWFrZUFycmF5T2ZEZXB0aCgxMDAwMDApLCAw
KSIsICJJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUiIpOworICAgIGRlYnVnKCIiKTsKKwor
ICAgIGRvbmUoKTsKK30KKwordGVzdCgpOworCis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleXJhbmdlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleXJhbmdlLWV4cGVjdGVk
LnR4dAppbmRleCBiZGJmMTVlYmM1M2EzNTk0NWNlOWE2NjFhMTkxNTI5YzY0Y2MzMjczLi40NTRl
YzkzYzU1YThmZTQzZTg5OWIzOTk1NGU5ODA5OTAxZDRmOTU3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXlyYW5nZS1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5cmFuZ2UtZXhwZWN0ZWQudHh0CkBAIC0yMDcsMTcg
KzIwNywxNyBAQCBQQVNTIGtleVJhbmdlLmxvd2VyIGlzICdhYWYnCiBQQVNTIGtleVJhbmdlLnVw
cGVyIGlzICdhYmYnCiBQQVNTIGtleVJhbmdlLmxvd2VyT3BlbiBpcyB0cnVlCiBQQVNTIGtleVJh
bmdlLnVwcGVyT3BlbiBpcyB0cnVlCi1QYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gb25seShb
XSkKK1Bhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBvbmx5KHt9KQogUEFTUyBDYXVnaHQgZXhj
ZXB0aW9uOiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotUGFz
c2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIHVwcGVyQm91bmQoW10pCitQYXNzaW5nIGFuIGludmFs
aWQga2V5IGludG8gdXBwZXJCb3VuZCh7fSkKIFBBU1MgQ2F1Z2h0IGV4Y2VwdGlvbjogRXJyb3I6
IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLVBhc3NpbmcgYW4gaW52YWxp
ZCBrZXkgaW50byBsb3dlckJvdW5kKFtdKQorUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGxv
d2VyQm91bmQoe30pCiBQQVNTIENhdWdodCBleGNlcHRpb246IEVycm9yOiBEQVRBX0VSUjogRE9N
IElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1QYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gYm91
bmQobnVsbCwgW10pCitQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gYm91bmQobnVsbCwge30p
CiBQQVNTIENhdWdodCBleGNlcHRpb246IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNl
IEV4Y2VwdGlvbiA1Ci1QYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gYm91bmQoW10sbnVsbCkK
K1Bhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBib3VuZCh7fSxudWxsKQogUEFTUyBDYXVnaHQg
ZXhjZXB0aW9uOiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQot
UGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGJvdW5kKFtdLCBbXSkKK1Bhc3NpbmcgYW4gaW52
YWxpZCBrZXkgaW50byBib3VuZCh7fSwge30pCiBQQVNTIENhdWdodCBleGNlcHRpb246IEVycm9y
OiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1CiBQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL2tleXJhbmdlLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXlyYW5n
ZS5odG1sCmluZGV4IDY4YjQ3OGFkNWRjMDZjMmQ3ZWJhMGRhMWY5NzM5ZWNmODlkZmFhYzQuLmFk
ZDM1NWE4N2VkOTlkYzcxZDJjOTc4NmU4Y2YwODYwZDI1ZGUzNjEgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleXJhbmdlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIva2V5cmFuZ2UuaHRtbApAQCAtMTI1LDQ4ICsxMjUsNDggQEAgZnVu
Y3Rpb24gdGVzdCgpCiAgICAgY2hlY2tCb3VuZEtleVJhbmdlKCInYWFmJyIsICInYWJmJyIsIHRy
dWUsIHRydWUpOwogCiAgICAgdHJ5IHsKLSAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxp
ZCBrZXkgaW50byBvbmx5KFtdKSIpOwotICAgICAgICB3ZWJraXRJREJLZXlSYW5nZS5vbmx5KFtd
KTsKKyAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBvbmx5KHt9KSIp
OworICAgICAgICB3ZWJraXRJREJLZXlSYW5nZS5vbmx5KHt9KTsKICAgICAgICAgdGVzdEZhaWxl
ZCgiTm8gZXhjZXB0aW9uIHRocm93biIpOwogICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgdGVz
dFBhc3NlZCgiQ2F1Z2h0IGV4Y2VwdGlvbjogIiArIGUudG9TdHJpbmcoKSk7CiAgICAgfQogCiAg
ICAgdHJ5IHsKLSAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byB1cHBl
ckJvdW5kKFtdKSIpOwotICAgICAgICB3ZWJraXRJREJLZXlSYW5nZS51cHBlckJvdW5kKFtdKTsK
KyAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byB1cHBlckJvdW5kKHt9
KSIpOworICAgICAgICB3ZWJraXRJREJLZXlSYW5nZS51cHBlckJvdW5kKHt9KTsKICAgICAgICAg
dGVzdEZhaWxlZCgiTm8gZXhjZXB0aW9uIHRocm93biIpOwogICAgIH0gY2F0Y2ggKGUpIHsKICAg
ICAgICAgdGVzdFBhc3NlZCgiQ2F1Z2h0IGV4Y2VwdGlvbjogIiArIGUudG9TdHJpbmcoKSk7CiAg
ICAgfQogIAogICAgIHRyeSB7Ci0gICAgICAgIGRlYnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5
IGludG8gbG93ZXJCb3VuZChbXSkiKTsKLSAgICAgICAgd2Via2l0SURCS2V5UmFuZ2UubG93ZXJC
b3VuZChbXSk7CisgICAgICAgIGRlYnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gbG93
ZXJCb3VuZCh7fSkiKTsKKyAgICAgICAgd2Via2l0SURCS2V5UmFuZ2UubG93ZXJCb3VuZCh7fSk7
CiAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGV4Y2VwdGlvbiB0aHJvd24iKTsKICAgICB9IGNhdGNo
IChlKSB7CiAgICAgICAgIHRlc3RQYXNzZWQoIkNhdWdodCBleGNlcHRpb246ICIgKyBlLnRvU3Ry
aW5nKCkpOwogICAgIH0KIAogICAgIHRyeSB7Ci0gICAgICAgIGRlYnVnKCJQYXNzaW5nIGFuIGlu
dmFsaWQga2V5IGludG8gYm91bmQobnVsbCwgW10pIik7Ci0gICAgICAgIHdlYmtpdElEQktleVJh
bmdlLmJvdW5kKG51bGwsIFtdKTsKKyAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBr
ZXkgaW50byBib3VuZChudWxsLCB7fSkiKTsKKyAgICAgICAgd2Via2l0SURCS2V5UmFuZ2UuYm91
bmQobnVsbCwge30pOwogICAgICAgICB0ZXN0RmFpbGVkKCJObyBleGNlcHRpb24gdGhyb3duIik7
CiAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICB0ZXN0UGFzc2VkKCJDYXVnaHQgZXhjZXB0aW9u
OiAiICsgZS50b1N0cmluZygpKTsKICAgICB9CiAKICAgICB0cnkgewotICAgICAgICBkZWJ1Zygi
UGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGJvdW5kKFtdLG51bGwpIik7Ci0gICAgICAgIHdl
YmtpdElEQktleVJhbmdlLmJvdW5kKFtdLCBudWxsKTsKKyAgICAgICAgZGVidWcoIlBhc3Npbmcg
YW4gaW52YWxpZCBrZXkgaW50byBib3VuZCh7fSxudWxsKSIpOworICAgICAgICB3ZWJraXRJREJL
ZXlSYW5nZS5ib3VuZCh7fSwgbnVsbCk7CiAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGV4Y2VwdGlv
biB0aHJvd24iKTsKICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgIHRlc3RQYXNzZWQoIkNhdWdo
dCBleGNlcHRpb246ICIgKyBlLnRvU3RyaW5nKCkpOwogICAgIH0KIAogICAgIHRyeSB7Ci0gICAg
ICAgIGRlYnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gYm91bmQoW10sIFtdKSIpOwot
ICAgICAgICB3ZWJraXRJREJLZXlSYW5nZS5ib3VuZChbXSwgW10pOworICAgICAgICBkZWJ1Zygi
UGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGJvdW5kKHt9LCB7fSkiKTsKKyAgICAgICAgd2Vi
a2l0SURCS2V5UmFuZ2UuYm91bmQoe30sIHt9KTsKICAgICAgICAgdGVzdEZhaWxlZCgiTm8gZXhj
ZXB0aW9uIHRocm93biIpOwogICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgdGVzdFBhc3NlZCgi
Q2F1Z2h0IGV4Y2VwdGlvbjogIiArIGUudG9TdHJpbmcoKSk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVk
LnR4dAppbmRleCA1ODBmZmZlNTQwOWVkMjIxY2FhMDM4NTI0NjZkYTEwOTk1NGM3NmI5Li5lNTAz
MTAyODQ2MmRlNTI1NjljYWY3Y2MwZjFhZDIxY2Y5ZTdmMWU0IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVjdHN0b3JlLWJhc2ljcy1leHBl
Y3RlZC50eHQKQEAgLTk2LDE5ICs5NiwxOSBAQCByZW1vdmVTdWNjZXNzQnV0RmFsc2UoKToKIFBB
U1MgZXZlbnQudGFyZ2V0LnJlc3VsdCBpcyBmYWxzZQogc3RvcmUgPSBldmVudC50YXJnZXQuc291
cmNlCiBQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gc3RvcmUuZ2V0KCkuCi1FeHBlY3Rpbmcg
ZXhjZXB0aW9uIGZyb20gc3RvcmUuZ2V0KFtdKQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0
b3JlLmdldCh7fSkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgd2Vi
a2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIFBhc3NpbmcgYW4gaW52YWxpZCBrZXkg
aW50byBzdG9yZS5kZWxldGUoKS4KLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5kZWxl
dGUoW10pCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUuZGVsZXRlKHt9KQogUEFTUyBF
eGNlcHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyB3ZWJraXRJREJEYXRhYmFzZUV4Y2Vw
dGlvbi5EQVRBX0VSUgogUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIHN0b3JlLmFkZCgpLgot
RXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLmFkZChudWxsLCBbXSkKK0V4cGVjdGluZyBl
eGNlcHRpb24gZnJvbSBzdG9yZS5hZGQobnVsbCwge30pCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhy
b3duLgogUEFTUyBjb2RlIGlzIHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCiBQ
YXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gc3RvcmUucHV0KCkuCi1FeHBlY3RpbmcgZXhjZXB0
aW9uIGZyb20gc3RvcmUucHV0KG51bGwsIFtdKQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0
b3JlLnB1dChudWxsLCB7fSkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUg
aXMgd2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIFBBU1Mgc3VjY2Vzc2Z1bGx5
UGFyc2VkIGlzIHRydWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L29iamVjdHN0b3JlLWJhc2ljcy5odG1sIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIv
b2JqZWN0c3RvcmUtYmFzaWNzLmh0bWwKaW5kZXggMDkxNzg1NGY5OWM4NTFmYzkxZjU5ZWY1Mzc3
YmQ3M2JhNTgzYWZkNy4uNzYzODBmZmVjN2IxNmQ0MzEyZmQxOTEyZTgzMTBjZmEwNDQ5MzVkNyAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFz
aWNzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUt
YmFzaWNzLmh0bWwKQEAgLTI1MCwxNiArMjUwLDE2IEBAIGZ1bmN0aW9uIHJlbW92ZVN1Y2Nlc3NC
dXRGYWxzZSgpCiAgICAgdmFyIHN0b3JlID0gZXZhbEFuZExvZygic3RvcmUgPSBldmVudC50YXJn
ZXQuc291cmNlIik7CiAKICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIHN0
b3JlLmdldCgpLiIpOwotICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmdldChbXSki
LCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKKyAgICBldmFsQW5kRXhw
ZWN0RXhjZXB0aW9uKCJzdG9yZS5nZXQoe30pIiwgIndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9u
LkRBVEFfRVJSIik7CiAKICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIHN0
b3JlLmRlbGV0ZSgpLiIpOwotICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmRlbGV0
ZShbXSkiLCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKKyAgICBldmFs
QW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5kZWxldGUoe30pIiwgIndlYmtpdElEQkRhdGFiYXNl
RXhjZXB0aW9uLkRBVEFfRVJSIik7CiAKICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtl
eSBpbnRvIHN0b3JlLmFkZCgpLiIpOwotICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3Jl
LmFkZChudWxsLCBbXSkiLCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsK
KyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5hZGQobnVsbCwge30pIiwgIndlYmtp
dElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSIik7CiAKICAgICBkZWJ1ZygiUGFzc2luZyBh
biBpbnZhbGlkIGtleSBpbnRvIHN0b3JlLnB1dCgpLiIpOwotICAgIGV2YWxBbmRFeHBlY3RFeGNl
cHRpb24oInN0b3JlLnB1dChudWxsLCBbXSkiLCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24u
REFUQV9FUlIiKTsKKyAgICBldmFsQW5kRXhwZWN0RXhjZXB0aW9uKCJzdG9yZS5wdXQobnVsbCwg
e30pIiwgIndlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSIik7CiAKICAgICBkb25l
KCk7CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWN1
cnNvci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWN1
cnNvci1leHBlY3RlZC50eHQKaW5kZXggNjAyMGUyNTZmN2MzYTI0ODdjYjc1NTYzMmVlNDFmYmEw
MTkyMDg5MS4uM2E5ZTIwMjgwM2ZhMDhhZjhkMTA3NzQ4YzU0NWQ4MzhiODA3MzZhYiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jdXJzb3ItZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY3Vyc29yLWV4cGVj
dGVkLnR4dApAQCAtMTksNyArMTksNyBAQCBQQVNTIGV2ZW50LnRhcmdldC5yZXN1bHQuZGlyZWN0
aW9uIGlzIDAKIFBBU1MgZXZlbnQudGFyZ2V0LnJlc3VsdC5rZXkgaXMgJ215S2V5JwogUEFTUyBl
dmVudC50YXJnZXQucmVzdWx0LnZhbHVlIGlzICdteVZhbHVlJwogCi1QYXNzaW5nIGFuIGludmFs
aWQga2V5IGludG8gLmNvbnRpbnVlKCkuCitQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gLmNv
bnRpbnVlKHt9KS4KIFBBU1MgQ2F1Z2h0IGV4Y2VwdGlvbjogRXJyb3I6IERBVEFfRVJSOiBET00g
SURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKIAogT3BlbmluZyBhbiBlbXB0eSBjdXJzb3IuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWN1cnNvci5odG1sIGIv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jdXJzb3IuaHRtbAppbmRleCAyMDM3
MmZhMGJhODZkMTg3N2Q1OGVhZTY2YjQ1NmI1YWRlNTA5NTg0Li4wNTcyOGQ4ZWIwY2IwNDAzNTVl
YzZlY2JiYjU5MWQxN2MyNzcxM2I4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9vcGVuLWN1cnNvci5odG1sCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhl
ZGRiL29wZW4tY3Vyc29yLmh0bWwKQEAgLTM3LDggKzM3LDggQEAgZnVuY3Rpb24gY3Vyc29yU3Vj
Y2VzcygpCiAgICAgc2hvdWxkQmUoImV2ZW50LnRhcmdldC5yZXN1bHQudmFsdWUiLCAiJ215VmFs
dWUnIik7CiAgICAgZGVidWcoIiIpOwogICAgIHRyeSB7Ci0gICAgICAgIGRlYnVnKCJQYXNzaW5n
IGFuIGludmFsaWQga2V5IGludG8gLmNvbnRpbnVlKCkuIik7Ci0gICAgICAgIGV2ZW50LnRhcmdl
dC5yZXN1bHQuY29udGludWUoW10pOworICAgICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlk
IGtleSBpbnRvIC5jb250aW51ZSh7fSkuIik7CisgICAgICAgIGV2ZW50LnRhcmdldC5yZXN1bHQu
Y29udGludWUoe30pOwogICAgICAgICB0ZXN0RmFpbGVkKCJObyBleGNlcHRpb24gdGhyb3duIik7
CiAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICB0ZXN0UGFzc2VkKCJDYXVnaHQgZXhjZXB0aW9u
OiAiICsgZS50b1N0cmluZygpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114128</attachid>
            <date>2011-11-08 11:59:20 -0800</date>
            <delta_ts>2011-11-08 12:51:33 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-62284-20111108115919.patch</filename>
            <type>text/plain</type>
            <size>129212</size>
            <attacher name="Joshua Bell">jsbell</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAzYjlmMjc3NjJiODIwYjU0MTFlN2U0ZDMxYjk2NTkyNDc0OWViNTE5Li5k
MTVjMDdjODAyMGQyMWYwYzZhZDc0YTk1YjU0OGFkYzI3YmFlMDA5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMzggQEAKKzIwMTEtMTEtMDggIEpvc2h1YSBCZWxsICA8anNiZWxsQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBJbmRleGVkREI6IGltcGxlbWVudCBjb21wb3VuZCAoYXJyYXkpIGtleSBz
dXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02
MjI4NAorCisgICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcuCisKKyAgICAgICAgQWRkIHN1
cHBvcnQgZm9yIEFycmF5IHZhbHVlcyBhcyBJREJLZXlzLiAoTXVsdGlyb3cgaW5kZXhlcyBhcmUg
c3RpbGwKKyAgICAgICAgbm90IHlldCBzdXBwb3J0ZWQuKQorCisgICAgICAgIFRlc3RzOiBzdG9y
YWdlL2luZGV4ZWRkYi9jdXJzb3Ita2V5LW9yZGVyLmh0bWwKKyAgICAgICAgICAgICAgIHN0b3Jh
Z2UvaW5kZXhlZGRiL2tleS10eXBlLWFycmF5Lmh0bWwKKworICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTSURCS2V5Q3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAgICAq
IGJpbmRpbmdzL3Y4L0lEQkJpbmRpbmdVdGlsaXRpZXMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Y3JlYXRlSURCS2V5RnJvbVZhbHVlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhJ
REJLZXlDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9WOCk6CisgICAgICAgICogc3Rv
cmFnZS9JREJLZXkuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5Ojpjb21wYXJlKToKKyAg
ICAgICAgKiBzdG9yYWdlL0lEQktleS5oOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5OjpjcmVh
dGVBcnJheSk6CisgICAgICAgIChXZWJDb3JlOjpJREJLZXk6OnZhbGlkKToKKyAgICAgICAgKFdl
YkNvcmU6OklEQktleTo6YXJyYXkpOgorICAgICAgICAoV2ViQ29yZTo6SURCS2V5Ojpjb21wYXJl
VHlwZXMpOgorICAgICAgICAqIHN0b3JhZ2UvSURCTGV2ZWxEQkNvZGluZy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJREJMZXZlbERCQ29kaW5nOjpjb21wYXJlRW5jb2RlZFN0cmluZ3NXaXRoTGVu
Z3RoKToKKyAgICAgICAgKFdlYkNvcmU6OklEQkxldmVsREJDb2Rpbmc6OmVuY29kZUlEQktleSk6
CisgICAgICAgIChXZWJDb3JlOjpJREJMZXZlbERCQ29kaW5nOjpkZWNvZGVJREJLZXkpOgorICAg
ICAgICAoV2ViQ29yZTo6SURCTGV2ZWxEQkNvZGluZzo6ZXh0cmFjdEVuY29kZWRJREJLZXkpOgor
ICAgICAgICAoV2ViQ29yZTo6SURCTGV2ZWxEQkNvZGluZzo6a2V5VHlwZUJ5dGVUb0tleVR5cGUp
OgorICAgICAgICAoV2ViQ29yZTo6SURCTGV2ZWxEQkNvZGluZzo6Y29tcGFyZUVuY29kZWRJREJL
ZXlzKToKKyAgICAgICAgKiBzdG9yYWdlL0lEQkxldmVsREJDb2RpbmcuaDoKKwogMjAxMS0xMS0w
NyAgRGFuaWVsIEJhdGVzICA8ZGJhdGVzQHJpbS5jb20+CiAKICAgICAgICAgQWRkIENyZWRlbnRp
YWxTdG9yYWdlLmNwcCB0byBXZWJDb3JlL0NNYWtlTGlzdHMudHh0CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCmluZGV4IDc0OWEzN2FjMTAyY2ZiOWZjNzJlNWU5YWMxZDk1OGFmNzQ5MDFlM2MuLjEz
ZGQ2Nzc4N2RkNzIxODUzZjNlYzhjZDE5NGEwZDM0OTI3MmQwN2QgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTEtMTEtMDggIEpvc2h1YSBCZWxsICA8anNi
ZWxsQGNocm9taXVtLm9yZz4KKworICAgICAgICBJbmRleGVkREI6IGltcGxlbWVudCBjb21wb3Vu
ZCAoYXJyYXkpIGtleSBzdXBwb3J0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02MjI4NAorCisgICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcuCisK
KyAgICAgICAgRXh0ZW5kIFdlYktpdCBBUEkgdG8gc3VwcG9ydCBBcnJheSB2YWx1ZXMgYXMgSURC
S2V5cy4KKworICAgICAgICAqIHB1YmxpYy9XZWJJREJLZXkuaDoKKyAgICAgICAgKiBzcmMvQXNz
ZXJ0TWF0Y2hpbmdFbnVtcy5jcHA6CisgICAgICAgICogc3JjL1dlYklEQktleS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYklEQktleTo6Y3JlYXRlQXJyYXkpOgorICAgICAgICAoV2ViS2l0Ojpj
b252ZXJ0RnJvbVdlYklEQktleUFycmF5KToKKyAgICAgICAgKFdlYktpdDo6Y29udmVydFRvV2Vi
SURCS2V5QXJyYXkpOgorICAgICAgICAoV2ViS2l0OjpXZWJJREJLZXk6OmFzc2lnbkFycmF5KToK
KyAgICAgICAgKFdlYktpdDo6V2ViSURCS2V5OjphcnJheSk6CisgICAgICAgICogdGVzdHMvSURC
QmluZGluZ1V0aWxpdGllc1Rlc3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VEVTVCk6CisgICAg
ICAgICogdGVzdHMvSURCTGV2ZWxEQkNvZGluZ1Rlc3QuY3BwOgorICAgICAgICAoSURCTGV2ZWxE
QkNvZGluZzo6Y3JlYXRlQXJyYXlJREJLZXkpOgorICAgICAgICAoSURCTGV2ZWxEQkNvZGluZzo6
VEVTVCk6CisgICAgICAgIChJREJMZXZlbERCQ29kaW5nOjpjb21wYXJlU3RyaW5ncyk6CisKIDIw
MTEtMTEtMDcgIEVtaWwgQSBFa2x1bmQgIDxlYWVAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJl
dmVydCBwbGF0Zm9ybSBhbmQgc2Nyb2xsaW5nIHRvIGludHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTSURCS2V5Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTSURCS2V5Q3VzdG9tLmNwcAppbmRleCAxMDI3OGYzY2NmMWY0YTY2NmRkODZl
OTk5MDc3ZWY5ZGU4MTJiNDkzLi42MmZhN2NiZTE4ZmM5OWY4MTc4OTk3OWIxMDE2YmY3ZTRlMjRl
ZTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0lEQktleUN1c3Rv
bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNJREJLZXlDdXN0b20uY3Bw
CkBAIC00OCw2ICs0OCw3IEBAIEpTVmFsdWUgdG9KUyhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xv
YmFsT2JqZWN0KiwgSURCS2V5KiBrZXkpCiAgICAgY2FzZSBJREJLZXk6OlN0cmluZ1R5cGU6CiAg
ICAgICAgIHJldHVybiBqc1N0cmluZyhleGVjLCBrZXktPnN0cmluZygpKTsKICAgICAvLyBGSVhN
RTogSW1wbGVtZW50IGRhdGVzLgorICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQgYXJyYXlzLgogICAg
IH0KIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvdjgvSURCQmluZGluZ1V0aWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9JREJCaW5kaW5nVXRpbGl0aWVzLmNwcAppbmRleCBjYjZhYjBhN2RjZDViZWE3
MzU1YjBiOWIxNGUxNTIxODJkYWNmZTg5Li40NTM5ZWM4NGNkOTNhZDdiMGM2M2U4NzJjMTg3Mzgz
ZDExNDE1YzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9JREJCaW5k
aW5nVXRpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9JREJCaW5k
aW5nVXRpbGl0aWVzLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAx
MSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC0zOCw3ICszOCw5IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotUGFz
c1JlZlB0cjxJREJLZXk+IGNyZWF0ZUlEQktleUZyb21WYWx1ZSh2ODo6SGFuZGxlPHY4OjpWYWx1
ZT4gdmFsdWUpCitzdGF0aWMgY29uc3Qgc2l6ZV90IG1heGltdW1EZXB0aCA9IDIwMDAwOworCitz
dGF0aWMgUGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0ZUlEQktleUZyb21WYWx1ZSh2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gdmFsdWUsIFZlY3Rvcjx2ODo6SGFuZGxlPHY4OjpBcnJheT4gPiYgc3RhY2sp
CiB7CiAgICAgaWYgKHZhbHVlLT5Jc051bWJlcigpICYmICFpc25hbih2YWx1ZS0+TnVtYmVyVmFs
dWUoKSkpCiAgICAgICAgIHJldHVybiBJREJLZXk6OmNyZWF0ZU51bWJlcih2YWx1ZS0+TnVtYmVy
VmFsdWUoKSk7CkBAIC00Niw3ICs0OCwzNyBAQCBQYXNzUmVmUHRyPElEQktleT4gY3JlYXRlSURC
S2V5RnJvbVZhbHVlKHY4OjpIYW5kbGU8djg6OlZhbHVlPiB2YWx1ZSkKICAgICAgICAgcmV0dXJu
IElEQktleTo6Y3JlYXRlU3RyaW5nKHY4VmFsdWVUb1dlYkNvcmVTdHJpbmcodmFsdWUpKTsKICAg
ICBpZiAodmFsdWUtPklzRGF0ZSgpKQogICAgICAgICByZXR1cm4gSURCS2V5OjpjcmVhdGVEYXRl
KHZhbHVlLT5OdW1iZXJWYWx1ZSgpKTsKKyAgICBpZiAodmFsdWUtPklzQXJyYXkoKSkgeworICAg
ICAgICB2ODo6SGFuZGxlPHY4OjpBcnJheT4gYXJyYXkgPSB2ODo6SGFuZGxlPHY4OjpBcnJheT46
OkNhc3QodmFsdWUpOworCisgICAgICAgIGlmIChzdGFjay5jb250YWlucyhhcnJheSkpCisgICAg
ICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgaWYgKHN0YWNrLnNpemUoKSA+PSBtYXhpbXVtRGVw
dGgpCisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgc3RhY2suYXBwZW5kKGFycmF5KTsK
KworICAgICAgICBJREJLZXk6OktleUFycmF5IHN1YmtleXM7CisgICAgICAgIHVpbnQzMl90IGxl
bmd0aCA9IGFycmF5LT5MZW5ndGgoKTsKKyAgICAgICAgZm9yICh1aW50MzJfdCBpID0gMDsgaSA8
IGxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICB2ODo6TG9jYWw8djg6OlZhbHVlPiBpdGVtID0g
YXJyYXktPkdldCh2ODo6SW50MzI6Ok5ldyhpKSk7CisgICAgICAgICAgICBSZWZQdHI8SURCS2V5
PiBzdWJrZXkgPSBjcmVhdGVJREJLZXlGcm9tVmFsdWUoaXRlbSwgc3RhY2spOworICAgICAgICAg
ICAgaWYgKCFzdWJrZXkpCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICBz
dWJrZXlzLmFwcGVuZChzdWJrZXkpOworICAgICAgICB9CisKKyAgICAgICAgc3RhY2sucmVtb3Zl
TGFzdCgpOworICAgICAgICByZXR1cm4gSURCS2V5OjpjcmVhdGVBcnJheShzdWJrZXlzKTsKKyAg
ICB9CisgICAgcmV0dXJuIDA7Cit9CiAKK1Bhc3NSZWZQdHI8SURCS2V5PiBjcmVhdGVJREJLZXlG
cm9tVmFsdWUodjg6OkhhbmRsZTx2ODo6VmFsdWU+IHZhbHVlKQoreworICAgIFZlY3Rvcjx2ODo6
SGFuZGxlPHY4OjpBcnJheT4gPiBzdGFjazsKKyAgICBSZWZQdHI8SURCS2V5PiBrZXkgPSBjcmVh
dGVJREJLZXlGcm9tVmFsdWUodmFsdWUsIHN0YWNrKTsKKyAgICBpZiAoa2V5KQorICAgICAgICBy
ZXR1cm4ga2V5OwogICAgIHJldHVybiBJREJLZXk6OmNyZWF0ZUludmFsaWQoKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SURCS2V5Q3VzdG9t
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOElEQktleUN1c3RvbS5j
cHAKaW5kZXggM2I0ZWRhODc3ZWFmN2FlMzVlNmIxY2RlZGJhMmZhMTc5MzNiNWRkZS4uMGZiZmUx
YmYyNjc0OWY3Nzg4MDkwODQ1NjAwYzA2NDA2MmMzOWU2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4SURCS2V5Q3VzdG9tLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhJREJLZXlDdXN0b20uY3BwCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCkBAIC0zNCw2ICszNCw4
IEBACiAjaW5jbHVkZSAiSURCS2V5LmgiCiAjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCiAKKyNpbmNs
dWRlIDx3dGYvVmVjdG9yLmg+CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogdjg6OkhhbmRsZTx2
ODo6VmFsdWU+IHRvVjgoSURCS2V5KiBrZXkpCkBAIC00Myw2ICs0NSw3IEBAIHY4OjpIYW5kbGU8
djg6OlZhbHVlPiB0b1Y4KElEQktleSoga2V5KQogCiAgICAgc3dpdGNoIChrZXktPnR5cGUoKSkg
ewogICAgIGNhc2UgSURCS2V5OjpJbnZhbGlkVHlwZToKKyAgICBjYXNlIElEQktleTo6TWluVHlw
ZToKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybiB2ODo6VW5k
ZWZpbmVkKCk7CiAgICAgY2FzZSBJREJLZXk6Ok51bWJlclR5cGU6CkBAIC01MSw2ICs1NCwxMyBA
QCB2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChJREJLZXkqIGtleSkKICAgICAgICAgcmV0dXJu
IHY4U3RyaW5nKGtleS0+c3RyaW5nKCkpOwogICAgIGNhc2UgSURCS2V5OjpEYXRlVHlwZToKICAg
ICAgICAgcmV0dXJuIHY4OjpEYXRlOjpOZXcoa2V5LT5kYXRlKCkpOworICAgIGNhc2UgSURCS2V5
OjpBcnJheVR5cGU6CisgICAgICAgIHsKKyAgICAgICAgICAgIHY4OjpMb2NhbDx2ODo6QXJyYXk+
IGFycmF5ID0gdjg6OkFycmF5OjpOZXcoa2V5LT5hcnJheSgpLnNpemUoKSk7CisgICAgICAgICAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGtleS0+YXJyYXkoKS5zaXplKCk7ICsraSkKKyAgICAg
ICAgICAgICAgICBhcnJheS0+U2V0KGksIHRvVjgoa2V5LT5hcnJheSgpW2ldLmdldCgpKSk7Cisg
ICAgICAgICAgICByZXR1cm4gYXJyYXk7CisgICAgICAgIH0KICAgICB9CiAKICAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5LmNwcAppbmRleCA1ZTUyNmNlMjIz
OWI5OGQzODZmYTg3MmIyMDdhOWIwZTNjMDllOWVlLi5lOTI5N2Q2NDBhZmRlYTE2N2I5YjdkOTA4
NDZkZDA5ZDE4ZDEyNjYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQktl
eS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJLZXkuY3BwCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQ2LDYgKzQ2LDE2IEBA
IGludCBJREJLZXk6OmNvbXBhcmUoY29uc3QgSURCS2V5KiBvdGhlcikgY29uc3QKICAgICAgICAg
cmV0dXJuIG1fdHlwZSA+IG90aGVyLT5tX3R5cGUgPyAtMSA6IDE7CiAKICAgICBzd2l0Y2ggKG1f
dHlwZSkgeworICAgIGNhc2UgQXJyYXlUeXBlOgorICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsg
aSA8IG1fYXJyYXkuc2l6ZSgpICYmIGkgPCBvdGhlci0+bV9hcnJheS5zaXplKCk7ICsraSkgewor
ICAgICAgICAgICAgaWYgKGludCByZXN1bHQgPSBtX2FycmF5W2ldLT5jb21wYXJlKG90aGVyLT5t
X2FycmF5W2ldLmdldCgpKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gcmVzdWx0OworICAgICAg
ICB9CisgICAgICAgIGlmIChtX2FycmF5LnNpemUoKSA8IG90aGVyLT5tX2FycmF5LnNpemUoKSkK
KyAgICAgICAgICAgIHJldHVybiAtMTsKKyAgICAgICAgaWYgKG1fYXJyYXkuc2l6ZSgpID4gb3Ro
ZXItPm1fYXJyYXkuc2l6ZSgpKQorICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIHJldHVy
biAwOwogICAgIGNhc2UgU3RyaW5nVHlwZToKICAgICAgICAgcmV0dXJuIC1jb2RlUG9pbnRDb21w
YXJlKG90aGVyLT5tX3N0cmluZywgbV9zdHJpbmcpOwogICAgIGNhc2UgRGF0ZVR5cGU6CkBAIC01
NSw2ICs2NSw3IEBAIGludCBJREJLZXk6OmNvbXBhcmUoY29uc3QgSURCS2V5KiBvdGhlcikgY29u
c3QKICAgICAgICAgcmV0dXJuIChtX251bWJlciA8IG90aGVyLT5tX251bWJlcikgPyAtMSA6CiAg
ICAgICAgICAgICAgICAgKG1fbnVtYmVyID4gb3RoZXItPiBtX251bWJlcikgPyAxIDogMDsKICAg
ICBjYXNlIEludmFsaWRUeXBlOgorICAgIGNhc2UgTWluVHlwZToKICAgICAgICAgQVNTRVJUX05P
VF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3N0b3JhZ2UvSURCS2V5LmggYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQktl
eS5oCmluZGV4IGM5YTFiNDdkYWJjM2E0ZjJlOTMwMWI1N2YwM2NmY2Y3OGFhYzkxNWQuLjkxYzky
NTc0NjUxOTk3NDZkMDY1ZTBlYmUxNWVhZDY1YTQxMWRhZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3N0b3JhZ2UvSURCS2V5LmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJL
ZXkuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC0zMSwxMSArMzEsMTQgQEAKICNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1RocmVhZGluZy5oPgorI2luY2x1ZGUgPHd0
Zi9WZWN0b3IuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBJREJLZXkgOiBwdWJs
aWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8SURCS2V5PiB7CiBwdWJsaWM6CisgICAgdHlwZWRlZiBW
ZWN0b3I8UmVmUHRyPElEQktleT4gPiBLZXlBcnJheTsKKwogICAgIHN0YXRpYyBQYXNzUmVmUHRy
PElEQktleT4gY3JlYXRlSW52YWxpZCgpCiAgICAgewogICAgICAgICBSZWZQdHI8SURCS2V5PiBp
ZGJLZXkobmV3IElEQktleSgpKTsKQEAgLTY3LDE3ICs3MCwzNCBAQCBwdWJsaWM6CiAgICAgICAg
IHJldHVybiBpZGJLZXkucmVsZWFzZSgpOwogICAgIH0KIAorICAgIHN0YXRpYyBQYXNzUmVmUHRy
PElEQktleT4gY3JlYXRlQXJyYXkoY29uc3QgS2V5QXJyYXkmIGFycmF5KQorICAgIHsKKyAgICAg
ICAgUmVmUHRyPElEQktleT4gaWRiS2V5KG5ldyBJREJLZXkoKSk7CisgICAgICAgIGlkYktleS0+
bV90eXBlID0gQXJyYXlUeXBlOworICAgICAgICBpZGJLZXktPm1fYXJyYXkgPSBhcnJheTsKKyAg
ICAgICAgcmV0dXJuIGlkYktleS5yZWxlYXNlKCk7CisgICAgfQorCiAgICAgfklEQktleSgpOwog
CiAgICAgLy8gSW4gb3JkZXIgb2YgdGhlIGxlYXN0IHRvIHRoZSBoaWdoZXN0IHByZWNlZGVudCBp
biB0ZXJtcyBvZiBzb3J0IG9yZGVyLgogICAgIGVudW0gVHlwZSB7CiAgICAgICAgIEludmFsaWRU
eXBlID0gMCwKKyAgICAgICAgQXJyYXlUeXBlLAogICAgICAgICBTdHJpbmdUeXBlLAogICAgICAg
ICBEYXRlVHlwZSwKLSAgICAgICAgTnVtYmVyVHlwZQorICAgICAgICBOdW1iZXJUeXBlLAorICAg
ICAgICBNaW5UeXBlCiAgICAgfTsKIAogICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1f
dHlwZTsgfQorICAgIGJvb2wgdmFsaWQoKSBjb25zdCB7IHJldHVybiBtX3R5cGUgIT0gSW52YWxp
ZFR5cGU7IH0KKworICAgIGNvbnN0IEtleUFycmF5JiBhcnJheSgpIGNvbnN0CisgICAgeworICAg
ICAgICBBU1NFUlQobV90eXBlID09IEFycmF5VHlwZSk7CisgICAgICAgIHJldHVybiBtX2FycmF5
OworICAgIH0KIAogICAgIGNvbnN0IFN0cmluZyYgc3RyaW5nKCkgY29uc3QKICAgICB7CkBAIC0x
MDEsNiArMTIxLDExIEBAIHB1YmxpYzoKICAgICBib29sIGlzTGVzc1RoYW4oY29uc3QgSURCS2V5
KiBvdGhlcikgY29uc3Q7CiAgICAgYm9vbCBpc0VxdWFsKGNvbnN0IElEQktleSogb3RoZXIpIGNv
bnN0OwogCisgICAgc3RhdGljIGludCBjb21wYXJlVHlwZXMoVHlwZSBhLCBUeXBlIGIpCisgICAg
eworICAgICAgICByZXR1cm4gYiAtIGE7CisgICAgfQorCiAgICAgdXNpbmcgVGhyZWFkU2FmZVJl
ZkNvdW50ZWQ8SURCS2V5Pjo6cmVmOwogICAgIHVzaW5nIFRocmVhZFNhZmVSZWZDb3VudGVkPElE
QktleT46OmRlcmVmOwogCkBAIC0xMDgsNiArMTMzLDcgQEAgcHJpdmF0ZToKICAgICBJREJLZXko
KTsKIAogICAgIFR5cGUgbV90eXBlOworICAgIEtleUFycmF5IG1fYXJyYXk7CiAgICAgU3RyaW5n
IG1fc3RyaW5nOwogICAgIGRvdWJsZSBtX2RhdGU7CiAgICAgZG91YmxlIG1fbnVtYmVyOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJMZXZlbERCQ29kaW5nLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCTGV2ZWxEQkNvZGluZy5jcHAKaW5kZXggN2NjNGFlZDAw
ZThiNTQ4ZGQ0YWFkOWFiNDdiNDNhYTE3YWM0NGQ2MS4uMjBmNDVhYjVmOWE0ZmQ1NGJlNTE3MDEx
ZGU2OWY1MmI3MzRlYzcyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJM
ZXZlbERCQ29kaW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL0lEQkxldmVsREJD
b2RpbmcuY3BwCkBAIC0xMjksNyArMTI5LDggQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIg
a0lEQktleU51bGxUeXBlQnl0ZSA9IDA7CiBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBrSURC
S2V5U3RyaW5nVHlwZUJ5dGUgPSAxOwogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIga0lEQktl
eURhdGVUeXBlQnl0ZSA9IDI7CiBzdGF0aWMgY29uc3QgdW5zaWduZWQgY2hhciBrSURCS2V5TnVt
YmVyVHlwZUJ5dGUgPSAzOwotc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIga0lEQktleU1pbktl
eVR5cGVCeXRlID0gNDsKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGtJREJLZXlBcnJheVR5
cGVCeXRlID0gNDsKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGtJREJLZXlNaW5LZXlUeXBl
Qnl0ZSA9IDU7CiAKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGtPYmplY3RTdG9yZURhdGFJ
bmRleElkID0gMTsKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIGtFeGlzdHNFbnRyeUluZGV4
SWQgPSAyOwpAQCAtMzAxLDggKzMwMiw5IEBAIGNvbnN0IGNoYXIqIGRlY29kZVN0cmluZ1dpdGhM
ZW5ndGgoY29uc3QgY2hhciogcCwgY29uc3QgY2hhciogbGltaXQsIFN0cmluZyYgZm91CiAgICAg
cmV0dXJuIHA7CiB9CiAKLWludCBjb21wYXJlRW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3RoKGNvbnN0
IGNoYXIqIHAsIGNvbnN0IGNoYXIqIGxpbWl0UCwgY29uc3QgY2hhciogcSwgY29uc3QgY2hhciog
bGltaXRRKQoraW50IGNvbXBhcmVFbmNvZGVkU3RyaW5nc1dpdGhMZW5ndGgoY29uc3QgY2hhciom
IHAsIGNvbnN0IGNoYXIqIGxpbWl0UCwgY29uc3QgY2hhciomIHEsIGNvbnN0IGNoYXIqIGxpbWl0
USkKIHsKKyAgICBBU1NFUlQoJnAgIT0gJnEpOwogICAgIEFTU0VSVChsaW1pdFAgPj0gcCk7CiAg
ICAgQVNTRVJUKGxpbWl0USA+PSBxKTsKICAgICBpbnQ2NF90IGxlblAsIGxlblE7CkBAIC0zMTQs
OCArMzE2LDE2IEBAIGludCBjb21wYXJlRW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3RoKGNvbnN0IGNo
YXIqIHAsIGNvbnN0IGNoYXIqIGxpbWl0UCwgY29uc3QgY2hhCiAgICAgQVNTRVJUKHAgKyBsZW5Q
ICogMiA8PSBsaW1pdFApOwogICAgIEFTU0VSVChxICsgbGVuUSAqIDIgPD0gbGltaXRRKTsKIAor
ICAgIGNvbnN0IGNoYXIqIHN0YXJ0UCA9IHA7CisgICAgY29uc3QgY2hhciogc3RhcnRRID0gcTsK
KyAgICBwICs9IGxlblAgKiAyOworICAgIHEgKz0gbGVuUSAqIDI7CisKKyAgICBpZiAocCA+IGxp
bWl0UCB8fCBxID4gbGltaXRRKQorICAgICAgICByZXR1cm4gMDsKKwogICAgIGNvbnN0IHNpemVf
dCBsbWluID0gc3RhdGljX2Nhc3Q8c2l6ZV90PihsZW5QIDwgbGVuUSA/IGxlblAgOiBsZW5RKTsK
LSAgICBpZiAoaW50IHggPSBtZW1jbXAocCwgcSwgbG1pbiAqIDIpKQorICAgIGlmIChpbnQgeCA9
IG1lbWNtcChzdGFydFAsIHN0YXJ0USwgbG1pbiAqIDIpKQogICAgICAgICByZXR1cm4geDsKIAog
ICAgIGlmIChsZW5QID09IGxlblEpCkBAIC0zNDgsMzEgKzM1OCw1MCBAQCBjb25zdCBjaGFyKiBk
ZWNvZGVEb3VibGUoY29uc3QgY2hhciogcCwgY29uc3QgY2hhciogbGltaXQsIGRvdWJsZSogZCkK
IFZlY3RvcjxjaGFyPiBlbmNvZGVJREJLZXkoY29uc3QgSURCS2V5JiBrZXkpCiB7CiAgICAgVmVj
dG9yPGNoYXI+IHJldDsKKyAgICBlbmNvZGVJREJLZXkoa2V5LCByZXQpOworICAgIHJldHVybiBy
ZXQ7Cit9CiAKK3ZvaWQgZW5jb2RlSURCS2V5KGNvbnN0IElEQktleSYga2V5LCBWZWN0b3I8Y2hh
cj4mIGludG8pCit7CisgICAgc2l6ZV90IHByZXZpb3VzU2l6ZSA9IGludG8uc2l6ZSgpOwogICAg
IHN3aXRjaCAoa2V5LnR5cGUoKSkgewogICAgIGNhc2UgSURCS2V5OjpJbnZhbGlkVHlwZToKKyAg
ICBjYXNlIElEQktleTo6TWluVHlwZToKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Ci0g
ICAgICAgIHJldHVybiBlbmNvZGVCeXRlKGtJREJLZXlOdWxsVHlwZUJ5dGUpOworICAgICAgICBp
bnRvLmFwcGVuZChlbmNvZGVCeXRlKGtJREJLZXlOdWxsVHlwZUJ5dGUpKTsKKyAgICAgICAgcmV0
dXJuOworICAgIGNhc2UgSURCS2V5OjpBcnJheVR5cGU6CisgICAgICAgIHsKKyAgICAgICAgICAg
IGludG8uYXBwZW5kKGVuY29kZUJ5dGUoa0lEQktleUFycmF5VHlwZUJ5dGUpKTsKKyAgICAgICAg
ICAgIHNpemVfdCBsZW5ndGggPSBrZXkuYXJyYXkoKS5zaXplKCk7CisgICAgICAgICAgICBpbnRv
LmFwcGVuZChlbmNvZGVWYXJJbnQobGVuZ3RoKSk7CisgICAgICAgICAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IGxlbmd0aDsgKytpKQorICAgICAgICAgICAgICAgIGVuY29kZUlEQktleSgqa2V5
LmFycmF5KClbaV0sIGludG8pOworICAgICAgICAgICAgQVNTRVJUX1VOVVNFRChwcmV2aW91c1Np
emUsIGludG8uc2l6ZSgpID4gcHJldmlvdXNTaXplKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQogICAgIGNhc2UgSURCS2V5OjpTdHJpbmdUeXBlOgotICAgICAgICByZXQgPSBlbmNv
ZGVCeXRlKGtJREJLZXlTdHJpbmdUeXBlQnl0ZSk7Ci0gICAgICAgIHJldC5hcHBlbmQoZW5jb2Rl
U3RyaW5nV2l0aExlbmd0aChrZXkuc3RyaW5nKCkpKTsKLSAgICAgICAgcmV0dXJuIHJldDsKKyAg
ICAgICAgaW50by5hcHBlbmQoZW5jb2RlQnl0ZShrSURCS2V5U3RyaW5nVHlwZUJ5dGUpKTsKKyAg
ICAgICAgaW50by5hcHBlbmQoZW5jb2RlU3RyaW5nV2l0aExlbmd0aChrZXkuc3RyaW5nKCkpKTsK
KyAgICAgICAgQVNTRVJUX1VOVVNFRChwcmV2aW91c1NpemUsIGludG8uc2l6ZSgpID4gcHJldmlv
dXNTaXplKTsKKyAgICAgICAgcmV0dXJuOwogICAgIGNhc2UgSURCS2V5OjpEYXRlVHlwZToKLSAg
ICAgICAgcmV0ID0gZW5jb2RlQnl0ZShrSURCS2V5RGF0ZVR5cGVCeXRlKTsKLSAgICAgICAgcmV0
LmFwcGVuZChlbmNvZGVEb3VibGUoa2V5LmRhdGUoKSkpOwotICAgICAgICBBU1NFUlQocmV0LnNp
emUoKSA9PSA5KTsKLSAgICAgICAgcmV0dXJuIHJldDsKKyAgICAgICAgaW50by5hcHBlbmQoZW5j
b2RlQnl0ZShrSURCS2V5RGF0ZVR5cGVCeXRlKSk7CisgICAgICAgIGludG8uYXBwZW5kKGVuY29k
ZURvdWJsZShrZXkuZGF0ZSgpKSk7CisgICAgICAgIEFTU0VSVF9VTlVTRUQocHJldmlvdXNTaXpl
LCBpbnRvLnNpemUoKSAtIHByZXZpb3VzU2l6ZSA9PSA5KTsKKyAgICAgICAgcmV0dXJuOwogICAg
IGNhc2UgSURCS2V5OjpOdW1iZXJUeXBlOgotICAgICAgICByZXQgPSBlbmNvZGVCeXRlKGtJREJL
ZXlOdW1iZXJUeXBlQnl0ZSk7Ci0gICAgICAgIHJldC5hcHBlbmQoZW5jb2RlRG91YmxlKGtleS5u
dW1iZXIoKSkpOwotICAgICAgICBBU1NFUlQocmV0LnNpemUoKSA9PSA5KTsKLSAgICAgICAgcmV0
dXJuIHJldDsKKyAgICAgICAgaW50by5hcHBlbmQoZW5jb2RlQnl0ZShrSURCS2V5TnVtYmVyVHlw
ZUJ5dGUpKTsKKyAgICAgICAgaW50by5hcHBlbmQoZW5jb2RlRG91YmxlKGtleS5udW1iZXIoKSkp
OworICAgICAgICBBU1NFUlRfVU5VU0VEKHByZXZpb3VzU2l6ZSwgaW50by5zaXplKCkgLSBwcmV2
aW91c1NpemUgPT0gOSk7CisgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKLSAgICByZXR1cm4gVmVjdG9yPGNoYXI+KCk7CiB9CiAKKwogY29uc3QgY2hh
ciogZGVjb2RlSURCS2V5KGNvbnN0IGNoYXIqIHAsIGNvbnN0IGNoYXIqIGxpbWl0LCBSZWZQdHI8
SURCS2V5PiYgZm91bmRLZXkpCiB7CiAgICAgQVNTRVJUKGxpbWl0ID49IHApOwpAQCAtMzgwLDM1
ICs0MDksNTggQEAgY29uc3QgY2hhciogZGVjb2RlSURCS2V5KGNvbnN0IGNoYXIqIHAsIGNvbnN0
IGNoYXIqIGxpbWl0LCBSZWZQdHI8SURCS2V5PiYgZm91bmQKICAgICAgICAgcmV0dXJuIDA7CiAK
ICAgICB1bnNpZ25lZCBjaGFyIHR5cGUgPSAqcCsrOwotICAgIFN0cmluZyBzOwotICAgIGRvdWJs
ZSBkOwogCiAgICAgc3dpdGNoICh0eXBlKSB7CiAgICAgY2FzZSBrSURCS2V5TnVsbFR5cGVCeXRl
OgotICAgICAgICAvLyBOdWxsLgogICAgICAgICBmb3VuZEtleSA9IElEQktleTo6Y3JlYXRlSW52
YWxpZCgpOwogICAgICAgICByZXR1cm4gcDsKKworICAgIGNhc2Uga0lEQktleUFycmF5VHlwZUJ5
dGU6CisgICAgICAgIHsKKyAgICAgICAgICAgIGludDY0X3QgbGVuZ3RoOworICAgICAgICAgICAg
cCA9IGRlY29kZVZhckludChwLCBsaW1pdCwgbGVuZ3RoKTsKKyAgICAgICAgICAgIGlmICghcCkK
KyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIGlmIChsZW5ndGggPCAwKQor
ICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAgSURCS2V5OjpLZXlBcnJheSBh
cnJheTsKKyAgICAgICAgICAgIHdoaWxlIChsZW5ndGgtLSkgeworICAgICAgICAgICAgICAgIFJl
ZlB0cjxJREJLZXk+IGtleTsKKyAgICAgICAgICAgICAgICBwID0gZGVjb2RlSURCS2V5KHAsIGxp
bWl0LCBrZXkpOworICAgICAgICAgICAgICAgIGlmICghcCkKKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuIDA7CisgICAgICAgICAgICAgICAgYXJyYXkuYXBwZW5kKGtleSk7CisgICAgICAgICAg
ICB9CisgICAgICAgICAgICBmb3VuZEtleSA9IElEQktleTo6Y3JlYXRlQXJyYXkoYXJyYXkpOwor
ICAgICAgICAgICAgcmV0dXJuIHA7CisgICAgICAgIH0KICAgICBjYXNlIGtJREJLZXlTdHJpbmdU
eXBlQnl0ZToKLSAgICAgICAgLy8gU3RyaW5nLgotICAgICAgICBwID0gZGVjb2RlU3RyaW5nV2l0
aExlbmd0aChwLCBsaW1pdCwgcyk7Ci0gICAgICAgIGlmICghcCkKLSAgICAgICAgICAgIHJldHVy
biAwOwotICAgICAgICBmb3VuZEtleSA9IElEQktleTo6Y3JlYXRlU3RyaW5nKHMpOwotICAgICAg
ICByZXR1cm4gcDsKKyAgICAgICAgeworICAgICAgICAgICAgU3RyaW5nIHM7CisgICAgICAgICAg
ICBwID0gZGVjb2RlU3RyaW5nV2l0aExlbmd0aChwLCBsaW1pdCwgcyk7CisgICAgICAgICAgICBp
ZiAoIXApCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICBmb3VuZEtleSA9
IElEQktleTo6Y3JlYXRlU3RyaW5nKHMpOworICAgICAgICAgICAgcmV0dXJuIHA7CisgICAgICAg
IH0KICAgICBjYXNlIGtJREJLZXlEYXRlVHlwZUJ5dGU6Ci0gICAgICAgIC8vIERhdGUuCi0gICAg
ICAgIHAgPSBkZWNvZGVEb3VibGUocCwgbGltaXQsICZkKTsKLSAgICAgICAgaWYgKCFwKQotICAg
ICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIGZvdW5kS2V5ID0gSURCS2V5OjpjcmVhdGVEYXRl
KGQpOwotICAgICAgICByZXR1cm4gcDsKKyAgICAgICAgeworICAgICAgICAgICAgZG91YmxlIGQ7
CisgICAgICAgICAgICBwID0gZGVjb2RlRG91YmxlKHAsIGxpbWl0LCAmZCk7CisgICAgICAgICAg
ICBpZiAoIXApCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICBmb3VuZEtl
eSA9IElEQktleTo6Y3JlYXRlRGF0ZShkKTsKKyAgICAgICAgICAgIHJldHVybiBwOworICAgICAg
ICB9CiAgICAgY2FzZSBrSURCS2V5TnVtYmVyVHlwZUJ5dGU6Ci0gICAgICAgIC8vIE51bWJlci4K
LSAgICAgICAgcCA9IGRlY29kZURvdWJsZShwLCBsaW1pdCwgJmQpOwotICAgICAgICBpZiAoIXAp
Ci0gICAgICAgICAgICByZXR1cm4gMDsKLSAgICAgICAgZm91bmRLZXkgPSBJREJLZXk6OmNyZWF0
ZU51bWJlcihkKTsKLSAgICAgICAgcmV0dXJuIHA7CisgICAgICAgIHsKKyAgICAgICAgICAgIGRv
dWJsZSBkOworICAgICAgICAgICAgcCA9IGRlY29kZURvdWJsZShwLCBsaW1pdCwgJmQpOworICAg
ICAgICAgICAgaWYgKCFwKQorICAgICAgICAgICAgICAgIHJldHVybiAwOworICAgICAgICAgICAg
Zm91bmRLZXkgPSBJREJLZXk6OmNyZWF0ZU51bWJlcihkKTsKKyAgICAgICAgICAgIHJldHVybiBw
OworICAgICAgICB9CiAgICAgfQogCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CkBAIC00MTcs
MzIgKzQ2OSw1MSBAQCBjb25zdCBjaGFyKiBkZWNvZGVJREJLZXkoY29uc3QgY2hhciogcCwgY29u
c3QgY2hhciogbGltaXQsIFJlZlB0cjxJREJLZXk+JiBmb3VuZAogCiBjb25zdCBjaGFyKiBleHRy
YWN0RW5jb2RlZElEQktleShjb25zdCBjaGFyKiBzdGFydCwgY29uc3QgY2hhciogbGltaXQsIFZl
Y3RvcjxjaGFyPiogcmVzdWx0KQogeworICAgIEFTU0VSVChyZXN1bHQpOwogICAgIGNvbnN0IGNo
YXIqIHAgPSBzdGFydDsKICAgICBpZiAocCA+PSBsaW1pdCkKICAgICAgICAgcmV0dXJuIDA7CiAK
ICAgICB1bnNpZ25lZCBjaGFyIHR5cGUgPSAqcCsrOwogCi0gICAgaW50NjRfdCBzdHJpbmdMZW47
Ci0KICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIGtJREJLZXlOdWxsVHlwZUJ5dGU6CiAg
ICAgY2FzZSBrSURCS2V5TWluS2V5VHlwZUJ5dGU6CiAgICAgICAgICpyZXN1bHQgPSBlbmNvZGVC
eXRlKHR5cGUpOwogICAgICAgICByZXR1cm4gcDsKKyAgICBjYXNlIGtJREJLZXlBcnJheVR5cGVC
eXRlOgorICAgICAgICB7CisgICAgICAgICAgICBpbnQ2NF90IGxlbmd0aDsKKyAgICAgICAgICAg
IHAgPSBkZWNvZGVWYXJJbnQocCwgbGltaXQsIGxlbmd0aCk7CisgICAgICAgICAgICBpZiAoIXAp
CisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgICAgICBpZiAobGVuZ3RoIDwgMCkK
KyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIHJlc3VsdC0+Y2xlYXIoKTsK
KyAgICAgICAgICAgIHJlc3VsdC0+YXBwZW5kKHN0YXJ0LCBwIC0gc3RhcnQpOworICAgICAgICAg
ICAgd2hpbGUgKGxlbmd0aC0tKSB7CisgICAgICAgICAgICAgICAgVmVjdG9yPGNoYXI+IHN1Ymtl
eTsKKyAgICAgICAgICAgICAgICBwID0gZXh0cmFjdEVuY29kZWRJREJLZXkocCwgbGltaXQsICZz
dWJrZXkpOworICAgICAgICAgICAgICAgIGlmICghcCkKKyAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIDA7CisgICAgICAgICAgICAgICAgcmVzdWx0LT5hcHBlbmQoc3Via2V5KTsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgICAgIHJldHVybiBwOworICAgICAgICB9CiAgICAgY2FzZSBrSURCS2V5
U3RyaW5nVHlwZUJ5dGU6Ci0gICAgICAgIC8vIFN0cmluZy4KLSAgICAgICAgcCA9IGRlY29kZVZh
ckludChwLCBsaW1pdCwgc3RyaW5nTGVuKTsKLSAgICAgICAgaWYgKCFwKQotICAgICAgICAgICAg
cmV0dXJuIDA7Ci0gICAgICAgIGlmIChwICsgc3RyaW5nTGVuICogMiA+IGxpbWl0KQotICAgICAg
ICAgICAgcmV0dXJuIDA7Ci0gICAgICAgIHJlc3VsdC0+Y2xlYXIoKTsKLSAgICAgICAgcmVzdWx0
LT5hcHBlbmQoc3RhcnQsIHAgLSBzdGFydCArIHN0cmluZ0xlbiAqIDIpOwotICAgICAgICByZXR1
cm4gcCArIHN0cmluZ0xlbiAqIDI7CisgICAgICAgIHsKKyAgICAgICAgICAgIGludDY0X3QgbGVu
Z3RoOworICAgICAgICAgICAgcCA9IGRlY29kZVZhckludChwLCBsaW1pdCwgbGVuZ3RoKTsKKyAg
ICAgICAgICAgIGlmICghcCkKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAg
IGlmIChwICsgbGVuZ3RoICogMiA+IGxpbWl0KQorICAgICAgICAgICAgICAgIHJldHVybiAwOwor
ICAgICAgICAgICAgcmVzdWx0LT5jbGVhcigpOworICAgICAgICAgICAgcmVzdWx0LT5hcHBlbmQo
c3RhcnQsIHAgLSBzdGFydCArIGxlbmd0aCAqIDIpOworICAgICAgICAgICAgcmV0dXJuIHAgKyBs
ZW5ndGggKiAyOworICAgICAgICB9CiAgICAgY2FzZSBrSURCS2V5RGF0ZVR5cGVCeXRlOgogICAg
IGNhc2Uga0lEQktleU51bWJlclR5cGVCeXRlOgotICAgICAgICAvLyBEYXRlIG9yIG51bWJlci4K
ICAgICAgICAgaWYgKHAgKyBzaXplb2YoZG91YmxlKSA+IGxpbWl0KQogICAgICAgICAgICAgcmV0
dXJuIDA7CiAgICAgICAgIHJlc3VsdC0+Y2xlYXIoKTsKQEAgLTQ1MywyMiArNTI0LDM2IEBAIGNv
bnN0IGNoYXIqIGV4dHJhY3RFbmNvZGVkSURCS2V5KGNvbnN0IGNoYXIqIHN0YXJ0LCBjb25zdCBj
aGFyKiBsaW1pdCwgVmVjdG9yPGNoCiAgICAgcmV0dXJuIDA7CiB9CiAKLWludCBjb21wYXJlRW5j
b2RlZElEQktleXMoY29uc3QgVmVjdG9yPGNoYXI+JiBrZXlBLCBjb25zdCBWZWN0b3I8Y2hhcj4m
IGtleUIpCitzdGF0aWMgSURCS2V5OjpUeXBlIGtleVR5cGVCeXRlVG9LZXlUeXBlKHVuc2lnbmVk
IGNoYXIgdHlwZSkKIHsKLSAgICBBU1NFUlQoa2V5QS5zaXplKCkgPj0gMSk7Ci0gICAgQVNTRVJU
KGtleUIuc2l6ZSgpID49IDEpOworICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2Uga0lEQktl
eU51bGxUeXBlQnl0ZToKKyAgICAgICAgcmV0dXJuIElEQktleTo6SW52YWxpZFR5cGU7CisgICAg
Y2FzZSBrSURCS2V5QXJyYXlUeXBlQnl0ZToKKyAgICAgICAgcmV0dXJuIElEQktleTo6QXJyYXlU
eXBlOworICAgIGNhc2Uga0lEQktleVN0cmluZ1R5cGVCeXRlOgorICAgICAgICByZXR1cm4gSURC
S2V5OjpTdHJpbmdUeXBlOworICAgIGNhc2Uga0lEQktleURhdGVUeXBlQnl0ZToKKyAgICAgICAg
cmV0dXJuIElEQktleTo6RGF0ZVR5cGU7CisgICAgY2FzZSBrSURCS2V5TnVtYmVyVHlwZUJ5dGU6
CisgICAgICAgIHJldHVybiBJREJLZXk6Ok51bWJlclR5cGU7CisgICAgY2FzZSBrSURCS2V5TWlu
S2V5VHlwZUJ5dGU6CisgICAgICAgIHJldHVybiBJREJLZXk6Ok1pblR5cGU7CisgICAgfQogCi0g
ICAgY29uc3QgY2hhciogcCA9IGtleUEuZGF0YSgpOwotICAgIGNvbnN0IGNoYXIqIGxpbWl0QSA9
IHAgKyBrZXlBLnNpemUoKTsKLSAgICBjb25zdCBjaGFyKiBxID0ga2V5Qi5kYXRhKCk7Ci0gICAg
Y29uc3QgY2hhciogbGltaXRCID0gcSArIGtleUIuc2l6ZSgpOworICAgIEFTU0VSVF9OT1RfUkVB
Q0hFRCgpOworICAgIHJldHVybiBJREJLZXk6OkludmFsaWRUeXBlOworfQogCitpbnQgY29tcGFy
ZUVuY29kZWRJREJLZXlzKGNvbnN0IGNoYXIqJiBwLCBjb25zdCBjaGFyKiBsaW1pdEEsIGNvbnN0
IGNoYXIqJiBxLCBjb25zdCBjaGFyKiBsaW1pdEIpCit7CisgICAgQVNTRVJUKCZwICE9ICZxKTsK
KyAgICBBU1NFUlQocCA8IGxpbWl0QSk7CisgICAgQVNTRVJUKHEgPCBsaW1pdEIpOwogICAgIHVu
c2lnbmVkIGNoYXIgdHlwZUEgPSAqcCsrOwogICAgIHVuc2lnbmVkIGNoYXIgdHlwZUIgPSAqcSsr
OwogCi0gICAgZG91YmxlIGQsIGU7Ci0KLSAgICBpZiAoaW50IHggPSB0eXBlQiAtIHR5cGVBKSAv
LyBGSVhNRTogTm90ZSB0aGUgc3VidGxlbmVzcyEKKyAgICBpZiAoaW50IHggPSBJREJLZXk6OmNv
bXBhcmVUeXBlcyhrZXlUeXBlQnl0ZVRvS2V5VHlwZSh0eXBlQSksIGtleVR5cGVCeXRlVG9LZXlU
eXBlKHR5cGVCKSkpCiAgICAgICAgIHJldHVybiB4OwogCiAgICAgc3dpdGNoICh0eXBlQSkgewpA
QCAtNDc2LDI3ICs1NjEsNjIgQEAgaW50IGNvbXBhcmVFbmNvZGVkSURCS2V5cyhjb25zdCBWZWN0
b3I8Y2hhcj4mIGtleUEsIGNvbnN0IFZlY3RvcjxjaGFyPiYga2V5QikKICAgICBjYXNlIGtJREJL
ZXlNaW5LZXlUeXBlQnl0ZToKICAgICAgICAgLy8gTnVsbCB0eXBlIG9yIG1heCB0eXBlOyBubyBw
YXlsb2FkIHRvIGNvbXBhcmUuCiAgICAgICAgIHJldHVybiAwOworICAgIGNhc2Uga0lEQktleUFy
cmF5VHlwZUJ5dGU6CisgICAgICAgIHsKKyAgICAgICAgICAgIGludDY0X3QgbGVuZ3RoQSwgbGVu
Z3RoQjsKKyAgICAgICAgICAgIHAgPSBkZWNvZGVWYXJJbnQocCwgbGltaXRBLCBsZW5ndGhBKTsK
KyAgICAgICAgICAgIGlmICghcCkKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAg
ICAgIHEgPSBkZWNvZGVWYXJJbnQocSwgbGltaXRCLCBsZW5ndGhCKTsKKyAgICAgICAgICAgIGlm
ICghcSkKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAgICAgIGlmIChsZW5ndGhB
IDwgMCB8fCBsZW5ndGhCIDwgMCkKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAg
ICAgIGZvciAoaW50NjRfdCBpID0gMDsgaSA8IGxlbmd0aEEgJiYgaSA8IGxlbmd0aEI7ICsraSkg
eworICAgICAgICAgICAgICAgIGlmIChpbnQgY21wID0gY29tcGFyZUVuY29kZWRJREJLZXlzKHAs
IGxpbWl0QSwgcSwgbGltaXRCKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNtcDsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgICAgIGlmIChsZW5ndGhBIDwgbGVuZ3RoQikKKyAgICAgICAg
ICAgICAgICByZXR1cm4gLTE7CisgICAgICAgICAgICBpZiAobGVuZ3RoQSA+IGxlbmd0aEIpCisg
ICAgICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgICAgICByZXR1cm4gMDsKKyAgICAgICAg
fQogICAgIGNhc2Uga0lEQktleVN0cmluZ1R5cGVCeXRlOgotICAgICAgICAvLyBTdHJpbmcgdHlw
ZS4KICAgICAgICAgcmV0dXJuIGNvbXBhcmVFbmNvZGVkU3RyaW5nc1dpdGhMZW5ndGgocCwgbGlt
aXRBLCBxLCBsaW1pdEIpOwogICAgIGNhc2Uga0lEQktleURhdGVUeXBlQnl0ZToKICAgICBjYXNl
IGtJREJLZXlOdW1iZXJUeXBlQnl0ZToKLSAgICAgICAgLy8gRGF0ZSBvciBudW1iZXIuCi0gICAg
ICAgIHAgPSBkZWNvZGVEb3VibGUocCwgbGltaXRBLCAmZCk7Ci0gICAgICAgIEFTU0VSVChwKTsK
LSAgICAgICAgcSA9IGRlY29kZURvdWJsZShxLCBsaW1pdEIsICZlKTsKLSAgICAgICAgQVNTRVJU
KHEpOwotICAgICAgICBpZiAoZCA8IGUpCi0gICAgICAgICAgICByZXR1cm4gLTE7Ci0gICAgICAg
IGlmIChkID4gZSkKLSAgICAgICAgICAgIHJldHVybiAxOwotICAgICAgICByZXR1cm4gMDsKKyAg
ICAgICAgeworICAgICAgICAgICAgZG91YmxlIGQsIGU7CisgICAgICAgICAgICBwID0gZGVjb2Rl
RG91YmxlKHAsIGxpbWl0QSwgJmQpOworICAgICAgICAgICAgQVNTRVJUKHApOworICAgICAgICAg
ICAgcSA9IGRlY29kZURvdWJsZShxLCBsaW1pdEIsICZlKTsKKyAgICAgICAgICAgIEFTU0VSVChx
KTsKKyAgICAgICAgICAgIGlmIChkIDwgZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gLTE7Cisg
ICAgICAgICAgICBpZiAoZCA+IGUpCisgICAgICAgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAg
ICAgICByZXR1cm4gMDsKKyAgICAgICAgfQogICAgIH0KIAogICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOwogICAgIHJldHVybiAwOwogfQogCitpbnQgY29tcGFyZUVuY29kZWRJREJLZXlzKGNvbnN0
IFZlY3RvcjxjaGFyPiYga2V5QSwgY29uc3QgVmVjdG9yPGNoYXI+JiBrZXlCKQoreworICAgIEFT
U0VSVChrZXlBLnNpemUoKSA+PSAxKTsKKyAgICBBU1NFUlQoa2V5Qi5zaXplKCkgPj0gMSk7CisK
KyAgICBjb25zdCBjaGFyKiBwID0ga2V5QS5kYXRhKCk7CisgICAgY29uc3QgY2hhciogbGltaXRB
ID0gcCArIGtleUEuc2l6ZSgpOworICAgIGNvbnN0IGNoYXIqIHEgPSBrZXlCLmRhdGEoKTsKKyAg
ICBjb25zdCBjaGFyKiBsaW1pdEIgPSBxICsga2V5Qi5zaXplKCk7CisKKyAgICByZXR1cm4gY29t
cGFyZUVuY29kZWRJREJLZXlzKHAsIGxpbWl0QSwgcSwgbGltaXRCKTsKK30KKwogbmFtZXNwYWNl
IHsKIHRlbXBsYXRlPHR5cGVuYW1lIEtleVR5cGU+CiBpbnQgZGVjb2RlQW5kQ29tcGFyZShjb25z
dCBMZXZlbERCU2xpY2UmIGEsIGNvbnN0IExldmVsREJTbGljZSYgYikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3N0b3JhZ2UvSURCTGV2ZWxEQkNvZGluZy5oIGIvU291cmNlL1dlYkNvcmUv
c3RvcmFnZS9JREJMZXZlbERCQ29kaW5nLmgKaW5kZXggZjNiZGNmMzBiNTZlMDU2OTNjZDQxNDZi
ODU4MjBmOGQwMTlmY2Y2Yy4uMTU4MWZiYmJmZDc5ZjJmZDY3ZGVkMGYzYTJiNThhYzE5NGEwNWZk
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJMZXZlbERCQ29kaW5nLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9JREJMZXZlbERCQ29kaW5nLmgKQEAgLTUzLDkg
KzUzLDEwIEBAIFZlY3RvcjxjaGFyPiBlbmNvZGVTdHJpbmcoY29uc3QgU3RyaW5nJik7CiBTdHJp
bmcgZGVjb2RlU3RyaW5nKGNvbnN0IGNoYXIqIHAsIGNvbnN0IGNoYXIqIGVuZCk7CiBWZWN0b3I8
Y2hhcj4gZW5jb2RlU3RyaW5nV2l0aExlbmd0aChjb25zdCBTdHJpbmcmKTsKIGNvbnN0IGNoYXIq
IGRlY29kZVN0cmluZ1dpdGhMZW5ndGgoY29uc3QgY2hhciogcCwgY29uc3QgY2hhciogbGltaXQs
IFN0cmluZyYgZm91bmRTdHJpbmcpOwotaW50IGNvbXBhcmVFbmNvZGVkU3RyaW5nc1dpdGhMZW5n
dGgoY29uc3QgY2hhciogcCwgY29uc3QgY2hhciogbGltaXRQLCBjb25zdCBjaGFyKiBxLCBjb25z
dCBjaGFyKiBsaW1pdFEpOworaW50IGNvbXBhcmVFbmNvZGVkU3RyaW5nc1dpdGhMZW5ndGgoY29u
c3QgY2hhciomIHAsIGNvbnN0IGNoYXIqIGxpbWl0UCwgY29uc3QgY2hhciomIHEsIGNvbnN0IGNo
YXIqIGxpbWl0USk7CiBWZWN0b3I8Y2hhcj4gZW5jb2RlRG91YmxlKGRvdWJsZSk7CiBjb25zdCBj
aGFyKiBkZWNvZGVEb3VibGUoY29uc3QgY2hhciogcCwgY29uc3QgY2hhciogbGltaXQsIGRvdWJs
ZSopOwordm9pZCBlbmNvZGVJREJLZXkoY29uc3QgSURCS2V5JiwgVmVjdG9yPGNoYXI+JiBpbnRv
KTsKIFZlY3RvcjxjaGFyPiBlbmNvZGVJREJLZXkoY29uc3QgSURCS2V5Jik7CiBjb25zdCBjaGFy
KiBkZWNvZGVJREJLZXkoY29uc3QgY2hhciogcCwgY29uc3QgY2hhciogbGltaXQsIFJlZlB0cjxJ
REJLZXk+JiBmb3VuZEtleSk7CiBjb25zdCBjaGFyKiBleHRyYWN0RW5jb2RlZElEQktleShjb25z
dCBjaGFyKiBzdGFydCwgY29uc3QgY2hhciogbGltaXQsIFZlY3RvcjxjaGFyPiogcmVzdWx0KTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYklEQktleS5oIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURCS2V5LmgKaW5kZXggMWRiNDY3ZmUy
NzBhNjBiOGRlYThlNGM0Y2U5NjZjMDU0NDIzYmQxOS4uY2EwZDEyOTA2NDkwNGM1MjE3NzgxYWM5
ZjY2YzdkZDM1ZTg0NmFkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViSURCS2V5LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViSURC
S2V5LmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgIldlYkNvbW1vbi5oIgogI2luY2x1ZGUgIldlYlBy
aXZhdGVQdHIuaCIKICNpbmNsdWRlICJXZWJTdHJpbmcuaCIKKyNpbmNsdWRlICJXZWJWZWN0b3Iu
aCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgeyBjbGFzcyBJREJLZXk7IH0KIApAQCAtNDMsNiArNDQs
NyBAQCBwdWJsaWM6CiAgICAgV2ViSURCS2V5KCkgeyB9CiAgICAgfldlYklEQktleSgpIHsgcmVz
ZXQoKTsgfQogCisgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMgV2ViSURCS2V5IGNyZWF0ZUFycmF5
KGNvbnN0IFdlYlZlY3RvcjxXZWJJREJLZXk+Jik7CiAgICAgV0VCS0lUX0VYUE9SVCBzdGF0aWMg
V2ViSURCS2V5IGNyZWF0ZVN0cmluZyhjb25zdCBXZWJTdHJpbmcmKTsKICAgICBXRUJLSVRfRVhQ
T1JUIHN0YXRpYyBXZWJJREJLZXkgY3JlYXRlRGF0ZShkb3VibGUpOwogICAgIFdFQktJVF9FWFBP
UlQgc3RhdGljIFdlYklEQktleSBjcmVhdGVOdW1iZXIoZG91YmxlKTsKQEAgLTU4LDYgKzYwLDcg
QEAgcHVibGljOgogICAgIH0KIAogICAgIFdFQktJVF9FWFBPUlQgdm9pZCBhc3NpZ24oY29uc3Qg
V2ViSURCS2V5Jik7CisgICAgV0VCS0lUX0VYUE9SVCB2b2lkIGFzc2lnbkFycmF5KGNvbnN0IFdl
YlZlY3RvcjxXZWJJREJLZXk+Jik7CiAgICAgV0VCS0lUX0VYUE9SVCB2b2lkIGFzc2lnblN0cmlu
Zyhjb25zdCBXZWJTdHJpbmcmKTsKICAgICBXRUJLSVRfRVhQT1JUIHZvaWQgYXNzaWduRGF0ZShk
b3VibGUpOwogICAgIFdFQktJVF9FWFBPUlQgdm9pZCBhc3NpZ25OdW1iZXIoZG91YmxlKTsKQEAg
LTY2LDEyICs2OSwxNCBAQCBwdWJsaWM6CiAKICAgICBlbnVtIFR5cGUgewogICAgICAgICBJbnZh
bGlkVHlwZSA9IDAsCisgICAgICAgIEFycmF5VHlwZSwKICAgICAgICAgU3RyaW5nVHlwZSwKICAg
ICAgICAgRGF0ZVR5cGUsCiAgICAgICAgIE51bWJlclR5cGUKICAgICB9OwogCiAgICAgV0VCS0lU
X0VYUE9SVCBUeXBlIHR5cGUoKSBjb25zdDsKKyAgICBXRUJLSVRfRVhQT1JUIFdlYlZlY3RvcjxX
ZWJJREJLZXk+IGFycmF5KCkgY29uc3Q7IC8vIE9ubHkgdmFsaWQgZm9yIEFycmF5VHlwZS4KICAg
ICBXRUJLSVRfRVhQT1JUIFdlYlN0cmluZyBzdHJpbmcoKSBjb25zdDsgLy8gT25seSB2YWxpZCBm
b3IgU3RyaW5nVHlwZS4KICAgICBXRUJLSVRfRVhQT1JUIGRvdWJsZSBkYXRlKCkgY29uc3Q7IC8v
IE9ubHkgdmFsaWQgZm9yIERhdGVUeXBlLgogICAgIFdFQktJVF9FWFBPUlQgZG91YmxlIG51bWJl
cigpIGNvbnN0OyAvLyBPbmx5IHZhbGlkIGZvciBOdW1iZXJUeXBlLgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXNzZXJ0TWF0Y2hpbmdFbnVtcy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAppbmRleCAwMDNkMjcz
ZmJlOWY4MjIxYmJlYzgwZDgxZmE1NDljNjFjZGNkM2JjLi41NWJmOGQxZTE1ZjVhMzBlNzYzNjYx
M2VlYzAwZWI1YjY0OGQ0ZGM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Ny
Yy9Bc3NlcnRNYXRjaGluZ0VudW1zLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMDkgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtMzk5LDYgKzM5OSw3IEBAIENPTVBJTEVfQVNTRVJU
X01BVENISU5HX0VOVU0oV2ViVmlldzo6VXNlclN0eWxlSW5qZWN0SW5FeGlzdGluZ0RvY3VtZW50
cywgSW5qZWN0CiBDT01QSUxFX0FTU0VSVF9NQVRDSElOR19FTlVNKFdlYlZpZXc6OlVzZXJTdHls
ZUluamVjdEluU3Vic2VxdWVudERvY3VtZW50cywgSW5qZWN0SW5TdWJzZXF1ZW50RG9jdW1lbnRz
KTsKIAogQ09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJJREJLZXk6OkludmFsaWRUeXBl
LCBJREJLZXk6OkludmFsaWRUeXBlKTsKK0NPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2Vi
SURCS2V5OjpBcnJheVR5cGUsIElEQktleTo6QXJyYXlUeXBlKTsKIENPTVBJTEVfQVNTRVJUX01B
VENISU5HX0VOVU0oV2ViSURCS2V5OjpTdHJpbmdUeXBlLCBJREJLZXk6OlN0cmluZ1R5cGUpOwog
Q09NUElMRV9BU1NFUlRfTUFUQ0hJTkdfRU5VTShXZWJJREJLZXk6OkRhdGVUeXBlLCBJREJLZXk6
OkRhdGVUeXBlKTsKIENPTVBJTEVfQVNTRVJUX01BVENISU5HX0VOVU0oV2ViSURCS2V5OjpOdW1i
ZXJUeXBlLCBJREJLZXk6Ok51bWJlclR5cGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9zcmMvV2ViSURCS2V5LmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YklEQktleS5jcHAKaW5kZXggOWY2YTA5MDUyNmU1MGZmNjVhOWNkZGUxZjEzZDM3MWU0ZTA2OWRh
ZS4uZTljN2U5Y2MwZjhkMThlYzE2ODE0YWMzZWRjMmIzYTZkYTY2Y2IzZiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViSURCS2V5LmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJJREJLZXkuY3BwCkBAIC00MSw2ICs0MSwxMyBAQCB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKK1dlYklEQktleSBXZWJJ
REJLZXk6OmNyZWF0ZUFycmF5KGNvbnN0IFdlYlZlY3RvcjxXZWJJREJLZXk+JiBhcnJheSkKK3sK
KyAgICBXZWJJREJLZXkga2V5OworICAgIGtleS5hc3NpZ25BcnJheShhcnJheSk7CisgICAgcmV0
dXJuIGtleTsKK30KKwogV2ViSURCS2V5IFdlYklEQktleTo6Y3JlYXRlU3RyaW5nKGNvbnN0IFdl
YlN0cmluZyYgc3RyaW5nKQogewogICAgIFdlYklEQktleSBrZXk7CkBAIC04Niw2ICs5Myw2NiBA
QCB2b2lkIFdlYklEQktleTo6YXNzaWduKGNvbnN0IFdlYklEQktleSYgdmFsdWUpCiAgICAgbV9w
cml2YXRlID0gdmFsdWUubV9wcml2YXRlOwogfQogCitzdGF0aWMgUGFzc1JlZlB0cjxJREJLZXk+
IGNvbnZlcnRGcm9tV2ViSURCS2V5QXJyYXkoY29uc3QgV2ViVmVjdG9yPFdlYklEQktleT4mIGFy
cmF5KQoreworICAgIElEQktleTo6S2V5QXJyYXkga2V5czsKKyAgICBrZXlzLnJlc2VydmVDYXBh
Y2l0eShhcnJheS5zaXplKCkpOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYXJyYXkuc2l6
ZSgpOyArK2kpIHsKKyAgICAgICAgc3dpdGNoIChhcnJheVtpXS50eXBlKCkpIHsKKyAgICAgICAg
Y2FzZSBXZWJJREJLZXk6OkFycmF5VHlwZToKKyAgICAgICAgICAgIGtleXMuYXBwZW5kKGNvbnZl
cnRGcm9tV2ViSURCS2V5QXJyYXkoYXJyYXlbaV0uYXJyYXkoKSkpOworICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgIGNhc2UgV2ViSURCS2V5OjpTdHJpbmdUeXBlOgorICAgICAgICAgICAga2V5
cy5hcHBlbmQoSURCS2V5OjpjcmVhdGVTdHJpbmcoYXJyYXlbaV0uc3RyaW5nKCkpKTsKKyAgICAg
ICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIFdlYklEQktleTo6RGF0ZVR5cGU6CisgICAgICAg
ICAgICBrZXlzLmFwcGVuZChJREJLZXk6OmNyZWF0ZURhdGUoYXJyYXlbaV0uZGF0ZSgpKSk7Cisg
ICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBXZWJJREJLZXk6Ok51bWJlclR5cGU6Cisg
ICAgICAgICAgICBrZXlzLmFwcGVuZChJREJLZXk6OmNyZWF0ZU51bWJlcihhcnJheVtpXS5udW1i
ZXIoKSkpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgV2ViSURCS2V5OjpJbnZh
bGlkVHlwZToKKyAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICAgICAg
YnJlYWs7CisgICAgICAgIH0KKyAgICB9CisgICAgcmV0dXJuIElEQktleTo6Y3JlYXRlQXJyYXko
a2V5cyk7Cit9CisKK3N0YXRpYyB2b2lkIGNvbnZlcnRUb1dlYklEQktleUFycmF5KGNvbnN0IElE
QktleTo6S2V5QXJyYXkmIGFycmF5LCBXZWJWZWN0b3I8V2ViSURCS2V5PiYgcmVzdWx0KQorewor
ICAgIFdlYlZlY3RvcjxXZWJJREJLZXk+IGtleXMoYXJyYXkuc2l6ZSgpKTsKKyAgICBXZWJWZWN0
b3I8V2ViSURCS2V5PiBzdWJrZXlzOworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYXJyYXku
c2l6ZSgpOyArK2kpIHsKKyAgICAgICAgUmVmUHRyPElEQktleT4ga2V5ID0gYXJyYXlbaV07Cisg
ICAgICAgIHN3aXRjaCAoa2V5LT50eXBlKCkpIHsKKyAgICAgICAgY2FzZSBJREJLZXk6OkFycmF5
VHlwZToKKyAgICAgICAgICAgIGNvbnZlcnRUb1dlYklEQktleUFycmF5KGtleS0+YXJyYXkoKSwg
c3Via2V5cyk7CisgICAgICAgICAgICBrZXlzW2ldID0gV2ViSURCS2V5OjpjcmVhdGVBcnJheShz
dWJrZXlzKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIElEQktleTo6U3RyaW5n
VHlwZToKKyAgICAgICAgICAgIGtleXNbaV0gPSBXZWJJREJLZXk6OmNyZWF0ZVN0cmluZyhrZXkt
PnN0cmluZygpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIElEQktleTo6RGF0
ZVR5cGU6CisgICAgICAgICAgICBrZXlzW2ldID0gV2ViSURCS2V5OjpjcmVhdGVEYXRlKGtleS0+
ZGF0ZSgpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIElEQktleTo6TnVtYmVy
VHlwZToKKyAgICAgICAgICAgIGtleXNbaV0gPSBXZWJJREJLZXk6OmNyZWF0ZU51bWJlcihrZXkt
Pm51bWJlcigpKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIElEQktleTo6SW52
YWxpZFR5cGU6CisgICAgICAgIGNhc2UgSURCS2V5OjpNaW5UeXBlOgorICAgICAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgIH0K
KyAgICByZXN1bHQuc3dhcChrZXlzKTsKK30KKwordm9pZCBXZWJJREJLZXk6OmFzc2lnbkFycmF5
KGNvbnN0IFdlYlZlY3RvcjxXZWJJREJLZXk+JiBhcnJheSkKK3sKKyAgICBtX3ByaXZhdGUgPSBj
b252ZXJ0RnJvbVdlYklEQktleUFycmF5KGFycmF5KTsKK30KKwogdm9pZCBXZWJJREJLZXk6OmFz
c2lnblN0cmluZyhjb25zdCBXZWJTdHJpbmcmIHN0cmluZykKIHsKICAgICBtX3ByaXZhdGUgPSBJ
REJLZXk6OmNyZWF0ZVN0cmluZyhzdHJpbmcpOwpAQCAtMTE4LDYgKzE4NSwxMyBAQCBXZWJJREJL
ZXk6OlR5cGUgV2ViSURCS2V5Ojp0eXBlKCkgY29uc3QKICAgICByZXR1cm4gVHlwZShtX3ByaXZh
dGUtPnR5cGUoKSk7CiB9CiAKK1dlYlZlY3RvcjxXZWJJREJLZXk+IFdlYklEQktleTo6YXJyYXko
KSBjb25zdAoreworICAgIFdlYlZlY3RvcjxXZWJJREJLZXk+IGtleXM7CisgICAgY29udmVydFRv
V2ViSURCS2V5QXJyYXkobV9wcml2YXRlLT5hcnJheSgpLCBrZXlzKTsKKyAgICByZXR1cm4ga2V5
czsKK30KKwogV2ViU3RyaW5nIFdlYklEQktleTo6c3RyaW5nKCkgY29uc3QKIHsKICAgICByZXR1
cm4gbV9wcml2YXRlLT5zdHJpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vdGVzdHMvSURCQmluZGluZ1V0aWxpdGllc1Rlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJv
bWl1bS90ZXN0cy9JREJCaW5kaW5nVXRpbGl0aWVzVGVzdC5jcHAKaW5kZXggMzIxZjBhZjdkMmE4
YTE0Y2RmNWRhMWM5OGY0YzgzMzE4NjM5MjkwOC4uN2RlNmE2YzhmZTgzOGQwYWI5ZmNiMjI3MTNh
NmIzZDkyMGRlMGQ2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9J
REJCaW5kaW5nVXRpbGl0aWVzVGVzdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90
ZXN0cy9JREJCaW5kaW5nVXRpbGl0aWVzVGVzdC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICog
Q29weXJpZ2h0IChDKSAyMDEwIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMTU1LDYgKzE1NSw4IEBAIFRFU1QoSW5qZWN0
SURCS2V5VGVzdCwgU3ViUHJvcGVydHkpCiAgICAgY2hlY2tJbmplY3Rpb24oSURCS2V5OjpjcmVh
dGVOdW1iZXIoNzg5KSwgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVhdGUob2JqZWN0KSwgImZv
by5iYXoiKTsKICAgICBjaGVja0luamVjdGlvbihJREJLZXk6OmNyZWF0ZURhdGUoNDU2NyksIFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKG9iamVjdCksICJmb28uYmF6Iik7CiAgICAgY2hl
Y2tJbmplY3Rpb24oSURCS2V5OjpjcmVhdGVEYXRlKDQ1NjcpLCBTZXJpYWxpemVkU2NyaXB0VmFs
dWU6OmNyZWF0ZShvYmplY3QpLCAiYmFyIik7CisgICAgY2hlY2tJbmplY3Rpb24oSURCS2V5Ojpj
cmVhdGVBcnJheShJREJLZXk6OktleUFycmF5KCkpLCBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNy
ZWF0ZShvYmplY3QpLCAiZm9vLmJheiIpOworICAgIGNoZWNrSW5qZWN0aW9uKElEQktleTo6Y3Jl
YXRlQXJyYXkoSURCS2V5OjpLZXlBcnJheSgpKSwgU2VyaWFsaXplZFNjcmlwdFZhbHVlOjpjcmVh
dGUob2JqZWN0KSwgImJhciIpOwogCiAgICAgY2hlY2tJbmplY3Rpb25GYWlscyhJREJLZXk6OmNy
ZWF0ZVN0cmluZygiem9vIiksIFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTo6Y3JlYXRlKG9iamVjdCks
ICJmb28uYmFyLmJheiIpOwogICAgIGNoZWNrSW5qZWN0aW9uRmFpbHMoSURCS2V5OjpjcmVhdGVT
dHJpbmcoInpvbyIpLCBTZXJpYWxpemVkU2NyaXB0VmFsdWU6OmNyZWF0ZShvYmplY3QpLCAiZm9v
Lnh5ei5mb28iKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvSURC
TGV2ZWxEQkNvZGluZ1Rlc3QuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJM
ZXZlbERCQ29kaW5nVGVzdC5jcHAKaW5kZXggNGMwNGM1NDYwY2U2MDgzNDExMDNmYmM0ZTAzOTIz
YjM3ZTMwNzRjZS4uN2Q2MTU5ZTZhMWIxZmM0YWYzMzViOWU4ZjQ2MDJlM2U2MzM0ZDhjZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJMZXZlbERCQ29kaW5nVGVz
dC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9JREJMZXZlbERCQ29kaW5n
VGVzdC5jcHAKQEAgLTM5LDYgKzM5LDMxIEBAIHVzaW5nIG5hbWVzcGFjZSBJREJMZXZlbERCQ29k
aW5nOwogCiBuYW1lc3BhY2UgewogCitzdGF0aWMgUGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0ZUFy
cmF5SURCS2V5KCkKK3sKKyAgICByZXR1cm4gSURCS2V5OjpjcmVhdGVBcnJheShJREJLZXk6Oktl
eUFycmF5KCkpOworfQorCitzdGF0aWMgUGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0ZUFycmF5SURC
S2V5KFBhc3NSZWZQdHI8SURCS2V5PiBwcnBLZXkxKQoreworICAgIFJlZlB0cjxJREJLZXk+IGtl
eTEgPSBwcnBLZXkxOworCisgICAgSURCS2V5OjpLZXlBcnJheSBhcnJheTsKKyAgICBhcnJheS5h
cHBlbmQoa2V5MSk7CisgICAgcmV0dXJuIElEQktleTo6Y3JlYXRlQXJyYXkoYXJyYXkpOworfQor
CitzdGF0aWMgUGFzc1JlZlB0cjxJREJLZXk+IGNyZWF0ZUFycmF5SURCS2V5KFBhc3NSZWZQdHI8
SURCS2V5PiBwcnBLZXkxLCBQYXNzUmVmUHRyPElEQktleT4gcHJwS2V5MikKK3sKKyAgICBSZWZQ
dHI8SURCS2V5PiBrZXkxID0gcHJwS2V5MTsKKyAgICBSZWZQdHI8SURCS2V5PiBrZXkyID0gcHJw
S2V5MjsKKworICAgIElEQktleTo6S2V5QXJyYXkgYXJyYXk7CisgICAgYXJyYXkuYXBwZW5kKGtl
eTEpOworICAgIGFycmF5LmFwcGVuZChrZXkyKTsKKyAgICByZXR1cm4gSURCS2V5OjpjcmVhdGVB
cnJheShhcnJheSk7Cit9CisKIFRFU1QoSURCTGV2ZWxEQkNvZGluZ1Rlc3QsIEVuY29kZUJ5dGUp
CiB7CiAgICAgVmVjdG9yPGNoYXI+IGV4cGVjdGVkOwpAQCAtNjMsMTEgKzg4LDEzIEBAIFRFU1Qo
SURCTGV2ZWxEQkNvZGluZ1Rlc3QsIE1heElEQktleSkKICAgICBWZWN0b3I8Y2hhcj4gbWF4S2V5
ID0gbWF4SURCS2V5KCk7CiAKICAgICBWZWN0b3I8Y2hhcj4gbWluS2V5ID0gbWluSURCS2V5KCk7
CisgICAgVmVjdG9yPGNoYXI+IGFycmF5S2V5ID0gZW5jb2RlSURCS2V5KCpJREJLZXk6OmNyZWF0
ZUFycmF5KElEQktleTo6S2V5QXJyYXkoKSkpOwogICAgIFZlY3RvcjxjaGFyPiBzdHJpbmdLZXkg
PSBlbmNvZGVJREJLZXkoKklEQktleTo6Y3JlYXRlU3RyaW5nKCJIZWxsbyB3b3JsZCIpKTsKICAg
ICBWZWN0b3I8Y2hhcj4gbnVtYmVyS2V5ID0gZW5jb2RlSURCS2V5KCpJREJLZXk6OmNyZWF0ZU51
bWJlcigzLjE0KSk7CiAgICAgVmVjdG9yPGNoYXI+IGRhdGVLZXkgPSBlbmNvZGVJREJLZXkoKklE
QktleTo6Y3JlYXRlRGF0ZSgxMDAwMDAwKSk7CiAKICAgICBFWFBFQ1RfR1QoY29tcGFyZUVuY29k
ZWRJREJLZXlzKG1heEtleSwgbWluS2V5KSwgMCk7CisgICAgRVhQRUNUX0dUKGNvbXBhcmVFbmNv
ZGVkSURCS2V5cyhtYXhLZXksIGFycmF5S2V5KSwgMCk7CiAgICAgRVhQRUNUX0dUKGNvbXBhcmVF
bmNvZGVkSURCS2V5cyhtYXhLZXksIHN0cmluZ0tleSksIDApOwogICAgIEVYUEVDVF9HVChjb21w
YXJlRW5jb2RlZElEQktleXMobWF4S2V5LCBudW1iZXJLZXkpLCAwKTsKICAgICBFWFBFQ1RfR1Qo
Y29tcGFyZUVuY29kZWRJREJLZXlzKG1heEtleSwgZGF0ZUtleSksIDApOwpAQCAtNzgsMTEgKzEw
NSwxMyBAQCBURVNUKElEQkxldmVsREJDb2RpbmdUZXN0LCBNaW5JREJLZXkpCiAgICAgVmVjdG9y
PGNoYXI+IG1pbktleSA9IG1pbklEQktleSgpOwogCiAgICAgVmVjdG9yPGNoYXI+IG1heEtleSA9
IG1heElEQktleSgpOworICAgIFZlY3RvcjxjaGFyPiBhcnJheUtleSA9IGVuY29kZUlEQktleSgq
SURCS2V5OjpjcmVhdGVBcnJheShJREJLZXk6OktleUFycmF5KCkpKTsKICAgICBWZWN0b3I8Y2hh
cj4gc3RyaW5nS2V5ID0gZW5jb2RlSURCS2V5KCpJREJLZXk6OmNyZWF0ZVN0cmluZygiSGVsbG8g
d29ybGQiKSk7CiAgICAgVmVjdG9yPGNoYXI+IG51bWJlcktleSA9IGVuY29kZUlEQktleSgqSURC
S2V5OjpjcmVhdGVOdW1iZXIoMy4xNCkpOwogICAgIFZlY3RvcjxjaGFyPiBkYXRlS2V5ID0gZW5j
b2RlSURCS2V5KCpJREJLZXk6OmNyZWF0ZURhdGUoMTAwMDAwMCkpOwogCiAgICAgRVhQRUNUX0xU
KGNvbXBhcmVFbmNvZGVkSURCS2V5cyhtaW5LZXksIG1heEtleSksIDApOworICAgIEVYUEVDVF9M
VChjb21wYXJlRW5jb2RlZElEQktleXMobWluS2V5LCBhcnJheUtleSksIDApOwogICAgIEVYUEVD
VF9MVChjb21wYXJlRW5jb2RlZElEQktleXMobWluS2V5LCBzdHJpbmdLZXkpLCAwKTsKICAgICBF
WFBFQ1RfTFQoY29tcGFyZUVuY29kZWRJREJLZXlzKG1pbktleSwgbnVtYmVyS2V5KSwgMCk7CiAg
ICAgRVhQRUNUX0xUKGNvbXBhcmVFbmNvZGVkSURCS2V5cyhtaW5LZXksIGRhdGVLZXkpLCAwKTsK
QEAgLTIzMCw2ICsyNTksMTQgQEAgVEVTVChJREJMZXZlbERCQ29kaW5nVGVzdCwgRGVjb2RlU3Ry
aW5nV2l0aExlbmd0aCkKICAgICB9CiB9CiAKK3N0YXRpYyBpbnQgY29tcGFyZVN0cmluZ3MoY29u
c3QgY2hhciogcCwgY29uc3QgY2hhciogbGltaXRQLCBjb25zdCBjaGFyKiBxLCBjb25zdCBjaGFy
KiBsaW1pdFEpCit7CisgICAgaW50IHJlc3VsdCA9IGNvbXBhcmVFbmNvZGVkU3RyaW5nc1dpdGhM
ZW5ndGgocCwgbGltaXRQLCBxLCBsaW1pdFEpOworICAgIEVYUEVDVF9FUShwLCBsaW1pdFApOwor
ICAgIEVYUEVDVF9FUShxLCBsaW1pdFEpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIFRFU1Qo
SURCTGV2ZWxEQkNvZGluZ1Rlc3QsIENvbXBhcmVFbmNvZGVkU3RyaW5nc1dpdGhMZW5ndGgpCiB7
CiAgICAgY29uc3QgVUNoYXIgdGVzdFN0cmluZ0FbXSA9IHsweDEwMDAsIDB4MTAwMCwgJ1wwJ307
CkBAIC0yNzIsMTAgKzMwOSwxMCBAQCBURVNUKElEQkxldmVsREJDb2RpbmdUZXN0LCBDb21wYXJl
RW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3RoKQogICAgICAgICBjb25zdCBjaGFyKiBxID0gZW5jb2Rl
ZEIuZGF0YSgpOwogICAgICAgICBjb25zdCBjaGFyKiBsaW1pdFEgPSBxICsgZW5jb2RlZEIuc2l6
ZSgpOwogCi0gICAgICAgIEVYUEVDVF9MVChjb21wYXJlRW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3Ro
KHAsIGxpbWl0UCwgcSwgbGltaXRRKSwgMCk7Ci0gICAgICAgIEVYUEVDVF9HVChjb21wYXJlRW5j
b2RlZFN0cmluZ3NXaXRoTGVuZ3RoKHEsIGxpbWl0USwgcCwgbGltaXRQKSwgMCk7Ci0gICAgICAg
IEVYUEVDVF9FUShjb21wYXJlRW5jb2RlZFN0cmluZ3NXaXRoTGVuZ3RoKHAsIGxpbWl0UCwgcCwg
bGltaXRQKSwgMCk7Ci0gICAgICAgIEVYUEVDVF9FUShjb21wYXJlRW5jb2RlZFN0cmluZ3NXaXRo
TGVuZ3RoKHEsIGxpbWl0USwgcSwgbGltaXRRKSwgMCk7CisgICAgICAgIEVYUEVDVF9MVChjb21w
YXJlU3RyaW5ncyhwLCBsaW1pdFAsIHEsIGxpbWl0USksIDApOworICAgICAgICBFWFBFQ1RfR1Qo
Y29tcGFyZVN0cmluZ3MocSwgbGltaXRRLCBwLCBsaW1pdFApLCAwKTsKKyAgICAgICAgRVhQRUNU
X0VRKGNvbXBhcmVTdHJpbmdzKHAsIGxpbWl0UCwgcCwgbGltaXRQKSwgMCk7CisgICAgICAgIEVY
UEVDVF9FUShjb21wYXJlU3RyaW5ncyhxLCBsaW1pdFEsIHEsIGxpbWl0USksIDApOwogICAgIH0K
IH0KIApAQCAtMzI3LDEyICszNjQsMzAgQEAgVEVTVChJREJMZXZlbERCQ29kaW5nVGVzdCwgRW5j
b2RlRGVjb2RlSURCS2V5KQogICAgIEVYUEVDVF9FUSh2LmRhdGEoKSArIHYuc2l6ZSgpLCBwKTsK
ICAgICBFWFBFQ1RfRVEoMCwgZGVjb2RlSURCS2V5KHYuZGF0YSgpLCB2LmRhdGEoKSArIHYuc2l6
ZSgpIC0gMSwgZGVjb2RlZEtleSkpOwogCisgICAgZXhwZWN0ZWRLZXkgPSBjcmVhdGVBcnJheUlE
QktleSgpOworICAgIHYgPSBlbmNvZGVJREJLZXkoKmV4cGVjdGVkS2V5KTsKKyAgICBwID0gZGVj
b2RlSURCS2V5KHYuZGF0YSgpLCB2LmRhdGEoKSArIHYuc2l6ZSgpLCBkZWNvZGVkS2V5KTsKKyAg
ICBFWFBFQ1RfVFJVRShkZWNvZGVkS2V5LT5pc0VxdWFsKGV4cGVjdGVkS2V5LmdldCgpKSk7Cisg
ICAgRVhQRUNUX0VRKHYuZGF0YSgpICsgdi5zaXplKCksIHApOworICAgIEVYUEVDVF9FUSgwLCBk
ZWNvZGVJREJLZXkodi5kYXRhKCksIHYuZGF0YSgpICsgdi5zaXplKCkgLSAxLCBkZWNvZGVkS2V5
KSk7CisKICAgICBleHBlY3RlZEtleSA9IElEQktleTo6Y3JlYXRlRGF0ZSg3ODkwKTsKICAgICB2
ID0gZW5jb2RlSURCS2V5KCpleHBlY3RlZEtleSk7CiAgICAgcCA9IGRlY29kZUlEQktleSh2LmRh
dGEoKSwgdi5kYXRhKCkgKyB2LnNpemUoKSwgZGVjb2RlZEtleSk7CiAgICAgRVhQRUNUX1RSVUUo
ZGVjb2RlZEtleS0+aXNFcXVhbChleHBlY3RlZEtleS5nZXQoKSkpOwogICAgIEVYUEVDVF9FUSh2
LmRhdGEoKSArIHYuc2l6ZSgpLCBwKTsKICAgICBFWFBFQ1RfRVEoMCwgZGVjb2RlSURCS2V5KHYu
ZGF0YSgpLCB2LmRhdGEoKSArIHYuc2l6ZSgpIC0gMSwgZGVjb2RlZEtleSkpOworCisgICAgSURC
S2V5OjpLZXlBcnJheSBhcnJheTsKKyAgICBhcnJheS5hcHBlbmQoSURCS2V5OjpjcmVhdGVOdW1i
ZXIoMTIzNCkpOworICAgIGFycmF5LmFwcGVuZChJREJLZXk6OmNyZWF0ZVN0cmluZygiSGVsbG8g
V29ybGQhIikpOworICAgIGFycmF5LmFwcGVuZChJREJLZXk6OmNyZWF0ZURhdGUoNzg5MCkpOwor
ICAgIGV4cGVjdGVkS2V5ID0gSURCS2V5OjpjcmVhdGVBcnJheShhcnJheSk7CisgICAgdiA9IGVu
Y29kZUlEQktleSgqZXhwZWN0ZWRLZXkpOworICAgIHAgPSBkZWNvZGVJREJLZXkodi5kYXRhKCks
IHYuZGF0YSgpICsgdi5zaXplKCksIGRlY29kZWRLZXkpOworICAgIEVYUEVDVF9UUlVFKGRlY29k
ZWRLZXktPmlzRXF1YWwoZXhwZWN0ZWRLZXkuZ2V0KCkpKTsKKyAgICBFWFBFQ1RfRVEodi5kYXRh
KCkgKyB2LnNpemUoKSwgcCk7CisgICAgRVhQRUNUX0VRKDAsIGRlY29kZUlEQktleSh2LmRhdGEo
KSwgdi5kYXRhKCkgKyB2LnNpemUoKSAtIDEsIGRlY29kZWRLZXkpKTsKIH0KIAogVEVTVChJREJM
ZXZlbERCQ29kaW5nVGVzdCwgRXh0cmFjdEFuZENvbXBhcmVJREJLZXlzKQpAQCAtMzU0LDYgKzQw
OSwxOCBAQCBURVNUKElEQkxldmVsREJDb2RpbmdUZXN0LCBFeHRyYWN0QW5kQ29tcGFyZUlEQktl
eXMpCiAgICAga2V5cy5hcHBlbmQoSURCS2V5OjpjcmVhdGVTdHJpbmcoImJhYWIiKSk7CiAgICAg
a2V5cy5hcHBlbmQoSURCS2V5OjpjcmVhdGVTdHJpbmcoImMiKSk7CiAKKyAgICBrZXlzLmFwcGVu
ZChjcmVhdGVBcnJheUlEQktleSgpKTsKKyAgICBrZXlzLmFwcGVuZChjcmVhdGVBcnJheUlEQktl
eShJREJLZXk6OmNyZWF0ZU51bWJlcigwKSkpOworICAgIGtleXMuYXBwZW5kKGNyZWF0ZUFycmF5
SURCS2V5KElEQktleTo6Y3JlYXRlTnVtYmVyKDApLCBJREJLZXk6OmNyZWF0ZU51bWJlcigzLjE0
KSkpOworICAgIGtleXMuYXBwZW5kKGNyZWF0ZUFycmF5SURCS2V5KElEQktleTo6Y3JlYXRlRGF0
ZSgwKSkpOworICAgIGtleXMuYXBwZW5kKGNyZWF0ZUFycmF5SURCS2V5KElEQktleTo6Y3JlYXRl
RGF0ZSgwKSwgSURCS2V5OjpjcmVhdGVEYXRlKDApKSk7CisgICAga2V5cy5hcHBlbmQoY3JlYXRl
QXJyYXlJREJLZXkoSURCS2V5OjpjcmVhdGVTdHJpbmcoIiIpKSk7CisgICAga2V5cy5hcHBlbmQo
Y3JlYXRlQXJyYXlJREJLZXkoSURCS2V5OjpjcmVhdGVTdHJpbmcoIiIpLCBJREJLZXk6OmNyZWF0
ZVN0cmluZygiYSIpKSk7CisgICAga2V5cy5hcHBlbmQoY3JlYXRlQXJyYXlJREJLZXkoY3JlYXRl
QXJyYXlJREJLZXkoKSkpOworICAgIGtleXMuYXBwZW5kKGNyZWF0ZUFycmF5SURCS2V5KGNyZWF0
ZUFycmF5SURCS2V5KCksIGNyZWF0ZUFycmF5SURCS2V5KCkpKTsKKyAgICBrZXlzLmFwcGVuZChj
cmVhdGVBcnJheUlEQktleShjcmVhdGVBcnJheUlEQktleShjcmVhdGVBcnJheUlEQktleSgpKSkp
OworICAgIGtleXMuYXBwZW5kKGNyZWF0ZUFycmF5SURCS2V5KGNyZWF0ZUFycmF5SURCS2V5KGNy
ZWF0ZUFycmF5SURCS2V5KGNyZWF0ZUFycmF5SURCS2V5KCkpKSkpOworCiAgICAgZm9yIChzaXpl
X3QgaSA9IDA7IGkgPCBrZXlzLnNpemUoKSAtIDE7ICsraSkgewogICAgICAgICBSZWZQdHI8SURC
S2V5PiBrZXlBID0ga2V5c1tpXTsKICAgICAgICAgUmVmUHRyPElEQktleT4ga2V5QiA9IGtleXNb
aSArIDFdOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDdmZThmMTVkY2U5MzNlNGVkYjgzODFlNWNjYzU1NmUyNmE0MjM3OGYu
LmYzYjAzMmQ0Y2I5MzIxYTk0ZTc3MjI1M2JjZGE2NThiOTg1ZTE4NzYgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyNSBAQAorMjAxMS0xMS0wOCAgSm9zaHVhIEJlbGwgIDxqc2JlbGxAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIEluZGV4ZWREQjogaW1wbGVtZW50IGNvbXBvdW5kIChhcnJheSkga2V5IHN1cHBv
cnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjg0
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgVG9ueSBDaGFuZy4KKworICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL2N1cnNvci1rZXktb3JkZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBzdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Ita2V5LW9yZGVyLmh0bWw6IEFkZGVkLgorICAgICAg
ICAqIHN0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21wLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBzdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWNtcC5odG1sOgorICAgICAgICAqIHN0b3JhZ2Uv
aW5kZXhlZGRiL2luZGV4LWJhc2ljcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9p
bmRleGVkZGIvaW5kZXgtYmFzaWNzLmh0bWw6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVkZGIv
a2V5LXR5cGUtYXJyYXktZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdG9yYWdlL2lu
ZGV4ZWRkYi9rZXktdHlwZS1hcnJheS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBzdG9yYWdlL2lu
ZGV4ZWRkYi9rZXlyYW5nZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogc3RvcmFnZS9pbmRleGVk
ZGIva2V5cmFuZ2UuaHRtbDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9y
ZS1iYXNpY3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29iamVj
dHN0b3JlLWJhc2ljcy5odG1sOgorICAgICAgICAqIHN0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY3Vy
c29yLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBzdG9yYWdlL2luZGV4ZWRkYi9vcGVuLWN1cnNv
ci5odG1sOgorCiAyMDExLTExLTA4ICBZdXRhIEtpdGFtdXJhICA8eXV0YWtAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFtDaHJvbWl1bV0gVW5yZXZpZXdlZCBnYXJkZW5pbmcuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Ita2V5LW9yZGVyLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1rZXktb3JkZXItZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdjYTI5NDdjYmJkMDBmYzNiNWJhOGU3ZDUxNDMxM2VlODgy
ZTA2ZDgKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9j
dXJzb3Ita2V5LW9yZGVyLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDkwOCBAQAorVGVzdCBJbmRl
eGVkREIga2V5cyBvcmRlcmluZyBhbmQgcmVhZGJhY2sgZnJvbSBjdXJzb3JzLgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworaW5kZXhlZERCID0gd2luZG93LmluZGV4ZWREQiB8fCB3
aW5kb3cud2Via2l0SW5kZXhlZERCIHx8IHdpbmRvdy5tb3pJbmRleGVkREI7CitQQVNTIGluZGV4
ZWREQiA9PSBudWxsIGlzIGZhbHNlCitJREJDdXJzb3IgPSB3aW5kb3cuSURCQ3Vyc29yIHx8IHdp
bmRvdy53ZWJraXRJREJDdXJzb3I7CitQQVNTIElEQkN1cnNvciA9PSBudWxsIGlzIGZhbHNlCitJ
REJUcmFuc2FjdGlvbiA9IHdpbmRvdy5JREJUcmFuc2FjdGlvbiB8fCB3aW5kb3cud2Via2l0SURC
VHJhbnNhY3Rpb24KK1BBU1MgSURCVHJhbnNhY3Rpb24gPT0gbnVsbCBpcyBmYWxzZQorCitvcGVu
cmVxID0gaW5kZXhlZERCLm9wZW4oJ2N1cnNvci1rZXktb3JkZXInKQorZGIgPSBvcGVucmVxLnJl
c3VsdAordmVycmVxID0gZGIuc2V0VmVyc2lvbignMScpCitkYi5jcmVhdGVPYmplY3RTdG9yZSgn
c3RvcmUnKQorCitwb3B1bGF0aW5nIHN0b3JlLi4uCit0cmFucyA9IGRiLnRyYW5zYWN0aW9uKCdz
dG9yZScsIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCitzdG9yZSA9IHRyYW5zLm9iamVjdFN0
b3JlKCdzdG9yZScpOworc3RvcmUucHV0KDAsIC1JbmZpbml0eSkKK3N0b3JlLnB1dCgxLCAtTnVt
YmVyLk1BWF9WQUxVRSkKK3N0b3JlLnB1dCgyLCAtMSkKK3N0b3JlLnB1dCgzLCAtTnVtYmVyLk1J
Tl9WQUxVRSkKK3N0b3JlLnB1dCg0LCAwKQorc3RvcmUucHV0KDUsIE51bWJlci5NSU5fVkFMVUUp
CitzdG9yZS5wdXQoNiwgMSkKK3N0b3JlLnB1dCg3LCBOdW1iZXIuTUFYX1ZBTFVFKQorc3RvcmUu
cHV0KDgsIEluZmluaXR5KQorc3RvcmUucHV0KDksIG5ldyBEYXRlKDApKQorc3RvcmUucHV0KDEw
LCBuZXcgRGF0ZSgxMDAwKSkKK3N0b3JlLnB1dCgxMSwgbmV3IERhdGUoMTMxNzM5OTkzMTAyMykp
CitzdG9yZS5wdXQoMTIsICcnKQorc3RvcmUucHV0KDEzLCAnJykKK3N0b3JlLnB1dCgxNCwgJ2En
KQorc3RvcmUucHV0KDE1LCAnYWEnKQorc3RvcmUucHV0KDE2LCAnYicpCitzdG9yZS5wdXQoMTcs
ICdiYScpCitzdG9yZS5wdXQoMTgsICfCoicpCitzdG9yZS5wdXQoMTksICfmsLQnKQorc3RvcmUu
cHV0KDIwLCAn8J2EnicpCitzdG9yZS5wdXQoMjEsICfvv70nKQorc3RvcmUucHV0KDIyLCBbXSkK
K3N0b3JlLnB1dCgyMywgWy1JbmZpbml0eV0pCitzdG9yZS5wdXQoMjQsIFstTnVtYmVyLk1BWF9W
QUxVRV0pCitzdG9yZS5wdXQoMjUsIFstMV0pCitzdG9yZS5wdXQoMjYsIFstTnVtYmVyLk1JTl9W
QUxVRV0pCitzdG9yZS5wdXQoMjcsIFswXSkKK3N0b3JlLnB1dCgyOCwgW051bWJlci5NSU5fVkFM
VUVdKQorc3RvcmUucHV0KDI5LCBbMV0pCitzdG9yZS5wdXQoMzAsIFtOdW1iZXIuTUFYX1ZBTFVF
XSkKK3N0b3JlLnB1dCgzMSwgW0luZmluaXR5XSkKK3N0b3JlLnB1dCgzMiwgW25ldyBEYXRlKDAp
XSkKK3N0b3JlLnB1dCgzMywgW25ldyBEYXRlKDEwMDApXSkKK3N0b3JlLnB1dCgzNCwgW25ldyBE
YXRlKDEzMTczOTk5MzEwMjMpXSkKK3N0b3JlLnB1dCgzNSwgWycnXSkKK3N0b3JlLnB1dCgzNiwg
WycnXSkKK3N0b3JlLnB1dCgzNywgWydhJ10pCitzdG9yZS5wdXQoMzgsIFsnYWEnXSkKK3N0b3Jl
LnB1dCgzOSwgWydiJ10pCitzdG9yZS5wdXQoNDAsIFsnYmEnXSkKK3N0b3JlLnB1dCg0MSwgWyfC
oiddKQorc3RvcmUucHV0KDQyLCBbJ+awtCddKQorc3RvcmUucHV0KDQzLCBbJ/CdhJ4nXSkKK3N0
b3JlLnB1dCg0NCwgWyfvv70nXSkKK3N0b3JlLnB1dCg0NSwgW1tdXSkKK3N0b3JlLnB1dCg0Niwg
W1tdLCBbXV0pCitzdG9yZS5wdXQoNDcsIFtbXSwgW10sIFtdXSkKK3N0b3JlLnB1dCg0OCwgW1tb
XV1dKQorc3RvcmUucHV0KDQ5LCBbW1tbXV1dXSkKKworaXRlcmF0aW5nIGN1cnNvci4uLgordHJh
bnMgPSBkYi50cmFuc2FjdGlvbignc3RvcmUnLCBJREJUcmFuc2FjdGlvbi5SRUFEX09OTFkpCitz
dG9yZSA9IHRyYW5zLm9iamVjdFN0b3JlKCdzdG9yZScpOworY291bnQgPSAwCitjdXJyZXEgPSBz
dG9yZS5vcGVuQ3Vyc29yKCkKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShj
dXJzb3Iua2V5LCAtSW5maW5pdHkpIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iu
a2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1
cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCAtTnVtYmVyLk1BWF9WQUxVRSkg
aXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1
bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21w
YXJlKGN1cnNvci5rZXksIC0xKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtl
eSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJy
ZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgLU51bWJlci5NSU5fVkFMVUUpIGlz
IHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0
ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFy
ZShjdXJzb3Iua2V5LCAwKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkK
K1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEu
cmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgTnVtYmVyLk1JTl9WQUxVRSkgaXMgdHJ1
ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09
IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1
cnNvci5rZXksIDEpIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFT
UyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1
bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBOdW1iZXIuTUFYX1ZBTFVFKSBpcyB0cnVlCitn
ZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291
bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29y
LmtleSwgSW5maW5pdHkpIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQor
UEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5y
ZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBuZXcgRGF0ZSgwKSkgaXMgdHJ1ZQorZ2V0
cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50
KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5r
ZXksIG5ldyBEYXRlKDEwMDApKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtl
eSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJy
ZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgbmV3IERhdGUoMTMxNzM5OTkzMTAy
MykpIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEu
cmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1Mg
Y29tcGFyZShjdXJzb3Iua2V5LCAnJykgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNv
ci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0g
Y3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksICdcMCcpIGlzIHRydWUKK2dl
dHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3Vu
dCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iu
a2V5LCAnYScpIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBn
ZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQK
K1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCAnYWEnKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5n
ZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitj
dXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgJ2InKSBpcyB0
cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9
PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUo
Y3Vyc29yLmtleSwgJ2JhJykgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkp
CitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVx
LnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksICfCoicpIGlzIHRydWUKK2dldHJlcSA9
IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlz
IHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCAn
5rC0JykgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJl
cS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFT
UyBjb21wYXJlKGN1cnNvci5rZXksICfwnYSeJykgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0
KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vy
c29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksICfvv70nKSBpcyB0
cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9
PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUo
Y3Vyc29yLmtleSwgW10pIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQor
UEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5y
ZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBbLUluZmluaXR5XSkgaXMgdHJ1ZQorZ2V0
cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50
KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5r
ZXksIFstTnVtYmVyLk1BWF9WQUxVRV0pIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJz
b3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9
IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBbLTFdKSBpcyB0cnVlCitn
ZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291
bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29y
LmtleSwgWy1OdW1iZXIuTUlOX1ZBTFVFXSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1
cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29y
ID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIFswXSkgaXMgdHJ1ZQor
Z2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNv
dW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNv
ci5rZXksIFtOdW1iZXIuTUlOX1ZBTFVFXSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1
cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29y
ID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIFsxXSkgaXMgdHJ1ZQor
Z2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNv
dW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNv
ci5rZXksIFtOdW1iZXIuTUFYX1ZBTFVFXSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1
cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29y
ID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIFtJbmZpbml0eV0pIGlz
IHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0
ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFy
ZShjdXJzb3Iua2V5LCBbbmV3IERhdGUoMCldKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQo
Y3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJz
b3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgW25ldyBEYXRlKDEw
MDApXSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJl
cS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFT
UyBjb21wYXJlKGN1cnNvci5rZXksIFtuZXcgRGF0ZSgxMzE3Mzk5OTMxMDIzKV0pIGlzIHRydWUK
K2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBj
b3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJz
b3Iua2V5LCBbJyddKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vyc29yLmtleSkKK1BB
U1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3IgPSBjdXJyZXEucmVz
dWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgWydcMCddKSBpcyB0cnVlCitnZXRyZXEgPSBz
dG9yZS5nZXQoY3Vyc29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0
cnVlCitjdXJzb3IgPSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgWydh
J10pIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEu
cmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1Mg
Y29tcGFyZShjdXJzb3Iua2V5LCBbJ2FhJ10pIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChj
dXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNv
ciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBbJ2InXSkgaXMgdHJ1
ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09
IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1
cnNvci5rZXksIFsnYmEnXSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkp
CitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorY3Vyc29yID0gY3VycmVx
LnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIFsnwqInXSkgaXMgdHJ1ZQorZ2V0cmVx
ID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50Kysg
aXMgdHJ1ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXks
IFsn5rC0J10pIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBn
ZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQK
K1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBbJ/CdhJ4nXSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3Rv
cmUuZ2V0KGN1cnNvci5rZXkpCitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1
ZQorY3Vyc29yID0gY3VycmVxLnJlc3VsdAorUEFTUyBjb21wYXJlKGN1cnNvci5rZXksIFsn77+9
J10pIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEu
cmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1Mg
Y29tcGFyZShjdXJzb3Iua2V5LCBbW11dKSBpcyB0cnVlCitnZXRyZXEgPSBzdG9yZS5nZXQoY3Vy
c29yLmtleSkKK1BBU1MgZ2V0cmVxLnJlc3VsdCA9PT0gY291bnQrKyBpcyB0cnVlCitjdXJzb3Ig
PSBjdXJyZXEucmVzdWx0CitQQVNTIGNvbXBhcmUoY3Vyc29yLmtleSwgW1tdLCBbXV0pIGlzIHRy
dWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09
PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShj
dXJzb3Iua2V5LCBbW10sIFtdLCBbXV0pIGlzIHRydWUKK2dldHJlcSA9IHN0b3JlLmdldChjdXJz
b3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIGlzIHRydWUKK2N1cnNvciA9
IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJzb3Iua2V5LCBbW1tdXV0pIGlzIHRydWUK
K2dldHJlcSA9IHN0b3JlLmdldChjdXJzb3Iua2V5KQorUEFTUyBnZXRyZXEucmVzdWx0ID09PSBj
b3VudCsrIGlzIHRydWUKK2N1cnNvciA9IGN1cnJlcS5yZXN1bHQKK1BBU1MgY29tcGFyZShjdXJz
b3Iua2V5LCBbW1tbXV1dXSkgaXMgdHJ1ZQorZ2V0cmVxID0gc3RvcmUuZ2V0KGN1cnNvci5rZXkp
CitQQVNTIGdldHJlcS5yZXN1bHQgPT09IGNvdW50KysgaXMgdHJ1ZQorUEFTUyBjb3VudCA9PT0g
a2V5cy5sZW5ndGggaXMgdHJ1ZQorCit2YWxpZGF0ZSBjb21wYXJlIGZ1bmN0aW9uCitQQVNTIGNv
bXBhcmUodW5kZWZpbmVkLCB1bmRlZmluZWQpIGlzIHRydWUKK1BBU1MgY29tcGFyZSh1bmRlZmlu
ZWQsIHRydWUpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodW5kZWZpbmVkLCBmYWxzZSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZSh1bmRlZmluZWQsIDApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodW5k
ZWZpbmVkLCAtMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh1bmRlZmluZWQsIDEyMykgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZSh1bmRlZmluZWQsIEluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKHVuZGVmaW5lZCwgLUluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHVuZGVmaW5l
ZCwgTmFOKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHVuZGVmaW5lZCwgJycpIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUodW5kZWZpbmVkLCAnYWJjJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh1bmRl
ZmluZWQsICd4eXonKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHVuZGVmaW5lZCwgbmV3IERhdGUo
MCkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodW5kZWZpbmVkLCBuZXcgRGF0ZSgxZTMpKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKHVuZGVmaW5lZCwgbmV3IERhdGUoMWU5KSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZSh1bmRlZmluZWQsIFtdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHVuZGVmaW5l
ZCwgWzEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodW5kZWZpbmVkLCBbJ2FiYyddKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKHVuZGVmaW5lZCwgWzEyMywgJ2FiYyddKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKHVuZGVmaW5lZCwgWydhYmMnLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KHVuZGVmaW5lZCwgW1tdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh1bmRlZmluZWQsIFtbMTIz
XV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodW5kZWZpbmVkLCBbWydhYmMnXV0pIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUodW5kZWZpbmVkLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZSh1bmRlZmluZWQsIFtbMTIzXSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh0
cnVlLCB1bmRlZmluZWQpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodHJ1ZSwgdHJ1ZSkgaXMgdHJ1
ZQorUEFTUyBjb21wYXJlKHRydWUsIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHRydWUs
IDApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodHJ1ZSwgLTApIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUodHJ1ZSwgMTIzKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHRydWUsIEluZmluaXR5KSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKHRydWUsIC1JbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZSh0cnVlLCBOYU4pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodHJ1ZSwgJycpIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUodHJ1ZSwgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodHJ1ZSwgJ3h5
eicpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodHJ1ZSwgbmV3IERhdGUoMCkpIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUodHJ1ZSwgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSh0
cnVlLCBuZXcgRGF0ZSgxZTkpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHRydWUsIFtdKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKHRydWUsIFsxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHRy
dWUsIFsnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodHJ1ZSwgWzEyMywgJ2FiYyddKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKHRydWUsIFsnYWJjJywgMTIzXSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZSh0cnVlLCBbW11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHRydWUsIFtbMTIzXV0p
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUodHJ1ZSwgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKHRydWUsIFtbMTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKHRydWUs
IFtbMTIzXSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShmYWxzZSwgdW5kZWZpbmVkKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKGZhbHNlLCB0cnVlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KGZhbHNlLCBmYWxzZSkgaXMgdHJ1ZQorUEFTUyBjb21wYXJlKGZhbHNlLCAwKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKGZhbHNlLCAtMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShmYWxzZSwgMTIz
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKGZhbHNlLCBJbmZpbml0eSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZShmYWxzZSwgLUluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKGZhbHNlLCBO
YU4pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoZmFsc2UsICcnKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKGZhbHNlLCAnYWJjJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShmYWxzZSwgJ3h5eicpIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoZmFsc2UsIG5ldyBEYXRlKDApKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKGZhbHNlLCBuZXcgRGF0ZSgxZTMpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKGZhbHNl
LCBuZXcgRGF0ZSgxZTkpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKGZhbHNlLCBbXSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShmYWxzZSwgWzEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoZmFs
c2UsIFsnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoZmFsc2UsIFsxMjMsICdhYmMnXSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShmYWxzZSwgWydhYmMnLCAxMjNdKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKGZhbHNlLCBbW11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKGZhbHNlLCBbWzEy
M11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKGZhbHNlLCBbWydhYmMnXV0pIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoZmFsc2UsIFtbMTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KGZhbHNlLCBbWzEyM10sIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMCwgdW5kZWZpbmVk
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDAsIHRydWUpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
MCwgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMCwgMCkgaXMgdHJ1ZQorUEFTUyBjb21w
YXJlKDAsIC0wKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDAsIDEyMykgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZSgwLCBJbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgwLCAtSW5maW5pdHkp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMCwgTmFOKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDAs
ICcnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDAsICdhYmMnKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKDAsICd4eXonKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDAsIG5ldyBEYXRlKDApKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKDAsIG5ldyBEYXRlKDFlMykpIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoMCwgbmV3IERhdGUoMWU5KSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgwLCBbXSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZSgwLCBbMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgwLCBbJ2Fi
YyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDAsIFsxMjMsICdhYmMnXSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZSgwLCBbJ2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMCwgW1td
XSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgwLCBbWzEyM11dKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKDAsIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgwLCBbWzEyM10sICdhYmMn
XSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgwLCBbWzEyM10sIDEyM10pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoLTAsIHVuZGVmaW5lZCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwgdHJ1ZSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
LTAsIDApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLTAsIC0wKSBpcyB0cnVlCitQQVNTIGNvbXBh
cmUoLTAsIDEyMykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwgSW5maW5pdHkpIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoLTAsIC1JbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwg
TmFOKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC0wLCAnJykgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZSgtMCwgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLTAsICd4eXonKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKC0wLCBuZXcgRGF0ZSgwKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwg
bmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwgbmV3IERhdGUoMWU5KSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwgW10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLTAs
IFsxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC0wLCBbJ2FiYyddKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKC0wLCBbMTIzLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLTAsIFsn
YWJjJywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwgW1tdXSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZSgtMCwgW1sxMjNdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtMCwgW1snYWJj
J11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC0wLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZSgtMCwgW1sxMjNdLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDEy
MywgdW5kZWZpbmVkKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDEyMywgdHJ1ZSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZSgxMjMsIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDEyMywgMCkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZSgxMjMsIC0wKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDEy
MywgMTIzKSBpcyB0cnVlCitQQVNTIGNvbXBhcmUoMTIzLCBJbmZpbml0eSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZSgxMjMsIC1JbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgxMjMsIE5h
TikgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgxMjMsICcnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KDEyMywgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCAneHl6JykgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZSgxMjMsIG5ldyBEYXRlKDApKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDEy
MywgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgxMjMsIG5ldyBEYXRlKDFl
OSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCBbXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZSgxMjMsIFsxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDEyMywgWydhYmMnXSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZSgxMjMsIFsxMjMsICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZSgxMjMsIFsnYWJjJywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgxMjMsIFtbXV0pIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCBbWzEyM11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KDEyMywgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKDEyMywgW1sxMjNdLCAnYWJj
J10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoMTIzLCBbWzEyM10sIDEyM10pIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoSW5maW5pdHksIHVuZGVmaW5lZCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShJ
bmZpbml0eSwgdHJ1ZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShJbmZpbml0eSwgZmFsc2UpIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoSW5maW5pdHksIDApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
SW5maW5pdHksIC0wKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKEluZmluaXR5LCAxMjMpIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoSW5maW5pdHksIEluZmluaXR5KSBpcyB0cnVlCitQQVNTIGNvbXBh
cmUoSW5maW5pdHksIC1JbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShJbmZpbml0eSwg
TmFOKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKEluZmluaXR5LCAnJykgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZShJbmZpbml0eSwgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoSW5maW5pdHks
ICd4eXonKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKEluZmluaXR5LCBuZXcgRGF0ZSgwKSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShJbmZpbml0eSwgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShJbmZpbml0eSwgbmV3IERhdGUoMWU5KSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShJbmZpbml0eSwgW10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoSW5maW5pdHksIFsxMjNdKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKEluZmluaXR5LCBbJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKEluZmluaXR5LCBbMTIzLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoSW5m
aW5pdHksIFsnYWJjJywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShJbmZpbml0eSwgW1td
XSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShJbmZpbml0eSwgW1sxMjNdXSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShJbmZpbml0eSwgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKElu
ZmluaXR5LCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShJbmZpbml0eSwg
W1sxMjNdLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC1JbmZpbml0eSwgdW5kZWZpbmVk
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC1JbmZpbml0eSwgdHJ1ZSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZSgtSW5maW5pdHksIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC1JbmZpbml0
eSwgMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtSW5maW5pdHksIC0wKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKC1JbmZpbml0eSwgMTIzKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC1JbmZpbml0
eSwgSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCAtSW5maW5pdHkp
IGlzIHRydWUKK1BBU1MgY29tcGFyZSgtSW5maW5pdHksIE5hTikgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZSgtSW5maW5pdHksICcnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC1JbmZpbml0eSwgJ2Fi
YycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCAneHl6JykgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZSgtSW5maW5pdHksIG5ldyBEYXRlKDApKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KC1JbmZpbml0eSwgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtSW5maW5p
dHksIG5ldyBEYXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCBbXSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtSW5maW5pdHksIFsxMjNdKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKC1JbmZpbml0eSwgWydhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtSW5maW5p
dHksIFsxMjMsICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtSW5maW5pdHksIFsnYWJj
JywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgtSW5maW5pdHksIFtbXV0pIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCBbWzEyM11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KC1JbmZpbml0eSwgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKC1JbmZpbml0eSwg
W1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoLUluZmluaXR5LCBbWzEyM10s
IDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoTmFOLCB1bmRlZmluZWQpIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoTmFOLCB0cnVlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5hTiwgZmFsc2Up
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoTmFOLCAwKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5h
TiwgLTApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoTmFOLCAxMjMpIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoTmFOLCBJbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShOYU4sIC1JbmZpbml0
eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShOYU4sIE5hTikgaXMgdHJ1ZQorUEFTUyBjb21wYXJl
KE5hTiwgJycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoTmFOLCAnYWJjJykgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShOYU4sICd4eXonKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5hTiwgbmV3IERh
dGUoMCkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoTmFOLCBuZXcgRGF0ZSgxZTMpKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKE5hTiwgbmV3IERhdGUoMWU5KSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShOYU4sIFtdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5hTiwgWzEyM10pIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoTmFOLCBbJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5hTiwgWzEy
MywgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKE5hTiwgWydhYmMnLCAxMjNdKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKE5hTiwgW1tdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShOYU4s
IFtbMTIzXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoTmFOLCBbWydhYmMnXV0pIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoTmFOLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShOYU4sIFtbMTIzXSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnJywgdW5kZWZpbmVk
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCcnLCB0cnVlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KCcnLCBmYWxzZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnJywgMCkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZSgnJywgLTApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJycsIDEyMykgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZSgnJywgSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJycsIC1J
bmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnJywgTmFOKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKCcnLCAnJykgaXMgdHJ1ZQorUEFTUyBjb21wYXJlKCcnLCAnYWJjJykgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZSgnJywgJ3h5eicpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJycsIG5ldyBE
YXRlKDApKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCcnLCBuZXcgRGF0ZSgxZTMpKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKCcnLCBuZXcgRGF0ZSgxZTkpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJl
KCcnLCBbXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnJywgWzEyM10pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoJycsIFsnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJycsIFsxMjMsICdh
YmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnJywgWydhYmMnLCAxMjNdKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKCcnLCBbW11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCcnLCBbWzEyM11d
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCcnLCBbWydhYmMnXV0pIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoJycsIFtbMTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCcnLCBbWzEy
M10sIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ2FiYycsIHVuZGVmaW5lZCkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZSgnYWJjJywgdHJ1ZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnYWJj
JywgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ2FiYycsIDApIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoJ2FiYycsIC0wKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCdhYmMnLCAxMjMpIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoJ2FiYycsIEluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKCdhYmMnLCAtSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ2FiYycsIE5hTikg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnYWJjJywgJycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
J2FiYycsICdhYmMnKSBpcyB0cnVlCitQQVNTIGNvbXBhcmUoJ2FiYycsICd4eXonKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKCdhYmMnLCBuZXcgRGF0ZSgwKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZSgnYWJjJywgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnYWJjJywgbmV3
IERhdGUoMWU5KSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnYWJjJywgW10pIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoJ2FiYycsIFsxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCdhYmMnLCBb
J2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCdhYmMnLCBbMTIzLCAnYWJjJ10pIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoJ2FiYycsIFsnYWJjJywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZSgnYWJjJywgW1tdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnYWJjJywgW1sxMjNdXSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnYWJjJywgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKCdhYmMnLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgnYWJj
JywgW1sxMjNdLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCd4eXonLCB1bmRlZmluZWQp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ3h5eicsIHRydWUpIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoJ3h5eicsIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCd4eXonLCAwKSBpcyBmYWxz
ZQorUEFTUyBjb21wYXJlKCd4eXonLCAtMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgneHl6Jywg
MTIzKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCd4eXonLCBJbmZpbml0eSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZSgneHl6JywgLUluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCd4eXon
LCBOYU4pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ3h5eicsICcnKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKCd4eXonLCAnYWJjJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgneHl6JywgJ3h5eicp
IGlzIHRydWUKK1BBU1MgY29tcGFyZSgneHl6JywgbmV3IERhdGUoMCkpIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoJ3h5eicsIG5ldyBEYXRlKDFlMykpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ3h5
eicsIG5ldyBEYXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ3h5eicsIFtdKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKCd4eXonLCBbMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgn
eHl6JywgWydhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZSgneHl6JywgWzEyMywgJ2FiYydd
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKCd4eXonLCBbJ2FiYycsIDEyM10pIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoJ3h5eicsIFtbXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ3h5eicsIFtb
MTIzXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoJ3h5eicsIFtbJ2FiYyddXSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZSgneHl6JywgW1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoJ3h5eicsIFtbMTIzXSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgw
KSwgdW5kZWZpbmVkKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDApLCB0cnVlKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDApLCBmYWxzZSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZShuZXcgRGF0ZSgwKSwgMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgw
KSwgLTApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMCksIDEyMykgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShuZXcgRGF0ZSgwKSwgSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUobmV3IERhdGUoMCksIC1JbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0
ZSgwKSwgTmFOKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDApLCAnJykgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgwKSwgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUobmV3IERhdGUoMCksICd4eXonKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDAp
LCBuZXcgRGF0ZSgwKSkgaXMgdHJ1ZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDApLCBuZXcgRGF0
ZSgxZTMpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDApLCBuZXcgRGF0ZSgxZTkp
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDApLCBbXSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZShuZXcgRGF0ZSgwKSwgWzEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERh
dGUoMCksIFsnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMCksIFsxMjMs
ICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgwKSwgWydhYmMnLCAxMjNd
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDApLCBbW11dKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKG5ldyBEYXRlKDApLCBbWzEyM11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5l
dyBEYXRlKDApLCBbWydhYmMnXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMCks
IFtbMTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDApLCBbWzEy
M10sIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWUzKSwgdW5kZWZpbmVk
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlMyksIHRydWUpIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUobmV3IERhdGUoMWUzKSwgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
bmV3IERhdGUoMWUzKSwgMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTMpLCAt
MCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTMpLCAxMjMpIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUobmV3IERhdGUoMWUzKSwgSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUobmV3IERhdGUoMWUzKSwgLUluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBE
YXRlKDFlMyksIE5hTikgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTMpLCAnJykg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTMpLCAnYWJjJykgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShuZXcgRGF0ZSgxZTMpLCAneHl6JykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShu
ZXcgRGF0ZSgxZTMpLCBuZXcgRGF0ZSgwKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0
ZSgxZTMpLCBuZXcgRGF0ZSgxZTMpKSBpcyB0cnVlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWUz
KSwgbmV3IERhdGUoMWU5KSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTMpLCBb
XSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTMpLCBbMTIzXSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTMpLCBbJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKG5ldyBEYXRlKDFlMyksIFsxMjMsICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShu
ZXcgRGF0ZSgxZTMpLCBbJ2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERh
dGUoMWUzKSwgW1tdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTMpLCBbWzEy
M11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlMyksIFtbJ2FiYyddXSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTMpLCBbWzEyM10sICdhYmMnXSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTMpLCBbWzEyM10sIDEyM10pIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwgdW5kZWZpbmVkKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKG5ldyBEYXRlKDFlOSksIHRydWUpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUo
MWU5KSwgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwgMCkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTkpLCAtMCkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShuZXcgRGF0ZSgxZTkpLCAxMjMpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUo
MWU5KSwgSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwgLUlu
ZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlOSksIE5hTikgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTkpLCAnJykgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShuZXcgRGF0ZSgxZTkpLCAnYWJjJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgx
ZTkpLCAneHl6JykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTkpLCBuZXcgRGF0
ZSgwKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTkpLCBuZXcgRGF0ZSgxZTMp
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlOSksIG5ldyBEYXRlKDFlOSkpIGlz
IHRydWUKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTkpLCBbXSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShuZXcgRGF0ZSgxZTkpLCBbMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0
ZSgxZTkpLCBbJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKG5ldyBEYXRlKDFlOSksIFsx
MjMsICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTkpLCBbJ2FiYycs
IDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUobmV3IERhdGUoMWU5KSwgW1tdXSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShuZXcgRGF0ZSgxZTkpLCBbWzEyM11dKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKG5ldyBEYXRlKDFlOSksIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShu
ZXcgRGF0ZSgxZTkpLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShuZXcg
RGF0ZSgxZTkpLCBbWzEyM10sIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW10sIHVuZGVm
aW5lZCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbXSwgdHJ1ZSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShbXSwgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW10sIDApIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoW10sIC0wKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtdLCAxMjMpIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoW10sIEluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtd
LCAtSW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW10sIE5hTikgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbXSwgJycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW10sICdhYmMnKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKFtdLCAneHl6JykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbXSwg
bmV3IERhdGUoMCkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW10sIG5ldyBEYXRlKDFlMykpIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoW10sIG5ldyBEYXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoW10sIFtdKSBpcyB0cnVlCitQQVNTIGNvbXBhcmUoW10sIFsxMjNdKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFtdLCBbJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtdLCBbMTIz
LCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW10sIFsnYWJjJywgMTIzXSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShbXSwgW1tdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbXSwgW1sx
MjNdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbXSwgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKFtdLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbXSwg
W1sxMjNdLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjNdLCB1bmRlZmluZWQpIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyM10sIHRydWUpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
WzEyM10sIGZhbHNlKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjNdLCAwKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFsxMjNdLCAtMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzXSwgMTIz
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjNdLCBJbmZpbml0eSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZShbMTIzXSwgLUluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjNdLCBO
YU4pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyM10sICcnKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKFsxMjNdLCAnYWJjJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzXSwgJ3h5eicpIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyM10sIG5ldyBEYXRlKDApKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKFsxMjNdLCBuZXcgRGF0ZSgxZTMpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjNd
LCBuZXcgRGF0ZSgxZTkpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjNdLCBbXSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShbMTIzXSwgWzEyM10pIGlzIHRydWUKK1BBU1MgY29tcGFyZShbMTIz
XSwgWydhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzXSwgWzEyMywgJ2FiYyddKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjNdLCBbJ2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoWzEyM10sIFtbXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyM10sIFtbMTIz
XV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyM10sIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbMTIzXSwgW1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUo
WzEyM10sIFtbMTIzXSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYyddLCB1bmRl
ZmluZWQpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnXSwgdHJ1ZSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbJ2FiYyddLCBmYWxzZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYydd
LCAwKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJ10sIC0wKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKFsnYWJjJ10sIDEyMykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYyddLCBJbmZp
bml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYyddLCAtSW5maW5pdHkpIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoWydhYmMnXSwgTmFOKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJj
J10sICcnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJ10sICdhYmMnKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFsnYWJjJ10sICd4eXonKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJj
J10sIG5ldyBEYXRlKDApKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJ10sIG5ldyBEYXRl
KDFlMykpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnXSwgbmV3IERhdGUoMWU5KSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYyddLCBbXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShb
J2FiYyddLCBbMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYyddLCBbJ2FiYyddKSBp
cyB0cnVlCitQQVNTIGNvbXBhcmUoWydhYmMnXSwgWzEyMywgJ2FiYyddKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKFsnYWJjJ10sIFsnYWJjJywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShb
J2FiYyddLCBbW11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJ10sIFtbMTIzXV0pIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnXSwgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKFsnYWJjJ10sIFtbMTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsn
YWJjJ10sIFtbMTIzXSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzLCAnYWJjJ10s
IHVuZGVmaW5lZCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzLCAnYWJjJ10sIHRydWUpIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyMywgJ2FiYyddLCBmYWxzZSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZShbMTIzLCAnYWJjJ10sIDApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyMywgJ2Fi
YyddLCAtMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzLCAnYWJjJ10sIDEyMykgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShbMTIzLCAnYWJjJ10sIEluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBj
b21wYXJlKFsxMjMsICdhYmMnXSwgLUluZmluaXR5KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsx
MjMsICdhYmMnXSwgTmFOKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjMsICdhYmMnXSwgJycp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyMywgJ2FiYyddLCAnYWJjJykgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbMTIzLCAnYWJjJ10sICd4eXonKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsx
MjMsICdhYmMnXSwgbmV3IERhdGUoMCkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyMywgJ2Fi
YyddLCBuZXcgRGF0ZSgxZTMpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjMsICdhYmMnXSwg
bmV3IERhdGUoMWU5KSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbMTIzLCAnYWJjJ10sIFtdKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjMsICdhYmMnXSwgWzEyM10pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoWzEyMywgJ2FiYyddLCBbJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsx
MjMsICdhYmMnXSwgWzEyMywgJ2FiYyddKSBpcyB0cnVlCitQQVNTIGNvbXBhcmUoWzEyMywgJ2Fi
YyddLCBbJ2FiYycsIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWzEyMywgJ2FiYyddLCBb
W11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsxMjMsICdhYmMnXSwgW1sxMjNdXSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShbMTIzLCAnYWJjJ10sIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZShbMTIzLCAnYWJjJ10sIFtbMTIzXSwgJ2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKFsxMjMsICdhYmMnXSwgW1sxMjNdLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsn
YWJjJywgMTIzXSwgdW5kZWZpbmVkKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJywgMTIz
XSwgdHJ1ZSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYycsIDEyM10sIGZhbHNlKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJywgMTIzXSwgMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShbJ2FiYycsIDEyM10sIC0wKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJywgMTIzXSwg
MTIzKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJywgMTIzXSwgSW5maW5pdHkpIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoWydhYmMnLCAxMjNdLCAtSW5maW5pdHkpIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoWydhYmMnLCAxMjNdLCBOYU4pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMn
LCAxMjNdLCAnJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYycsIDEyM10sICdhYmMnKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJywgMTIzXSwgJ3h5eicpIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoWydhYmMnLCAxMjNdLCBuZXcgRGF0ZSgwKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShbJ2FiYycsIDEyM10sIG5ldyBEYXRlKDFlMykpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydh
YmMnLCAxMjNdLCBuZXcgRGF0ZSgxZTkpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJywg
MTIzXSwgW10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnLCAxMjNdLCBbMTIzXSkgaXMg
ZmFsc2UKK1BBU1MgY29tcGFyZShbJ2FiYycsIDEyM10sIFsnYWJjJ10pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoWydhYmMnLCAxMjNdLCBbMTIzLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoWydhYmMnLCAxMjNdLCBbJ2FiYycsIDEyM10pIGlzIHRydWUKK1BBU1MgY29tcGFyZShbJ2Fi
YycsIDEyM10sIFtbXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoWydhYmMnLCAxMjNdLCBbWzEy
M11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJywgMTIzXSwgW1snYWJjJ11dKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKFsnYWJjJywgMTIzXSwgW1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoWydhYmMnLCAxMjNdLCBbWzEyM10sIDEyM10pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoW1tdXSwgdW5kZWZpbmVkKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbXV0sIHRy
dWUpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1tdXSwgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoW1tdXSwgMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbW11dLCAtMCkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShbW11dLCAxMjMpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1tdXSwgSW5m
aW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1tdXSwgLUluZmluaXR5KSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFtbXV0sIE5hTikgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbW11dLCAnJykg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShbW11dLCAnYWJjJykgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShbW11dLCAneHl6JykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbW11dLCBuZXcgRGF0ZSgwKSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShbW11dLCBuZXcgRGF0ZSgxZTMpKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKFtbXV0sIG5ldyBEYXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1td
XSwgW10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1tdXSwgWzEyM10pIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoW1tdXSwgWydhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbW11dLCBbMTIz
LCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1tdXSwgWydhYmMnLCAxMjNdKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKFtbXV0sIFtbXV0pIGlzIHRydWUKK1BBU1MgY29tcGFyZShbW11d
LCBbWzEyM11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbXV0sIFtbJ2FiYyddXSkgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShbW11dLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShbW11dLCBbWzEyM10sIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwg
dW5kZWZpbmVkKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXV0sIHRydWUpIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoW1sxMjNdXSwgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sx
MjNdXSwgMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM11dLCAtMCkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbWzEyM11dLCAxMjMpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwg
SW5maW5pdHkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwgLUluZmluaXR5KSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXV0sIE5hTikgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShb
WzEyM11dLCAnJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM11dLCAnYWJjJykgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShbWzEyM11dLCAneHl6JykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShb
WzEyM11dLCBuZXcgRGF0ZSgwKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM11dLCBuZXcg
RGF0ZSgxZTMpKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXV0sIG5ldyBEYXRlKDFlOSkp
IGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwgW10pIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoW1sxMjNdXSwgWzEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwgWydhYmMn
XSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM11dLCBbMTIzLCAnYWJjJ10pIGlzIGZhbHNl
CitQQVNTIGNvbXBhcmUoW1sxMjNdXSwgWydhYmMnLCAxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21w
YXJlKFtbMTIzXV0sIFtbXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdXSwgW1sxMjNd
XSkgaXMgdHJ1ZQorUEFTUyBjb21wYXJlKFtbMTIzXV0sIFtbJ2FiYyddXSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbWzEyM11dLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShbWzEyM11dLCBbWzEyM10sIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1snYWJjJ11d
LCB1bmRlZmluZWQpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1snYWJjJ11dLCB0cnVlKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKFtbJ2FiYyddXSwgZmFsc2UpIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoW1snYWJjJ11dLCAwKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbJ2FiYyddXSwgLTApIGlz
IGZhbHNlCitQQVNTIGNvbXBhcmUoW1snYWJjJ11dLCAxMjMpIGlzIGZhbHNlCitQQVNTIGNvbXBh
cmUoW1snYWJjJ11dLCBJbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWydhYmMnXV0s
IC1JbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWydhYmMnXV0sIE5hTikgaXMgZmFs
c2UKK1BBU1MgY29tcGFyZShbWydhYmMnXV0sICcnKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtb
J2FiYyddXSwgJ2FiYycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1snYWJjJ11dLCAneHl6Jykg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWydhYmMnXV0sIG5ldyBEYXRlKDApKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFtbJ2FiYyddXSwgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShbWydhYmMnXV0sIG5ldyBEYXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sn
YWJjJ11dLCBbXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWydhYmMnXV0sIFsxMjNdKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKFtbJ2FiYyddXSwgWydhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29t
cGFyZShbWydhYmMnXV0sIFsxMjMsICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWydh
YmMnXV0sIFsnYWJjJywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWydhYmMnXV0sIFtb
XV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1snYWJjJ11dLCBbWzEyM11dKSBpcyBmYWxzZQor
UEFTUyBjb21wYXJlKFtbJ2FiYyddXSwgW1snYWJjJ11dKSBpcyB0cnVlCitQQVNTIGNvbXBhcmUo
W1snYWJjJ11dLCBbWzEyM10sICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWydhYmMn
XV0sIFtbMTIzXSwgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sICdhYmMnXSwg
dW5kZWZpbmVkKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgJ2FiYyddLCB0cnVlKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgJ2FiYyddLCBmYWxzZSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbWzEyM10sICdhYmMnXSwgMCkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEy
M10sICdhYmMnXSwgLTApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJjJ10sIDEy
MykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sICdhYmMnXSwgSW5maW5pdHkpIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJjJ10sIC1JbmZpbml0eSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbWzEyM10sICdhYmMnXSwgTmFOKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtb
MTIzXSwgJ2FiYyddLCAnJykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sICdhYmMnXSwg
J2FiYycpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJjJ10sICd4eXonKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgJ2FiYyddLCBuZXcgRGF0ZSgwKSkgaXMgZmFsc2UK
K1BBU1MgY29tcGFyZShbWzEyM10sICdhYmMnXSwgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbWzEyM10sICdhYmMnXSwgbmV3IERhdGUoMWU5KSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZShbWzEyM10sICdhYmMnXSwgW10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNd
LCAnYWJjJ10sIFsxMjNdKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgJ2FiYyddLCBb
J2FiYyddKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgJ2FiYyddLCBbMTIzLCAnYWJj
J10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAnYWJjJ10sIFsnYWJjJywgMTIzXSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sICdhYmMnXSwgW1tdXSkgaXMgZmFsc2UKK1BB
U1MgY29tcGFyZShbWzEyM10sICdhYmMnXSwgW1sxMjNdXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFy
ZShbWzEyM10sICdhYmMnXSwgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIz
XSwgJ2FiYyddLCBbWzEyM10sICdhYmMnXSkgaXMgdHJ1ZQorUEFTUyBjb21wYXJlKFtbMTIzXSwg
J2FiYyddLCBbWzEyM10sIDEyM10pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNd
LCB1bmRlZmluZWQpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNdLCB0cnVlKSBp
cyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgMTIzXSwgZmFsc2UpIGlzIGZhbHNlCitQQVNT
IGNvbXBhcmUoW1sxMjNdLCAxMjNdLCAwKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwg
MTIzXSwgLTApIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNdLCAxMjMpIGlzIGZh
bHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNdLCBJbmZpbml0eSkgaXMgZmFsc2UKK1BBU1Mg
Y29tcGFyZShbWzEyM10sIDEyM10sIC1JbmZpbml0eSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShb
WzEyM10sIDEyM10sIE5hTikgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sIDEyM10sICcn
KSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgMTIzXSwgJ2FiYycpIGlzIGZhbHNlCitQ
QVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNdLCAneHl6JykgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShb
WzEyM10sIDEyM10sIG5ldyBEYXRlKDApKSBpcyBmYWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwg
MTIzXSwgbmV3IERhdGUoMWUzKSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sIDEyM10s
IG5ldyBEYXRlKDFlOSkpIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNdLCBbXSkg
aXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sIDEyM10sIFsxMjNdKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKFtbMTIzXSwgMTIzXSwgWydhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShb
WzEyM10sIDEyM10sIFsxMjMsICdhYmMnXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10s
IDEyM10sIFsnYWJjJywgMTIzXSkgaXMgZmFsc2UKK1BBU1MgY29tcGFyZShbWzEyM10sIDEyM10s
IFtbXV0pIGlzIGZhbHNlCitQQVNTIGNvbXBhcmUoW1sxMjNdLCAxMjNdLCBbWzEyM11dKSBpcyBm
YWxzZQorUEFTUyBjb21wYXJlKFtbMTIzXSwgMTIzXSwgW1snYWJjJ11dKSBpcyBmYWxzZQorUEFT
UyBjb21wYXJlKFtbMTIzXSwgMTIzXSwgW1sxMjNdLCAnYWJjJ10pIGlzIGZhbHNlCitQQVNTIGNv
bXBhcmUoW1sxMjNdLCAxMjNdLCBbWzEyM10sIDEyM10pIGlzIHRydWUKK1BBU1Mgc3VjY2Vzc2Z1
bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Ita2V5LW9yZGVyLmh0bWwgYi9MYXlvdXRUZXN0
cy9zdG9yYWdlL2luZGV4ZWRkYi9jdXJzb3Ita2V5LW9yZGVyLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGI5
MDk5NzZjZjgzMzlmMGViNjQ1ZTY4Nzc0YmIxMzVhZmVhYTYzYQotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2N1cnNvci1rZXktb3JkZXIuaHRtbApAQCAt
MCwwICsxLDI0MiBAQAorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBz
cmM9Ii4uLy4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxz
Y3JpcHQ+CisKK2Rlc2NyaXB0aW9uKCJUZXN0IEluZGV4ZWREQiBrZXlzIG9yZGVyaW5nIGFuZCBy
ZWFkYmFjayBmcm9tIGN1cnNvcnMuIik7CitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKworZnVuY3Rpb24g
dGVzdCgpCit7CisgICAgZXZhbEFuZExvZygiaW5kZXhlZERCID0gd2luZG93LmluZGV4ZWREQiB8
fCB3aW5kb3cud2Via2l0SW5kZXhlZERCIHx8IHdpbmRvdy5tb3pJbmRleGVkREI7Iik7CisgICAg
c2hvdWxkQmVGYWxzZSgiaW5kZXhlZERCID09IG51bGwiKTsKKyAgICBldmFsQW5kTG9nKCJJREJD
dXJzb3IgPSB3aW5kb3cuSURCQ3Vyc29yIHx8IHdpbmRvdy53ZWJraXRJREJDdXJzb3I7Iik7Cisg
ICAgc2hvdWxkQmVGYWxzZSgiSURCQ3Vyc29yID09IG51bGwiKTsKKyAgICBldmFsQW5kTG9nKCJJ
REJUcmFuc2FjdGlvbiA9IHdpbmRvdy5JREJUcmFuc2FjdGlvbiB8fCB3aW5kb3cud2Via2l0SURC
VHJhbnNhY3Rpb24iKTsKKyAgICBzaG91bGRCZUZhbHNlKCJJREJUcmFuc2FjdGlvbiA9PSBudWxs
Iik7CisKKyAgICBwcmVwYXJlRGF0YWJhc2UoKTsKK30KKworZnVuY3Rpb24gcHJlcGFyZURhdGFi
YXNlKCkKK3sKKyAgICBkZWJ1ZygiIik7CisgICAgZXZhbEFuZExvZygib3BlbnJlcSA9IGluZGV4
ZWREQi5vcGVuKCdjdXJzb3Ita2V5LW9yZGVyJykiKTsKKyAgICBvcGVucmVxLm9uZXJyb3IgPSB1
bmV4cGVjdGVkRXJyb3JDYWxsYmFjazsKKyAgICBvcGVucmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9u
KCkgeworICAgICAgICBldmFsQW5kTG9nKCJkYiA9IG9wZW5yZXEucmVzdWx0Iik7CisgICAgICAg
IGV2YWxBbmRMb2coInZlcnJlcSA9IGRiLnNldFZlcnNpb24oJzEnKSIpOworICAgICAgICB2ZXJy
ZXEub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgICAgICB2ZXJyZXEub25z
dWNjZXNzID0gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICBldmFsQW5kTG9nKCJkYi5jcmVhdGVP
YmplY3RTdG9yZSgnc3RvcmUnKSIpOworICAgICAgICAgICAgdmVycmVxLnJlc3VsdC5vbmNvbXBs
ZXRlID0gcG9wdWxhdGVTdG9yZTsKKyAgICAgICAgfTsKKyAgICB9OworfQorCit3aW5kb3cua2V5
cyA9IFsKKyAgICAiLUluZmluaXR5IiwKKyAgICAiLU51bWJlci5NQVhfVkFMVUUiLAorICAgICIt
MSIsCisgICAgIi1OdW1iZXIuTUlOX1ZBTFVFIiwKKyAgICAiMCIsCisgICAgIk51bWJlci5NSU5f
VkFMVUUiLAorICAgICIxIiwKKyAgICAiTnVtYmVyLk1BWF9WQUxVRSIsCisgICAgIkluZmluaXR5
IiwKKworICAgICJuZXcgRGF0ZSgwKSIsCisgICAgIm5ldyBEYXRlKDEwMDApIiwKKyAgICAibmV3
IERhdGUoMTMxNzM5OTkzMTAyMykiLAorCisgICAgIicnIiwKKyAgICAiJ1x4MDAnIiwKKyAgICAi
J2EnIiwKKyAgICAiJ2FhJyIsCisgICAgIidiJyIsCisgICAgIidiYSciLAorCisgICAgIidceEEy
JyIsIC8vIFUrMDBBMiBDRU5UIFNJR04KKyAgICAiJ1x1NkMzNCciLCAvLyBVKzZDMzQgQ0pLIFVO
SUZJRUQgSURFT0dSQVBIICh3YXRlcikKKyAgICAiJ1x1RDgzNFx1REQxRSciLCAvLyBVKzFEMTFF
IE1VU0lDQUwgU1lNQk9MIEctQ0xFRiAoVVRGLTE2IHN1cnJvZ2F0ZSBwYWlyKQorICAgICInXHVG
RkZEJyIsIC8vIFUrRkZGRCBSRVBMQUNFTUVOVCBDSEFSQUNURVIKKworICAgICJbXSIsCisKKyAg
ICAiWy1JbmZpbml0eV0iLAorICAgICJbLU51bWJlci5NQVhfVkFMVUVdIiwKKyAgICAiWy0xXSIs
CisgICAgIlstTnVtYmVyLk1JTl9WQUxVRV0iLAorICAgICJbMF0iLAorICAgICJbTnVtYmVyLk1J
Tl9WQUxVRV0iLAorICAgICJbMV0iLAorICAgICJbTnVtYmVyLk1BWF9WQUxVRV0iLAorICAgICJb
SW5maW5pdHldIiwKKworICAgICJbbmV3IERhdGUoMCldIiwKKyAgICAiW25ldyBEYXRlKDEwMDAp
XSIsCisgICAgIltuZXcgRGF0ZSgxMzE3Mzk5OTMxMDIzKV0iLAorCisgICAgIlsnJ10iLAorICAg
ICJbJ1x4MDAnXSIsCisgICAgIlsnYSddIiwKKyAgICAiWydhYSddIiwKKyAgICAiWydiJ10iLAor
ICAgICJbJ2JhJ10iLAorCisgICAgIlsnXHhBMiddIiwgLy8gVSswMEEyIENFTlQgU0lHTgorICAg
ICJbJ1x1NkMzNCddIiwgLy8gVSs2QzM0IENKSyBVTklGSUVEIElERU9HUkFQSCAod2F0ZXIpCisg
ICAgIlsnXHVEODM0XHVERDFFJ10iLCAvLyBVKzFEMTFFIE1VU0lDQUwgU1lNQk9MIEctQ0xFRiAo
VVRGLTE2IHN1cnJvZ2F0ZSBwYWlyKQorICAgICJbJ1x1RkZGRCddIiwgLy8gVStGRkZEIFJFUExB
Q0VNRU5UIENIQVJBQ1RFUgorCisgICAgIltbXV0iLAorCisgICAgIltbXSwgW11dIiwKKyAgICAi
W1tdLCBbXSwgW11dIiwKKworICAgICJbW1tdXV0iLAorICAgICJbW1tbXV1dXSIKK107CisKK2Z1
bmN0aW9uIGNvbXBhcmUoYSwgYikKK3sKKyAgICBpZiAodHlwZW9mIGEgIT09IHR5cGVvZiBiKSB7
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisKKyAgICBzd2l0Y2ggKHR5cGVvZiBhKSB7
CisgICAgICAgIGNhc2UgJ3VuZGVmaW5lZCc6IC8vIE5vdCB2YWxpZCBrZXlzLCBidXQgY29tcGFy
ZSBhbnl3YXkuCisgICAgICAgIGNhc2UgJ2Jvb2xlYW4nOiAvLyBOb3QgdmFsaWQga2V5cywgYnV0
IGNvbXBhcmUgYW55d2F5LgorICAgICAgICBjYXNlICdzdHJpbmcnOgorICAgICAgICAgICAgcmV0
dXJuIGEgPT09IGI7CisgICAgICAgIGNhc2UgJ251bWJlcic6CisgICAgICAgICAgICBpZiAoYSA9
PT0gYikgeworICAgICAgICAgICAgICAgIHJldHVybiAoYSAhPT0gMCkgfHwgKDEgLyBhID09PSAx
IC8gYik7IC8vIDAgaXNuJ3QgLTAKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAg
ICAgcmV0dXJuIGEgIT09IGEgJiYgYiAhPT0gYjsgLy8gTmFOIGlzIE5hTgorICAgICAgICAgICAg
fQorICAgICAgICBjYXNlICdvYmplY3QnOgorICAgICAgICAgICAgaWYgKGEgaW5zdGFuY2VvZiBE
YXRlICYmIGIgaW5zdGFuY2VvZiBEYXRlKSB7CisgICAgICAgICAgICAgICAgcmV0dXJuICthID09
PSArYjsKKyAgICAgICAgICAgIH0gZWxzZSBpZiAoYSBpbnN0YW5jZW9mIEFycmF5ICYmIGIgaW5z
dGFuY2VvZiBBcnJheSkgeworICAgICAgICAgICAgICAgIGlmIChhLmxlbmd0aCAhPT0gYi5sZW5n
dGgpIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgICAg
IH0KKyAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGEubGVuZ3RoOyBpKyspIHsK
KyAgICAgICAgICAgICAgICAgICAgaWYgKCFjb21wYXJlKGFbaV0sIGJbaV0pKSB7CisgICAgICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAg
ICB9CisgICAgICAgICAgICAvLyBGb3IgdGhlIHB1cnBvc2VzIG9mIHRoaXMgdGVzdCwgb3RoZXIg
b2JqZWN0cyBkb24ndCBjb3VudAorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBk
ZWZhdWx0OgorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KK30KKworZnVuY3Rpb24g
cG9wdWxhdGVTdG9yZSgpCit7CisgICAgZGVidWcoIiIpOworICAgIGRlYnVnKCJwb3B1bGF0aW5n
IHN0b3JlLi4uIik7CisgICAgZXZhbEFuZExvZygidHJhbnMgPSBkYi50cmFuc2FjdGlvbignc3Rv
cmUnLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOworICAgIGV2YWxBbmRMb2coInN0b3Jl
ID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlJyk7Iik7CisgICAgdHJhbnMub25lcnJvciA9IHVu
ZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAgIHRyYW5zLm9uYWJvcnQgPSB1bmV4cGVjdGVkQWJv
cnRDYWxsYmFjazsKKyAgICB2YXIgY291bnQgPSAwOworICAgIGtleXMuZm9yRWFjaChmdW5jdGlv
bihrZXkpIHsKKyAgICAgICAgZXZhbEFuZExvZygic3RvcmUucHV0KCIgKyAoY291bnQrKykgKyAi
LCAiICsga2V5ICsgIikiKTsKKyAgICB9KTsKKyAgICB0cmFucy5vbmNvbXBsZXRlID0gY2hlY2tT
dG9yZTsKK30KKworZnVuY3Rpb24gY2hlY2tTdG9yZSgpCit7CisgICAgZGVidWcoIiIpOworICAg
IGRlYnVnKCJpdGVyYXRpbmcgY3Vyc29yLi4uIik7CisgICAgZXZhbEFuZExvZygidHJhbnMgPSBk
Yi50cmFuc2FjdGlvbignc3RvcmUnLCBJREJUcmFuc2FjdGlvbi5SRUFEX09OTFkpIik7CisgICAg
ZXZhbEFuZExvZygic3RvcmUgPSB0cmFucy5vYmplY3RTdG9yZSgnc3RvcmUnKTsiKTsKKyAgICB0
cmFucy5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAgdHJhbnMub25hYm9y
dCA9IHVuZXhwZWN0ZWRBYm9ydENhbGxiYWNrOworICAgIGV2YWxBbmRMb2coImNvdW50ID0gMCIp
OworICAgIGN1cnJlcSA9IGV2YWxBbmRMb2coImN1cnJlcSA9IHN0b3JlLm9wZW5DdXJzb3IoKSIp
OworICAgIGN1cnJlcS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9yQ2FsbGJhY2s7CisgICAgY3Vy
cmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgeworICAgICAgICBpZiAoY3VycmVxLnJlc3VsdCkg
eworICAgICAgICAgICAgZXZhbEFuZExvZygiY3Vyc29yID0gY3VycmVxLnJlc3VsdCIpOworICAg
ICAgICAgICAgc2hvdWxkQmVUcnVlKCJjb21wYXJlKGN1cnNvci5rZXksICIgKyBrZXlzW2NvdW50
XSArICIpIik7CisgICAgICAgICAgICBldmFsQW5kTG9nKCJnZXRyZXEgPSBzdG9yZS5nZXQoY3Vy
c29yLmtleSkiKTsKKyAgICAgICAgICAgIGdldHJlcS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9y
Q2FsbGJhY2s7CisgICAgICAgICAgICBnZXRyZXEub25zdWNjZXNzID0gZnVuY3Rpb24oKSB7Cisg
ICAgICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJnZXRyZXEucmVzdWx0ID09PSBjb3VudCsrIik7
CisgICAgICAgICAgICAgICAgY3Vyc29yLmNvbnRpbnVlKCk7CisgICAgICAgICAgICB9OworICAg
ICAgICB9IGVsc2UgeworICAgICAgICAgICAgc2hvdWxkQmVUcnVlKCJjb3VudCA9PT0ga2V5cy5s
ZW5ndGgiKTsKKyAgICAgICAgICAgIGZpbmlzaFVwKCk7CisgICAgICAgIH0KKyAgICB9OworfQor
CitmdW5jdGlvbiBmaW5pc2hVcCgpCit7CisgICAgdGVzdEtleUNvbXBhcmUoKTsKKyAgICBkb25l
KCk7Cit9CisKK2Z1bmN0aW9uIHRlc3RLZXlDb21wYXJlKCkKK3sKKyAgICBkZWJ1ZygiIik7Cisg
ICAgZGVidWcoInZhbGlkYXRlIGNvbXBhcmUgZnVuY3Rpb24iKTsKKyAgICB2YXIgY2FzZXMgPSBb
CisgICAgICAgICJ1bmRlZmluZWQiLAorICAgICAgICAidHJ1ZSIsCisgICAgICAgICJmYWxzZSIs
CisgICAgICAgICIwIiwKKyAgICAgICAgIi0wIiwKKyAgICAgICAgIjEyMyIsCisgICAgICAgICJJ
bmZpbml0eSIsCisgICAgICAgICItSW5maW5pdHkiLAorICAgICAgICAiTmFOIiwKKyAgICAgICAg
IicnIiwKKyAgICAgICAgIidhYmMnIiwKKyAgICAgICAgIid4eXonIiwKKyAgICAgICAgIm5ldyBE
YXRlKDApIiwKKyAgICAgICAgIm5ldyBEYXRlKDFlMykiLAorICAgICAgICAibmV3IERhdGUoMWU5
KSIsCisgICAgICAgICJbXSIsCisgICAgICAgICJbMTIzXSIsCisgICAgICAgICJbJ2FiYyddIiwK
KyAgICAgICAgIlsxMjMsICdhYmMnXSIsCisgICAgICAgICJbJ2FiYycsIDEyM10iLAorICAgICAg
ICAiW1tdXSIsCisgICAgICAgICJbWzEyM11dIiwKKyAgICAgICAgIltbJ2FiYyddXSIsCisgICAg
ICAgICJbWzEyM10sICdhYmMnXSIsCisgICAgICAgICJbWzEyM10sIDEyM10iCisgICAgXTsKKwor
ICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2FzZXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgZm9y
ICh2YXIgaiA9IDA7IGogPCBjYXNlcy5sZW5ndGg7ICsraikgeworICAgICAgICAgICAgaWYgKGkg
PT09IGopIHsKKyAgICAgICAgICAgICAgICBzaG91bGRCZVRydWUoImNvbXBhcmUoIiArIGNhc2Vz
W2ldICsgIiwgIiArIGNhc2VzW2pdICsgIikiKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAg
ICAgICAgICAgICAgc2hvdWxkQmVGYWxzZSgiY29tcGFyZSgiICsgY2FzZXNbaV0gKyAiLCAiICsg
Y2FzZXNbal0gKyAiKSIpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorfQorCit0
ZXN0KCk7CisKKzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1jbXAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFjdG9yeS1jbXAtZXhwZWN0ZWQudHh0CmluZGV4IDI2
YmUxODI1YWZlMzdiYjg5OTc2Y2UxMTlkMmU3NWE4MzVkMTM0YjMuLjE5ZjU1NDQwOTM5N2NhNGU4
MTU3ZGI1YTdhZjEzNzllNzY4NjJlMzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2ZhY3RvcnktY21wLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9mYWN0b3J5LWNtcC1leHBlY3RlZC50eHQKQEAgLTEwLDcgKzEwLDYgQEAg
UEFTUyBJREJEYXRhYmFzZUV4Y2VwdGlvbiA9PSBudWxsIGlzIGZhbHNlCiBQQVNTIHR5cGVvZiBp
bmRleGVkREIuY21wID09PSAnZnVuY3Rpb24nIGlzIHRydWUKIAogY29tcGFyZSB2YWxpZCBrZXlz
Ci0oQXJyYXkga2V5cyBhcmUgbm90IHlldCBpbXBsZW1lbnRlZCBzbyBtYW55IHRlc3RzIHdpbGwg
ZmFpbCkKIFBBU1MgaW5kZXhlZERCLmNtcCgtSW5maW5pdHksLU51bWJlci5NQVhfVkFMVUUpID09
PSAtMSBpcyB0cnVlCiBQQVNTIGluZGV4ZWREQi5jbXAoLU51bWJlci5NQVhfVkFMVUUsLUluZmlu
aXR5KSA9PT0gMSBpcyB0cnVlCiBQQVNTIGluZGV4ZWREQi5jbXAoLUluZmluaXR5LC1JbmZpbml0
eSkgPT09IDAgaXMgdHJ1ZQpAQCAtOTUsMTE4ICs5NCwxMTggQEAgUEFTUyBpbmRleGVkREIuY21w
KCfwnYSeJywn77+9JykgPT09IC0xIGlzIHRydWUKIFBBU1MgaW5kZXhlZERCLmNtcCgn77+9Jywn
8J2EnicpID09PSAxIGlzIHRydWUKIFBBU1MgaW5kZXhlZERCLmNtcCgn8J2EnicsJ/CdhJ4nKSA9
PT0gMCBpcyB0cnVlCiBQQVNTIGluZGV4ZWREQi5jbXAoJ++/vScsJ++/vScpID09PSAwIGlzIHRy
dWUKLUZBSUwgaW5kZXhlZERCLmNtcCgn77+9JyxbXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBU
aHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9u
IDUKLUZBSUwgaW5kZXhlZERCLmNtcChbXSwn77+9JykgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24g
NQorUEFTUyBpbmRleGVkREIuY21wKCfvv70nLFtdKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRl
eGVkREIuY21wKFtdLCfvv70nKSA9PT0gMSBpcyB0cnVlCiBQQVNTIGluZGV4ZWREQi5jbXAoJ++/
vScsJ++/vScpID09PSAwIGlzIHRydWUKLUZBSUwgaW5kZXhlZERCLmNtcChbXSxbXSkgPT09IDAg
c2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJE
YXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtdLFstSW5maW5pdHldKSA9
PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERP
TSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFstSW5maW5pdHld
LFtdKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VS
UjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW10sW10p
ID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBE
T00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbLUluZmluaXR5
XSxbLUluZmluaXR5XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIu
Y21wKFstSW5maW5pdHldLFstMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdKSA9PT0gLTEgc2hvdWxk
IGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFz
ZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFstMS43OTc2OTMxMzQ4NjIzMTU3ZSsz
MDhdLFstSW5maW5pdHldKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWRE
Qi5jbXAoWy1JbmZpbml0eV0sWy1JbmZpbml0eV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJl
dyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUK
LUZBSUwgaW5kZXhlZERCLmNtcChbLTEuNzk3NjkzMTM0ODYyMzE1N2UrMzA4XSxbLTEuNzk3Njkz
MTM0ODYyMzE1N2UrMzA4XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBF
cnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVk
REIuY21wKFstMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdLFstMV0pID09PSAtMSBzaG91bGQgYmUg
dHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4
Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWy0xXSxbLTEuNzk3NjkzMTM0ODYyMzE1N2Ur
MzA4XSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9F
UlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFstMS43
OTc2OTMxMzQ4NjIzMTU3ZSszMDhdLFstMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdKSA9PT0gMCBz
aG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRh
dGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWy0xXSxbLTFdKSA9PT0gMCBz
aG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRh
dGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWy0xXSxbLTVlLTMyNF0pID09
PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9N
IElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWy01ZS0zMjRdLFst
MV0pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJS
OiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbLTFdLFst
MV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJS
OiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbLTVlLTMy
NF0sWy01ZS0zMjRdKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9y
OiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5j
bXAoWy01ZS0zMjRdLFswXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24g
RXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhl
ZERCLmNtcChbMF0sWy01ZS0zMjRdKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGlu
ZGV4ZWREQi5jbXAoWy01ZS0zMjRdLFstNWUtMzI0XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24g
NQotRkFJTCBpbmRleGVkREIuY21wKFswXSxbMF0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJl
dyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUK
LUZBSUwgaW5kZXhlZERCLmNtcChbMF0sWzVlLTMyNF0pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4g
VGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlv
biA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWzVlLTMyNF0sWzBdKSA9PT0gMSBzaG91bGQgYmUgdHJ1
ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2Vw
dGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWzBdLFswXSkgPT09IDAgc2hvdWxkIGJlIHRydWUu
IFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRp
b24gNQotRkFJTCBpbmRleGVkREIuY21wKFs1ZS0zMjRdLFs1ZS0zMjRdKSA9PT0gMCBzaG91bGQg
YmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNl
IEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWzVlLTMyNF0sWzFdKSA9PT0gLTEgc2hv
dWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRh
YmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsxXSxbNWUtMzI0XSkgPT09IDEg
c2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJE
YXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFs1ZS0zMjRdLFs1ZS0zMjRd
KSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjog
RE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWzFdLFsxXSkg
PT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERP
TSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsxXSxbMS43OTc2
OTMxMzQ4NjIzMTU3ZSszMDhdKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlv
biBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRl
eGVkREIuY21wKFsxLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0sWzFdKSA9PT0gMSBzaG91bGQgYmUg
dHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4
Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWzFdLFsxXSkgPT09IDAgc2hvdWxkIGJlIHRy
dWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNl
cHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsxLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0sWzEu
Nzk3NjkzMTM0ODYyMzE1N2UrMzA4XSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2Vw
dGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBp
bmRleGVkREIuY21wKFsxLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0sW0luZmluaXR5XSkgPT09IC0x
IHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURC
RGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbSW5maW5pdHldLFsxLjc5
NzY5MzEzNDg2MjMxNTdlKzMwOF0pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRp
b24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5k
ZXhlZERCLmNtcChbMS43OTc2OTMxMzQ4NjIzMTU3ZSszMDhdLFsxLjc5NzY5MzEzNDg2MjMxNTdl
KzMwOF0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFf
RVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbSW5m
aW5pdHldLFtJbmZpbml0eV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24g
RXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhl
ZERCLmNtcChbSW5maW5pdHldLFtuZXcgRGF0ZSgwKV0pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4g
VGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlv
biA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDApXSxbSW5maW5pdHldKSA9PT0gMSBz
aG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRh
dGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW0luZmluaXR5XSxbSW5maW5p
dHldKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VS
UjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW25ldyBE
YXRlKDApXSxbbmV3IERhdGUoMCldKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGlu
ZGV4ZWREQi5jbXAoW25ldyBEYXRlKDApXSxbbmV3IERhdGUoMTAwMCldKSA9PT0gLTEgc2hvdWxk
IGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFz
ZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgxMDAwKV0sW25ldyBE
YXRlKDApXSkgPT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFU
QV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtu
ZXcgRGF0ZSgwKV0sW25ldyBEYXRlKDApXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJ
TCBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgxMDAwKV0sW25ldyBEYXRlKDEwMDApXSkgPT09IDAg
c2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJE
YXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgxMDAwKV0s
W25ldyBEYXRlKDEzMTczOTk5MzEwMjMpXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBl
eGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZB
SUwgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldLFtuZXcgRGF0ZSgxMDAw
KV0pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJS
OiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbbmV3IERh
dGUoMTAwMCldLFtuZXcgRGF0ZSgxMDAwKV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBl
eGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZB
SUwgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldLFtuZXcgRGF0ZSgxMzE3
Mzk5OTMxMDIzKV0pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6
IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNt
cChbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldLFsnJ10pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4g
VGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlv
biA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWycnXSxbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldKSA9
PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9N
IElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDEz
MTczOTk5MzEwMjMpXSxbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldKSA9PT0gMCBzaG91bGQgYmUg
dHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4
Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWycnXSxbJyddKSA9PT0gMCBzaG91bGQgYmUg
dHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4
Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWycnXSxbJ1wwJ10pID09PSAtMSBzaG91bGQg
YmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNl
IEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydcMCddLFsnJ10pID09PSAxIHNob3Vs
ZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJh
c2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJyddLFsnJ10pID09PSAwIHNob3Vs
ZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJh
c2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ1wwJ10sWydcMCddKSA9PT0gMCBz
aG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRh
dGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydcMCddLFsnYSddKSA9PT0g
LTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJ
REJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnYSddLFsnXDAnXSkg
PT09IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERP
TSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnXDAnXSxbJ1ww
J10pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJS
OiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ2EnXSxb
J2EnXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9F
UlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnYSdd
LFsnYWEnXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERB
VEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChb
J2FhJ10sWydhJ10pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6
IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNt
cChbJ2EnXSxbJ2EnXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJv
cjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIu
Y21wKFsnYWEnXSxbJ2FhJ10pID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24g
RXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhl
ZERCLmNtcChbJ2FhJ10sWydiJ10pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0
aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGlu
ZGV4ZWREQi5jbXAoWydiJ10sWydhYSddKSA9PT0gMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlM
IGluZGV4ZWREQi5jbXAoWydhYSddLFsnYWEnXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQot
RkFJTCBpbmRleGVkREIuY21wKFsnYiddLFsnYiddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhy
ZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1
Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydiJ10sWydiYSddKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUu
IFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRp
b24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnYmEnXSxbJ2InXSkgPT09IDEgc2hvdWxkIGJlIHRy
dWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNl
cHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnYiddLFsnYiddKSA9PT0gMCBzaG91bGQgYmUg
dHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4
Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWydiYSddLFsnYmEnXSkgPT09IDAgc2hvdWxk
IGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFz
ZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnYmEnXSxbJ8KiJ10pID09PSAtMSBz
aG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRh
dGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfCoiddLFsnYmEnXSkgPT09
IDEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJ
REJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsnYmEnXSxbJ2JhJ10p
ID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBE
T00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ8KiJ10sWyfC
oiddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VS
UjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfCoidd
LFsn5rC0J10pID09PSAtMSBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBE
QVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAo
WyfmsLQnXSxbJ8KiJ10pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJy
b3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERC
LmNtcChbJ8KiJ10sWyfCoiddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9u
IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4
ZWREQi5jbXAoWyfmsLQnXSxbJ+awtCddKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhj
ZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlM
IGluZGV4ZWREQi5jbXAoWyfmsLQnXSxbJ/CdhJ4nXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBU
aHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9u
IDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ/CdhJ4nXSxbJ+awtCddKSA9PT0gMSBzaG91bGQgYmUg
dHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4
Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfmsLQnXSxbJ+awtCddKSA9PT0gMCBzaG91
bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFi
YXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoWyfwnYSeJ10sWyfwnYSeJ10pID09
PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00g
SURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ/CdhJ4nXSxbJ++/
vSddKSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9F
UlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFsn77+9
J10sWyfwnYSeJ10pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6
IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNt
cChbJ/CdhJ4nXSxbJ/CdhJ4nXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlv
biBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRl
eGVkREIuY21wKFsn77+9J10sWyfvv70nXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4
Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJ
TCBpbmRleGVkREIuY21wKFsn77+9J10sW1tdXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJl
dyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUK
LUZBSUwgaW5kZXhlZERCLmNtcChbW11dLFsn77+9J10pID09PSAxIHNob3VsZCBiZSB0cnVlLiBU
aHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9u
IDUKLUZBSUwgaW5kZXhlZERCLmNtcChbJ++/vSddLFsn77+9J10pID09PSAwIHNob3VsZCBiZSB0
cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhj
ZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW11dLFtbXV0pID09PSAwIHNob3VsZCBiZSB0
cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhj
ZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW11dLFtbXSwgW11dKSA9PT0gLTEgc2hvdWxk
IGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFz
ZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtbXSwgW11dLFtbXV0pID09PSAxIHNo
b3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0
YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW11dLFtbXV0pID09PSAwIHNo
b3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0
YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW10sIFtdXSxbW10sIFtdXSkg
PT09IDAgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERP
TSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtbXSwgW11dLFtb
XSwgW10sIFtdXSkgPT09IC0xIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6
IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNt
cChbW10sIFtdLCBbXV0sW1tdLCBbXV0pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNl
cHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwg
aW5kZXhlZERCLmNtcChbW10sIFtdXSxbW10sIFtdXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24g
NQotRkFJTCBpbmRleGVkREIuY21wKFtbXSwgW10sIFtdXSxbW10sIFtdLCBbXV0pID09PSAwIHNo
b3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0
YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW10sIFtdLCBbXV0sW1tbXV1d
KSA9PT0gLTEgc2hvdWxkIGJlIHRydWUuIFRocmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6
IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQotRkFJTCBpbmRleGVkREIuY21wKFtbW11dXSxb
W10sIFtdLCBbXV0pID09PSAxIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6
IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNt
cChbW10sIFtdLCBbXV0sW1tdLCBbXSwgW11dKSA9PT0gMCBzaG91bGQgYmUgdHJ1ZS4gVGhyZXcg
ZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1G
QUlMIGluZGV4ZWREQi5jbXAoW1tbXV1dLFtbW11dXSkgPT09IDAgc2hvdWxkIGJlIHRydWUuIFRo
cmV3IGV4Y2VwdGlvbiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24g
NQotRkFJTCBpbmRleGVkREIuY21wKFtbW11dXSxbW1tbXV1dXSkgPT09IC0xIHNob3VsZCBiZSB0
cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhj
ZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW1tbXV1dXSxbW1tdXV0pID09PSAxIHNob3Vs
ZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJh
c2UgRXhjZXB0aW9uIDUKLUZBSUwgaW5kZXhlZERCLmNtcChbW1tdXV0sW1tbXV1dKSA9PT0gMCBz
aG91bGQgYmUgdHJ1ZS4gVGhyZXcgZXhjZXB0aW9uIEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRh
dGFiYXNlIEV4Y2VwdGlvbiA1Ci1GQUlMIGluZGV4ZWREQi5jbXAoW1tbW11dXV0sW1tbW11dXV0p
ID09PSAwIHNob3VsZCBiZSB0cnVlLiBUaHJldyBleGNlcHRpb24gRXJyb3I6IERBVEFfRVJSOiBE
T00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKK1BBU1MgaW5kZXhlZERCLmNtcChbXSxbXSkgPT09
IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtdLFstSW5maW5pdHldKSA9PT0gLTEgaXMg
dHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFstSW5maW5pdHldLFtdKSA9PT0gMSBpcyB0cnVlCitQ
QVNTIGluZGV4ZWREQi5jbXAoW10sW10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNt
cChbLUluZmluaXR5XSxbLUluZmluaXR5XSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIu
Y21wKFstSW5maW5pdHldLFstTnVtYmVyLk1BWF9WQUxVRV0pID09PSAtMSBpcyB0cnVlCitQQVNT
IGluZGV4ZWREQi5jbXAoWy1OdW1iZXIuTUFYX1ZBTFVFXSxbLUluZmluaXR5XSkgPT09IDEgaXMg
dHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFstSW5maW5pdHldLFstSW5maW5pdHldKSA9PT0gMCBp
cyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWy1OdW1iZXIuTUFYX1ZBTFVFXSxbLU51bWJlci5N
QVhfVkFMVUVdKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWy1OdW1iZXIuTUFY
X1ZBTFVFXSxbLTFdKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFstMV0sWy1O
dW1iZXIuTUFYX1ZBTFVFXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFstTnVt
YmVyLk1BWF9WQUxVRV0sWy1OdW1iZXIuTUFYX1ZBTFVFXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBp
bmRleGVkREIuY21wKFstMV0sWy0xXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21w
KFstMV0sWy1OdW1iZXIuTUlOX1ZBTFVFXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERC
LmNtcChbLU51bWJlci5NSU5fVkFMVUVdLFstMV0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhl
ZERCLmNtcChbLTFdLFstMV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbLU51
bWJlci5NSU5fVkFMVUVdLFstTnVtYmVyLk1JTl9WQUxVRV0pID09PSAwIGlzIHRydWUKK1BBU1Mg
aW5kZXhlZERCLmNtcChbLU51bWJlci5NSU5fVkFMVUVdLFswXSkgPT09IC0xIGlzIHRydWUKK1BB
U1MgaW5kZXhlZERCLmNtcChbMF0sWy1OdW1iZXIuTUlOX1ZBTFVFXSkgPT09IDEgaXMgdHJ1ZQor
UEFTUyBpbmRleGVkREIuY21wKFstTnVtYmVyLk1JTl9WQUxVRV0sWy1OdW1iZXIuTUlOX1ZBTFVF
XSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFswXSxbMF0pID09PSAwIGlzIHRy
dWUKK1BBU1MgaW5kZXhlZERCLmNtcChbMF0sW051bWJlci5NSU5fVkFMVUVdKSA9PT0gLTEgaXMg
dHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtOdW1iZXIuTUlOX1ZBTFVFXSxbMF0pID09PSAxIGlz
IHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbMF0sWzBdKSA9PT0gMCBpcyB0cnVlCitQQVNTIGlu
ZGV4ZWREQi5jbXAoW051bWJlci5NSU5fVkFMVUVdLFtOdW1iZXIuTUlOX1ZBTFVFXSkgPT09IDAg
aXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtOdW1iZXIuTUlOX1ZBTFVFXSxbMV0pID09PSAt
MSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWzFdLFtOdW1iZXIuTUlOX1ZBTFVFXSkgPT09
IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtOdW1iZXIuTUlOX1ZBTFVFXSxbTnVtYmVy
Lk1JTl9WQUxVRV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbMV0sWzFdKSA9
PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWzFdLFtOdW1iZXIuTUFYX1ZBTFVFXSkg
PT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbTnVtYmVyLk1BWF9WQUxVRV0sWzFd
KSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWzFdLFsxXSkgPT09IDAgaXMgdHJ1
ZQorUEFTUyBpbmRleGVkREIuY21wKFtOdW1iZXIuTUFYX1ZBTFVFXSxbTnVtYmVyLk1BWF9WQUxV
RV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbTnVtYmVyLk1BWF9WQUxVRV0s
W0luZmluaXR5XSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbSW5maW5pdHld
LFtOdW1iZXIuTUFYX1ZBTFVFXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtO
dW1iZXIuTUFYX1ZBTFVFXSxbTnVtYmVyLk1BWF9WQUxVRV0pID09PSAwIGlzIHRydWUKK1BBU1Mg
aW5kZXhlZERCLmNtcChbSW5maW5pdHldLFtJbmZpbml0eV0pID09PSAwIGlzIHRydWUKK1BBU1Mg
aW5kZXhlZERCLmNtcChbSW5maW5pdHldLFtuZXcgRGF0ZSgwKV0pID09PSAtMSBpcyB0cnVlCitQ
QVNTIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDApXSxbSW5maW5pdHldKSA9PT0gMSBpcyB0cnVl
CitQQVNTIGluZGV4ZWREQi5jbXAoW0luZmluaXR5XSxbSW5maW5pdHldKSA9PT0gMCBpcyB0cnVl
CitQQVNTIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDApXSxbbmV3IERhdGUoMCldKSA9PT0gMCBp
cyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW25ldyBEYXRlKDApXSxbbmV3IERhdGUoMTAwMCld
KSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgxMDAwKV0sW25l
dyBEYXRlKDApXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtuZXcgRGF0ZSgw
KV0sW25ldyBEYXRlKDApXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtuZXcg
RGF0ZSgxMDAwKV0sW25ldyBEYXRlKDEwMDApXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVk
REIuY21wKFtuZXcgRGF0ZSgxMDAwKV0sW25ldyBEYXRlKDEzMTczOTk5MzEwMjMpXSkgPT09IC0x
IGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldLFtu
ZXcgRGF0ZSgxMDAwKV0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbbmV3IERh
dGUoMTAwMCldLFtuZXcgRGF0ZSgxMDAwKV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERC
LmNtcChbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldLFtuZXcgRGF0ZSgxMzE3Mzk5OTMxMDIzKV0p
ID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbbmV3IERhdGUoMTMxNzM5OTkzMTAy
MyldLFsnJ10pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWycnXSxbbmV3IERh
dGUoMTMxNzM5OTkzMTAyMyldKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW25l
dyBEYXRlKDEzMTczOTk5MzEwMjMpXSxbbmV3IERhdGUoMTMxNzM5OTkzMTAyMyldKSA9PT0gMCBp
cyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWycnXSxbJyddKSA9PT0gMCBpcyB0cnVlCitQQVNT
IGluZGV4ZWREQi5jbXAoWycnXSxbJ1wwJ10pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWRE
Qi5jbXAoWydcMCddLFsnJ10pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJydd
LFsnJ10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ1wwJ10sWydcMCddKSA9
PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWydcMCddLFsnYSddKSA9PT0gLTEgaXMg
dHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYSddLFsnXDAnXSkgPT09IDEgaXMgdHJ1ZQorUEFT
UyBpbmRleGVkREIuY21wKFsnXDAnXSxbJ1wwJ10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhl
ZERCLmNtcChbJ2EnXSxbJ2EnXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsn
YSddLFsnYWEnXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ2FhJ10sWydh
J10pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ2EnXSxbJ2EnXSkgPT09IDAg
aXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYWEnXSxbJ2FhJ10pID09PSAwIGlzIHRydWUK
K1BBU1MgaW5kZXhlZERCLmNtcChbJ2FhJ10sWydiJ10pID09PSAtMSBpcyB0cnVlCitQQVNTIGlu
ZGV4ZWREQi5jbXAoWydiJ10sWydhYSddKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5j
bXAoWydhYSddLFsnYWEnXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYidd
LFsnYiddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWydiJ10sWydiYSddKSA9
PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYmEnXSxbJ2InXSkgPT09IDEgaXMg
dHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYiddLFsnYiddKSA9PT0gMCBpcyB0cnVlCitQQVNT
IGluZGV4ZWREQi5jbXAoWydiYSddLFsnYmEnXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVk
REIuY21wKFsnYmEnXSxbJ8KiJ10pID09PSAtMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAo
WyfCoiddLFsnYmEnXSkgPT09IDEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsnYmEnXSxb
J2JhJ10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ8KiJ10sWyfCoiddKSA9
PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfCoiddLFsn5rC0J10pID09PSAtMSBp
cyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfmsLQnXSxbJ8KiJ10pID09PSAxIGlzIHRydWUK
K1BBU1MgaW5kZXhlZERCLmNtcChbJ8KiJ10sWyfCoiddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGlu
ZGV4ZWREQi5jbXAoWyfmsLQnXSxbJ+awtCddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWRE
Qi5jbXAoWyfmsLQnXSxbJ/CdhJ4nXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNt
cChbJ/CdhJ4nXSxbJ+awtCddKSA9PT0gMSBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfm
sLQnXSxbJ+awtCddKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoWyfwnYSeJ10s
WyfwnYSeJ10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ/CdhJ4nXSxbJ++/
vSddKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsn77+9J10sWyfwnYSeJ10p
ID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbJ/CdhJ4nXSxbJ/CdhJ4nXSkgPT09
IDAgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsn77+9J10sWyfvv70nXSkgPT09IDAgaXMg
dHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFsn77+9J10sW1tdXSkgPT09IC0xIGlzIHRydWUKK1BB
U1MgaW5kZXhlZERCLmNtcChbW11dLFsn77+9J10pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhl
ZERCLmNtcChbJ++/vSddLFsn77+9J10pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNt
cChbW11dLFtbXV0pID09PSAwIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbW11dLFtbXSwg
W11dKSA9PT0gLTEgaXMgdHJ1ZQorUEFTUyBpbmRleGVkREIuY21wKFtbXSwgW11dLFtbXV0pID09
PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChbW11dLFtbXV0pID09PSAwIGlzIHRydWUK
K1BBU1MgaW5kZXhlZERCLmNtcChbW10sIFtdXSxbW10sIFtdXSkgPT09IDAgaXMgdHJ1ZQorUEFT
UyBpbmRleGVkREIuY21wKFtbXSwgW11dLFtbXSwgW10sIFtdXSkgPT09IC0xIGlzIHRydWUKK1BB
U1MgaW5kZXhlZERCLmNtcChbW10sIFtdLCBbXV0sW1tdLCBbXV0pID09PSAxIGlzIHRydWUKK1BB
U1MgaW5kZXhlZERCLmNtcChbW10sIFtdXSxbW10sIFtdXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBp
bmRleGVkREIuY21wKFtbXSwgW10sIFtdXSxbW10sIFtdLCBbXV0pID09PSAwIGlzIHRydWUKK1BB
U1MgaW5kZXhlZERCLmNtcChbW10sIFtdLCBbXV0sW1tbXV1dKSA9PT0gLTEgaXMgdHJ1ZQorUEFT
UyBpbmRleGVkREIuY21wKFtbW11dXSxbW10sIFtdLCBbXV0pID09PSAxIGlzIHRydWUKK1BBU1Mg
aW5kZXhlZERCLmNtcChbW10sIFtdLCBbXV0sW1tdLCBbXSwgW11dKSA9PT0gMCBpcyB0cnVlCitQ
QVNTIGluZGV4ZWREQi5jbXAoW1tbXV1dLFtbW11dXSkgPT09IDAgaXMgdHJ1ZQorUEFTUyBpbmRl
eGVkREIuY21wKFtbW11dXSxbW1tbXV1dXSkgPT09IC0xIGlzIHRydWUKK1BBU1MgaW5kZXhlZERC
LmNtcChbW1tbXV1dXSxbW1tdXV0pID09PSAxIGlzIHRydWUKK1BBU1MgaW5kZXhlZERCLmNtcChb
W1tdXV0sW1tbXV1dKSA9PT0gMCBpcyB0cnVlCitQQVNTIGluZGV4ZWREQi5jbXAoW1tbW11dXV0s
W1tbW11dXV0pID09PSAwIGlzIHRydWUKIAogY29tcGFyZSBpbnZhbGlkIGtleXMKIEV4cGVjdGlu
ZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKHZvaWQgMCwgdHJ1ZSkKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2ZhY3RvcnktY21wLmh0bWwgYi9MYXlvdXRU
ZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9mYWN0b3J5LWNtcC5odG1sCmluZGV4IDI5ZjZjNTZlNWJl
MzI1M2Q1NGEyYmI2MzU0OWMwMDNmMWU3ODQxMTcuLjNkMmI0ZDIxYzc2MmViYzA3MDJiYWJjZDJj
NzE2ZjhhYzEzYjQ3MGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2ZhY3RvcnktY21wLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvZmFj
dG9yeS1jbXAuaHRtbApAQCAtMzIsOCArMzIsNiBAQCBmdW5jdGlvbiB0ZXN0VmFsaWRLZXlzKCkK
ICAgICBkZWJ1ZygiIik7CiAgICAgZGVidWcoImNvbXBhcmUgdmFsaWQga2V5cyIpOwogCi0gICAg
ZGVidWcoIihBcnJheSBrZXlzIGFyZSBub3QgeWV0IGltcGxlbWVudGVkIHNvIG1hbnkgdGVzdHMg
d2lsbCBmYWlsKSIpOwotCiAgICAgdmFyIGtleXMgPSBbCiAgICAgICAgICItSW5maW5pdHkiLAog
ICAgICAgICAiLU51bWJlci5NQVhfVkFMVUUiLApAQCAtNjEsMTcgKzU5LDE2IEBAIGZ1bmN0aW9u
IHRlc3RWYWxpZEtleXMoKQogICAgICAgICAiJ1x1RDgzNFx1REQxRSciLCAvLyBVKzFEMTFFIE1V
U0lDQUwgU1lNQk9MIEctQ0xFRiAoVVRGLTE2IHN1cnJvZ2F0ZSBwYWlyKQogICAgICAgICAiJ1x1
RkZGRCciLCAvLyBVK0ZGRkQgUkVQTEFDRU1FTlQgQ0hBUkFDVEVSCiAKLSAgICAgICAgLy8gRklY
TUU6IEFycmF5IGtleXMgYXJlIE5ZSSwgYnV0IHRoZXNlIHNob3VsZCBwYXNzIG9uY2UgaW1wbGVt
ZW50ZWQKICAgICAgICAgIltdIiwKIAogICAgICAgICAiWy1JbmZpbml0eV0iLAotICAgICAgICAi
Wy0xLjc5NzY5MzEzNDg2MjMxNTdlKzMwOF0iLAorICAgICAgICAiWy1OdW1iZXIuTUFYX1ZBTFVF
XSIsCiAgICAgICAgICJbLTFdIiwKLSAgICAgICAgIlstNWUtMzI0XSIsCisgICAgICAgICJbLU51
bWJlci5NSU5fVkFMVUVdIiwKICAgICAgICAgIlswXSIsCi0gICAgICAgICJbNWUtMzI0XSIsCisg
ICAgICAgICJbTnVtYmVyLk1JTl9WQUxVRV0iLAogICAgICAgICAiWzFdIiwKLSAgICAgICAgIlsx
Ljc5NzY5MzEzNDg2MjMxNTdlKzMwOF0iLAorICAgICAgICAiW051bWJlci5NQVhfVkFMVUVdIiwK
ICAgICAgICAgIltJbmZpbml0eV0iLAogIAogICAgICAgICAiW25ldyBEYXRlKDApXSIsCkBAIC05
Niw3ICs5Myw3IEBAIGZ1bmN0aW9uIHRlc3RWYWxpZEtleXMoKQogICAgICAgICAiW1tdLCBbXSwg
W11dIiwKIAogICAgICAgICAiW1tbXV1dIiwKLSAgICAgICAgIltbW1tdXV1dIiwKKyAgICAgICAg
IltbW1tdXV1dIgogICAgIF07CiAKICAgICB2YXIgaSwga2V5MSwga2V5MjsKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9pbmRleC1iYXNpY3MtZXhwZWN0ZWQudHh0
CmluZGV4IGM1ODljODEyOTdmMWE5MzNmNTY2YzM5ZGY0MGI3ODNmZWM1ZTk3MTYuLmZkYThkYmYz
ZmI2MGU1NzgwNGI3MjkyMDA1MmQ2MWVhZmZhNGIyOWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0
VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLWV4cGVjdGVkLnR4dApAQCAtODEs
OSArODEsOSBAQCBQQVNTIGV2ZW50LnRhcmdldC5yZXN1bHQudmFsdWUueCBpcyAidmFsdWUzIgog
UEFTUyBldmVudC50YXJnZXQucmVzdWx0LnZhbHVlLnkgaXMgIjQ1NiIKIGV2ZW50LnRhcmdldC5y
ZXN1bHQuY29udGludWUoKQogUEFTUyBldmVudC50YXJnZXQucmVzdWx0ID09PSBudWxsIGlzIHRy
dWUKLVBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBpbmRleE9iamVjdC5nZXQoKS4KK1Bhc3Np
bmcgYW4gaW52YWxpZCBrZXkgaW50byBpbmRleE9iamVjdC5nZXQoe30pLgogUEFTUyBDYXVnaHQg
ZXhjZXB0aW9uOiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQot
UGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGluZGV4T2JqZWN0LmdldEtleSgpLgorUGFzc2lu
ZyBhbiBpbnZhbGlkIGtleSBpbnRvIGluZGV4T2JqZWN0LmdldEtleSh7fSkuCiBQQVNTIENhdWdo
dCBleGNlcHRpb246IEVycm9yOiBEQVRBX0VSUjogRE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1
CiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2luZGV4LWJhc2ljcy5odG1sIGIvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIvaW5kZXgtYmFzaWNzLmh0bWwKaW5kZXggMWQwNWFhZDk4YzZiMzIzZjk1
YmJkOGMxNTJjMWY2YzFkNmVmNDA2Zi4uOGJhMzdmMzRhNWU4YTliNDk1MzRjMmZmOThlMTI0MTA0
ZWQ3ZDAzZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgt
YmFzaWNzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvaW5kZXgtYmFz
aWNzLmh0bWwKQEAgLTI0MCwxNiArMjQwLDE2IEBAIGZ1bmN0aW9uIGxhc3QoKQogICAgIHNob3Vs
ZEJlVHJ1ZSgiZXZlbnQudGFyZ2V0LnJlc3VsdCA9PT0gbnVsbCIpOwogCiAgICAgdHJ5IHsKLSAg
ICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBpbmRleE9iamVjdC5nZXQo
KS4iKTsKLSAgICAgICAgaW5kZXhPYmplY3QuZ2V0KFtdKTsKKyAgICAgICAgZGVidWcoIlBhc3Np
bmcgYW4gaW52YWxpZCBrZXkgaW50byBpbmRleE9iamVjdC5nZXQoe30pLiIpOworICAgICAgICBp
bmRleE9iamVjdC5nZXQoe30pOwogICAgICAgICB0ZXN0RmFpbGVkKCJObyBleGNlcHRpb24gdGhy
b3duIik7CiAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICB0ZXN0UGFzc2VkKCJDYXVnaHQgZXhj
ZXB0aW9uOiAiICsgZS50b1N0cmluZygpKTsKICAgICB9CiAKICAgICB0cnkgewotICAgICAgICBk
ZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGluZGV4T2JqZWN0LmdldEtleSgpLiIp
OwotICAgICAgICBpbmRleE9iamVjdC5nZXRLZXkoW10pOworICAgICAgICBkZWJ1ZygiUGFzc2lu
ZyBhbiBpbnZhbGlkIGtleSBpbnRvIGluZGV4T2JqZWN0LmdldEtleSh7fSkuIik7CisgICAgICAg
IGluZGV4T2JqZWN0LmdldEtleSh7fSk7CiAgICAgICAgIHRlc3RGYWlsZWQoIk5vIGV4Y2VwdGlv
biB0aHJvd24iKTsKICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgIHRlc3RQYXNzZWQoIkNhdWdo
dCBleGNlcHRpb246ICIgKyBlLnRvU3RyaW5nKCkpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
c3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtYXJyYXktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvc3RvcmFnZS9pbmRleGVkZGIva2V5LXR5cGUtYXJyYXktZXhwZWN0ZWQudHh0Cm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmI5MmQwODhmZjIzZGYwMTlkZjU3M2MzM2U4ZTUwOWFmOTc5MTE2NzMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXktdHlwZS1hcnJheS1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwyNzAgQEAKK1Rlc3QgSW5kZXhlZERCIGtleSB0eXBlcworCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworaW5kZXhlZERCID0gd2luZG93LmluZGV4ZWRE
QiB8fCB3aW5kb3cud2Via2l0SW5kZXhlZERCIHx8IHdpbmRvdy5tb3pJbmRleGVkREI7CitQQVNT
IGluZGV4ZWREQiA9PSBudWxsIGlzIGZhbHNlCitJREJUcmFuc2FjdGlvbiA9IHdpbmRvdy5JREJU
cmFuc2FjdGlvbiB8fCB3aW5kb3cud2Via2l0SURCVHJhbnNhY3Rpb247CitQQVNTIElEQlRyYW5z
YWN0aW9uID09IG51bGwgaXMgZmFsc2UKK0lEQkRhdGFiYXNlRXhjZXB0aW9uID0gd2luZG93LklE
QkRhdGFiYXNlRXhjZXB0aW9uIHx8IHdpbmRvdy53ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbjsK
K1BBU1MgSURCRGF0YWJhc2VFeGNlcHRpb24gPT0gbnVsbCBpcyBmYWxzZQoraW5kZXhlZERCLm9w
ZW4obmFtZSwgZGVzY3JpcHRpb24pCitkYiA9IG9wZW5yZXEucmVzdWx0CityZXF1ZXN0ID0gZGIu
c2V0VmVyc2lvbignMScpCitwcmVwYXJpbmcgZGF0YWJhc2UKK0RlbGV0ZWQgYWxsIG9iamVjdCBz
dG9yZXMuCitkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnKTsKKwordHJhbnMgPSBkYi50cmFu
c2FjdGlvbignc3RvcmUnLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKQorc3RvcmUgPSB0cmFu
cy5vYmplY3RTdG9yZSgnc3RvcmUnKQorCitsb25nX2FycmF5ID0gW107IGZvciAoaSA9IDA7IGkg
PCAxMDAwOyArK2kpIHsgbG9uZ19hcnJheS5wdXNoKCdhYmMnLCAxMjMsIG5ldyBEYXRlKDApLCBb
XSk7IH0KKworYXJyYXkgdGhhdCBjb250YWlucyBub24tbnVtZXJpYyBzZWxmLXJlZmVyZW5jZQor
c2VsZl9yZWZlcnJlbnRpYWxfYXJyYXkgPSBbXTsgc2VsZl9yZWZlcnJlbnRpYWxfYXJyYXkuc2Vs
ZiA9IHNlbGZfcmVmZXJyZW50aWFsX2FycmF5OworCit0ZXN0aW5nIGFycmF5IGtleTogW10KK3N0
b3JlLnB1dCgndmFsdWUxJywgW10pOworc3RvcmUuZ2V0KFtdKTsKK1BBU1MgZ2V0cmVxLnJlc3Vs
dCBpcyAidmFsdWUxIgorCit0ZXN0aW5nIGFycmF5IGtleTogWy1JbmZpbml0eV0KK3N0b3JlLnB1
dCgndmFsdWUyJywgWy1JbmZpbml0eV0pOworc3RvcmUuZ2V0KFstSW5maW5pdHldKTsKK1BBU1Mg
Z2V0cmVxLnJlc3VsdCBpcyAidmFsdWUyIgorCit0ZXN0aW5nIGFycmF5IGtleTogWy1OdW1iZXIu
TUFYX1ZBTFVFXQorc3RvcmUucHV0KCd2YWx1ZTMnLCBbLU51bWJlci5NQVhfVkFMVUVdKTsKK3N0
b3JlLmdldChbLU51bWJlci5NQVhfVkFMVUVdKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFs
dWUzIgorCit0ZXN0aW5nIGFycmF5IGtleTogWy0xXQorc3RvcmUucHV0KCd2YWx1ZTQnLCBbLTFd
KTsKK3N0b3JlLmdldChbLTFdKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWU0IgorCit0
ZXN0aW5nIGFycmF5IGtleTogWy1OdW1iZXIuTUlOX1ZBTFVFXQorc3RvcmUucHV0KCd2YWx1ZTUn
LCBbLU51bWJlci5NSU5fVkFMVUVdKTsKK3N0b3JlLmdldChbLU51bWJlci5NSU5fVkFMVUVdKTsK
K1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWU1IgorCit0ZXN0aW5nIGFycmF5IGtleTogWzBd
CitzdG9yZS5wdXQoJ3ZhbHVlNicsIFswXSk7CitzdG9yZS5nZXQoWzBdKTsKK1BBU1MgZ2V0cmVx
LnJlc3VsdCBpcyAidmFsdWU2IgorCit0ZXN0aW5nIGFycmF5IGtleTogW051bWJlci5NSU5fVkFM
VUVdCitzdG9yZS5wdXQoJ3ZhbHVlNycsIFtOdW1iZXIuTUlOX1ZBTFVFXSk7CitzdG9yZS5nZXQo
W051bWJlci5NSU5fVkFMVUVdKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWU3IgorCit0
ZXN0aW5nIGFycmF5IGtleTogWzFdCitzdG9yZS5wdXQoJ3ZhbHVlOCcsIFsxXSk7CitzdG9yZS5n
ZXQoWzFdKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWU4IgorCit0ZXN0aW5nIGFycmF5
IGtleTogW051bWJlci5NQVhfVkFMVUVdCitzdG9yZS5wdXQoJ3ZhbHVlOScsIFtOdW1iZXIuTUFY
X1ZBTFVFXSk7CitzdG9yZS5nZXQoW051bWJlci5NQVhfVkFMVUVdKTsKK1BBU1MgZ2V0cmVxLnJl
c3VsdCBpcyAidmFsdWU5IgorCit0ZXN0aW5nIGFycmF5IGtleTogW0luZmluaXR5XQorc3RvcmUu
cHV0KCd2YWx1ZTEwJywgW0luZmluaXR5XSk7CitzdG9yZS5nZXQoW0luZmluaXR5XSk7CitQQVNT
IGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMTAiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbMSwyLDNd
CitzdG9yZS5wdXQoJ3ZhbHVlMTEnLCBbMSwyLDNdKTsKK3N0b3JlLmdldChbMSwyLDNdKTsKK1BB
U1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUxMSIKKwordGVzdGluZyBhcnJheSBrZXk6IFtuZXcg
RGF0ZSgwKV0KK3N0b3JlLnB1dCgndmFsdWUxMicsIFtuZXcgRGF0ZSgwKV0pOworc3RvcmUuZ2V0
KFtuZXcgRGF0ZSgwKV0pOworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTEyIgorCit0ZXN0
aW5nIGFycmF5IGtleTogW25ldyBEYXRlKCcyNTI1LTAxLTAxVDAwOjAwOjAwWicpXQorc3RvcmUu
cHV0KCd2YWx1ZTEzJywgW25ldyBEYXRlKCcyNTI1LTAxLTAxVDAwOjAwOjAwWicpXSk7CitzdG9y
ZS5nZXQoW25ldyBEYXRlKCcyNTI1LTAxLTAxVDAwOjAwOjAwWicpXSk7CitQQVNTIGdldHJlcS5y
ZXN1bHQgaXMgInZhbHVlMTMiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbbmV3IERhdGUoMCksIG5l
dyBEYXRlKCcyNTI1LTAxLTAxVDAwOjAwOjAwWicpXQorc3RvcmUucHV0KCd2YWx1ZTE0JywgW25l
dyBEYXRlKDApLCBuZXcgRGF0ZSgnMjUyNS0wMS0wMVQwMDowMDowMFonKV0pOworc3RvcmUuZ2V0
KFtuZXcgRGF0ZSgwKSwgbmV3IERhdGUoJzI1MjUtMDEtMDFUMDA6MDA6MDBaJyldKTsKK1BBU1Mg
Z2V0cmVxLnJlc3VsdCBpcyAidmFsdWUxNCIKKwordGVzdGluZyBhcnJheSBrZXk6IFsnJ10KK3N0
b3JlLnB1dCgndmFsdWUxNScsIFsnJ10pOworc3RvcmUuZ2V0KFsnJ10pOworUEFTUyBnZXRyZXEu
cmVzdWx0IGlzICJ2YWx1ZTE1IgorCit0ZXN0aW5nIGFycmF5IGtleTogWycnXQorc3RvcmUucHV0
KCd2YWx1ZTE2JywgWycnXSk7CitzdG9yZS5nZXQoWycnXSk7CitQQVNTIGdldHJlcS5yZXN1bHQg
aXMgInZhbHVlMTYiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBbJ2FiYzEyMyddCitzdG9yZS5wdXQo
J3ZhbHVlMTcnLCBbJ2FiYzEyMyddKTsKK3N0b3JlLmdldChbJ2FiYzEyMyddKTsKK1BBU1MgZ2V0
cmVxLnJlc3VsdCBpcyAidmFsdWUxNyIKKwordGVzdGluZyBhcnJheSBrZXk6IFsnYWJjJywgMTIz
XQorc3RvcmUucHV0KCd2YWx1ZTE4JywgWydhYmMnLCAxMjNdKTsKK3N0b3JlLmdldChbJ2FiYycs
IDEyM10pOworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTE4IgorCit0ZXN0aW5nIGFycmF5
IGtleTogW1tdXQorc3RvcmUucHV0KCd2YWx1ZTE5JywgW1tdXSk7CitzdG9yZS5nZXQoW1tdXSk7
CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMTkiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBb
W10sIFtdXQorc3RvcmUucHV0KCd2YWx1ZTIwJywgW1tdLCBbXV0pOworc3RvcmUuZ2V0KFtbXSwg
W11dKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUyMCIKKwordGVzdGluZyBhcnJheSBr
ZXk6IFtbXSwgW10sIFtdXQorc3RvcmUucHV0KCd2YWx1ZTIxJywgW1tdLCBbXSwgW11dKTsKK3N0
b3JlLmdldChbW10sIFtdLCBbXV0pOworUEFTUyBnZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTIxIgor
Cit0ZXN0aW5nIGFycmF5IGtleTogW1tbXV1dCitzdG9yZS5wdXQoJ3ZhbHVlMjInLCBbW1tdXV0p
Oworc3RvcmUuZ2V0KFtbW11dXSk7CitQQVNTIGdldHJlcS5yZXN1bHQgaXMgInZhbHVlMjIiCisK
K3Rlc3RpbmcgYXJyYXkga2V5OiBbW1tbXV1dXQorc3RvcmUucHV0KCd2YWx1ZTIzJywgW1tbW11d
XV0pOworc3RvcmUuZ2V0KFtbW1tdXV1dKTsKK1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUy
MyIKKwordGVzdGluZyBhcnJheSBrZXk6IFsxMjMsICdhYmMnLCBuZXcgRGF0ZSgwKSwgW11dCitz
dG9yZS5wdXQoJ3ZhbHVlMjQnLCBbMTIzLCAnYWJjJywgbmV3IERhdGUoMCksIFtdXSk7CitzdG9y
ZS5nZXQoWzEyMywgJ2FiYycsIG5ldyBEYXRlKDApLCBbXV0pOworUEFTUyBnZXRyZXEucmVzdWx0
IGlzICJ2YWx1ZTI0IgorCit0ZXN0aW5nIGFycmF5IGtleTogW1sxMjMsICdhYmMnLCBuZXcgRGF0
ZSgwKSwgW11dLCBbNDU2LCAnZGVmJywgbmV3IERhdGUoOTk5KSwgW1tdXV1dCitzdG9yZS5wdXQo
J3ZhbHVlMjUnLCBbWzEyMywgJ2FiYycsIG5ldyBEYXRlKDApLCBbXV0sIFs0NTYsICdkZWYnLCBu
ZXcgRGF0ZSg5OTkpLCBbW11dXV0pOworc3RvcmUuZ2V0KFtbMTIzLCAnYWJjJywgbmV3IERhdGUo
MCksIFtdXSwgWzQ1NiwgJ2RlZicsIG5ldyBEYXRlKDk5OSksIFtbXV1dXSk7CitQQVNTIGdldHJl
cS5yZXN1bHQgaXMgInZhbHVlMjUiCisKK3Rlc3RpbmcgYXJyYXkga2V5OiBsb25nX2FycmF5Citz
dG9yZS5wdXQoJ3ZhbHVlMjYnLCBsb25nX2FycmF5KTsKK3N0b3JlLmdldChsb25nX2FycmF5KTsK
K1BBU1MgZ2V0cmVxLnJlc3VsdCBpcyAidmFsdWUyNiIKKwordGVzdGluZyBhcnJheSBrZXk6IHNl
bGZfcmVmZXJyZW50aWFsX2FycmF5CitzdG9yZS5wdXQoJ3ZhbHVlMjcnLCBzZWxmX3JlZmVycmVu
dGlhbF9hcnJheSk7CitzdG9yZS5nZXQoc2VsZl9yZWZlcnJlbnRpYWxfYXJyYXkpOworUEFTUyBn
ZXRyZXEucmVzdWx0IGlzICJ2YWx1ZTI3IgorCit0cmFucyA9IGRiLnRyYW5zYWN0aW9uKCdzdG9y
ZScsIElEQlRyYW5zYWN0aW9uLlJFQURfV1JJVEUpCitzdG9yZSA9IHRyYW5zLm9iamVjdFN0b3Jl
KCdzdG9yZScpCisKK2FycmF5IHRoYXQgY29udGFpbnMgaXRzZWxmOiBhcnJheSA9IFsgYXJyYXkg
XQorY3ljbGljX2FycmF5ID0gW107IGN5Y2xpY19hcnJheS5wdXNoKGN5Y2xpY19hcnJheSkKK1BB
U1MgSlNPTi5zdHJpbmdpZnkoY3ljbGljX2FycmF5KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9y
OiBDb252ZXJ0aW5nIGNpcmN1bGFyIHN0cnVjdHVyZSB0byBKU09OLgorYXJyYXkgdGhhdCBjb250
YWlucyBpdHNlbGYsIG9uZSBsZXZlbCBkb3duOiBhcnJheSA9IFsgWyBhcnJheSBdIF0KK2N5Y2xp
Y19hcnJheTIgPSBbXTsgY3ljbGljX2FycmF5Mi5wdXNoKFtjeWNsaWNfYXJyYXkyXSkKK1BBU1Mg
SlNPTi5zdHJpbmdpZnkoY3ljbGljX2FycmF5MikgdGhyZXcgZXhjZXB0aW9uIFR5cGVFcnJvcjog
Q29udmVydGluZyBjaXJjdWxhciBzdHJ1Y3R1cmUgdG8gSlNPTi4KK2FycmF5IHRoYXQgY29udGFp
bnMgaXRzZWxmLCBub3QgYXMgZmlyc3QgZWxlbWVudDogYXJyYXkgPSBbMSwgJ2InLCBbXSwgYXJy
YXldCitjeWNsaWNfYXJyYXkzID0gWzEsICdiJywgW11dOyBjeWNsaWNfYXJyYXkzLnB1c2goY3lj
bGljX2FycmF5MykKK1BBU1MgSlNPTi5zdHJpbmdpZnkoY3ljbGljX2FycmF5MykgdGhyZXcgZXhj
ZXB0aW9uIFR5cGVFcnJvcjogQ29udmVydGluZyBjaXJjdWxhciBzdHJ1Y3R1cmUgdG8gSlNPTi4K
KworYXJyYXkgdGhhdCBjb250YWlucyBhcnJheSB0aGF0IGNvbnRhaW5zIGl0c2VsZgorY3ljbGlj
X2FycmF5NCA9IFtjeWNsaWNfYXJyYXldOworUEFTUyBKU09OLnN0cmluZ2lmeShjeWNsaWNfYXJy
YXk0KSB0aHJldyBleGNlcHRpb24gVHlwZUVycm9yOiBDb252ZXJ0aW5nIGNpcmN1bGFyIHN0cnVj
dHVyZSB0byBKU09OLgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIHZvaWQgMCBdCitF
eHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIFsgdm9pZCAwIF0pOwor
UEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2Vw
dGlvbi5EQVRBX0VSUgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIHRydWUgXQorRXhw
ZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIHRydWUgXSk7CitQQVNT
IEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9u
LkRBVEFfRVJSCisKK3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IFsgZmFsc2UgXQorRXhwZWN0
aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIGZhbHNlIF0pOworUEFTUyBF
eGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5E
QVRBX0VSUgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIE5hTiBdCitFeHBlY3Rpbmcg
ZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIFsgTmFOIF0pOworUEFTUyBFeGNlcHRp
b24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VS
UgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIG51bGwgXQorRXhwZWN0aW5nIGV4Y2Vw
dGlvbiBmcm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIG51bGwgXSk7CitQQVNTIEV4Y2VwdGlvbiB3
YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCisK
K3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IFsge30gXQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBm
cm9tIHN0b3JlLnB1dCgndmFsdWUnLCBbIHt9IF0pOworUEFTUyBFeGNlcHRpb24gd2FzIHRocm93
bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgorCit0ZXN0aW5n
IGludmFsaWQgYXJyYXkga2V5OiBbIGZ1bmN0aW9uICgpIHt9IF0KK0V4cGVjdGluZyBleGNlcHRp
b24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyBmdW5jdGlvbiAoKSB7fSBdKTsKK1BBU1MgRXhj
ZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFU
QV9FUlIKKwordGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogWyAvcmVnZXgvIF0KK0V4cGVjdGlu
ZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgWyAvcmVnZXgvIF0pOworUEFTUyBF
eGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5E
QVRBX0VSUgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIHdpbmRvdyBdCitFeHBlY3Rp
bmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIFsgd2luZG93IF0pOworUEFTUyBF
eGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRhYmFzZUV4Y2VwdGlvbi5E
QVRBX0VSUgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBbIHdpbmRvdy5kb2N1bWVudCBd
CitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIFsgd2luZG93LmRv
Y3VtZW50IF0pOworUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJE
YXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgorCit0ZXN0aW5nIGludmFsaWQgYXJyYXkga2V5OiBb
IHdpbmRvdy5kb2N1bWVudC5ib2R5IF0KK0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5w
dXQoJ3ZhbHVlJywgWyB3aW5kb3cuZG9jdW1lbnQuYm9keSBdKTsKK1BBU1MgRXhjZXB0aW9uIHdh
cyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKKwor
dGVzdGluZyBpbnZhbGlkIGFycmF5IGtleTogY3ljbGljX2FycmF5CitFeHBlY3RpbmcgZXhjZXB0
aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIGN5Y2xpY19hcnJheSk7CitQQVNTIEV4Y2VwdGlv
biB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJS
CisKK3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IGN5Y2xpY19hcnJheTIKK0V4cGVjdGluZyBl
eGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgY3ljbGljX2FycmF5Mik7CitQQVNTIEV4
Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0aW9uLkRB
VEFfRVJSCisKK3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IGN5Y2xpY19hcnJheTMKK0V4cGVj
dGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgY3ljbGljX2FycmF5Myk7CitQ
QVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNlRXhjZXB0
aW9uLkRBVEFfRVJSCisKK3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IGN5Y2xpY19hcnJheTQK
K0V4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQoJ3ZhbHVlJywgY3ljbGljX2FycmF5
NCk7CitQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgorUEFTUyBjb2RlIGlzIElEQkRhdGFiYXNl
RXhjZXB0aW9uLkRBVEFfRVJSCisKK3Rlc3RpbmcgaW52YWxpZCBhcnJheSBrZXk6IEFycmF5KDEw
MDApCitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KCd2YWx1ZScsIEFycmF5KDEw
MDApKTsKK1BBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCitQQVNTIGNvZGUgaXMgSURCRGF0YWJh
c2VFeGNlcHRpb24uREFUQV9FUlIKKworUEFTUyBpbmRleGVkREIuY21wKG1ha2VBcnJheU9mRGVw
dGgoNSksIDApIGlzIDEKK1BBU1MgaW5kZXhlZERCLmNtcChtYWtlQXJyYXlPZkRlcHRoKDUwKSwg
MCkgaXMgMQorUEFTUyBpbmRleGVkREIuY21wKG1ha2VBcnJheU9mRGVwdGgoNTAwKSwgMCkgaXMg
MQorUEFTUyBpbmRleGVkREIuY21wKG1ha2VBcnJheU9mRGVwdGgoNTAwMCksIDApIGlzIDEKK0V4
cGVjdGluZyBleGNlcHRpb24gZnJvbSBpbmRleGVkREIuY21wKG1ha2VBcnJheU9mRGVwdGgoNTAw
MDApLCAwKQorUEFTUyBFeGNlcHRpb24gd2FzIHRocm93bi4KK1BBU1MgY29kZSBpcyBJREJEYXRh
YmFzZUV4Y2VwdGlvbi5EQVRBX0VSUgorCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
CisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIva2V5LXR5cGUtYXJyYXkuaHRtbCBiL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRi
L2tleS10eXBlLWFycmF5Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGU1NDUxYTc1M2FkZWFiOWNiM2NlZGM4
Y2FhOWE3YjNhZTUyMGYxZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL2tleS10eXBlLWFycmF5Lmh0bWwKQEAgLTAsMCArMSwyMTYgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4v
Li4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4u
Ly4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSJyZXNvdXJjZXMvc2hhcmVkLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPHAg
aWQ9ImRlc2NyaXB0aW9uIj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+
CisKK2Rlc2NyaXB0aW9uKCJUZXN0IEluZGV4ZWREQiBrZXkgdHlwZXMiKTsKK2lmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGls
RG9uZSgpOworCitmdW5jdGlvbiB0ZXN0KCkKK3sKKyAgICBldmFsQW5kTG9nKCJpbmRleGVkREIg
PSB3aW5kb3cuaW5kZXhlZERCIHx8IHdpbmRvdy53ZWJraXRJbmRleGVkREIgfHwgd2luZG93Lm1v
ekluZGV4ZWREQjsiKTsKKyAgICBzaG91bGRCZUZhbHNlKCJpbmRleGVkREIgPT0gbnVsbCIpOwor
CisgICAgZXZhbEFuZExvZygiSURCVHJhbnNhY3Rpb24gPSB3aW5kb3cuSURCVHJhbnNhY3Rpb24g
fHwgd2luZG93LndlYmtpdElEQlRyYW5zYWN0aW9uOyIpOworICAgIHNob3VsZEJlRmFsc2UoIklE
QlRyYW5zYWN0aW9uID09IG51bGwiKTsKKworICAgIGV2YWxBbmRMb2coIklEQkRhdGFiYXNlRXhj
ZXB0aW9uID0gd2luZG93LklEQkRhdGFiYXNlRXhjZXB0aW9uIHx8IHdpbmRvdy53ZWJraXRJREJE
YXRhYmFzZUV4Y2VwdGlvbjsiKTsKKyAgICBzaG91bGRCZUZhbHNlKCJJREJEYXRhYmFzZUV4Y2Vw
dGlvbiA9PSBudWxsIik7CisKKworICAgIG5hbWUgPSB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWU7
CisgICAgZGVzY3JpcHRpb24gPSAiTXkgVGVzdCBEYXRhYmFzZSI7CisgICAgb3BlbnJlcSA9IGV2
YWxBbmRMb2coImluZGV4ZWREQi5vcGVuKG5hbWUsIGRlc2NyaXB0aW9uKSIpOworICAgIG9wZW5y
ZXEub25zdWNjZXNzID0gb3BlblN1Y2Nlc3M7CisgICAgb3BlbnJlcS5vbmVycm9yID0gdW5leHBl
Y3RlZEVycm9yQ2FsbGJhY2s7Cit9CisKK2Z1bmN0aW9uIG9wZW5TdWNjZXNzKCkKK3sKKyAgICBl
dmFsQW5kTG9nKCJkYiA9IG9wZW5yZXEucmVzdWx0Iik7CisgICAgc2V0dmVycmVxID0gZXZhbEFu
ZExvZygicmVxdWVzdCA9IGRiLnNldFZlcnNpb24oJzEnKSIpOworICAgIHNldHZlcnJlcS5vbnN1
Y2Nlc3MgPSBzZXRWZXJzaW9uU3VjY2VzczsKKyAgICBzZXR2ZXJyZXEub25lcnJvciA9IHVuZXhw
ZWN0ZWRFcnJvckNhbGxiYWNrOworfQorCitmdW5jdGlvbiBzZXRWZXJzaW9uU3VjY2VzcygpCit7
CisgICAgZGVidWcoInByZXBhcmluZyBkYXRhYmFzZSIpOworICAgIHRyYW5zID0gc2V0dmVycmVx
LnJlc3VsdDsKKyAgICB0cmFucy5vbmNvbXBsZXRlID0gdGVzdFZhbGlkQXJyYXlLZXlzOworICAg
IGRlbGV0ZUFsbE9iamVjdFN0b3JlcyhkYik7CisgICAgb2JqZWN0U3RvcmUgPSBldmFsQW5kTG9n
KCJkYi5jcmVhdGVPYmplY3RTdG9yZSgnc3RvcmUnKTsiKTsKKyAgICBkZWJ1ZygiIik7Cit9CisK
K2Z1bmN0aW9uIHRlc3RWYWxpZEFycmF5S2V5cygpCit7CisgICAgZXZhbEFuZExvZygidHJhbnMg
PSBkYi50cmFuc2FjdGlvbignc3RvcmUnLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwor
ICAgIGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlJykiKTsKKyAg
ICBkZWJ1ZygiIik7CisKKyAgICBldmFsQW5kTG9nKCJsb25nX2FycmF5ID0gW107IGZvciAoaSA9
IDA7IGkgPCAxMDAwOyArK2kpIHsgbG9uZ19hcnJheS5wdXNoKCdhYmMnLCAxMjMsIG5ldyBEYXRl
KDApLCBbXSk7IH0iKTsKKyAgICBkZWJ1ZygiIik7CisKKyAgICBkZWJ1ZygiYXJyYXkgdGhhdCBj
b250YWlucyBub24tbnVtZXJpYyBzZWxmLXJlZmVyZW5jZSIpOworICAgIGV2YWxBbmRMb2coInNl
bGZfcmVmZXJyZW50aWFsX2FycmF5ID0gW107IHNlbGZfcmVmZXJyZW50aWFsX2FycmF5LnNlbGYg
PSBzZWxmX3JlZmVycmVudGlhbF9hcnJheTsiKTsKKyAgICBkZWJ1ZygiIik7CisKKyAgICB2YXIg
biA9IDAsIGNhc2VzID0gWworICAgICAgICAiW10iLAorCisgICAgICAgICJbLUluZmluaXR5XSIs
CisgICAgICAgICJbLU51bWJlci5NQVhfVkFMVUVdIiwKKyAgICAgICAgIlstMV0iLAorICAgICAg
ICAiWy1OdW1iZXIuTUlOX1ZBTFVFXSIsCisgICAgICAgICJbMF0iLAorICAgICAgICAiW051bWJl
ci5NSU5fVkFMVUVdIiwKKyAgICAgICAgIlsxXSIsCisgICAgICAgICJbTnVtYmVyLk1BWF9WQUxV
RV0iLAorICAgICAgICAiW0luZmluaXR5XSIsCisKKyAgICAgICAgIlsxLDIsM10iLAorCisgICAg
ICAgICJbbmV3IERhdGUoMCldIiwKKyAgICAgICAgIltuZXcgRGF0ZSgnMjUyNS0wMS0wMVQwMDow
MDowMFonKV0iLAorCisgICAgICAgICJbbmV3IERhdGUoMCksIG5ldyBEYXRlKCcyNTI1LTAxLTAx
VDAwOjAwOjAwWicpXSIsCisKKyAgICAgICAgIlsnJ10iLAorICAgICAgICAiWydceDAwJ10iLAor
ICAgICAgICAiWydhYmMxMjMnXSIsCisKKyAgICAgICAgIlsnYWJjJywgMTIzXSIsCisKKyAgICAg
ICAgIltbXV0iLAorCisgICAgICAgICJbW10sIFtdXSIsCisgICAgICAgICJbW10sIFtdLCBbXV0i
LAorCisgICAgICAgICJbW1tdXV0iLAorICAgICAgICAiW1tbW11dXV0iLAorCisgICAgICAgICJb
MTIzLCAnYWJjJywgbmV3IERhdGUoMCksIFtdXSIsCisgICAgICAgICJbWzEyMywgJ2FiYycsIG5l
dyBEYXRlKDApLCBbXV0sIFs0NTYsICdkZWYnLCBuZXcgRGF0ZSg5OTkpLCBbW11dXV0iLAorCisg
ICAgICAgICJsb25nX2FycmF5IiwKKyAgICAgICAgInNlbGZfcmVmZXJyZW50aWFsX2FycmF5Igor
ICAgIF07CisKKyAgICBmdW5jdGlvbiB0ZXN0QXJyYXlQdXRHZXQodmFsdWUsIGtleSwgY2FsbGJh
Y2spCisgICAgeworICAgICAgICBkZWJ1ZygidGVzdGluZyBhcnJheSBrZXk6ICIgKyBrZXkpOwor
ICAgICAgICBwdXRyZXEgPSBldmFsQW5kTG9nKCJzdG9yZS5wdXQoJyIgKyB2YWx1ZSArICInLCAi
ICsga2V5ICsgIik7Iik7CisgICAgICAgIHB1dHJlcS5vbmVycm9yID0gdW5leHBlY3RlZEVycm9y
Q2FsbGJhY2s7CisgICAgICAgIHB1dHJlcS5vbnN1Y2Nlc3MgPSBmdW5jdGlvbigpIHsKKyAgICAg
ICAgICAgIGdldHJlcSA9IGV2YWxBbmRMb2coInN0b3JlLmdldCgiICsga2V5ICsgIik7Iik7Cisg
ICAgICAgICAgICBnZXRyZXEub25lcnJvciA9IHVuZXhwZWN0ZWRFcnJvckNhbGxiYWNrOworICAg
ICAgICAgICAgZ2V0cmVxLm9uc3VjY2VzcyA9IGZ1bmN0aW9uKCkgeworICAgICAgICAgICAgICAg
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0cmVxLnJlc3VsdCIsIHZhbHVlKTsKKyAgICAgICAg
ICAgICAgICBkZWJ1ZygiIik7CisgICAgICAgICAgICAgICAgY2FsbGJhY2soKTsKKyAgICAgICAg
ICAgIH07CisgICAgICAgIH07CisgICAgfQorCisgICAgZnVuY3Rpb24gbmV4dFRlc3QoKQorICAg
IHsKKyAgICAgICAgdmFyIHRlc3RjYXNlID0gY2FzZXMuc2hpZnQoKTsKKyAgICAgICAgaWYgKHRl
c3RjYXNlKSB7CisgICAgICAgICAgICB0ZXN0QXJyYXlQdXRHZXQoInZhbHVlIiArICgrK24pLCB0
ZXN0Y2FzZSwgbmV4dFRlc3QpOworICAgICAgICB9CisgICAgfQorCisgICAgbmV4dFRlc3QoKTsK
KworICAgIHRyYW5zLm9uY29tcGxldGUgPSB0ZXN0SW52YWxpZEFycmF5S2V5czsKK30KKworCitm
dW5jdGlvbiB0ZXN0SW52YWxpZEFycmF5S2V5cygpCit7CisgICAgZXZhbEFuZExvZygidHJhbnMg
PSBkYi50cmFuc2FjdGlvbignc3RvcmUnLCBJREJUcmFuc2FjdGlvbi5SRUFEX1dSSVRFKSIpOwor
ICAgIGV2YWxBbmRMb2coInN0b3JlID0gdHJhbnMub2JqZWN0U3RvcmUoJ3N0b3JlJykiKTsKKyAg
ICBkZWJ1ZygiIik7CisKKyAgICBkZWJ1ZygiYXJyYXkgdGhhdCBjb250YWlucyBpdHNlbGY6IGFy
cmF5ID0gWyBhcnJheSBdIik7CisgICAgZXZhbEFuZExvZygiY3ljbGljX2FycmF5ID0gW107IGN5
Y2xpY19hcnJheS5wdXNoKGN5Y2xpY19hcnJheSkiKTsKKyAgICBzaG91bGRUaHJvdygiSlNPTi5z
dHJpbmdpZnkoY3ljbGljX2FycmF5KSIpOworCisgICAgZGVidWcoImFycmF5IHRoYXQgY29udGFp
bnMgaXRzZWxmLCBvbmUgbGV2ZWwgZG93bjogYXJyYXkgPSBbIFsgYXJyYXkgXSBdIik7CisgICAg
ZXZhbEFuZExvZygiY3ljbGljX2FycmF5MiA9IFtdOyBjeWNsaWNfYXJyYXkyLnB1c2goW2N5Y2xp
Y19hcnJheTJdKSIpOworICAgIHNob3VsZFRocm93KCJKU09OLnN0cmluZ2lmeShjeWNsaWNfYXJy
YXkyKSIpOworCisgICAgZGVidWcoImFycmF5IHRoYXQgY29udGFpbnMgaXRzZWxmLCBub3QgYXMg
Zmlyc3QgZWxlbWVudDogYXJyYXkgPSBbMSwgJ2InLCBbXSwgYXJyYXldIik7CisgICAgZXZhbEFu
ZExvZygiY3ljbGljX2FycmF5MyA9IFsxLCAnYicsIFtdXTsgY3ljbGljX2FycmF5My5wdXNoKGN5
Y2xpY19hcnJheTMpIik7CisgICAgc2hvdWxkVGhyb3coIkpTT04uc3RyaW5naWZ5KGN5Y2xpY19h
cnJheTMpIik7CisgICAgZGVidWcoIiIpOworCisgICAgZGVidWcoImFycmF5IHRoYXQgY29udGFp
bnMgYXJyYXkgdGhhdCBjb250YWlucyBpdHNlbGYiKTsKKyAgICBldmFsQW5kTG9nKCJjeWNsaWNf
YXJyYXk0ID0gW2N5Y2xpY19hcnJheV07Iik7CisgICAgc2hvdWxkVGhyb3coIkpTT04uc3RyaW5n
aWZ5KGN5Y2xpY19hcnJheTQpIik7CisgICAgZGVidWcoIiIpOworCisgICAgdmFyIGludmFsaWRL
ZXlzID0gWworICAgICAgICAiWyB2b2lkIDAgXSIsIC8vIHVuZGVmaW5lZAorICAgICAgICAiWyB0
cnVlIF0iLAorICAgICAgICAiWyBmYWxzZSBdIiwKKyAgICAgICAgIlsgTmFOIF0iLAorICAgICAg
ICAiWyBudWxsIF0iLAorICAgICAgICAiWyB7fSBdIiwKKyAgICAgICAgIlsgZnVuY3Rpb24gKCkg
e30gXSIsCisgICAgICAgICJbIC9yZWdleC8gXSIsCisgICAgICAgICJbIHdpbmRvdyBdIiwKKyAg
ICAgICAgIlsgd2luZG93LmRvY3VtZW50IF0iLAorICAgICAgICAiWyB3aW5kb3cuZG9jdW1lbnQu
Ym9keSBdIiwKKyAgICAgICAgImN5Y2xpY19hcnJheSIsCisgICAgICAgICJjeWNsaWNfYXJyYXky
IiwKKyAgICAgICAgImN5Y2xpY19hcnJheTMiLAorICAgICAgICAiY3ljbGljX2FycmF5NCIsCisg
ICAgICAgICJBcnJheSgxMDAwKSIgLy8gc3BhcnNlCisgICAgXTsKKworICAgIGludmFsaWRLZXlz
LmZvckVhY2goZnVuY3Rpb24gKGtleSkgeworICAgICAgICBkZWJ1ZygidGVzdGluZyBpbnZhbGlk
IGFycmF5IGtleTogIiArIGtleSk7CisgICAgICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0
b3JlLnB1dCgndmFsdWUnLCAiICsga2V5ICsgIik7IiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLkRB
VEFfRVJSIik7CisgICAgICAgIGRlYnVnKCIiKTsKKyAgICB9KTsKKworICAgIHRlc3REZXB0aExp
bWl0cygpOworfQorCitmdW5jdGlvbiBtYWtlQXJyYXlPZkRlcHRoKG4pCit7CisgICAgdmFyIGFy
cmF5ID0gW10sIGN1cnJlbnQgPSBhcnJheTsKKyAgICB3aGlsZSAoLS1uKSB7CisgICAgICAgIGN1
cnJlbnQucHVzaChbXSk7CisgICAgICAgIGN1cnJlbnQgPSBjdXJyZW50WzBdOworICAgIH0KKyAg
ICByZXR1cm4gYXJyYXk7Cit9CisKK2Z1bmN0aW9uIHRlc3REZXB0aExpbWl0cygpCit7CisgICAg
c2hvdWxkQmUoImluZGV4ZWREQi5jbXAobWFrZUFycmF5T2ZEZXB0aCg1KSwgMCkiLCAiMSIpOwor
ICAgIHNob3VsZEJlKCJpbmRleGVkREIuY21wKG1ha2VBcnJheU9mRGVwdGgoNTApLCAwKSIsICIx
Iik7CisgICAgc2hvdWxkQmUoImluZGV4ZWREQi5jbXAobWFrZUFycmF5T2ZEZXB0aCg1MDApLCAw
KSIsICIxIik7CisgICAgc2hvdWxkQmUoImluZGV4ZWREQi5jbXAobWFrZUFycmF5T2ZEZXB0aCg1
MDAwKSwgMCkiLCAiMSIpOworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oImluZGV4ZWREQi5j
bXAobWFrZUFycmF5T2ZEZXB0aCg1MDAwMCksIDApIiwgIklEQkRhdGFiYXNlRXhjZXB0aW9uLkRB
VEFfRVJSIik7CisgICAgZGVidWcoIiIpOworCisgICAgZG9uZSgpOworfQorCit0ZXN0KCk7CisK
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3Rv
cmFnZS9pbmRleGVkZGIva2V5cmFuZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIva2V5cmFuZ2UtZXhwZWN0ZWQudHh0CmluZGV4IGJkYmYxNWViYzUzYTM1OTQ1
Y2U5YTY2MWExOTE1MjljNjRjYzMyNzMuLjQ1NGVjOTNjNTVhOGZlNDNlODk5YjM5OTU0ZTk4MDk5
MDFkNGY5NTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleXJh
bmdlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXly
YW5nZS1leHBlY3RlZC50eHQKQEAgLTIwNywxNyArMjA3LDE3IEBAIFBBU1Mga2V5UmFuZ2UubG93
ZXIgaXMgJ2FhZicKIFBBU1Mga2V5UmFuZ2UudXBwZXIgaXMgJ2FiZicKIFBBU1Mga2V5UmFuZ2Uu
bG93ZXJPcGVuIGlzIHRydWUKIFBBU1Mga2V5UmFuZ2UudXBwZXJPcGVuIGlzIHRydWUKLVBhc3Np
bmcgYW4gaW52YWxpZCBrZXkgaW50byBvbmx5KFtdKQorUGFzc2luZyBhbiBpbnZhbGlkIGtleSBp
bnRvIG9ubHkoe30pCiBQQVNTIENhdWdodCBleGNlcHRpb246IEVycm9yOiBEQVRBX0VSUjogRE9N
IElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1QYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gdXBw
ZXJCb3VuZChbXSkKK1Bhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byB1cHBlckJvdW5kKHt9KQog
UEFTUyBDYXVnaHQgZXhjZXB0aW9uOiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBF
eGNlcHRpb24gNQotUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGxvd2VyQm91bmQoW10pCitQ
YXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gbG93ZXJCb3VuZCh7fSkKIFBBU1MgQ2F1Z2h0IGV4
Y2VwdGlvbjogRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLVBh
c3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBib3VuZChudWxsLCBbXSkKK1Bhc3NpbmcgYW4gaW52
YWxpZCBrZXkgaW50byBib3VuZChudWxsLCB7fSkKIFBBU1MgQ2F1Z2h0IGV4Y2VwdGlvbjogRXJy
b3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2UgRXhjZXB0aW9uIDUKLVBhc3NpbmcgYW4gaW52
YWxpZCBrZXkgaW50byBib3VuZChbXSxudWxsKQorUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRv
IGJvdW5kKHt9LG51bGwpCiBQQVNTIENhdWdodCBleGNlcHRpb246IEVycm9yOiBEQVRBX0VSUjog
RE9NIElEQkRhdGFiYXNlIEV4Y2VwdGlvbiA1Ci1QYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8g
Ym91bmQoW10sIFtdKQorUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGJvdW5kKHt9LCB7fSkK
IFBBU1MgQ2F1Z2h0IGV4Y2VwdGlvbjogRXJyb3I6IERBVEFfRVJSOiBET00gSURCRGF0YWJhc2Ug
RXhjZXB0aW9uIDUKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5cmFuZ2UuaHRtbCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL2tleXJhbmdlLmh0bWwKaW5kZXggNjhiNDc4YWQ1ZGMwNmMy
ZDdlYmEwZGExZjk3MzllY2Y4OWRmYWFjNC4uYWRkMzU1YTg3ZWQ5OWRjNzFkMmM5Nzg2ZThjZjA4
NjBkMjVkZTM2MSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIva2V5
cmFuZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9rZXlyYW5nZS5o
dG1sCkBAIC0xMjUsNDggKzEyNSw0OCBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICBjaGVja0JvdW5k
S2V5UmFuZ2UoIidhYWYnIiwgIidhYmYnIiwgdHJ1ZSwgdHJ1ZSk7CiAKICAgICB0cnkgewotICAg
ICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIG9ubHkoW10pIik7Ci0gICAg
ICAgIHdlYmtpdElEQktleVJhbmdlLm9ubHkoW10pOworICAgICAgICBkZWJ1ZygiUGFzc2luZyBh
biBpbnZhbGlkIGtleSBpbnRvIG9ubHkoe30pIik7CisgICAgICAgIHdlYmtpdElEQktleVJhbmdl
Lm9ubHkoe30pOwogICAgICAgICB0ZXN0RmFpbGVkKCJObyBleGNlcHRpb24gdGhyb3duIik7CiAg
ICAgfSBjYXRjaCAoZSkgewogICAgICAgICB0ZXN0UGFzc2VkKCJDYXVnaHQgZXhjZXB0aW9uOiAi
ICsgZS50b1N0cmluZygpKTsKICAgICB9CiAKICAgICB0cnkgewotICAgICAgICBkZWJ1ZygiUGFz
c2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIHVwcGVyQm91bmQoW10pIik7Ci0gICAgICAgIHdlYmtp
dElEQktleVJhbmdlLnVwcGVyQm91bmQoW10pOworICAgICAgICBkZWJ1ZygiUGFzc2luZyBhbiBp
bnZhbGlkIGtleSBpbnRvIHVwcGVyQm91bmQoe30pIik7CisgICAgICAgIHdlYmtpdElEQktleVJh
bmdlLnVwcGVyQm91bmQoe30pOwogICAgICAgICB0ZXN0RmFpbGVkKCJObyBleGNlcHRpb24gdGhy
b3duIik7CiAgICAgfSBjYXRjaCAoZSkgewogICAgICAgICB0ZXN0UGFzc2VkKCJDYXVnaHQgZXhj
ZXB0aW9uOiAiICsgZS50b1N0cmluZygpKTsKICAgICB9CiAgCiAgICAgdHJ5IHsKLSAgICAgICAg
ZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBsb3dlckJvdW5kKFtdKSIpOwotICAg
ICAgICB3ZWJraXRJREJLZXlSYW5nZS5sb3dlckJvdW5kKFtdKTsKKyAgICAgICAgZGVidWcoIlBh
c3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBsb3dlckJvdW5kKHt9KSIpOworICAgICAgICB3ZWJr
aXRJREJLZXlSYW5nZS5sb3dlckJvdW5kKHt9KTsKICAgICAgICAgdGVzdEZhaWxlZCgiTm8gZXhj
ZXB0aW9uIHRocm93biIpOwogICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgdGVzdFBhc3NlZCgi
Q2F1Z2h0IGV4Y2VwdGlvbjogIiArIGUudG9TdHJpbmcoKSk7CiAgICAgfQogCiAgICAgdHJ5IHsK
LSAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBib3VuZChudWxsLCBb
XSkiKTsKLSAgICAgICAgd2Via2l0SURCS2V5UmFuZ2UuYm91bmQobnVsbCwgW10pOworICAgICAg
ICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGJvdW5kKG51bGwsIHt9KSIpOwor
ICAgICAgICB3ZWJraXRJREJLZXlSYW5nZS5ib3VuZChudWxsLCB7fSk7CiAgICAgICAgIHRlc3RG
YWlsZWQoIk5vIGV4Y2VwdGlvbiB0aHJvd24iKTsKICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAg
IHRlc3RQYXNzZWQoIkNhdWdodCBleGNlcHRpb246ICIgKyBlLnRvU3RyaW5nKCkpOwogICAgIH0K
IAogICAgIHRyeSB7Ci0gICAgICAgIGRlYnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8g
Ym91bmQoW10sbnVsbCkiKTsKLSAgICAgICAgd2Via2l0SURCS2V5UmFuZ2UuYm91bmQoW10sIG51
bGwpOworICAgICAgICBkZWJ1ZygiUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIGJvdW5kKHt9
LG51bGwpIik7CisgICAgICAgIHdlYmtpdElEQktleVJhbmdlLmJvdW5kKHt9LCBudWxsKTsKICAg
ICAgICAgdGVzdEZhaWxlZCgiTm8gZXhjZXB0aW9uIHRocm93biIpOwogICAgIH0gY2F0Y2ggKGUp
IHsKICAgICAgICAgdGVzdFBhc3NlZCgiQ2F1Z2h0IGV4Y2VwdGlvbjogIiArIGUudG9TdHJpbmco
KSk7CiAgICAgfQogCiAgICAgdHJ5IHsKLSAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxp
ZCBrZXkgaW50byBib3VuZChbXSwgW10pIik7Ci0gICAgICAgIHdlYmtpdElEQktleVJhbmdlLmJv
dW5kKFtdLCBbXSk7CisgICAgICAgIGRlYnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8g
Ym91bmQoe30sIHt9KSIpOworICAgICAgICB3ZWJraXRJREJLZXlSYW5nZS5ib3VuZCh7fSwge30p
OwogICAgICAgICB0ZXN0RmFpbGVkKCJObyBleGNlcHRpb24gdGhyb3duIik7CiAgICAgfSBjYXRj
aCAoZSkgewogICAgICAgICB0ZXN0UGFzc2VkKCJDYXVnaHQgZXhjZXB0aW9uOiAiICsgZS50b1N0
cmluZygpKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVj
dHN0b3JlLWJhc2ljcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9vYmplY3RzdG9yZS1iYXNpY3MtZXhwZWN0ZWQudHh0CmluZGV4IDU4MGZmZmU1NDA5ZWQyMjFj
YWEwMzg1MjQ2NmRhMTA5OTU0Yzc2YjkuLmU1MDMxMDI4NDYyZGU1MjU2OWNhZjdjYzBmMWFkMjFj
ZjllN2YxZTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29iamVj
dHN0b3JlLWJhc2ljcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRl
eGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLWV4cGVjdGVkLnR4dApAQCAtOTYsMTkgKzk2LDE5IEBA
IHJlbW92ZVN1Y2Nlc3NCdXRGYWxzZSgpOgogUEFTUyBldmVudC50YXJnZXQucmVzdWx0IGlzIGZh
bHNlCiBzdG9yZSA9IGV2ZW50LnRhcmdldC5zb3VyY2UKIFBhc3NpbmcgYW4gaW52YWxpZCBrZXkg
aW50byBzdG9yZS5nZXQoKS4KLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5nZXQoW10p
CitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUuZ2V0KHt9KQogUEFTUyBFeGNlcHRpb24g
d2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyB3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRB
X0VSUgogUGFzc2luZyBhbiBpbnZhbGlkIGtleSBpbnRvIHN0b3JlLmRlbGV0ZSgpLgotRXhwZWN0
aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLmRlbGV0ZShbXSkKK0V4cGVjdGluZyBleGNlcHRpb24g
ZnJvbSBzdG9yZS5kZWxldGUoe30pCiBQQVNTIEV4Y2VwdGlvbiB3YXMgdGhyb3duLgogUEFTUyBj
b2RlIGlzIHdlYmtpdElEQkRhdGFiYXNlRXhjZXB0aW9uLkRBVEFfRVJSCiBQYXNzaW5nIGFuIGlu
dmFsaWQga2V5IGludG8gc3RvcmUuYWRkKCkuCi1FeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3Rv
cmUuYWRkKG51bGwsIFtdKQorRXhwZWN0aW5nIGV4Y2VwdGlvbiBmcm9tIHN0b3JlLmFkZChudWxs
LCB7fSkKIFBBU1MgRXhjZXB0aW9uIHdhcyB0aHJvd24uCiBQQVNTIGNvZGUgaXMgd2Via2l0SURC
RGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIKIFBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byBz
dG9yZS5wdXQoKS4KLUV4cGVjdGluZyBleGNlcHRpb24gZnJvbSBzdG9yZS5wdXQobnVsbCwgW10p
CitFeHBlY3RpbmcgZXhjZXB0aW9uIGZyb20gc3RvcmUucHV0KG51bGwsIHt9KQogUEFTUyBFeGNl
cHRpb24gd2FzIHRocm93bi4KIFBBU1MgY29kZSBpcyB3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlv
bi5EQVRBX0VSUgogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb2JqZWN0c3RvcmUtYmFzaWNzLmh0bWwgYi9M
YXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MuaHRtbAppbmRl
eCAwOTE3ODU0Zjk5Yzg1MWZjOTFmNTllZjUzNzdiZDczYmE1ODNhZmQ3Li43NjM4MGZmZWM3YjE2
ZDQzMTJmZDE5MTJlODMxMGNmYTA0NDkzNWQ3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9y
YWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9z
dG9yYWdlL2luZGV4ZWRkYi9vYmplY3RzdG9yZS1iYXNpY3MuaHRtbApAQCAtMjUwLDE2ICsyNTAs
MTYgQEAgZnVuY3Rpb24gcmVtb3ZlU3VjY2Vzc0J1dEZhbHNlKCkKICAgICB2YXIgc3RvcmUgPSBl
dmFsQW5kTG9nKCJzdG9yZSA9IGV2ZW50LnRhcmdldC5zb3VyY2UiKTsKIAogICAgIGRlYnVnKCJQ
YXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gc3RvcmUuZ2V0KCkuIik7Ci0gICAgZXZhbEFuZEV4
cGVjdEV4Y2VwdGlvbigic3RvcmUuZ2V0KFtdKSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlv
bi5EQVRBX0VSUiIpOworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmdldCh7fSki
LCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKIAogICAgIGRlYnVnKCJQ
YXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gc3RvcmUuZGVsZXRlKCkuIik7Ci0gICAgZXZhbEFu
ZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUuZGVsZXRlKFtdKSIsICJ3ZWJraXRJREJEYXRhYmFzZUV4
Y2VwdGlvbi5EQVRBX0VSUiIpOworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24oInN0b3JlLmRl
bGV0ZSh7fSkiLCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9FUlIiKTsKIAogICAg
IGRlYnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gc3RvcmUuYWRkKCkuIik7Ci0gICAg
ZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUuYWRkKG51bGwsIFtdKSIsICJ3ZWJraXRJREJE
YXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUiIpOworICAgIGV2YWxBbmRFeHBlY3RFeGNlcHRpb24o
InN0b3JlLmFkZChudWxsLCB7fSkiLCAid2Via2l0SURCRGF0YWJhc2VFeGNlcHRpb24uREFUQV9F
UlIiKTsKIAogICAgIGRlYnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gc3RvcmUucHV0
KCkuIik7Ci0gICAgZXZhbEFuZEV4cGVjdEV4Y2VwdGlvbigic3RvcmUucHV0KG51bGwsIFtdKSIs
ICJ3ZWJraXRJREJEYXRhYmFzZUV4Y2VwdGlvbi5EQVRBX0VSUiIpOworICAgIGV2YWxBbmRFeHBl
Y3RFeGNlcHRpb24oInN0b3JlLnB1dChudWxsLCB7fSkiLCAid2Via2l0SURCRGF0YWJhc2VFeGNl
cHRpb24uREFUQV9FUlIiKTsKIAogICAgIGRvbmUoKTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY3Vyc29yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY3Vyc29yLWV4cGVjdGVkLnR4dAppbmRleCA2MDIw
ZTI1NmY3YzNhMjQ4N2NiNzU1NjMyZWU0MWZiYTAxOTIwODkxLi4zYTllMjAyODAzZmEwOGFmOGQx
MDc3NDhjNTQ1ZDgzOGI4MDczNmFiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9zdG9yYWdlL2lu
ZGV4ZWRkYi9vcGVuLWN1cnNvci1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvc3RvcmFn
ZS9pbmRleGVkZGIvb3Blbi1jdXJzb3ItZXhwZWN0ZWQudHh0CkBAIC0xOSw3ICsxOSw3IEBAIFBB
U1MgZXZlbnQudGFyZ2V0LnJlc3VsdC5kaXJlY3Rpb24gaXMgMAogUEFTUyBldmVudC50YXJnZXQu
cmVzdWx0LmtleSBpcyAnbXlLZXknCiBQQVNTIGV2ZW50LnRhcmdldC5yZXN1bHQudmFsdWUgaXMg
J215VmFsdWUnCiAKLVBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byAuY29udGludWUoKS4KK1Bh
c3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byAuY29udGludWUoe30pLgogUEFTUyBDYXVnaHQgZXhj
ZXB0aW9uOiBFcnJvcjogREFUQV9FUlI6IERPTSBJREJEYXRhYmFzZSBFeGNlcHRpb24gNQogCiBP
cGVuaW5nIGFuIGVtcHR5IGN1cnNvci4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3N0b3JhZ2Uv
aW5kZXhlZGRiL29wZW4tY3Vyc29yLmh0bWwgYi9MYXlvdXRUZXN0cy9zdG9yYWdlL2luZGV4ZWRk
Yi9vcGVuLWN1cnNvci5odG1sCmluZGV4IDIwMzcyZmEwYmE4NmQxODc3ZDU4ZWFlNjZiNDU2YjVh
ZGU1MDk1ODQuLjA1NzI4ZDhlYjBjYjA0MDM1NWVjNmVjYmJiNTkxZDE3YzI3NzEzYjggMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL3N0b3JhZ2UvaW5kZXhlZGRiL29wZW4tY3Vyc29yLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvc3RvcmFnZS9pbmRleGVkZGIvb3Blbi1jdXJzb3IuaHRtbApAQCAtMzcs
OCArMzcsOCBAQCBmdW5jdGlvbiBjdXJzb3JTdWNjZXNzKCkKICAgICBzaG91bGRCZSgiZXZlbnQu
dGFyZ2V0LnJlc3VsdC52YWx1ZSIsICInbXlWYWx1ZSciKTsKICAgICBkZWJ1ZygiIik7CiAgICAg
dHJ5IHsKLSAgICAgICAgZGVidWcoIlBhc3NpbmcgYW4gaW52YWxpZCBrZXkgaW50byAuY29udGlu
dWUoKS4iKTsKLSAgICAgICAgZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZShbXSk7CisgICAg
ICAgIGRlYnVnKCJQYXNzaW5nIGFuIGludmFsaWQga2V5IGludG8gLmNvbnRpbnVlKHt9KS4iKTsK
KyAgICAgICAgZXZlbnQudGFyZ2V0LnJlc3VsdC5jb250aW51ZSh7fSk7CiAgICAgICAgIHRlc3RG
YWlsZWQoIk5vIGV4Y2VwdGlvbiB0aHJvd24iKTsKICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAg
IHRlc3RQYXNzZWQoIkNhdWdodCBleGNlcHRpb246ICIgKyBlLnRvU3RyaW5nKCkpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>