<?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>147374</bug_id>
          
          <creation_ts>2015-07-28 14:15:26 -0700</creation_ts>
          <short_desc>Implement try/catch in the DFG.</short_desc>
          <delta_ts>2015-09-18 16:38:30 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</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>
          <dependson>147666</dependson>
    
    <dependson>147988</dependson>
    
    <dependson>149228</dependson>
    
    <dependson>149329</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>basile_clement</cc>
    
    <cc>benjamin</cc>
    
    <cc>buildbot</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mmirman</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>rniwa</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1112866</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-07-28 14:15:26 -0700</bug_when>
    <thetext>This should be a big win in terms of removing barriers to tier up.

More of my implementation plan to follow as I familiarize myself
with the code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1115391</commentid>
    <comment_count>1</comment_count>
      <attachid>258380</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-08-06 11:29:29 -0700</bug_when>
    <thetext>Created attachment 258380
Super rough WIP

Super rough and crazy, but it&apos;s a start.
This program works:

function assert(b) {
    if (!b)
        throw new Error(&quot;Bad value&quot;);
}
noInline(assert);

function bar(a, b, c) {
    try {
        assert(a + b === c);
    } catch(e) {
        print(&quot;caught exception in bar &quot; + e);
    }
}

function foo(a, b, c) {
    try {
        bar(a, b, c);
        assert(a + b === c);
    } catch(e) {
        print(&quot;caught exception in foo &quot; + e);
    }
}

var start = preciseTime();
noInline(foo);
for (var i = 0; i &lt; 100000; i++) {
    foo(10, 20, 30);
}
foo(10, 20, 40);


var end = preciseTime();
print(end - start);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1116607</commentid>
    <comment_count>2</comment_count>
      <attachid>258729</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-08-11 11:35:16 -0700</bug_when>
    <thetext>Created attachment 258729
WIP

still rough but more programs are working. About ~50 test failures currently, but we need more test coverage, which I&apos;m adding as I go.
This patch still doesn&apos;t include renaming/refactoring of things.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1117998</commentid>
    <comment_count>3</comment_count>
      <attachid>259110</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-08-15 17:34:58 -0700</bug_when>
    <thetext>Created attachment 259110
WIP

still rough. The patch for bug #147988 is subsumed into this patch until #147988 lands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125337</commentid>
    <comment_count>4</comment_count>
      <attachid>261041</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-09-11 19:40:13 -0700</bug_when>
    <thetext>Created attachment 261041
WIP

getting much closer to being done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125362</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-12 00:50:45 -0700</bug_when>
    <thetext>Attachment 261041 did not pass style-queue:


ERROR: Source/JavaScriptCore/dfg/DFGJITCompiler.h:266:  The parameter name &quot;codeOrigin&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/dfg/DFGJITCompiler.h:277:  The parameter name &quot;linkBuffer&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/dfg/DFGOSRExitCompiler.cpp:135:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/dfg/DFGPlan.cpp:264:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/dfg/DFGFlushLiveCatchVariablesInsertionPhase.cpp:67:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGFlushLiveCatchVariablesInsertionPhase.cpp:113:  Multi line control clauses should use braces.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGFlushLiveCatchVariablesInsertionPhase.cpp:138:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGFlushLiveCatchVariablesInsertionPhase.cpp:153:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/interpreter/StackVisitor.cpp:74:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/interpreter/StackVisitor.cpp:78:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:927:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h:1912:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h:1913:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h:1914:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h:1915:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/dfg/DFGOSRExitCompilerCommon.cpp:273:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/dfg/DFGOSRExitCompilerCommon.cpp:278:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp:3555:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/dfg/DFGJITCompiler.cpp:599:  Weird number of spaces at line-start.  Are you using a 4-space indent?  [whitespace/indent] [3]
Total errors found: 19 in 41 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125373</commentid>
    <comment_count>6</comment_count>
      <attachid>261041</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2015-09-12 02:28:32 -0700</bug_when>
    <thetext>Comment on attachment 261041
WIP

Attachment 261041 did not pass mac-ews (mac):
Output: http://webkit-queues.webkit.org/results/163316

New failing tests:
fast/workers/worker-close.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125374</commentid>
    <comment_count>7</comment_count>
      <attachid>261052</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2015-09-12 02:28:36 -0700</bug_when>
    <thetext>Created attachment 261052
Archive of layout-test-results from ews101 for mac-mavericks

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews101  Port: mac-mavericks  Platform: Mac OS X 10.9.5</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125767</commentid>
    <comment_count>8</comment_count>
      <attachid>261141</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-09-14 15:27:39 -0700</bug_when>
    <thetext>Created attachment 261141
patch

I still want to write a few more tests but I think it&apos;s ready for comments/suggestions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125769</commentid>
    <comment_count>9</comment_count>
      <attachid>261141</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-09-14 15:29:45 -0700</bug_when>
    <thetext>Comment on attachment 261141
patch

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

&gt; Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:422
&gt; +    &lt;ClInclude Include=&quot;..\dfg\DFGFlushLiveCatchVariablesInsertionPhase.cpp&quot; /&gt;

better: &quot;LiveCatchVariableFlushInsertionPhase&quot;

&quot;performLiveCatchVariableFlushInsertion&quot; reads better than &quot;performFlushLiveCatchVariablesInsertion&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125772</commentid>
    <comment_count>10</comment_count>
      <attachid>261141</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-09-14 15:31:28 -0700</bug_when>
    <thetext>Comment on attachment 261141
patch

As part of this patch, I&apos;d like to see one of raytrace, richards, deltablue, or earley-boyer converted to have try{}catch{} everyhwere.  I think that this is important to prove the speed-up and also to introduce test coverage.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125773</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-14 15:32:22 -0700</bug_when>
    <thetext>Attachment 261141 did not pass style-queue:


ERROR: Source/JavaScriptCore/dfg/DFGJITCompiler.h:282:  The parameter name &quot;codeOrigin&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/dfg/DFGOSRExitCompiler.cpp:132:  Multi line control clauses should use braces.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGPlan.cpp:264:  Should have a space between // and comment  [whitespace/comments] [4]
ERROR: Source/JavaScriptCore/dfg/DFGFlushLiveCatchVariablesInsertionPhase.cpp:71:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGFlushLiveCatchVariablesInsertionPhase.cpp:143:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/CMakeLists.txt:187:  Alphabetical sorting problem. &quot;dfg/DFGFlushLiveCatchVariablesInsertionPhase.cpp&quot; should be before &quot;dfg/DFGFlushedAt.cpp&quot;.  [list/order] [5]
ERROR: Source/JavaScriptCore/dfg/DFGJITCompiler.cpp:94:  Should have a space between // and comment  [whitespace/comments] [4]
Total errors found: 7 in 45 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1125785</commentid>
    <comment_count>12</comment_count>
      <attachid>261141</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2015-09-14 16:04:30 -0700</bug_when>
    <thetext>Comment on attachment 261141
patch

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

&gt; Source/JavaScriptCore/dfg/DFGJITCompiler.cpp:94
&gt; +            //restoreCalleeSavesFromVMCalleeSavesBuffer();

I think you need to uncomment this line.

&gt; Source/JavaScriptCore/dfg/DFGJITCompiler.cpp:104
&gt; +

Delete this line.

&gt; Source/JavaScriptCore/dfg/DFGPlan.cpp:264
&gt; +    //dfg.dump();

Debug code?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126125</commentid>
    <comment_count>13</comment_count>
      <attachid>261236</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-09-15 14:18:09 -0700</bug_when>
    <thetext>Created attachment 261236
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126126</commentid>
    <comment_count>14</comment_count>
      <attachid>261236</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-09-15 14:18:51 -0700</bug_when>
    <thetext>Comment on attachment 261236
patch

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

&gt; Source/JavaScriptCore/dfg/DFGLiveCatchVariablePreservationPhase.cpp:157
&gt; +            for (InlineCallFrame* inlineCallFrame : seenInlineCallFrames)

This seems a little hacky to me. What do you guys think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126127</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-15 14:20:08 -0700</bug_when>
    <thetext>Attachment 261236 did not pass style-queue:


ERROR: Source/JavaScriptCore/dfg/DFGJITCompiler.h:282:  The parameter name &quot;codeOrigin&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
ERROR: Source/JavaScriptCore/dfg/DFGOSRExitCompiler.cpp:132:  Multi line control clauses should use braces.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGPlan.cpp:52:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/JavaScriptCore/dfg/DFGLiveCatchVariablePreservationPhase.cpp:70:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGLiveCatchVariablePreservationPhase.cpp:141:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 5 in 58 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126129</commentid>
    <comment_count>16</comment_count>
      <attachid>261236</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-09-15 14:23:30 -0700</bug_when>
    <thetext>Comment on attachment 261236
patch

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

&gt;&gt; Source/JavaScriptCore/dfg/DFGLiveCatchVariablePreservationPhase.cpp:157
&gt;&gt; +            for (InlineCallFrame* inlineCallFrame : seenInlineCallFrames)
&gt; 
&gt; This seems a little hacky to me. What do you guys think?

No, this seems fine!

&gt; Source/JavaScriptCore/dfg/DFGLiveCatchVariablePreservationPhase.h:35
&gt; +// FIXME: comment here.

:-)  You should add a comment here!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126883</commentid>
    <comment_count>17</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-09-17 15:03:51 -0700</bug_when>
    <thetext>landed in:
http://trac.webkit.org/changeset/189938</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126964</commentid>
    <comment_count>18</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-09-17 17:45:56 -0700</bug_when>
    <thetext>Looks like this patch broke LLint Cloop build:
https://build.webkit.org/builders/Apple%20Yosemite%20LLINT%20CLoop%20%28BuildAndTest%29?numbuilds=50</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1126976</commentid>
    <comment_count>19</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2015-09-17 17:56:23 -0700</bug_when>
    <thetext>Fixed the build in http://trac.webkit.org/changeset/189952.  Please verify the correctness.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127013</commentid>
    <comment_count>20</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-09-17 19:44:47 -0700</bug_when>
    <thetext>This broke workers:

https://build.webkit.org/results/Apple%20Yosemite%20Debug%20WK1%20(Tests)/r189954%20(7554)/results.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127021</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-17 19:52:32 -0700</bug_when>
    <thetext>Re-opened since this is blocked by bug 149329</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127034</commentid>
    <comment_count>22</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-09-17 20:32:56 -0700</bug_when>
    <thetext>There may have been memory corruption on non-worker tests too (but you can&apos;t now with memory corruption): https://build.webkit.org/results/Apple%20Mavericks%20Debug%20WK1%20(Tests)/r189957%20(15679)/js/regress/richards-try-catch-crash-log.txt</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127260</commentid>
    <comment_count>23</comment_count>
      <attachid>261531</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-09-18 15:47:22 -0700</bug_when>
    <thetext>Created attachment 261531
patch for landing

I want to let EWS take a look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127262</commentid>
    <comment_count>24</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-09-18 15:50:20 -0700</bug_when>
    <thetext>Attachment 261531 did not pass style-queue:


ERROR: Source/JavaScriptCore/dfg/DFGOSRExitCompiler.cpp:132:  Multi line control clauses should use braces.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/dfg/DFGLiveCatchVariablePreservationPhase.cpp:137:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
Total errors found: 2 in 62 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1127295</commentid>
    <comment_count>25</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-09-18 16:38:30 -0700</bug_when>
    <thetext>landed take 2 fix in:
http://trac.webkit.org/changeset/189995</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258380</attachid>
            <date>2015-08-06 11:29:29 -0700</date>
            <delta_ts>2015-08-11 11:35:16 -0700</delta_ts>
            <desc>Super rough WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>22437</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgJKHJldmlz
aW9uIDE4NzY3OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2su
aAkod29ya2luZyBjb3B5KQpAQCAtOTAzLDYgKzkwMywxOCBAQCBwdWJsaWM6CiAgICAgICAgIEV2
YWxDb2RlQ2FjaGUgbV9ldmFsQ29kZUNhY2hlOwogICAgIH07CiAKKyAgICB2b2lkIGNsZWFyRXhj
ZXB0aW9uSGFuZGxlcnMoKQorICAgIHsKKyAgICAgICAgaWYgKG1fcmFyZURhdGEpCisgICAgICAg
ICAgICBtX3JhcmVEYXRhLT5tX2V4Y2VwdGlvbkhhbmRsZXJzLmNsZWFyKCk7CisgICAgfQorCisg
ICAgdm9pZCBhcHBlbmRFeGNlcHRpb25IYW5kbGVyKGNvbnN0IEhhbmRsZXJJbmZvJiBoYW5kbGVy
KQorICAgIHsKKyAgICAgICAgQVNTRVJUKG1fcmFyZURhdGEpOworICAgICAgICBtX3JhcmVEYXRh
LT5tX2V4Y2VwdGlvbkhhbmRsZXJzLmFwcGVuZChoYW5kbGVyKTsKKyAgICB9CisKIHByb3RlY3Rl
ZDoKICAgICB2aXJ0dWFsIHZvaWQgdmlzaXRXZWFrUmVmZXJlbmNlcyhTbG90VmlzaXRvciYpIG92
ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBmaW5hbGl6ZVVuY29uZGl0aW9uYWxseSgpIG92ZXJy
aWRlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBh
cnNlci5jcHAJKHJldmlzaW9uIDE4NzY3OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHQnl0ZUNvZGVQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMzUzLDYgKzMzNTMsOSBA
QCBib29sIEJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKHVuc2lnbmVkCiAgICAgICAgICAgICBm
bHVzaEZvclRlcm1pbmFsKCk7CiAgICAgICAgICAgICBhZGRUb0dyYXBoKFVucmVhY2hhYmxlKTsK
ICAgICAgICAgICAgIExBU1RfT1BDT0RFKG9wX3Rocm93X3N0YXRpY19lcnJvcik7CisKKyAgICAg
ICAgY2FzZSBvcF9jYXRjaDoKKyAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX2NhdGNoKTsKICAg
ICAgICAgICAgIAogICAgICAgICBjYXNlIG9wX2NhbGw6CiAgICAgICAgICAgICBoYW5kbGVDYWxs
KGN1cnJlbnRJbnN0cnVjdGlvbiwgQ2FsbCwgQ29kZUZvckNhbGwpOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAkocmV2aXNpb24gMTg3Njc5
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMDcsNiArMjA3LDcgQEAgQ2FwYWJpbGl0eUxldmVsIGNhcGFiaWxpdHlM
ZXZlbChPcGNvZGVJRAogICAgIGNhc2Ugb3BfbmV3X2Z1bmNfZXhwOgogICAgIGNhc2Ugb3BfY3Jl
YXRlX2xleGljYWxfZW52aXJvbm1lbnQ6CiAgICAgY2FzZSBvcF9nZXRfcGFyZW50X3Njb3BlOgor
ICAgIGNhc2Ugb3BfY2F0Y2g6CiAgICAgICAgIHJldHVybiBDYW5Db21waWxlQW5kSW5saW5lOwog
CiAgICAgY2FzZSBvcF9wdXRfdG9fc2NvcGU6IHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHSklUQ29tcGlsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHSklUQ29tcGlsZXIuY3BwCShyZXZpc2lvbiAxODc2NzkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
OTAsNiArOTAsNyBAQCB2b2lkIEpJVENvbXBpbGVyOjpsaW5rT1NSRXhpdHMoKQogICAgICAgICBz
dG9yZTMyKFRydXN0ZWRJbW0zMihpKSwgJnZtKCktPm9zckV4aXRJbmRleCk7CiAgICAgICAgIGV4
aXQuc2V0UGF0Y2hhYmxlQ29kZU9mZnNldChwYXRjaGFibGVKdW1wKCkpOwogICAgIH0KKwogfQog
CiB2b2lkIEpJVENvbXBpbGVyOjpjb21waWxlRW50cnkoKQpAQCAtMjc1LDcgKzI3NiwxOSBAQCB2
b2lkIEpJVENvbXBpbGVyOjpsaW5rKExpbmtCdWZmZXImIGxpbmtCCiAgICAgICAgIH0KICAgICB9
IGVsc2UKICAgICAgICAgQVNTRVJUKCFtX2V4aXRTaXRlTGFiZWxzLnNpemUoKSk7Ci0gICAgCisK
KyAgICAvLyBMaW5rIG5ldyBleGNlcHRpb24gaGFuZGxlcnMgYW5kIHJlbW92ZSBiYXNlbGluZSBK
SVQgaGFuZGxlcnMuCisgICAgbV9jb2RlQmxvY2stPmNsZWFyRXhjZXB0aW9uSGFuZGxlcnMoKTsK
KyAgICBmb3IgKHVuc2lnbmVkICBpID0gMDsgaSA8IG1fZXhjZXB0aW9uT1NSRXhpdENhbGxTaXRl
cy5zaXplKCk7IGkrKykgeworICAgICAgICAgQ29kZUxvY2F0aW9uTGFiZWwgY2F0Y2hMYWJlbCA9
IGxpbmtCdWZmZXIubG9jYXRpb25PZihtX2V4Y2VwdGlvbk9TUkV4aXRDYWxsU2l0ZXNbaV0uZXhp
dEluZm8ubV9yZXBsYWNlbWVudERlc3RpbmF0aW9uKTsKKyAgICAgICAgIEhhbmRsZXJJbmZvIG5l
d0V4Y2VwdGlvbkhhbmRsZXIgPSBtX2V4Y2VwdGlvbk9TUkV4aXRDYWxsU2l0ZXNbaV0uYmFzZWxp
bmVFeGNlcHRpb25IYW5kbGVyOworICAgICAgICAgbmV3RXhjZXB0aW9uSGFuZGxlci5zdGFydCA9
IGk7CisgICAgICAgICBuZXdFeGNlcHRpb25IYW5kbGVyLmVuZCA9IGkgKyAxOworICAgICAgICAg
bmV3RXhjZXB0aW9uSGFuZGxlci5uYXRpdmVDb2RlID0gY2F0Y2hMYWJlbDsKKyAgICAgICAgIHBy
aW50ZigiQ2F0Y2ggaGFuZGxlciAlZCBsaW5rZWQgYXQ6ICVwXG4iLCBpLCBjYXRjaExhYmVsLmV4
ZWN1dGFibGVBZGRyZXNzKCkpOworICAgICAgICAgbV9jb2RlQmxvY2stPmFwcGVuZEV4Y2VwdGlv
bkhhbmRsZXIobmV3RXhjZXB0aW9uSGFuZGxlcik7CisgICAgfQorCiAgICAgbV9qaXRDb2RlLT5j
b21tb24uY29tcGlsYXRpb24gPSBtX2dyYXBoLmNvbXBpbGF0aW9uKCk7CiAgICAgCiB9CkBAIC01
MjAsNiArNTMzLDQxIEBAIHZvaWQgSklUQ29tcGlsZXI6Om5vdGljZU9TUkVudHJ5KEJhc2ljQmwK
ICAgICBlbnRyeS0+bV9yZXNodWZmbGluZ3Muc2hyaW5rVG9GaXQoKTsKIH0KIAorQ29kZU9yaWdp
biBKSVRDb21waWxlcjo6YXBwZW5kRXhjZXB0aW9uT1NSKGNvbnN0IENvZGVPcmlnaW4mIGNvZGVP
cmlnaW4sIHVuc2lnbmVkIGV2ZW50U3RyZWFtSW5kZXgsIEhhbmRsZXJJbmZvKiBleGNlcHRpb25I
YW5kbGVyKSAKK3sKKyAgICBPU1JFeGl0IGV4aXQoVW5jb3VudGFibGUsIEpTVmFsdWVSZWdzKCks
IGdyYXBoKCkubWV0aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmlsZUZvcihudWxscHRyKSwgbV9zcGVj
dWxhdGl2ZS5nZXQoKSwgZXZlbnRTdHJlYW1JbmRleCwgVUlOVF9NQVgsIGV4Y2VwdGlvbkhhbmRs
ZXItPnRhcmdldCk7CisgICAgQ29kZU9yaWdpbiByZXN1bHQgPSBjb2RlT3JpZ2luOworICAgIHJl
c3VsdC5ieXRlY29kZUluZGV4ID0gbV9leGNlcHRpb25PU1JFeGl0Q2FsbFNpdGVzLnNpemUoKTsg
Ly8gRklYTUU6IG5ldyBuYW1lIGZvciAiYnl0ZWNvZGVJbmRleCIuCisgICAgZXhpdC5tX2NvZGVP
cmlnaW4gPSByZXN1bHQ7CisgICAgT1NSRXhpdENvbXBpbGF0aW9uSW5mbyYgZXhpdEluZm8gPSBh
cHBlbmRFeGl0SW5mbygpOworICAgIGppdENvZGUoKS0+YXBwZW5kT1NSRXhpdChleGl0KTsKKyAg
ICBtX2V4Y2VwdGlvbk9TUkV4aXRDYWxsU2l0ZXMuYXBwZW5kKEV4Y2VwdGlvbkhhbmRsZXJGb3JP
U1JFeGl0IHsgZXhpdEluZm8sICpleGNlcHRpb25IYW5kbGVyIH0pOworICAgIHByaW50ZigiRW1p
dHRpbmcgZXhjZXB0aW9uIGhhbmRsZXIgaW4gREZHOiAlZFxuIiwgcmVzdWx0LmJ5dGVjb2RlSW5k
ZXgpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK0NvZGVPcmlnaW4gSklUQ29tcGlsZXI6OnBs
YWNlQ2FsbFNpdGVFeGNlcHRpb25IYW5kbGVyT1NSRXhpdChjb25zdCBDb2RlT3JpZ2luJiBjb2Rl
T3JpZ2luLCB1bnNpZ25lZCBldmVudFN0cmVhbUluZGV4KQoreworICAgIC8vIEZJWE1FOiBtYWtl
IHRoaXMgd29yayB3aXRoIGlubGluZSBjYWxsIHN0YWNrLgorICAgIHVuc2lnbmVkIGJ5dGVjb2Rl
SW5kZXhUb0NoZWNrID0gY29kZU9yaWdpbi5ieXRlY29kZUluZGV4OworICAgIENvZGVPcmlnaW4g
b3JpZ2luID0gY29kZU9yaWdpbjsKKyAgICB3aGlsZSAob3JpZ2luLmlubGluZUNhbGxGcmFtZSkg
eworICAgICAgICBJbmxpbmVDYWxsRnJhbWUqIGZyYW1lID0gb3JpZ2luLmlubGluZUNhbGxGcmFt
ZTsKKyAgICAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBmcmFtZS0+YmFzZWxpbmVDb2RlQmxv
Y2soKTsKKyAgICAgICAgcHJpbnRmKCJjaGVja2luZyBpbmxpbmUgY2FsbCBmcmFtZTogJXAgJXNc
biIsIGZyYW1lLCBjb2RlQmxvY2stPmluZmVycmVkTmFtZSgpLmRhdGEoKSk7CisgICAgICAgIGlm
IChIYW5kbGVySW5mbyogaGFuZGxlciA9IGNvZGVCbG9jay0+aGFuZGxlckZvckJ5dGVjb2RlT2Zm
c2V0KGJ5dGVjb2RlSW5kZXhUb0NoZWNrKSkKKyAgICAgICAgICAgIHJldHVybiBhcHBlbmRFeGNl
cHRpb25PU1Iob3JpZ2luLCBldmVudFN0cmVhbUluZGV4LCBoYW5kbGVyKTsgLy8gRklYTUU6IHJp
Z2h0IGNvZGUgb3JpZ2luIGhlcmU/CisKKyAgICAgICAgYnl0ZWNvZGVJbmRleFRvQ2hlY2sgPSBm
cmFtZS0+Y2FsbGVyLmJ5dGVjb2RlSW5kZXg7CisgICAgICAgIG9yaWdpbiA9IG9yaWdpbi5pbmxp
bmVDYWxsRnJhbWUtPmNhbGxlcjsKKyAgICB9CisKKyAgICBpZiAoSGFuZGxlckluZm8qIGhhbmRs
ZXIgPSBtX2NvZGVCbG9jay0+aGFuZGxlckZvckJ5dGVjb2RlT2Zmc2V0KGJ5dGVjb2RlSW5kZXhU
b0NoZWNrKSkKKyAgICAgICAgcmV0dXJuIGFwcGVuZEV4Y2VwdGlvbk9TUihvcmlnaW4sIGV2ZW50
U3RyZWFtSW5kZXgsIGhhbmRsZXIpOyAvLyBGSVhNRTogcmlnaHQgY29kZSBvcmlnaW4gaGVyZT8K
KworICAgIHJldHVybiBjb2RlT3JpZ2luOworfQorCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6REZH
CiAKICNlbmRpZiAvLyBFTkFCTEUoREZHX0pJVCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHSklUQ29tcGlsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0pJVENvbXBpbGVyLmgJKHJldmlzaW9uIDE4NzY3OSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHSklUQ29tcGlsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiAr
MzgsNyBAQAogI2luY2x1ZGUgIkRGR1JlZ2lzdGVyQmFuay5oIgogI2luY2x1ZGUgIkZQUkluZm8u
aCIKICNpbmNsdWRlICJHUFJJbmZvLmgiCisjaW5jbHVkZSAiSGFuZGxlckluZm8uaCIKICNpbmNs
dWRlICJKSVRDb2RlLmgiCiAjaW5jbHVkZSAiSklUSW5saW5lQ2FjaGVHZW5lcmF0b3IuaCIKICNp
bmNsdWRlICJMaW5rQnVmZmVyLmgiCkBAIC0yNzEsNiArMjcyLDggQEAgcHVibGljOgogICAgIAog
ICAgIFZlY3RvcjxMYWJlbD4mIGJsb2NrSGVhZHMoKSB7IHJldHVybiBtX2Jsb2NrSGVhZHM7IH0K
IAorICAgIENvZGVPcmlnaW4gcGxhY2VDYWxsU2l0ZUV4Y2VwdGlvbkhhbmRsZXJPU1JFeGl0KGNv
bnN0IENvZGVPcmlnaW4mLCB1bnNpZ25lZCBldmVudFN0cmVhbUluZGV4KTsKKwogcHJpdmF0ZToK
ICAgICBmcmllbmQgY2xhc3MgT1NSRXhpdEp1bXBQbGFjZWhvbGRlcjsKICAgICAKQEAgLTI4Myw2
ICsyODYsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgY29tcGlsZUV4Y2VwdGlvbkhhbmRsZXJzKCk7
CiAgICAgdm9pZCBsaW5rT1NSRXhpdHMoKTsKICAgICB2b2lkIGRpc2Fzc2VtYmxlKExpbmtCdWZm
ZXImKTsKKworICAgIENvZGVPcmlnaW4gYXBwZW5kRXhjZXB0aW9uT1NSKGNvbnN0IENvZGVPcmln
aW4mIGNvZGVPcmlnaW4sIHVuc2lnbmVkIGV2ZW50U3RyZWFtSW5kZXgsIEhhbmRsZXJJbmZvKiBl
eGNlcHRpb25IYW5kbGVyKTsKICAgICAKICAgICAvLyBUaGUgZGF0YWZsb3cgZ3JhcGggY3VycmVu
dGx5IGJlaW5nIGdlbmVyYXRlZC4KICAgICBHcmFwaCYgbV9ncmFwaDsKQEAgLTMyMSw2ICszMjYs
MTIgQEAgcHJpdmF0ZToKICAgICBTZWdtZW50ZWRWZWN0b3I8T1NSRXhpdENvbXBpbGF0aW9uSW5m
bywgND4gbV9leGl0Q29tcGlsYXRpb25JbmZvOwogICAgIFZlY3RvcjxWZWN0b3I8TGFiZWw+PiBt
X2V4aXRTaXRlTGFiZWxzOwogICAgIAorICAgIHN0cnVjdCBFeGNlcHRpb25IYW5kbGVyRm9yT1NS
RXhpdCB7CisgICAgICAgIE9TUkV4aXRDb21waWxhdGlvbkluZm8mIGV4aXRJbmZvOworICAgICAg
ICBIYW5kbGVySW5mbyBiYXNlbGluZUV4Y2VwdGlvbkhhbmRsZXI7CisgICAgfTsKKyAgICBWZWN0
b3I8RXhjZXB0aW9uSGFuZGxlckZvck9TUkV4aXQ+IG1fZXhjZXB0aW9uT1NSRXhpdENhbGxTaXRl
czsKKyAgICAKICAgICBDYWxsIG1fY2FsbEFyaXR5Rml4dXA7CiAgICAgTGFiZWwgbV9hcml0eUNo
ZWNrOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxTcGVjdWxhdGl2ZUpJVD4gbV9zcGVjdWxhdGl2ZTsK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0LmNwcAkocmV2aXNpb24g
MTg3Njc5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzUsOCArMzUsOCBAQAogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNl
IERGRyB7CiAKLU9TUkV4aXQ6Ok9TUkV4aXQoRXhpdEtpbmQga2luZCwgSlNWYWx1ZVNvdXJjZSBq
c1ZhbHVlU291cmNlLCBNZXRob2RPZkdldHRpbmdBVmFsdWVQcm9maWxlIHZhbHVlUHJvZmlsZSwg
U3BlY3VsYXRpdmVKSVQqIGppdCwgdW5zaWduZWQgc3RyZWFtSW5kZXgsIHVuc2lnbmVkIHJlY292
ZXJ5SW5kZXgpCi0gICAgOiBPU1JFeGl0QmFzZShraW5kLCBqaXQtPm1fY29kZU9yaWdpbkZvckV4
aXRUYXJnZXQsIGppdC0+bV9jb2RlT3JpZ2luRm9yRXhpdFByb2ZpbGUpCitPU1JFeGl0OjpPU1JF
eGl0KEV4aXRLaW5kIGtpbmQsIEpTVmFsdWVTb3VyY2UganNWYWx1ZVNvdXJjZSwgTWV0aG9kT2ZH
ZXR0aW5nQVZhbHVlUHJvZmlsZSB2YWx1ZVByb2ZpbGUsIFNwZWN1bGF0aXZlSklUKiBqaXQsIHVu
c2lnbmVkIHN0cmVhbUluZGV4LCB1bnNpZ25lZCByZWNvdmVyeUluZGV4LCB1bnNpZ25lZCB0YXJn
ZXRCeXRlY29kZUluZGV4KQorICAgIDogT1NSRXhpdEJhc2Uoa2luZCwgaml0LT5tX2NvZGVPcmln
aW5Gb3JFeGl0VGFyZ2V0LCBqaXQtPm1fY29kZU9yaWdpbkZvckV4aXRQcm9maWxlLCB0YXJnZXRC
eXRlY29kZUluZGV4ID09IFVJTlRfTUFYID8gaml0LT5tX2NvZGVPcmlnaW5Gb3JFeGl0VGFyZ2V0
LmJ5dGVjb2RlSW5kZXggOiB0YXJnZXRCeXRlY29kZUluZGV4KQogICAgICwgbV9qc1ZhbHVlU291
cmNlKGpzVmFsdWVTb3VyY2UpCiAgICAgLCBtX3ZhbHVlUHJvZmlsZSh2YWx1ZVByb2ZpbGUpCiAg
ICAgLCBtX3BhdGNoYWJsZUNvZGVPZmZzZXQoMCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHT1NSRXhpdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHT1NSRXhpdC5oCShyZXZpc2lvbiAxODc2NzkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR09TUkV4aXQuaAkod29ya2luZyBjb3B5KQpAQCAtODMsNyArODMsNyBAQCBwcml2
YXRlOgogLy8gVGhpcyBzdHJ1Y3R1cmUgZGVzY3JpYmVzIGhvdyB0byBleGl0IHRoZSBzcGVjdWxh
dGl2ZSBwYXRoIGJ5CiAvLyBnb2luZyBpbnRvIGJhc2VsaW5lIGNvZGUuCiBzdHJ1Y3QgT1NSRXhp
dCA6IHB1YmxpYyBPU1JFeGl0QmFzZSB7Ci0gICAgT1NSRXhpdChFeGl0S2luZCwgSlNWYWx1ZVNv
dXJjZSwgTWV0aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmlsZSwgU3BlY3VsYXRpdmVKSVQqLCB1bnNp
Z25lZCBzdHJlYW1JbmRleCwgdW5zaWduZWQgcmVjb3ZlcnlJbmRleCA9IFVJTlRfTUFYKTsKKyAg
ICBPU1JFeGl0KEV4aXRLaW5kLCBKU1ZhbHVlU291cmNlLCBNZXRob2RPZkdldHRpbmdBVmFsdWVQ
cm9maWxlLCBTcGVjdWxhdGl2ZUpJVCosIHVuc2lnbmVkIHN0cmVhbUluZGV4LCB1bnNpZ25lZCBy
ZWNvdmVyeUluZGV4ID0gVUlOVF9NQVgsIHVuc2lnbmVkIHRhcmdldEJ5dGVjb2RlSW5kZXggPSBV
SU5UX01BWCk7CiAgICAgCiAgICAgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmIG1fY29kZTsKICAgICAK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdEJhc2UuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRCYXNlLmgJKHJldmlz
aW9uIDE4NzY3OSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdEJhc2Uu
aAkod29ya2luZyBjb3B5KQpAQCAtNDAsOSArNDAsMTAgQEAgc3RydWN0IE5vZGU7CiAvLyBhbmQg
dGhlIEZUTC4KIAogc3RydWN0IE9TUkV4aXRCYXNlIHsKLSAgICBPU1JFeGl0QmFzZShFeGl0S2lu
ZCBraW5kLCBDb2RlT3JpZ2luIG9yaWdpbiwgQ29kZU9yaWdpbiBvcmlnaW5Gb3JQcm9maWxlKQor
ICAgIE9TUkV4aXRCYXNlKEV4aXRLaW5kIGtpbmQsIENvZGVPcmlnaW4gb3JpZ2luLCBDb2RlT3Jp
Z2luIG9yaWdpbkZvclByb2ZpbGUsIHVpbnQzMl90IHRhcmdldEJ5dGVjb2RlSW5kZXgpCiAgICAg
ICAgIDogbV9raW5kKGtpbmQpCiAgICAgICAgICwgbV9jb3VudCgwKQorICAgICAgICAsIG1fZXhp
dEJ5dGVjb2RlSW5kZXgodGFyZ2V0Qnl0ZWNvZGVJbmRleCkKICAgICAgICAgLCBtX2NvZGVPcmln
aW4ob3JpZ2luKQogICAgICAgICAsIG1fY29kZU9yaWdpbkZvckV4aXRQcm9maWxlKG9yaWdpbkZv
clByb2ZpbGUpCiAgICAgewpAQCAtNTIsNiArNTMsNyBAQCBzdHJ1Y3QgT1NSRXhpdEJhc2Ugewog
ICAgIAogICAgIEV4aXRLaW5kIG1fa2luZDsKICAgICB1aW50MzJfdCBtX2NvdW50OworICAgIHVp
bnQzMl90IG1fZXhpdEJ5dGVjb2RlSW5kZXg7CiAgICAgCiAgICAgQ29kZU9yaWdpbiBtX2NvZGVP
cmlnaW47CiAgICAgQ29kZU9yaWdpbiBtX2NvZGVPcmlnaW5Gb3JFeGl0UHJvZmlsZTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyNjQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyNjQu
Y3BwCShyZXZpc2lvbiAxODc2NzkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09T
UkV4aXRDb21waWxlcjY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzgsNyArMzgsNyBAQAogCiBu
YW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CiAKLXZvaWQgT1NSRXhpdENvbXBpbGVyOjpj
b21waWxlRXhpdChjb25zdCBPU1JFeGl0JiBleGl0LCBjb25zdCBPcGVyYW5kczxWYWx1ZVJlY292
ZXJ5PiYgb3BlcmFuZHMsIFNwZWN1bGF0aW9uUmVjb3ZlcnkqIHJlY292ZXJ5KQordm9pZCBPU1JF
eGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0KGNvbnN0IE9TUkV4aXQmIGV4aXQsIGNvbnN0IE9wZXJh
bmRzPFZhbHVlUmVjb3Zlcnk+JiBvcGVyYW5kcywgU3BlY3VsYXRpb25SZWNvdmVyeSogcmVjb3Zl
cnksIGJvb2wgaXNFeGl0aW5nQmVjYXVzZUV4Y2VwdGlvbikKIHsKICAgICBtX2ppdC5qaXRBc3Nl
cnRUYWdzSW5QbGFjZSgpOwogCkBAIC0zNzAsNyArMzcwLDcgQEAgdm9pZCBPU1JFeGl0Q29tcGls
ZXI6OmNvbXBpbGVFeGl0KGNvbnN0IAogICAgIHJlaWZ5SW5saW5lZENhbGxGcmFtZXMobV9qaXQs
IGV4aXQpOwogICAgIAogICAgIC8vIEFuZCBmaW5pc2guCi0gICAgYWRqdXN0QW5kSnVtcFRvVGFy
Z2V0KG1faml0LCBleGl0KTsKKyAgICBhZGp1c3RBbmRKdW1wVG9UYXJnZXQobV9qaXQsIGV4aXQs
IGlzRXhpdGluZ0JlY2F1c2VFeGNlcHRpb24pOwogfQogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6
REZHCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29t
cGlsZXIuY3BwCShyZXZpc2lvbiAxODc2NzkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR09TUkV4aXRDb21waWxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTExNSwxMyArMTE1LDIw
IEBAIHZvaWQgY29tcGlsZU9TUkV4aXQoRXhlY1N0YXRlKiBleGVjKQogewogICAgIFNhbXBsaW5n
UmVnaW9uIHNhbXBsaW5nUmVnaW9uKCJERkcgT1NSIEV4aXQgQ29tcGlsYXRpb24iKTsKICAgICAK
KyAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKKyAgICBib29sIGlzRXhpdGluZ0JlY2F1c2VFeGNl
cHRpb24gPSBmYWxzZTsKKyAgICBpZiAodm0tPmV4Y2VwdGlvbigpKSB7CisgICAgICAgIC8vIFdl
J3ZlIGxhbmRlZCBoZXJlIGFmdGVyIGdlbmVyaWNVbndpbmQgYW5kIHdlIG5lZWQgdG8gZ3JhYiB0
aGUgY29ycmVjdCBjYWxsRnJhbWUgZm9yIHRoZSBERkcgY29kZS4KKyAgICAgICAgZXhlYyA9IHZt
LT5jYWxsRnJhbWVGb3JUaHJvdzsKKyAgICAgICAgaXNFeGl0aW5nQmVjYXVzZUV4Y2VwdGlvbiA9
IHRydWU7CisgICAgfQorICAgIAogICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZXhlYy0+Y29k
ZUJsb2NrKCk7CisgICAgcHJpbnRmKCJjb2RlQmxvY2sgY29tcGlsZU9TUkV4aXQ6ICVwXG4iLCBj
b2RlQmxvY2spOwogICAgIAogICAgIEFTU0VSVChjb2RlQmxvY2spOwogICAgIEFTU0VSVChjb2Rl
QmxvY2stPmppdFR5cGUoKSA9PSBKSVRDb2RlOjpERkdKSVQpOwogICAgIAotICAgIFZNKiB2bSA9
ICZleGVjLT52bSgpOwotICAgIAogICAgIC8vIEl0J3Mgc29ydCBvZiBwcmVmZXJhYmxlIHRoYXQg
d2UgZG9uJ3QgR0Mgd2hpbGUgaW4gaGVyZS4gQW55d2F5cywgZG9pbmcgc28gd291bGRuJ3QKICAg
ICAvLyByZWFsbHkgYmUgcHJvZml0YWJsZS4KICAgICBEZWZlckdDRm9yQVdoaWxlIGRlZmVyR0Mo
dm0tPmhlYXApOwpAQCAtMTU1LDcgKzE2Miw3IEBAIHZvaWQgY29tcGlsZU9TUkV4aXQoRXhlY1N0
YXRlKiBleGVjKQogICAgICAgICAgICAgaml0LmFkZDY0KENDYWxsSGVscGVyczo6VHJ1c3RlZElt
bTMyKDEpLCBDQ2FsbEhlbHBlcnM6OkFic29sdXRlQWRkcmVzcyhwcm9maWxlckV4aXQtPmNvdW50
ZXJBZGRyZXNzKCkpKTsKICAgICAgICAgfQogICAgICAgICAKLSAgICAgICAgZXhpdENvbXBpbGVy
LmNvbXBpbGVFeGl0KGV4aXQsIG9wZXJhbmRzLCByZWNvdmVyeSk7CisgICAgICAgIGV4aXRDb21w
aWxlci5jb21waWxlRXhpdChleGl0LCBvcGVyYW5kcywgcmVjb3ZlcnksIGlzRXhpdGluZ0JlY2F1
c2VFeGNlcHRpb24pOwogICAgICAgICAKICAgICAgICAgTGlua0J1ZmZlciBwYXRjaEJ1ZmZlcigq
dm0sIGppdCwgY29kZUJsb2NrKTsKICAgICAgICAgZXhpdC5tX2NvZGUgPSBGSU5BTElaRV9DT0RF
X0lGKApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21w
aWxlci5oCShyZXZpc2lvbiAxODc2NzkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R09TUkV4aXRDb21waWxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00Niw3ICs0Niw3IEBAIHB1Ymxp
YzoKICAgICB7CiAgICAgfQogICAgIAotICAgIHZvaWQgY29tcGlsZUV4aXQoY29uc3QgT1NSRXhp
dCYsIGNvbnN0IE9wZXJhbmRzPFZhbHVlUmVjb3Zlcnk+JiwgU3BlY3VsYXRpb25SZWNvdmVyeSop
OworICAgIHZvaWQgY29tcGlsZUV4aXQoY29uc3QgT1NSRXhpdCYsIGNvbnN0IE9wZXJhbmRzPFZh
bHVlUmVjb3Zlcnk+JiwgU3BlY3VsYXRpb25SZWNvdmVyeSosIGJvb2wpOwogCiBwcml2YXRlOgog
ICAgIHZvaWQgZW1pdFJlc3RvcmVBcmd1bWVudHMoY29uc3QgT3BlcmFuZHM8VmFsdWVSZWNvdmVy
eT4mKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVy
Q29tbW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09T
UkV4aXRDb21waWxlckNvbW1vbi5jcHAJKHJldmlzaW9uIDE4NzY3OSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMjQ3LDcgKzI0Nyw3IEBAIHN0YXRpYyB2b2lkIG9zcldyaXRlQmFycmllcihDQ2FsbEhl
bHBlcnMKIH0KICNlbmRpZiAvLyBFTkFCTEUoR0dDKQogCi12b2lkIGFkanVzdEFuZEp1bXBUb1Rh
cmdldChDQ2FsbEhlbHBlcnMmIGppdCwgY29uc3QgT1NSRXhpdEJhc2UmIGV4aXQpCit2b2lkIGFk
anVzdEFuZEp1bXBUb1RhcmdldChDQ2FsbEhlbHBlcnMmIGppdCwgY29uc3QgT1NSRXhpdEJhc2Um
IGV4aXQsIGJvb2wgaXNFeGl0aW5nQmVjYXVzZUV4Y2VwdGlvbikKIHsKICNpZiBFTkFCTEUoR0dD
KSAKICAgICBqaXQubW92ZShBc3NlbWJseUhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoaml0LmNvZGVC
bG9jaygpLT5vd25lckV4ZWN1dGFibGUoKSksIEdQUkluZm86Om5vbkFyZ0dQUjApOwpAQCAtMjY4
LDE0ICsyNjgsMjEgQEAgdm9pZCBhZGp1c3RBbmRKdW1wVG9UYXJnZXQoQ0NhbGxIZWxwZXJzJgog
ICAgIENvZGVCbG9jayogYmFzZWxpbmVDb2RlQmxvY2sgPSBqaXQuYmFzZWxpbmVDb2RlQmxvY2tG
b3IoZXhpdC5tX2NvZGVPcmlnaW4pOwogICAgIFZlY3RvcjxCeXRlY29kZUFuZE1hY2hpbmVPZmZz
ZXQ+JiBkZWNvZGVkQ29kZU1hcCA9IGppdC5kZWNvZGVkQ29kZU1hcEZvcihiYXNlbGluZUNvZGVC
bG9jayk7CiAgICAgCi0gICAgQnl0ZWNvZGVBbmRNYWNoaW5lT2Zmc2V0KiBtYXBwaW5nID0gYmlu
YXJ5U2VhcmNoPEJ5dGVjb2RlQW5kTWFjaGluZU9mZnNldCwgdW5zaWduZWQ+KGRlY29kZWRDb2Rl
TWFwLCBkZWNvZGVkQ29kZU1hcC5zaXplKCksIGV4aXQubV9jb2RlT3JpZ2luLmJ5dGVjb2RlSW5k
ZXgsIEJ5dGVjb2RlQW5kTWFjaGluZU9mZnNldDo6Z2V0Qnl0ZWNvZGVJbmRleCk7CisgICAgQnl0
ZWNvZGVBbmRNYWNoaW5lT2Zmc2V0KiBtYXBwaW5nID0gYmluYXJ5U2VhcmNoPEJ5dGVjb2RlQW5k
TWFjaGluZU9mZnNldCwgdW5zaWduZWQ+KGRlY29kZWRDb2RlTWFwLCBkZWNvZGVkQ29kZU1hcC5z
aXplKCksIGV4aXQubV9leGl0Qnl0ZWNvZGVJbmRleCwgQnl0ZWNvZGVBbmRNYWNoaW5lT2Zmc2V0
OjpnZXRCeXRlY29kZUluZGV4KTsKICAgICAKICAgICBBU1NFUlQobWFwcGluZyk7Ci0gICAgQVNT
RVJUKG1hcHBpbmctPm1fYnl0ZWNvZGVJbmRleCA9PSBleGl0Lm1fY29kZU9yaWdpbi5ieXRlY29k
ZUluZGV4KTsKKyAgICAvLyBGSVhNRTogbmVlZCBhIG1vcmUgY29tcGxldGUvc291bmQgc3Rvcnkg
aGVyZS4gTmVlZCB0byBiZSBleHBsaWNpdCBpbiB3aGF0IHdlJ3JlIGRvaW5nLgorICAgIC8vQVNT
RVJUKG1hcHBpbmctPm1fYnl0ZWNvZGVJbmRleCA9PSBleGl0Lm1fY29kZU9yaWdpbi5ieXRlY29k
ZUluZGV4KTsKICAgICAKICAgICB2b2lkKiBqdW1wVGFyZ2V0ID0gYmFzZWxpbmVDb2RlQmxvY2st
PmppdENvZGUoKS0+ZXhlY3V0YWJsZUFkZHJlc3NBdE9mZnNldChtYXBwaW5nLT5tX21hY2hpbmVD
b2RlT2Zmc2V0KTsKIAogICAgIGppdC5hZGRQdHIoQXNzZW1ibHlIZWxwZXJzOjpUcnVzdGVkSW1t
MzIoSklUOjpzdGFja1BvaW50ZXJPZmZzZXRGb3IoYmFzZWxpbmVDb2RlQmxvY2spICogc2l6ZW9m
KFJlZ2lzdGVyKSksIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBBc3NlbWJseUhlbHBlcnM6
OnN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKKyAgICBpZiAoaXNFeGl0aW5nQmVjYXVzZUV4Y2VwdGlv
bikgeworICAgICAgICAvLyBGSVhNRTogMzItYml0LgorICAgICAgICAvLyBTaW5jZSB3ZSdyZSBq
dW1waW5nIHRvIG9wX2NhdGNoLCB3ZSBuZWVkIHRvIHJlLWFkanVzdCB0aGUgY2FsbEZyYW1lRm9y
VGhyb3dPZmZzZXQgdG8gYmUgdGhlIGNhbGN1bGF0ZWQgY2FsbCBmcmFtZSBoZXJlLgorICAgICAg
ICBqaXQubW92ZShBc3NlbWJseUhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoaml0LnZtKCkpLCBHUFJJ
bmZvOjpyZWdUMik7CisgICAgICAgIGppdC5zdG9yZVB0cihHUFJJbmZvOjpjYWxsRnJhbWVSZWdp
c3RlciwgQXNzZW1ibHlIZWxwZXJzOjpBZGRyZXNzKEdQUkluZm86OnJlZ1QyLCBWTTo6Y2FsbEZy
YW1lRm9yVGhyb3dPZmZzZXQoKSkpOworICAgIH0KICAgICAKICAgICBqaXQuaml0QXNzZXJ0VGFn
c0luUGxhY2UoKTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0
Q29tcGlsZXJDb21tb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR09TUkV4aXRDb21waWxlckNvbW1vbi5oCShyZXZpc2lvbiAxODc2NzkpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlckNvbW1vbi5oCSh3b3JraW5nIGNv
cHkpCkBAIC0zNSw3ICszNSw3IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKIAog
dm9pZCBoYW5kbGVFeGl0Q291bnRzKENDYWxsSGVscGVycyYsIGNvbnN0IE9TUkV4aXRCYXNlJik7
CiB2b2lkIHJlaWZ5SW5saW5lZENhbGxGcmFtZXMoQ0NhbGxIZWxwZXJzJiwgY29uc3QgT1NSRXhp
dEJhc2UmKTsKLXZvaWQgYWRqdXN0QW5kSnVtcFRvVGFyZ2V0KENDYWxsSGVscGVycyYsIGNvbnN0
IE9TUkV4aXRCYXNlJik7Cit2b2lkIGFkanVzdEFuZEp1bXBUb1RhcmdldChDQ2FsbEhlbHBlcnMm
LCBjb25zdCBPU1JFeGl0QmFzZSYsIGJvb2wpOwogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6REZH
CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVDY0LmNwcAkocmV2aXNpb24gMTg3Njc5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzcwLDcgKzc3MCw4
IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKE5vZGUqIG5vZGUKICAgICBKSVRDb21w
aWxlcjo6RGF0YUxhYmVsUHRyIHRhcmdldFRvQ2hlY2s7CiAgICAgSklUQ29tcGlsZXI6Okp1bXAg
c2xvd1BhdGg7CiAKLSAgICBtX2ppdC5lbWl0U3RvcmVDb2RlT3JpZ2luKG5vZGUtPm9yaWdpbi5z
ZW1hbnRpYyk7CisgICAgQ29kZU9yaWdpbiBvcmlnaW4gPSBtX2ppdC5wbGFjZUNhbGxTaXRlRXhj
ZXB0aW9uSGFuZGxlck9TUkV4aXQobm9kZS0+b3JpZ2luLnNlbWFudGljLCBtX3N0cmVhbS0+c2l6
ZSgpKTsKKyAgICBtX2ppdC5lbWl0U3RvcmVDb2RlT3JpZ2luKG9yaWdpbik7CiAgICAgCiAgICAg
Q2FsbExpbmtJbmZvKiBjYWxsTGlua0luZm8gPSBtX2ppdC5jb2RlQmxvY2soKS0+YWRkQ2FsbExp
bmtJbmZvKCk7CiAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklULmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5oCShyZXZpc2lvbiAxODc2NzkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgJKHdvcmtpbmcgY29weSkKQEAgLTIzNzIsNyArMjM3
Miw3IEBAIHB1YmxpYzoKICAgICAvLyBDYWxsZWQgd2hlbiB3ZSBzdGF0aWNhbGx5IGRldGVybWlu
ZSB0aGF0IGEgc3BlY3VsYXRpb24gd2lsbCBmYWlsLgogICAgIHZvaWQgdGVybWluYXRlU3BlY3Vs
YXRpdmVFeGVjdXRpb24oRXhpdEtpbmQsIEpTVmFsdWVSZWdzLCBOb2RlKik7CiAgICAgdm9pZCB0
ZXJtaW5hdGVTcGVjdWxhdGl2ZUV4ZWN1dGlvbihFeGl0S2luZCwgSlNWYWx1ZVJlZ3MsIEVkZ2Up
OwotICAgIAorCiAgICAgLy8gSGVscGVycyBmb3IgcGVyZm9ybWluZyB0eXBlIGNoZWNrcyBvbiBh
biBlZGdlIHN0b3JlZCBpbiB0aGUgZ2l2ZW4gcmVnaXN0ZXJzLgogICAgIGJvb2wgbmVlZHNUeXBl
Q2hlY2soRWRnZSBlZGdlLCBTcGVjdWxhdGVkVHlwZSB0eXBlc1Bhc3NlZFRocm91Z2gpIHsgcmV0
dXJuIG1faW50ZXJwcmV0ZXIubmVlZHNUeXBlQ2hlY2soZWRnZSwgdHlwZXNQYXNzZWRUaHJvdWdo
KTsgfQogICAgIHZvaWQgdHlwZUNoZWNrKEpTVmFsdWVTb3VyY2UsIEVkZ2UsIFNwZWN1bGF0ZWRU
eXBlIHR5cGVzUGFzc2VkVGhyb3VnaCwgTWFjcm9Bc3NlbWJsZXI6Okp1bXAganVtcFRvRmFpbCk7
CkBAIC0yNDk1LDYgKzI0OTUsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgVmVjdG9yPHN0ZDo6dW5p
cXVlX3B0cjxTbG93UGF0aEdlbmVyYXRvcj4sIDg+IG1fc2xvd1BhdGhHZW5lcmF0b3JzOwogICAg
IFZlY3RvcjxTaWxlbnRSZWdpc3RlclNhdmVQbGFuPiBtX3BsYW5zOworICAgIHVuc2lnbmVkIG1f
Y2FsbFNpdGVDb3VudCB7IDAgfTsKIH07CiAKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2Z0bC9GVExPU1JFeGl0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZnRsL0ZUTE9TUkV4aXQuY3BwCShyZXZpc2lvbiAxODc2NzkpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTE9TUkV4aXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NSw3ICs0NSw3IEBA
IE9TUkV4aXQ6Ok9TUkV4aXQoCiAgICAgTWV0aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmlsZSB2YWx1
ZVByb2ZpbGUsIENvZGVPcmlnaW4gY29kZU9yaWdpbiwKICAgICBDb2RlT3JpZ2luIG9yaWdpbkZv
clByb2ZpbGUsIHVuc2lnbmVkIG51bWJlck9mQXJndW1lbnRzLAogICAgIHVuc2lnbmVkIG51bWJl
ck9mTG9jYWxzKQotICAgIDogT1NSRXhpdEJhc2UoZXhpdEtpbmQsIGNvZGVPcmlnaW4sIG9yaWdp
bkZvclByb2ZpbGUpCisgICAgOiBPU1JFeGl0QmFzZShleGl0S2luZCwgY29kZU9yaWdpbiwgb3Jp
Z2luRm9yUHJvZmlsZSwgY29kZU9yaWdpbi5ieXRlY29kZUluZGV4KQogICAgICwgbV9wcm9maWxl
VmFsdWVGb3JtYXQocHJvZmlsZVZhbHVlRm9ybWF0KQogICAgICwgbV92YWx1ZVByb2ZpbGUodmFs
dWVQcm9maWxlKQogICAgICwgbV9wYXRjaGFibGVDb2RlT2Zmc2V0KDApCkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4aXRDb21waWxlci5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPU1JFeGl0Q29tcGlsZXIuY3BwCShyZXZpc2lv
biAxODc2NzkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4aXRDb21waWxl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3Miw3ICs0NzIsNyBAQCBzdGF0aWMgdm9pZCBjb21w
aWxlU3R1YigKICAgICAKICAgICBoYW5kbGVFeGl0Q291bnRzKGppdCwgZXhpdCk7CiAgICAgcmVp
ZnlJbmxpbmVkQ2FsbEZyYW1lcyhqaXQsIGV4aXQpOwotICAgIGFkanVzdEFuZEp1bXBUb1Rhcmdl
dChqaXQsIGV4aXQpOworICAgIGFkanVzdEFuZEp1bXBUb1RhcmdldChqaXQsIGV4aXQsIGZhbHNl
KTsKICAgICAKICAgICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVyKCp2bSwgaml0LCBjb2RlQmxvY2sp
OwogICAgIGV4aXQubV9jb2RlID0gRklOQUxJWkVfQ09ERV9JRigKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAkocmV2aXNpb24g
MTg3Njc5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVy
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjI3LDcgKzYyNyw3IEBAIHB1YmxpYzoKICAgICAgICAg
Vk0mIHZtID0gbV9jYWxsRnJhbWUtPnZtKCk7CiAgICAgICAgIG1fdm1FbnRyeUZyYW1lID0gdmlz
aXRvci0+dm1FbnRyeUZyYW1lKCk7CiAgICAgICAgIG1fY2FsbEZyYW1lID0gdmlzaXRvci0+Y2Fs
bEZyYW1lKCk7Ci0gICAgICAgIG1fY29kZUJsb2NrID0gdmlzaXRvci0+Y29kZUJsb2NrKCk7Cisg
ICAgICAgIG1fY29kZUJsb2NrID0gdmlzaXRvci5tYWNoaW5lQ29kZUJsb2NrRm9yRnJhbWUoKTsK
ICAgICAgICAgdW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQgPSB2aXNpdG9yLT5ieXRlY29kZU9mZnNl
dCgpOwogCiAgICAgICAgIGlmIChtX2lzVGVybWluYXRpb24gfHwgIShtX2hhbmRsZXIgPSBtX2Nv
ZGVCbG9jayA/IG1fY29kZUJsb2NrLT5oYW5kbGVyRm9yQnl0ZWNvZGVPZmZzZXQoYnl0ZWNvZGVP
ZmZzZXQpIDogbnVsbHB0cikpIHsKQEAgLTcwNywxOSArNzA3LDIyIEBAIE5FVkVSX0lOTElORSBI
YW5kbGVySW5mbyogSW50ZXJwcmV0ZXI6OnUKICAgICAgICAgcHJvZmlsZXItPmV4Y2VwdGlvblVu
d2luZChjYWxsRnJhbWUpOwogCiAgICAgLy8gVW53aW5kIHRoZSBzY29wZSBjaGFpbiB3aXRoaW4g
dGhlIGV4Y2VwdGlvbiBoYW5kbGVyJ3MgY2FsbCBmcmFtZS4KLSAgICBpbnQgdGFyZ2V0U2NvcGVE
ZXB0aCA9IGhhbmRsZXItPnNjb3BlRGVwdGg7Ci0gICAgaWYgKGNvZGVCbG9jay0+bmVlZHNBY3Rp
dmF0aW9uKCkgJiYgY2FsbEZyYW1lLT5oYXNBY3RpdmF0aW9uKCkpCi0gICAgICAgICsrdGFyZ2V0
U2NvcGVEZXB0aDsKLQotICAgIGludCBzY29wZVJlZ2lzdGVyT2Zmc2V0ID0gY29kZUJsb2NrLT5z
Y29wZVJlZ2lzdGVyKCkub2Zmc2V0KCk7Ci0gICAgSlNTY29wZSogc2NvcGUgPSBjYWxsRnJhbWUt
PnNjb3BlKHNjb3BlUmVnaXN0ZXJPZmZzZXQpOwotICAgIGludCBzY29wZURlbHRhID0gc2NvcGUt
PmRlcHRoKCkgLSB0YXJnZXRTY29wZURlcHRoOwotICAgIFJFTEVBU0VfQVNTRVJUKHNjb3BlRGVs
dGEgPj0gMCk7CiAKLSAgICB3aGlsZSAoc2NvcGVEZWx0YS0tKQotICAgICAgICBzY29wZSA9IHNj
b3BlLT5uZXh0KCk7CisgICAgLy9pZiAoY29kZUJsb2NrLT5qaXRUeXBlKCkgIT0gSklUQ29kZTo6
REZHSklUKSB7CisgICAgLy8gICAgaW50IHRhcmdldFNjb3BlRGVwdGggPSBoYW5kbGVyLT5zY29w
ZURlcHRoOworICAgIC8vICAgIGlmIChjb2RlQmxvY2stPm5lZWRzQWN0aXZhdGlvbigpICYmIGNh
bGxGcmFtZS0+aGFzQWN0aXZhdGlvbigpKQorICAgIC8vICAgICAgICArK3RhcmdldFNjb3BlRGVw
dGg7CisKKyAgICAvLyAgICBpbnQgc2NvcGVSZWdpc3Rlck9mZnNldCA9IGNvZGVCbG9jay0+c2Nv
cGVSZWdpc3RlcigpLm9mZnNldCgpOworICAgIC8vICAgIEpTU2NvcGUqIHNjb3BlID0gY2FsbEZy
YW1lLT5zY29wZShzY29wZVJlZ2lzdGVyT2Zmc2V0KTsKKyAgICAvLyAgICBpbnQgc2NvcGVEZWx0
YSA9IHNjb3BlLT5kZXB0aCgpIC0gdGFyZ2V0U2NvcGVEZXB0aDsKKyAgICAvLyAgICBSRUxFQVNF
X0FTU0VSVChzY29wZURlbHRhID49IDApOwogCi0gICAgY2FsbEZyYW1lLT5zZXRTY29wZShzY29w
ZVJlZ2lzdGVyT2Zmc2V0LCBzY29wZSk7CisgICAgLy8gICAgd2hpbGUgKHNjb3BlRGVsdGEtLSkK
KyAgICAvLyAgICAgICAgc2NvcGUgPSBzY29wZS0+bmV4dCgpOworCisgICAgLy8gICAgY2FsbEZy
YW1lLT5zZXRTY29wZShzY29wZVJlZ2lzdGVyT2Zmc2V0LCBzY29wZSk7CisgICAgLy99CiAKICAg
ICByZXR1cm4gaGFuZGxlcjsKIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnBy
ZXRlci9TdGFja1Zpc2l0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnRlcnByZXRlci9TdGFja1Zpc2l0b3IuY3BwCShyZXZpc2lvbiAxODc2NzkpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9yLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNjgsNiArNjgsMTYgQEAgdm9pZCBTdGFja1Zpc2l0b3I6OmdvdG9OZXh0RnJhbWUo
KQogICAgIHJlYWRGcmFtZShtX2ZyYW1lLmNhbGxlckZyYW1lKCkpOwogfQogCitDb2RlQmxvY2sq
IFN0YWNrVmlzaXRvcjo6bWFjaGluZUNvZGVCbG9ja0ZvckZyYW1lKCkKK3sKKyAgICBGcmFtZSBz
YXZlRnJhbWUgPSBtX2ZyYW1lOworICAgIHdoaWxlIChtX2ZyYW1lLmlzSW5saW5lZEZyYW1lKCkp
CisgICAgICAgIGdvdG9OZXh0RnJhbWUoKTsKKyAgICBDb2RlQmxvY2sqIHJlc3VsdCA9IG1fZnJh
bWUuY29kZUJsb2NrKCk7CisgICAgbV9mcmFtZSA9IHNhdmVGcmFtZTsKKyAgICByZXR1cm4gcmVz
dWx0OworfQorCiB2b2lkIFN0YWNrVmlzaXRvcjo6cmVhZEZyYW1lKENhbGxGcmFtZSogY2FsbEZy
YW1lKQogewogICAgIGlmICghY2FsbEZyYW1lKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ludGVycHJldGVyL1N0YWNrVmlzaXRvci5oCShyZXZpc2lvbiAxODc2NzkpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9yLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEzMCw2ICsxMzAsNyBAQCBwdWJsaWM6CiAKICAgICBGcmFtZSYgb3BlcmF0
b3IqKCkgeyByZXR1cm4gbV9mcmFtZTsgfQogICAgIEFMV0FZU19JTkxJTkUgRnJhbWUqIG9wZXJh
dG9yLT4oKSB7IHJldHVybiAmbV9mcmFtZTsgfQorICAgIENvZGVCbG9jayogbWFjaGluZUNvZGVC
bG9ja0ZvckZyYW1lKCk7CiAKIHByaXZhdGU6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RhY2tW
aXNpdG9yKENhbGxGcmFtZSogc3RhcnRGcmFtZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVEV4Y2VwdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9qaXQvSklURXhjZXB0aW9ucy5jcHAJKHJldmlzaW9uIDE4NzY3OSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklURXhjZXB0aW9ucy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY0
LDYgKzY0LDcgQEAgdm9pZCBnZW5lcmljVW53aW5kKFZNKiB2bSwgRXhlY1N0YXRlKiBjYQogICAg
IH0gZWxzZQogICAgICAgICBjYXRjaFJvdXRpbmUgPSBMTEludDo6Z2V0Q29kZVB0cihoYW5kbGVV
bmNhdWdodEV4Y2VwdGlvbik7CiAgICAgCisgICAgcHJpbnRmKCJnZW5lcmljVW53aW5kIGNvZGVC
bG9jazolcCBqdW1waW5nIHRvOiAlcCBpc0RGRzolZFxuIiwgY2FsbEZyYW1lLT5jb2RlQmxvY2so
KSwgY2F0Y2hSb3V0aW5lLCBjYWxsRnJhbWUtPmNvZGVCbG9jaygpLT5qaXRUeXBlKCkgPT0gSklU
Q29kZTo6REZHSklUKTsKICAgICB2bS0+dm1FbnRyeUZyYW1lRm9yVGhyb3cgPSB2bUVudHJ5RnJh
bWU7CiAgICAgdm0tPmNhbGxGcmFtZUZvclRocm93ID0gY2FsbEZyYW1lOwogICAgIHZtLT50YXJn
ZXRNYWNoaW5lUENGb3JUaHJvdyA9IGNhdGNoUm91dGluZTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>258729</attachid>
            <date>2015-08-11 11:35:16 -0700</date>
            <delta_ts>2015-08-15 17:34:58 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>24917</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgJKHJldmlz
aW9uIDE4ODIxNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2su
aAkod29ya2luZyBjb3B5KQpAQCAtOTAzLDYgKzkwMywxOSBAQCBwdWJsaWM6CiAgICAgICAgIEV2
YWxDb2RlQ2FjaGUgbV9ldmFsQ29kZUNhY2hlOwogICAgIH07CiAKKyAgICB2b2lkIGNsZWFyRXhj
ZXB0aW9uSGFuZGxlcnMoKQorICAgIHsKKyAgICAgICAgaWYgKG1fcmFyZURhdGEpCisgICAgICAg
ICAgICBtX3JhcmVEYXRhLT5tX2V4Y2VwdGlvbkhhbmRsZXJzLmNsZWFyKCk7CisgICAgfQorCisg
ICAgdm9pZCBhcHBlbmRFeGNlcHRpb25IYW5kbGVyKGNvbnN0IEhhbmRsZXJJbmZvJiBoYW5kbGVy
KQorICAgIHsKKyAgICAgICAgQVNTRVJUKGppdFR5cGUoKSA9PSBKSVRDb2RlOjpERkdKSVQpOwor
ICAgICAgICBjcmVhdGVSYXJlRGF0YUlmTmVjZXNzYXJ5KCk7IC8vIFdlIG1heSBiZSBoYW5kbGlu
ZyB0aGUgZXhjZXB0aW9uIG9mIGFuIGlubGluZWQgY2FsbCBmcmFtZS4KKyAgICAgICAgbV9yYXJl
RGF0YS0+bV9leGNlcHRpb25IYW5kbGVycy5hcHBlbmQoaGFuZGxlcik7CisgICAgfQorCiBwcm90
ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIHZpc2l0V2Vha1JlZmVyZW5jZXMoU2xvdFZpc2l0b3Im
KSBvdmVycmlkZTsKICAgICB2aXJ0dWFsIHZvaWQgZmluYWxpemVVbmNvbmRpdGlvbmFsbHkoKSBv
dmVycmlkZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJz
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNv
ZGVQYXJzZXIuY3BwCShyZXZpc2lvbiAxODgyMTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzY5NCw2ICszNjk0
LDkgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZAogICAgICAgICAg
ICAgZmx1c2hGb3JUZXJtaW5hbCgpOwogICAgICAgICAgICAgYWRkVG9HcmFwaChVbnJlYWNoYWJs
ZSk7CiAgICAgICAgICAgICBMQVNUX09QQ09ERShvcF90aHJvd19zdGF0aWNfZXJyb3IpOworCisg
ICAgICAgIGNhc2Ugb3BfY2F0Y2g6CisgICAgICAgICAgICBORVhUX09QQ09ERShvcF9jYXRjaCk7
CiAgICAgICAgICAgICAKICAgICAgICAgY2FzZSBvcF9jYWxsOgogICAgICAgICAgICAgaGFuZGxl
Q2FsbChjdXJyZW50SW5zdHJ1Y3Rpb24sIENhbGwsIENvZGVGb3JDYWxsKTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAJKHJldmlzaW9uIDE4
ODIxNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjA3LDYgKzIwNyw3IEBAIENhcGFiaWxpdHlMZXZlbCBjYXBhYmls
aXR5TGV2ZWwoT3Bjb2RlSUQKICAgICBjYXNlIG9wX25ld19mdW5jX2V4cDoKICAgICBjYXNlIG9w
X2NyZWF0ZV9sZXhpY2FsX2Vudmlyb25tZW50OgogICAgIGNhc2Ugb3BfZ2V0X3BhcmVudF9zY29w
ZToKKyAgICBjYXNlIG9wX2NhdGNoOgogICAgICAgICByZXR1cm4gQ2FuQ29tcGlsZUFuZElubGlu
ZTsKIAogICAgIGNhc2Ugb3BfcHV0X3RvX3Njb3BlOiB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0pJVENvbXBpbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVyLmNwcAkocmV2aXNpb24gMTg4MjE0KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21waWxlci5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTkwLDYgKzkwLDcgQEAgdm9pZCBKSVRDb21waWxlcjo6bGlua09TUkV4aXRzKCkKICAgICAg
ICAgc3RvcmUzMihUcnVzdGVkSW1tMzIoaSksICZ2bSgpLT5vc3JFeGl0SW5kZXgpOwogICAgICAg
ICBleGl0LnNldFBhdGNoYWJsZUNvZGVPZmZzZXQocGF0Y2hhYmxlSnVtcCgpKTsKICAgICB9CisK
IH0KIAogdm9pZCBKSVRDb21waWxlcjo6Y29tcGlsZUVudHJ5KCkKQEAgLTI3NSw3ICsyNzYsMTkg
QEAgdm9pZCBKSVRDb21waWxlcjo6bGluayhMaW5rQnVmZmVyJiBsaW5rQgogICAgICAgICB9CiAg
ICAgfSBlbHNlCiAgICAgICAgIEFTU0VSVCghbV9leGl0U2l0ZUxhYmVscy5zaXplKCkpOwotICAg
IAorCisgICAgLy8gTGluayBuZXcgZXhjZXB0aW9uIGhhbmRsZXJzIGFuZCByZW1vdmUgYmFzZWxp
bmUgSklUIGhhbmRsZXJzLgorICAgIG1fY29kZUJsb2NrLT5jbGVhckV4Y2VwdGlvbkhhbmRsZXJz
KCk7CisgICAgZm9yICh1bnNpZ25lZCAgaSA9IDA7IGkgPCBtX2V4Y2VwdGlvbk9TUkV4aXRDYWxs
U2l0ZXMuc2l6ZSgpOyBpKyspIHsKKyAgICAgICAgIENvZGVMb2NhdGlvbkxhYmVsIGNhdGNoTGFi
ZWwgPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2YobV9leGNlcHRpb25PU1JFeGl0Q2FsbFNpdGVzW2ld
LmV4aXRJbmZvLm1fcmVwbGFjZW1lbnREZXN0aW5hdGlvbik7CisgICAgICAgICBIYW5kbGVySW5m
byBuZXdFeGNlcHRpb25IYW5kbGVyID0gbV9leGNlcHRpb25PU1JFeGl0Q2FsbFNpdGVzW2ldLmJh
c2VsaW5lRXhjZXB0aW9uSGFuZGxlcjsKKyAgICAgICAgIG5ld0V4Y2VwdGlvbkhhbmRsZXIuc3Rh
cnQgPSBpOworICAgICAgICAgbmV3RXhjZXB0aW9uSGFuZGxlci5lbmQgPSBpICsgMTsKKyAgICAg
ICAgIG5ld0V4Y2VwdGlvbkhhbmRsZXIubmF0aXZlQ29kZSA9IGNhdGNoTGFiZWw7CisgICAgICAg
ICAvL3ByaW50ZigiQ2F0Y2ggaGFuZGxlciAlZCBsaW5rZWQgYXQ6ICVwXG4iLCBpLCBjYXRjaExh
YmVsLmV4ZWN1dGFibGVBZGRyZXNzKCkpOworICAgICAgICAgbV9jb2RlQmxvY2stPmFwcGVuZEV4
Y2VwdGlvbkhhbmRsZXIobmV3RXhjZXB0aW9uSGFuZGxlcik7CisgICAgfQorCiAgICAgbV9qaXRD
b2RlLT5jb21tb24uY29tcGlsYXRpb24gPSBtX2dyYXBoLmNvbXBpbGF0aW9uKCk7CiAgICAgCiB9
CkBAIC01MjAsNiArNTMzLDQwIEBAIHZvaWQgSklUQ29tcGlsZXI6Om5vdGljZU9TUkVudHJ5KEJh
c2ljQmwKICAgICBlbnRyeS0+bV9yZXNodWZmbGluZ3Muc2hyaW5rVG9GaXQoKTsKIH0KIAorQ29k
ZU9yaWdpbiBKSVRDb21waWxlcjo6YXBwZW5kT1NSRXhpdEZvckV4Y2VwdGlvbkhhbmRsaW5nKGNv
bnN0IENvZGVPcmlnaW4mIGNvZGVPcmlnaW4sIHVuc2lnbmVkIGV2ZW50U3RyZWFtSW5kZXgsIEhh
bmRsZXJJbmZvKiBleGNlcHRpb25IYW5kbGVyKQoreworICAgIE9TUkV4aXQgZXhpdChVbmNvdW50
YWJsZSwgSlNWYWx1ZVJlZ3MoKSwgZ3JhcGgoKS5tZXRob2RPZkdldHRpbmdBVmFsdWVQcm9maWxl
Rm9yKG51bGxwdHIpLCBtX3NwZWN1bGF0aXZlLmdldCgpLCBldmVudFN0cmVhbUluZGV4LCBVSU5U
X01BWCwgZXhjZXB0aW9uSGFuZGxlci0+dGFyZ2V0KTsKKyAgICBDb2RlT3JpZ2luIHJlc3VsdCA9
IGNvZGVPcmlnaW47CisgICAgcmVzdWx0LmJ5dGVjb2RlSW5kZXggPSBtX2V4Y2VwdGlvbk9TUkV4
aXRDYWxsU2l0ZXMuc2l6ZSgpOyAvLyBGSVhNRTogbmV3IG5hbWUgZm9yICJieXRlY29kZUluZGV4
Ii4KKyAgICBleGl0Lm1fY29kZU9yaWdpbiA9IHJlc3VsdDsKKyAgICBPU1JFeGl0Q29tcGlsYXRp
b25JbmZvJiBleGl0SW5mbyA9IGFwcGVuZEV4aXRJbmZvKCk7CisgICAgaml0Q29kZSgpLT5hcHBl
bmRPU1JFeGl0KGV4aXQpOworICAgIG1fZXhjZXB0aW9uT1NSRXhpdENhbGxTaXRlcy5hcHBlbmQo
RXhjZXB0aW9uSGFuZGxlckZvck9TUkV4aXQgeyBleGl0SW5mbywgKmV4Y2VwdGlvbkhhbmRsZXIg
fSk7CisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworQ29kZU9yaWdpbiBKSVRDb21waWxlcjo6cGxh
Y2VDYWxsU2l0ZU9TUkV4aXRIYW5kbGVyRm9yRXhjZXB0aW9uSWZOZWVkZWQoY29uc3QgQ29kZU9y
aWdpbiYgY29kZU9yaWdpbiwgdW5zaWduZWQgZXZlbnRTdHJlYW1JbmRleCkKK3sKKyAgICAvLyBG
SVhNRTogbWFrZSB0aGlzIHdvcmsgd2l0aCBpbmxpbmUgY2FsbCBzdGFjay4KKyAgICB1bnNpZ25l
ZCBieXRlY29kZUluZGV4VG9DaGVjayA9IGNvZGVPcmlnaW4uYnl0ZWNvZGVJbmRleDsKKyAgICBD
b2RlT3JpZ2luIG9yaWdpbiA9IGNvZGVPcmlnaW47CisgICAgd2hpbGUgKG9yaWdpbi5pbmxpbmVD
YWxsRnJhbWUpIHsKKyAgICAgICAgSW5saW5lQ2FsbEZyYW1lKiBmcmFtZSA9IG9yaWdpbi5pbmxp
bmVDYWxsRnJhbWU7CisgICAgICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZnJhbWUtPmJhc2Vs
aW5lQ29kZUJsb2NrKCk7CisgICAgICAgIC8vcHJpbnRmKCJjaGVja2luZyBpbmxpbmUgY2FsbCBm
cmFtZTogJXAgJXNcbiIsIGZyYW1lLCBjb2RlQmxvY2stPmluZmVycmVkTmFtZSgpLmRhdGEoKSk7
CisgICAgICAgIGlmIChIYW5kbGVySW5mbyogaGFuZGxlciA9IGNvZGVCbG9jay0+aGFuZGxlckZv
ckJ5dGVjb2RlT2Zmc2V0KGJ5dGVjb2RlSW5kZXhUb0NoZWNrKSkKKyAgICAgICAgICAgIHJldHVy
biBhcHBlbmRPU1JFeGl0Rm9yRXhjZXB0aW9uSGFuZGxpbmcob3JpZ2luLCBldmVudFN0cmVhbUlu
ZGV4LCBoYW5kbGVyKTsgLy8gRklYTUU6IHJpZ2h0IGNvZGUgb3JpZ2luIGhlcmU/CisKKyAgICAg
ICAgYnl0ZWNvZGVJbmRleFRvQ2hlY2sgPSBmcmFtZS0+Y2FsbGVyLmJ5dGVjb2RlSW5kZXg7Cisg
ICAgICAgIG9yaWdpbiA9IG9yaWdpbi5pbmxpbmVDYWxsRnJhbWUtPmNhbGxlcjsKKyAgICB9CisK
KyAgICBpZiAoSGFuZGxlckluZm8qIGhhbmRsZXIgPSBtX2NvZGVCbG9jay0+aGFuZGxlckZvckJ5
dGVjb2RlT2Zmc2V0KGJ5dGVjb2RlSW5kZXhUb0NoZWNrKSkKKyAgICAgICAgcmV0dXJuIGFwcGVu
ZE9TUkV4aXRGb3JFeGNlcHRpb25IYW5kbGluZyhvcmlnaW4sIGV2ZW50U3RyZWFtSW5kZXgsIGhh
bmRsZXIpOyAvLyBGSVhNRTogcmlnaHQgY29kZSBvcmlnaW4gaGVyZT8KKworICAgIHJldHVybiBj
b2RlT3JpZ2luOworfQorCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6REZHCiAKICNlbmRpZiAvLyBF
TkFCTEUoREZHX0pJVCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29t
cGlsZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENv
bXBpbGVyLmgJKHJldmlzaW9uIDE4ODIxNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHSklUQ29tcGlsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1
ZGUgIkRGR1JlZ2lzdGVyQmFuay5oIgogI2luY2x1ZGUgIkZQUkluZm8uaCIKICNpbmNsdWRlICJH
UFJJbmZvLmgiCisjaW5jbHVkZSAiSGFuZGxlckluZm8uaCIKICNpbmNsdWRlICJKSVRDb2RlLmgi
CiAjaW5jbHVkZSAiSklUSW5saW5lQ2FjaGVHZW5lcmF0b3IuaCIKICNpbmNsdWRlICJMaW5rQnVm
ZmVyLmgiCkBAIC0yNzEsNiArMjcyLDggQEAgcHVibGljOgogICAgIAogICAgIFZlY3RvcjxMYWJl
bD4mIGJsb2NrSGVhZHMoKSB7IHJldHVybiBtX2Jsb2NrSGVhZHM7IH0KIAorICAgIENvZGVPcmln
aW4gcGxhY2VDYWxsU2l0ZU9TUkV4aXRIYW5kbGVyRm9yRXhjZXB0aW9uSWZOZWVkZWQoY29uc3Qg
Q29kZU9yaWdpbiYsIHVuc2lnbmVkIGV2ZW50U3RyZWFtSW5kZXgpOworCiBwcml2YXRlOgogICAg
IGZyaWVuZCBjbGFzcyBPU1JFeGl0SnVtcFBsYWNlaG9sZGVyOwogICAgIApAQCAtMjgzLDYgKzI4
Niw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb21waWxlRXhjZXB0aW9uSGFuZGxlcnMoKTsKICAg
ICB2b2lkIGxpbmtPU1JFeGl0cygpOwogICAgIHZvaWQgZGlzYXNzZW1ibGUoTGlua0J1ZmZlciYp
OworCisgICAgQ29kZU9yaWdpbiBhcHBlbmRPU1JFeGl0Rm9yRXhjZXB0aW9uSGFuZGxpbmcoY29u
c3QgQ29kZU9yaWdpbiYgY29kZU9yaWdpbiwgdW5zaWduZWQgZXZlbnRTdHJlYW1JbmRleCwgSGFu
ZGxlckluZm8qIGV4Y2VwdGlvbkhhbmRsZXIpOwogICAgIAogICAgIC8vIFRoZSBkYXRhZmxvdyBn
cmFwaCBjdXJyZW50bHkgYmVpbmcgZ2VuZXJhdGVkLgogICAgIEdyYXBoJiBtX2dyYXBoOwpAQCAt
MzIxLDYgKzMyNiwxMiBAQCBwcml2YXRlOgogICAgIFNlZ21lbnRlZFZlY3RvcjxPU1JFeGl0Q29t
cGlsYXRpb25JbmZvLCA0PiBtX2V4aXRDb21waWxhdGlvbkluZm87CiAgICAgVmVjdG9yPFZlY3Rv
cjxMYWJlbD4+IG1fZXhpdFNpdGVMYWJlbHM7CiAgICAgCisgICAgc3RydWN0IEV4Y2VwdGlvbkhh
bmRsZXJGb3JPU1JFeGl0IHsKKyAgICAgICAgT1NSRXhpdENvbXBpbGF0aW9uSW5mbyYgZXhpdElu
Zm87CisgICAgICAgIEhhbmRsZXJJbmZvIGJhc2VsaW5lRXhjZXB0aW9uSGFuZGxlcjsKKyAgICB9
OworICAgIFZlY3RvcjxFeGNlcHRpb25IYW5kbGVyRm9yT1NSRXhpdD4gbV9leGNlcHRpb25PU1JF
eGl0Q2FsbFNpdGVzOworICAgIAogICAgIENhbGwgbV9jYWxsQXJpdHlGaXh1cDsKICAgICBMYWJl
bCBtX2FyaXR5Q2hlY2s7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFNwZWN1bGF0aXZlSklUPiBtX3Nw
ZWN1bGF0aXZlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXQuY3Bw
CShyZXZpc2lvbiAxODgyMTQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4
aXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw4ICszNSw4IEBACiAKIG5hbWVzcGFjZSBKU0Mg
eyBuYW1lc3BhY2UgREZHIHsKIAotT1NSRXhpdDo6T1NSRXhpdChFeGl0S2luZCBraW5kLCBKU1Zh
bHVlU291cmNlIGpzVmFsdWVTb3VyY2UsIE1ldGhvZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUgdmFs
dWVQcm9maWxlLCBTcGVjdWxhdGl2ZUpJVCogaml0LCB1bnNpZ25lZCBzdHJlYW1JbmRleCwgdW5z
aWduZWQgcmVjb3ZlcnlJbmRleCkKLSAgICA6IE9TUkV4aXRCYXNlKGtpbmQsIGppdC0+bV9jb2Rl
T3JpZ2luRm9yRXhpdFRhcmdldCwgaml0LT5tX2NvZGVPcmlnaW5Gb3JFeGl0UHJvZmlsZSkKK09T
UkV4aXQ6Ok9TUkV4aXQoRXhpdEtpbmQga2luZCwgSlNWYWx1ZVNvdXJjZSBqc1ZhbHVlU291cmNl
LCBNZXRob2RPZkdldHRpbmdBVmFsdWVQcm9maWxlIHZhbHVlUHJvZmlsZSwgU3BlY3VsYXRpdmVK
SVQqIGppdCwgdW5zaWduZWQgc3RyZWFtSW5kZXgsIHVuc2lnbmVkIHJlY292ZXJ5SW5kZXgsIHVu
c2lnbmVkIHRhcmdldEJ5dGVjb2RlSW5kZXgpCisgICAgOiBPU1JFeGl0QmFzZShraW5kLCBqaXQt
Pm1fY29kZU9yaWdpbkZvckV4aXRUYXJnZXQsIGppdC0+bV9jb2RlT3JpZ2luRm9yRXhpdFByb2Zp
bGUsIHRhcmdldEJ5dGVjb2RlSW5kZXggPT0gVUlOVF9NQVggPyBqaXQtPm1fY29kZU9yaWdpbkZv
ckV4aXRUYXJnZXQuYnl0ZWNvZGVJbmRleCA6IHRhcmdldEJ5dGVjb2RlSW5kZXgpCiAgICAgLCBt
X2pzVmFsdWVTb3VyY2UoanNWYWx1ZVNvdXJjZSkKICAgICAsIG1fdmFsdWVQcm9maWxlKHZhbHVl
UHJvZmlsZSkKICAgICAsIG1fcGF0Y2hhYmxlQ29kZU9mZnNldCgwKQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0LmgJKHJldmlzaW9uIDE4ODIxNCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdC5oCSh3b3JraW5nIGNvcHkpCkBAIC04Myw3ICs4
Myw3IEBAIHByaXZhdGU6CiAvLyBUaGlzIHN0cnVjdHVyZSBkZXNjcmliZXMgaG93IHRvIGV4aXQg
dGhlIHNwZWN1bGF0aXZlIHBhdGggYnkKIC8vIGdvaW5nIGludG8gYmFzZWxpbmUgY29kZS4KIHN0
cnVjdCBPU1JFeGl0IDogcHVibGljIE9TUkV4aXRCYXNlIHsKLSAgICBPU1JFeGl0KEV4aXRLaW5k
LCBKU1ZhbHVlU291cmNlLCBNZXRob2RPZkdldHRpbmdBVmFsdWVQcm9maWxlLCBTcGVjdWxhdGl2
ZUpJVCosIHVuc2lnbmVkIHN0cmVhbUluZGV4LCB1bnNpZ25lZCByZWNvdmVyeUluZGV4ID0gVUlO
VF9NQVgpOworICAgIE9TUkV4aXQoRXhpdEtpbmQsIEpTVmFsdWVTb3VyY2UsIE1ldGhvZE9mR2V0
dGluZ0FWYWx1ZVByb2ZpbGUsIFNwZWN1bGF0aXZlSklUKiwgdW5zaWduZWQgc3RyZWFtSW5kZXgs
IHVuc2lnbmVkIHJlY292ZXJ5SW5kZXggPSBVSU5UX01BWCwgdW5zaWduZWQgdGFyZ2V0Qnl0ZWNv
ZGVJbmRleCA9IFVJTlRfTUFYKTsKICAgICAKICAgICBNYWNyb0Fzc2VtYmxlckNvZGVSZWYgbV9j
b2RlOwogICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0QmFz
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdEJh
c2UuaAkocmV2aXNpb24gMTg4MjE0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdP
U1JFeGl0QmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00MCw5ICs0MCwxMCBAQCBzdHJ1Y3QgTm9k
ZTsKIC8vIGFuZCB0aGUgRlRMLgogCiBzdHJ1Y3QgT1NSRXhpdEJhc2UgewotICAgIE9TUkV4aXRC
YXNlKEV4aXRLaW5kIGtpbmQsIENvZGVPcmlnaW4gb3JpZ2luLCBDb2RlT3JpZ2luIG9yaWdpbkZv
clByb2ZpbGUpCisgICAgT1NSRXhpdEJhc2UoRXhpdEtpbmQga2luZCwgQ29kZU9yaWdpbiBvcmln
aW4sIENvZGVPcmlnaW4gb3JpZ2luRm9yUHJvZmlsZSwgdWludDMyX3QgdGFyZ2V0Qnl0ZWNvZGVJ
bmRleCkKICAgICAgICAgOiBtX2tpbmQoa2luZCkKICAgICAgICAgLCBtX2NvdW50KDApCisgICAg
ICAgICwgbV9leGl0Qnl0ZWNvZGVJbmRleCh0YXJnZXRCeXRlY29kZUluZGV4KQogICAgICAgICAs
IG1fY29kZU9yaWdpbihvcmlnaW4pCiAgICAgICAgICwgbV9jb2RlT3JpZ2luRm9yRXhpdFByb2Zp
bGUob3JpZ2luRm9yUHJvZmlsZSkKICAgICB7CkBAIC01Miw2ICs1Myw3IEBAIHN0cnVjdCBPU1JF
eGl0QmFzZSB7CiAgICAgCiAgICAgRXhpdEtpbmQgbV9raW5kOwogICAgIHVpbnQzMl90IG1fY291
bnQ7CisgICAgdWludDMyX3QgbV9leGl0Qnl0ZWNvZGVJbmRleDsKICAgICAKICAgICBDb2RlT3Jp
Z2luIG1fY29kZU9yaWdpbjsKICAgICBDb2RlT3JpZ2luIG1fY29kZU9yaWdpbkZvckV4aXRQcm9m
aWxlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXI2
NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0
Q29tcGlsZXI2NC5jcHAJKHJldmlzaW9uIDE4ODIxNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw3ICsz
OCw3IEBACiAKIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKIAotdm9pZCBPU1JFeGl0
Q29tcGlsZXI6OmNvbXBpbGVFeGl0KGNvbnN0IE9TUkV4aXQmIGV4aXQsIGNvbnN0IE9wZXJhbmRz
PFZhbHVlUmVjb3Zlcnk+JiBvcGVyYW5kcywgU3BlY3VsYXRpb25SZWNvdmVyeSogcmVjb3Zlcnkp
Cit2b2lkIE9TUkV4aXRDb21waWxlcjo6Y29tcGlsZUV4aXQoY29uc3QgT1NSRXhpdCYgZXhpdCwg
Y29uc3QgT3BlcmFuZHM8VmFsdWVSZWNvdmVyeT4mIG9wZXJhbmRzLCBTcGVjdWxhdGlvblJlY292
ZXJ5KiByZWNvdmVyeSwgYm9vbCBpc0V4aXRpbmdCZWNhdXNlRXhjZXB0aW9uKQogewogICAgIG1f
aml0LmppdEFzc2VydFRhZ3NJblBsYWNlKCk7CiAKQEAgLTM3MCw3ICszNzAsNyBAQCB2b2lkIE9T
UkV4aXRDb21waWxlcjo6Y29tcGlsZUV4aXQoY29uc3QgCiAgICAgcmVpZnlJbmxpbmVkQ2FsbEZy
YW1lcyhtX2ppdCwgZXhpdCk7CiAgICAgCiAgICAgLy8gQW5kIGZpbmlzaC4KLSAgICBhZGp1c3RB
bmRKdW1wVG9UYXJnZXQobV9qaXQsIGV4aXQpOworICAgIGFkanVzdEFuZEp1bXBUb1RhcmdldCht
X2ppdCwgZXhpdCwgaXNFeGl0aW5nQmVjYXVzZUV4Y2VwdGlvbik7CiB9CiAKIH0gfSAvLyBuYW1l
c3BhY2UgSlNDOjpERkcKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhp
dENvbXBpbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R09TUkV4aXRDb21waWxlci5jcHAJKHJldmlzaW9uIDE4ODIxNCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE1
LDEzICsxMTUsMjAgQEAgdm9pZCBjb21waWxlT1NSRXhpdChFeGVjU3RhdGUqIGV4ZWMpCiB7CiAg
ICAgU2FtcGxpbmdSZWdpb24gc2FtcGxpbmdSZWdpb24oIkRGRyBPU1IgRXhpdCBDb21waWxhdGlv
biIpOwogICAgIAorICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOworICAgIGJvb2wgaXNFeGl0aW5n
QmVjYXVzZUV4Y2VwdGlvbiA9IGZhbHNlOworICAgIGlmICh2bS0+ZXhjZXB0aW9uKCkpIHsKKyAg
ICAgICAgLy8gV2UndmUgbGFuZGVkIGhlcmUgYWZ0ZXIgZ2VuZXJpY1Vud2luZCBhbmQgd2UgbmVl
ZCB0byBncmFiIHRoZSBjb3JyZWN0IGNhbGxGcmFtZSBmb3IgdGhlIERGRyBjb2RlLgorICAgICAg
ICBleGVjID0gdm0tPmNhbGxGcmFtZUZvclRocm93OworICAgICAgICBpc0V4aXRpbmdCZWNhdXNl
RXhjZXB0aW9uID0gdHJ1ZTsKKyAgICB9CisgICAgCiAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sg
PSBleGVjLT5jb2RlQmxvY2soKTsKKyAgICAvL3ByaW50ZigiY29kZUJsb2NrIGNvbXBpbGVPU1JF
eGl0OiAlcFxuIiwgY29kZUJsb2NrKTsKICAgICAKICAgICBBU1NFUlQoY29kZUJsb2NrKTsKICAg
ICBBU1NFUlQoY29kZUJsb2NrLT5qaXRUeXBlKCkgPT0gSklUQ29kZTo6REZHSklUKTsKICAgICAK
LSAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKLSAgICAKICAgICAvLyBJdCdzIHNvcnQgb2YgcHJl
ZmVyYWJsZSB0aGF0IHdlIGRvbid0IEdDIHdoaWxlIGluIGhlcmUuIEFueXdheXMsIGRvaW5nIHNv
IHdvdWxkbid0CiAgICAgLy8gcmVhbGx5IGJlIHByb2ZpdGFibGUuCiAgICAgRGVmZXJHQ0ZvckFX
aGlsZSBkZWZlckdDKHZtLT5oZWFwKTsKQEAgLTE1NSw3ICsxNjIsNyBAQCB2b2lkIGNvbXBpbGVP
U1JFeGl0KEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgICAgIGppdC5hZGQ2NChDQ2FsbEhlbHBl
cnM6OlRydXN0ZWRJbW0zMigxKSwgQ0NhbGxIZWxwZXJzOjpBYnNvbHV0ZUFkZHJlc3MocHJvZmls
ZXJFeGl0LT5jb3VudGVyQWRkcmVzcygpKSk7CiAgICAgICAgIH0KICAgICAgICAgCi0gICAgICAg
IGV4aXRDb21waWxlci5jb21waWxlRXhpdChleGl0LCBvcGVyYW5kcywgcmVjb3ZlcnkpOworICAg
ICAgICBleGl0Q29tcGlsZXIuY29tcGlsZUV4aXQoZXhpdCwgb3BlcmFuZHMsIHJlY292ZXJ5LCBp
c0V4aXRpbmdCZWNhdXNlRXhjZXB0aW9uKTsKICAgICAgICAgCiAgICAgICAgIExpbmtCdWZmZXIg
cGF0Y2hCdWZmZXIoKnZtLCBqaXQsIGNvZGVCbG9jayk7CiAgICAgICAgIGV4aXQubV9jb2RlID0g
RklOQUxJWkVfQ09ERV9JRigKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NS
RXhpdENvbXBpbGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdPU1JFeGl0Q29tcGlsZXIuaAkocmV2aXNpb24gMTg4MjE0KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDYsNyAr
NDYsNyBAQCBwdWJsaWM6CiAgICAgewogICAgIH0KICAgICAKLSAgICB2b2lkIGNvbXBpbGVFeGl0
KGNvbnN0IE9TUkV4aXQmLCBjb25zdCBPcGVyYW5kczxWYWx1ZVJlY292ZXJ5PiYsIFNwZWN1bGF0
aW9uUmVjb3ZlcnkqKTsKKyAgICB2b2lkIGNvbXBpbGVFeGl0KGNvbnN0IE9TUkV4aXQmLCBjb25z
dCBPcGVyYW5kczxWYWx1ZVJlY292ZXJ5PiYsIFNwZWN1bGF0aW9uUmVjb3ZlcnkqLCBib29sKTsK
IAogcHJpdmF0ZToKICAgICB2b2lkIGVtaXRSZXN0b3JlQXJndW1lbnRzKGNvbnN0IE9wZXJhbmRz
PFZhbHVlUmVjb3Zlcnk+Jik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09T
UkV4aXRDb21waWxlckNvbW1vbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uY3BwCShyZXZpc2lvbiAxODgyMTQpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlckNvbW1vbi5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI0Nyw3ICsyNDcsNyBAQCBzdGF0aWMgdm9pZCBvc3JXcml0ZUJh
cnJpZXIoQ0NhbGxIZWxwZXJzCiB9CiAjZW5kaWYgLy8gRU5BQkxFKEdHQykKIAotdm9pZCBhZGp1
c3RBbmRKdW1wVG9UYXJnZXQoQ0NhbGxIZWxwZXJzJiBqaXQsIGNvbnN0IE9TUkV4aXRCYXNlJiBl
eGl0KQordm9pZCBhZGp1c3RBbmRKdW1wVG9UYXJnZXQoQ0NhbGxIZWxwZXJzJiBqaXQsIGNvbnN0
IE9TUkV4aXRCYXNlJiBleGl0LCBib29sIGlzRXhpdGluZ0JlY2F1c2VFeGNlcHRpb24pCiB7CiAj
aWYgRU5BQkxFKEdHQykgCiAgICAgaml0Lm1vdmUoQXNzZW1ibHlIZWxwZXJzOjpUcnVzdGVkSW1t
UHRyKGppdC5jb2RlQmxvY2soKS0+b3duZXJFeGVjdXRhYmxlKCkpLCBHUFJJbmZvOjpub25BcmdH
UFIwKTsKQEAgLTI2OCwxNCArMjY4LDIxIEBAIHZvaWQgYWRqdXN0QW5kSnVtcFRvVGFyZ2V0KEND
YWxsSGVscGVycyYKICAgICBDb2RlQmxvY2sqIGJhc2VsaW5lQ29kZUJsb2NrID0gaml0LmJhc2Vs
aW5lQ29kZUJsb2NrRm9yKGV4aXQubV9jb2RlT3JpZ2luKTsKICAgICBWZWN0b3I8Qnl0ZWNvZGVB
bmRNYWNoaW5lT2Zmc2V0PiYgZGVjb2RlZENvZGVNYXAgPSBqaXQuZGVjb2RlZENvZGVNYXBGb3Io
YmFzZWxpbmVDb2RlQmxvY2spOwogICAgIAotICAgIEJ5dGVjb2RlQW5kTWFjaGluZU9mZnNldCog
bWFwcGluZyA9IGJpbmFyeVNlYXJjaDxCeXRlY29kZUFuZE1hY2hpbmVPZmZzZXQsIHVuc2lnbmVk
PihkZWNvZGVkQ29kZU1hcCwgZGVjb2RlZENvZGVNYXAuc2l6ZSgpLCBleGl0Lm1fY29kZU9yaWdp
bi5ieXRlY29kZUluZGV4LCBCeXRlY29kZUFuZE1hY2hpbmVPZmZzZXQ6OmdldEJ5dGVjb2RlSW5k
ZXgpOworICAgIEJ5dGVjb2RlQW5kTWFjaGluZU9mZnNldCogbWFwcGluZyA9IGJpbmFyeVNlYXJj
aDxCeXRlY29kZUFuZE1hY2hpbmVPZmZzZXQsIHVuc2lnbmVkPihkZWNvZGVkQ29kZU1hcCwgZGVj
b2RlZENvZGVNYXAuc2l6ZSgpLCBleGl0Lm1fZXhpdEJ5dGVjb2RlSW5kZXgsIEJ5dGVjb2RlQW5k
TWFjaGluZU9mZnNldDo6Z2V0Qnl0ZWNvZGVJbmRleCk7CiAgICAgCiAgICAgQVNTRVJUKG1hcHBp
bmcpOwotICAgIEFTU0VSVChtYXBwaW5nLT5tX2J5dGVjb2RlSW5kZXggPT0gZXhpdC5tX2NvZGVP
cmlnaW4uYnl0ZWNvZGVJbmRleCk7CisgICAgLy8gRklYTUU6IG5lZWQgYSBtb3JlIGNvbXBsZXRl
L3NvdW5kIHN0b3J5IGhlcmUuIE5lZWQgdG8gYmUgZXhwbGljaXQgaW4gd2hhdCB3ZSdyZSBkb2lu
Zy4KKyAgICAvL0FTU0VSVChtYXBwaW5nLT5tX2J5dGVjb2RlSW5kZXggPT0gZXhpdC5tX2NvZGVP
cmlnaW4uYnl0ZWNvZGVJbmRleCk7CiAgICAgCiAgICAgdm9pZCoganVtcFRhcmdldCA9IGJhc2Vs
aW5lQ29kZUJsb2NrLT5qaXRDb2RlKCktPmV4ZWN1dGFibGVBZGRyZXNzQXRPZmZzZXQobWFwcGlu
Zy0+bV9tYWNoaW5lQ29kZU9mZnNldCk7CiAKICAgICBqaXQuYWRkUHRyKEFzc2VtYmx5SGVscGVy
czo6VHJ1c3RlZEltbTMyKEpJVDo6c3RhY2tQb2ludGVyT2Zmc2V0Rm9yKGJhc2VsaW5lQ29kZUJs
b2NrKSAqIHNpemVvZihSZWdpc3RlcikpLCBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgQXNz
ZW1ibHlIZWxwZXJzOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7CisgICAgaWYgKGlzRXhpdGluZ0Jl
Y2F1c2VFeGNlcHRpb24pIHsKKyAgICAgICAgLy8gRklYTUU6IDMyLWJpdC4KKyAgICAgICAgLy8g
U2luY2Ugd2UncmUganVtcGluZyB0byBvcF9jYXRjaCwgd2UgbmVlZCB0byByZS1hZGp1c3QgdGhl
IGNhbGxGcmFtZUZvclRocm93T2Zmc2V0IHRvIGJlIHRoZSBjYWxjdWxhdGVkIGNhbGwgZnJhbWUg
aGVyZS4KKyAgICAgICAgaml0Lm1vdmUoQXNzZW1ibHlIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGpp
dC52bSgpKSwgR1BSSW5mbzo6cmVnVDIpOworICAgICAgICBqaXQuc3RvcmVQdHIoR1BSSW5mbzo6
Y2FsbEZyYW1lUmVnaXN0ZXIsIEFzc2VtYmx5SGVscGVyczo6QWRkcmVzcyhHUFJJbmZvOjpyZWdU
MiwgVk06OmNhbGxGcmFtZUZvclRocm93T2Zmc2V0KCkpKTsKKyAgICB9CiAgICAgCiAgICAgaml0
LmppdEFzc2VydFRhZ3NJblBsYWNlKCk7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uaAkocmV2aXNpb24gMTg4MjE0
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXJDb21tb24u
aAkod29ya2luZyBjb3B5KQpAQCAtMzUsNyArMzUsNyBAQCBuYW1lc3BhY2UgSlNDIHsgbmFtZXNw
YWNlIERGRyB7CiAKIHZvaWQgaGFuZGxlRXhpdENvdW50cyhDQ2FsbEhlbHBlcnMmLCBjb25zdCBP
U1JFeGl0QmFzZSYpOwogdm9pZCByZWlmeUlubGluZWRDYWxsRnJhbWVzKENDYWxsSGVscGVycyYs
IGNvbnN0IE9TUkV4aXRCYXNlJik7Ci12b2lkIGFkanVzdEFuZEp1bXBUb1RhcmdldChDQ2FsbEhl
bHBlcnMmLCBjb25zdCBPU1JFeGl0QmFzZSYpOwordm9pZCBhZGp1c3RBbmRKdW1wVG9UYXJnZXQo
Q0NhbGxIZWxwZXJzJiwgY29uc3QgT1NSRXhpdEJhc2UmLCBib29sKTsKIAogfSB9IC8vIG5hbWVz
cGFjZSBKU0M6OkRGRwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nsb3dQ
YXRoR2VuZXJhdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTbG93UGF0aEdlbmVyYXRvci5oCShyZXZpc2lvbiAxODgyMTQpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1Nsb3dQYXRoR2VuZXJhdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTQw
LDYgKzQwLDcgQEAgY2xhc3MgU2xvd1BhdGhHZW5lcmF0b3IgewogcHVibGljOgogICAgIFNsb3dQ
YXRoR2VuZXJhdG9yKFNwZWN1bGF0aXZlSklUKiBqaXQpCiAgICAgICAgIDogbV9jdXJyZW50Tm9k
ZShqaXQtPm1fY3VycmVudE5vZGUpCisgICAgICAgICwgbV9zdHJlYW1JbmRleChqaXQtPm1fc3Ry
ZWFtLT5zaXplKCkpCiAgICAgewogICAgIH0KICAgICB2aXJ0dWFsIH5TbG93UGF0aEdlbmVyYXRv
cigpIHsgfQpAQCAtNDcsNyArNDgsOSBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBtX2xhYmVs
ID0gaml0LT5tX2ppdC5sYWJlbCgpOwogICAgICAgICBqaXQtPm1fY3VycmVudE5vZGUgPSBtX2N1
cnJlbnROb2RlOworICAgICAgICBqaXQtPm1fb3V0T2ZMaW5lU3RyZWFtSW5kZXggPSBtX3N0cmVh
bUluZGV4OwogICAgICAgICBnZW5lcmF0ZUludGVybmFsKGppdCk7CisgICAgICAgIGppdC0+bV9v
dXRPZkxpbmVTdHJlYW1JbmRleCA9IFVJTlRfTUFYOwogICAgICAgICBpZiAoIUFTU0VSVF9ESVNB
QkxFRCkKICAgICAgICAgICAgIGppdC0+bV9qaXQuYWJvcnRXaXRoUmVhc29uKERGR1Nsb3dQYXRo
R2VuZXJhdG9yRmVsbFRocm91Z2gpOwogICAgIH0KQEAgLTYxLDYgKzY0LDcgQEAgcHJvdGVjdGVk
OgogICAgIHZpcnR1YWwgdm9pZCBnZW5lcmF0ZUludGVybmFsKFNwZWN1bGF0aXZlSklUKikgPSAw
OwogICAgIE1hY3JvQXNzZW1ibGVyOjpMYWJlbCBtX2xhYmVsOwogICAgIE5vZGUqIG1fY3VycmVu
dE5vZGU7CisgICAgdW5zaWduZWQgbV9zdHJlYW1JbmRleDsKIH07CiAKIHRlbXBsYXRlPHR5cGVu
YW1lIEp1bXBUeXBlPgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVDY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklUNjQuY3BwCShyZXZpc2lvbiAxODgyMTQpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03
NzAsNyArNzcwLDggQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6ZW1pdENhbGwoTm9kZSogbm9kZQog
ICAgIEpJVENvbXBpbGVyOjpEYXRhTGFiZWxQdHIgdGFyZ2V0VG9DaGVjazsKICAgICBKSVRDb21w
aWxlcjo6SnVtcCBzbG93UGF0aDsKIAotICAgIG1faml0LmVtaXRTdG9yZUNvZGVPcmlnaW4obm9k
ZS0+b3JpZ2luLnNlbWFudGljKTsKKyAgICBDb2RlT3JpZ2luIG9yaWdpbiA9IG1faml0LnBsYWNl
Q2FsbFNpdGVPU1JFeGl0SGFuZGxlckZvckV4Y2VwdGlvbklmTmVlZGVkKG5vZGUtPm9yaWdpbi5z
ZW1hbnRpYywgbV9zdHJlYW0tPnNpemUoKSk7CisgICAgbV9qaXQuZW1pdFN0b3JlQ29kZU9yaWdp
bihvcmlnaW4pOwogICAgIAogICAgIENhbGxMaW5rSW5mbyogY2FsbExpbmtJbmZvID0gbV9qaXQu
Y29kZUJsb2NrKCktPmFkZENhbGxMaW5rSW5mbygpOwogICAgIApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAkocmV2aXNpb24gMTg4MjE0KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xODg4LDcgKzE4ODgsMTAgQEAgcHVibGljOgogICAgIEpJVENvbXBpbGVyOjpD
YWxsIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2soY29uc3QgRnVuY3Rpb25QdHImIGZ1bmN0
aW9uKQogICAgIHsKICAgICAgICAgcHJlcGFyZUZvckV4dGVybmFsQ2FsbCgpOwotICAgICAgICBt
X2ppdC5lbWl0U3RvcmVDb2RlT3JpZ2luKG1fY3VycmVudE5vZGUtPm9yaWdpbi5zZW1hbnRpYyk7
CisgICAgICAgIHVuc2lnbmVkIHN0cmVhbUluZGV4ID0gbV9vdXRPZkxpbmVTdHJlYW1JbmRleCAh
PSBVSU5UX01BWCA/IG1fb3V0T2ZMaW5lU3RyZWFtSW5kZXggOiBtX3N0cmVhbS0+c2l6ZSgpOwor
ICAgICAgICBDb2RlT3JpZ2luIG9yaWdpbiA9IG1faml0LnBsYWNlQ2FsbFNpdGVPU1JFeGl0SGFu
ZGxlckZvckV4Y2VwdGlvbklmTmVlZGVkKG1fY3VycmVudE5vZGUtPm9yaWdpbi5zZW1hbnRpYywg
c3RyZWFtSW5kZXgpOworICAgICAgICBtX2ppdC5lbWl0U3RvcmVDb2RlT3JpZ2luKG9yaWdpbik7
CisgICAgICAgIC8vbV9qaXQuZW1pdFN0b3JlQ29kZU9yaWdpbihtX2N1cnJlbnROb2RlLT5vcmln
aW4uc2VtYW50aWMpOwogICAgICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsID0gbV9qaXQuYXBw
ZW5kQ2FsbChmdW5jdGlvbik7CiAgICAgICAgIG1faml0LmV4Y2VwdGlvbkNoZWNrKCk7CiAgICAg
ICAgIHJldHVybiBjYWxsOwpAQCAtMjM3Miw3ICsyMzc1LDcgQEAgcHVibGljOgogICAgIC8vIENh
bGxlZCB3aGVuIHdlIHN0YXRpY2FsbHkgZGV0ZXJtaW5lIHRoYXQgYSBzcGVjdWxhdGlvbiB3aWxs
IGZhaWwuCiAgICAgdm9pZCB0ZXJtaW5hdGVTcGVjdWxhdGl2ZUV4ZWN1dGlvbihFeGl0S2luZCwg
SlNWYWx1ZVJlZ3MsIE5vZGUqKTsKICAgICB2b2lkIHRlcm1pbmF0ZVNwZWN1bGF0aXZlRXhlY3V0
aW9uKEV4aXRLaW5kLCBKU1ZhbHVlUmVncywgRWRnZSk7Ci0gICAgCisKICAgICAvLyBIZWxwZXJz
IGZvciBwZXJmb3JtaW5nIHR5cGUgY2hlY2tzIG9uIGFuIGVkZ2Ugc3RvcmVkIGluIHRoZSBnaXZl
biByZWdpc3RlcnMuCiAgICAgYm9vbCBuZWVkc1R5cGVDaGVjayhFZGdlIGVkZ2UsIFNwZWN1bGF0
ZWRUeXBlIHR5cGVzUGFzc2VkVGhyb3VnaCkgeyByZXR1cm4gbV9pbnRlcnByZXRlci5uZWVkc1R5
cGVDaGVjayhlZGdlLCB0eXBlc1Bhc3NlZFRocm91Z2gpOyB9CiAgICAgdm9pZCB0eXBlQ2hlY2so
SlNWYWx1ZVNvdXJjZSwgRWRnZSwgU3BlY3VsYXRlZFR5cGUgdHlwZXNQYXNzZWRUaHJvdWdoLCBN
YWNyb0Fzc2VtYmxlcjo6SnVtcCBqdW1wVG9GYWlsKTsKQEAgLTI0ODksMTIgKzI0OTIsMTQgQEAg
cHVibGljOgogICAgIEFic3RyYWN0SW50ZXJwcmV0ZXI8SW5QbGFjZUFic3RyYWN0U3RhdGU+IG1f
aW50ZXJwcmV0ZXI7CiAgICAgCiAgICAgVmFyaWFibGVFdmVudFN0cmVhbSogbV9zdHJlYW07Cisg
ICAgdW5zaWduZWQgbV9vdXRPZkxpbmVTdHJlYW1JbmRleCB7IFVJTlRfTUFYIH07CiAgICAgTWlu
aWZpZWRHcmFwaCogbV9taW5pZmllZEdyYXBoOwogICAgIAogICAgIGJvb2wgbV9pc0NoZWNraW5n
QXJndW1lbnRUeXBlczsKICAgICAKICAgICBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPFNsb3dQYXRo
R2VuZXJhdG9yPiwgOD4gbV9zbG93UGF0aEdlbmVyYXRvcnM7CiAgICAgVmVjdG9yPFNpbGVudFJl
Z2lzdGVyU2F2ZVBsYW4+IG1fcGxhbnM7CisgICAgdW5zaWduZWQgbV9jYWxsU2l0ZUNvdW50IHsg
MCB9OwogfTsKIAogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4aXQu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT1NSRXhpdC5j
cHAJKHJldmlzaW9uIDE4ODIxNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT1NS
RXhpdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDcgQEAgT1NSRXhpdDo6T1NSRXhp
dCgKICAgICBNZXRob2RPZkdldHRpbmdBVmFsdWVQcm9maWxlIHZhbHVlUHJvZmlsZSwgQ29kZU9y
aWdpbiBjb2RlT3JpZ2luLAogICAgIENvZGVPcmlnaW4gb3JpZ2luRm9yUHJvZmlsZSwgdW5zaWdu
ZWQgbnVtYmVyT2ZBcmd1bWVudHMsCiAgICAgdW5zaWduZWQgbnVtYmVyT2ZMb2NhbHMpCi0gICAg
OiBPU1JFeGl0QmFzZShleGl0S2luZCwgY29kZU9yaWdpbiwgb3JpZ2luRm9yUHJvZmlsZSkKKyAg
ICA6IE9TUkV4aXRCYXNlKGV4aXRLaW5kLCBjb2RlT3JpZ2luLCBvcmlnaW5Gb3JQcm9maWxlLCBj
b2RlT3JpZ2luLmJ5dGVjb2RlSW5kZXgpCiAgICAgLCBtX3Byb2ZpbGVWYWx1ZUZvcm1hdChwcm9m
aWxlVmFsdWVGb3JtYXQpCiAgICAgLCBtX3ZhbHVlUHJvZmlsZSh2YWx1ZVByb2ZpbGUpCiAgICAg
LCBtX3BhdGNoYWJsZUNvZGVPZmZzZXQoMCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9m
dGwvRlRMT1NSRXhpdENvbXBpbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTE9TUkV4aXRDb21waWxlci5jcHAJKHJldmlzaW9uIDE4ODIxNCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMT1NSRXhpdENvbXBpbGVyLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNDcyLDcgKzQ3Miw3IEBAIHN0YXRpYyB2b2lkIGNvbXBpbGVTdHViKAogICAgIAog
ICAgIGhhbmRsZUV4aXRDb3VudHMoaml0LCBleGl0KTsKICAgICByZWlmeUlubGluZWRDYWxsRnJh
bWVzKGppdCwgZXhpdCk7Ci0gICAgYWRqdXN0QW5kSnVtcFRvVGFyZ2V0KGppdCwgZXhpdCk7Cisg
ICAgYWRqdXN0QW5kSnVtcFRvVGFyZ2V0KGppdCwgZXhpdCwgZmFsc2UpOwogICAgIAogICAgIExp
bmtCdWZmZXIgcGF0Y2hCdWZmZXIoKnZtLCBqaXQsIGNvZGVCbG9jayk7CiAgICAgZXhpdC5tX2Nv
ZGUgPSBGSU5BTElaRV9DT0RFX0lGKApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVy
cHJldGVyL0ludGVycHJldGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCShyZXZpc2lvbiAxODgyMTQpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC02MjYsNyArNjI2LDcgQEAgcHVibGljOgogICAgICAgICBWTSYgdm0gPSBtX2NhbGxG
cmFtZS0+dm0oKTsKICAgICAgICAgbV92bUVudHJ5RnJhbWUgPSB2aXNpdG9yLT52bUVudHJ5RnJh
bWUoKTsKICAgICAgICAgbV9jYWxsRnJhbWUgPSB2aXNpdG9yLT5jYWxsRnJhbWUoKTsKLSAgICAg
ICAgbV9jb2RlQmxvY2sgPSB2aXNpdG9yLT5jb2RlQmxvY2soKTsKKyAgICAgICAgbV9jb2RlQmxv
Y2sgPSB2aXNpdG9yLm1hY2hpbmVDb2RlQmxvY2tGb3JGcmFtZSgpOwogICAgICAgICB1bnNpZ25l
ZCBieXRlY29kZU9mZnNldCA9IHZpc2l0b3ItPmJ5dGVjb2RlT2Zmc2V0KCk7CiAKICAgICAgICAg
aWYgKG1faXNUZXJtaW5hdGlvbiB8fCAhKG1faGFuZGxlciA9IG1fY29kZUJsb2NrID8gbV9jb2Rl
QmxvY2stPmhhbmRsZXJGb3JCeXRlY29kZU9mZnNldChieXRlY29kZU9mZnNldCkgOiBudWxscHRy
KSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1N0YWNrVmlzaXRv
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1N0
YWNrVmlzaXRvci5jcHAJKHJldmlzaW9uIDE4ODIxNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9pbnRlcnByZXRlci9TdGFja1Zpc2l0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OCw2ICs2
OCwxNiBAQCB2b2lkIFN0YWNrVmlzaXRvcjo6Z290b05leHRGcmFtZSgpCiAgICAgcmVhZEZyYW1l
KG1fZnJhbWUuY2FsbGVyRnJhbWUoKSk7CiB9CiAKK0NvZGVCbG9jayogU3RhY2tWaXNpdG9yOjpt
YWNoaW5lQ29kZUJsb2NrRm9yRnJhbWUoKQoreworICAgIEZyYW1lIHNhdmVGcmFtZSA9IG1fZnJh
bWU7CisgICAgd2hpbGUgKG1fZnJhbWUuaXNJbmxpbmVkRnJhbWUoKSkKKyAgICAgICAgZ290b05l
eHRGcmFtZSgpOworICAgIENvZGVCbG9jayogcmVzdWx0ID0gbV9mcmFtZS5jb2RlQmxvY2soKTsK
KyAgICBtX2ZyYW1lID0gc2F2ZUZyYW1lOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIHZvaWQg
U3RhY2tWaXNpdG9yOjpyZWFkRnJhbWUoQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCiB7CiAgICAgaWYg
KCFjYWxsRnJhbWUpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9T
dGFja1Zpc2l0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvU3RhY2tWaXNpdG9yLmgJKHJldmlzaW9uIDE4ODIxNCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnRlcnByZXRlci9TdGFja1Zpc2l0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMTMw
LDYgKzEzMCw3IEBAIHB1YmxpYzoKIAogICAgIEZyYW1lJiBvcGVyYXRvciooKSB7IHJldHVybiBt
X2ZyYW1lOyB9CiAgICAgQUxXQVlTX0lOTElORSBGcmFtZSogb3BlcmF0b3ItPigpIHsgcmV0dXJu
ICZtX2ZyYW1lOyB9CisgICAgQ29kZUJsb2NrKiBtYWNoaW5lQ29kZUJsb2NrRm9yRnJhbWUoKTsK
IAogcHJpdmF0ZToKICAgICBKU19FWFBPUlRfUFJJVkFURSBTdGFja1Zpc2l0b3IoQ2FsbEZyYW1l
KiBzdGFydEZyYW1lKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklURXhjZXB0
aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRFeGNl
cHRpb25zLmNwcAkocmV2aXNpb24gMTg4MjE0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2pp
dC9KSVRFeGNlcHRpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjQsNiArNjQsNyBAQCB2b2lk
IGdlbmVyaWNVbndpbmQoVk0qIHZtLCBFeGVjU3RhdGUqIGNhCiAgICAgfSBlbHNlCiAgICAgICAg
IGNhdGNoUm91dGluZSA9IExMSW50OjpnZXRDb2RlUHRyKGhhbmRsZVVuY2F1Z2h0RXhjZXB0aW9u
KTsKICAgICAKKyAgICAvL3ByaW50ZigiZ2VuZXJpY1Vud2luZCBjb2RlQmxvY2s6JXAganVtcGlu
ZyB0bzogJXAgaXNERkc6JWRcbiIsIGNhbGxGcmFtZS0+Y29kZUJsb2NrKCksIGNhdGNoUm91dGlu
ZSwgY2FsbEZyYW1lLT5jb2RlQmxvY2soKS0+aml0VHlwZSgpID09IEpJVENvZGU6OkRGR0pJVCk7
CiAgICAgdm0tPnZtRW50cnlGcmFtZUZvclRocm93ID0gdm1FbnRyeUZyYW1lOwogICAgIHZtLT5j
YWxsRnJhbWVGb3JUaHJvdyA9IGNhbGxGcmFtZTsKICAgICB2bS0+dGFyZ2V0TWFjaGluZVBDRm9y
VGhyb3cgPSBjYXRjaFJvdXRpbmU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMv
c3RyZXNzL2V4Y2VwdGlvbi1ub3Qtc3RyaWN0LWVxdWFsLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZXhjZXB0aW9uLW5vdC1zdHJpY3QtZXF1YWwu
anMJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2V4
Y2VwdGlvbi1ub3Qtc3RyaWN0LWVxdWFsLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNzEg
QEAKKzsoZnVuY3Rpb24gKCkgeworZnVuY3Rpb24gZm9vKGEsIGIpIHsKKyAgICB2YXIgcmVzdWx0
ID0gbnVsbDsKKyAgICB0cnkgeworICAgICAgICByZXN1bHQgPSBhID09IGI7CisgICAgfSBjYXRj
aChlKSB7CisgICAgfQorfQorbm9JbmxpbmUoZm9vKTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAx
MDAwOyBpKyspIHsKKyAgICBmb28oMTAsIDIwKTsKKyAgICBmb28oe30sIHt9KTsKKyAgICBmb28o
MTAsIDEwLjApOworICAgIGZvbygiaGVsbG8iLCAiaGVsbG8iKTsKKyAgICBmb28obnVsbCwgdW5k
ZWZpbmVkKTsKKyAgICBmb28oZmFsc2UsIDApOworfQorCit2YXIgbyA9IHsKKyAgICB2YWx1ZU9m
OiBmdW5jdGlvbigpIHsgcmV0dXJuIHt9OyB9LAorICAgIHRvU3RyaW5nOiBmdW5jdGlvbigpIHsg
cmV0dXJuIHt9OyB9Cit9OworZm9vKG8sICJoZWxsbyIpOworfSkoKTsKKworCitmdW5jdGlvbiBh
c3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgYXNz
ZXJ0aW9uIik7Cit9Citub0lubGluZShhc3NlcnQpOworCisKKzsoZnVuY3Rpb24oKSB7CisKK3Zh
ciBfc2hvdWxkRG9Tb21ldGhpbmdJbkZpbmFsbHkgPSBmYWxzZTsKK2Z1bmN0aW9uIHNob3VsZERv
U29tZXRoaW5nSW5GaW5hbGx5KCkgeyByZXR1cm4gX3Nob3VsZERvU29tZXRoaW5nSW5GaW5hbGx5
OyB9Citub0lubGluZShzaG91bGREb1NvbWV0aGluZ0luRmluYWxseSk7CisKK2Z1bmN0aW9uIGZv
byhhLCBiKSB7CisgICAgdmFyIHJlc3VsdCA9IG51bGw7CisgICAgdHJ5IHsKKyAgICAgICAgcmVz
dWx0ID0gYSA9PSBiOworICAgIH0gZmluYWxseSB7CisgICAgICAgIGlmIChzaG91bGREb1NvbWV0
aGluZ0luRmluYWxseSgpKQorICAgICAgICAgICAgYXNzZXJ0KHJlc3VsdCA9PT0gbnVsbCk7Cisg
ICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9Citub0lubGluZShmb28pOworCitmb3IgKHZhciBp
ID0gMDsgaSA8IDEwMDA7IGkrKykgeworICAgIGZvbygxMCwgMjApOworICAgIGZvbyh7fSwge30p
OworICAgIGZvbygxMCwgMTAuMCk7CisgICAgZm9vKCJoZWxsbyIsICJoZWxsbyIpOworICAgIGZv
byhudWxsLCB1bmRlZmluZWQpOworICAgIGZvbyhmYWxzZSwgMCk7Cit9CisKK3ZhciBvID0gewor
ICAgIHZhbHVlT2Y6IGZ1bmN0aW9uKCkgeyByZXR1cm4ge307IH0sCisgICAgdG9TdHJpbmc6IGZ1
bmN0aW9uKCkgeyByZXR1cm4ge307IH0KK307Cit0cnkgeworICAgIF9zaG91bGREb1NvbWV0aGlu
Z0luRmluYWxseSA9IHRydWU7CisgICAgZm9vKG8sICJoZWxsbyIpOworfSBjYXRjaChlKSB7fQor
Cit9KSgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259110</attachid>
            <date>2015-08-15 17:34:58 -0700</date>
            <delta_ts>2015-09-11 19:40:13 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>145110</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgJKHJldmlz
aW9uIDE4ODUwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2su
aAkod29ya2luZyBjb3B5KQpAQCAtODk1LDYgKzg5NSwxOSBAQCBwdWJsaWM6CiAgICAgICAgIEV2
YWxDb2RlQ2FjaGUgbV9ldmFsQ29kZUNhY2hlOwogICAgIH07CiAKKyAgICB2b2lkIGNsZWFyRXhj
ZXB0aW9uSGFuZGxlcnMoKQorICAgIHsKKyAgICAgICAgaWYgKG1fcmFyZURhdGEpCisgICAgICAg
ICAgICBtX3JhcmVEYXRhLT5tX2V4Y2VwdGlvbkhhbmRsZXJzLmNsZWFyKCk7CisgICAgfQorCisg
ICAgdm9pZCBhcHBlbmRFeGNlcHRpb25IYW5kbGVyKGNvbnN0IEhhbmRsZXJJbmZvJiBoYW5kbGVy
KQorICAgIHsKKyAgICAgICAgLy9BU1NFUlQoaml0VHlwZSgpID09IEpJVENvZGU6OkRGR0pJVCk7
CisgICAgICAgIGNyZWF0ZVJhcmVEYXRhSWZOZWNlc3NhcnkoKTsgLy8gV2UgbWF5IGJlIGhhbmRs
aW5nIHRoZSBleGNlcHRpb24gb2YgYW4gaW5saW5lZCBjYWxsIGZyYW1lLgorICAgICAgICBtX3Jh
cmVEYXRhLT5tX2V4Y2VwdGlvbkhhbmRsZXJzLmFwcGVuZChoYW5kbGVyKTsKKyAgICB9CisKIHBy
b3RlY3RlZDoKICAgICB2aXJ0dWFsIHZvaWQgdmlzaXRXZWFrUmVmZXJlbmNlcyhTbG90VmlzaXRv
ciYpIG92ZXJyaWRlOwogICAgIHZpcnR1YWwgdm9pZCBmaW5hbGl6ZVVuY29uZGl0aW9uYWxseSgp
IG92ZXJyaWRlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBcnJheWlmeVNs
b3dQYXRoR2VuZXJhdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdBcnJheWlmeVNsb3dQYXRoR2VuZXJhdG9yLmgJKHJldmlzaW9uIDE4ODUwNCkKKysrIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQXJyYXlpZnlTbG93UGF0aEdlbmVyYXRvci5oCSh3
b3JraW5nIGNvcHkpCkBAIC0xMTMsNiArMTEzLDcgQEAgcHJvdGVjdGVkOgogICAgICAgICB9CiAg
ICAgICAgIGZvciAodW5zaWduZWQgaSA9IG1fcGxhbnMuc2l6ZSgpOyBpLS07KQogICAgICAgICAg
ICAgaml0LT5zaWxlbnRGaWxsKG1fcGxhbnNbaV0sIEdQUkluZm86OnJlZ1QwKTsKKyAgICAgICAg
aml0LT5jaGVja0V4Y2VwdGlvbigpOwogICAgICAgICAKICAgICAgICAgaWYgKG1fb3AgPT0gQXJy
YXlpZnlUb1N0cnVjdHVyZSkgewogICAgICAgICAgICAgQVNTRVJUKG1fc3RydWN0dXJlKTsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3Bw
CShyZXZpc2lvbiAxODg1MDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVD
b2RlUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzcxMyw2ICszNzEzLDkgQEAgYm9vbCBC
eXRlQ29kZVBhcnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZAogICAgICAgICAgICAgZmx1c2hGb3JU
ZXJtaW5hbCgpOwogICAgICAgICAgICAgYWRkVG9HcmFwaChVbnJlYWNoYWJsZSk7CiAgICAgICAg
ICAgICBMQVNUX09QQ09ERShvcF90aHJvd19zdGF0aWNfZXJyb3IpOworCisgICAgICAgIGNhc2Ug
b3BfY2F0Y2g6CisgICAgICAgICAgICBORVhUX09QQ09ERShvcF9jYXRjaCk7CiAgICAgICAgICAg
ICAKICAgICAgICAgY2FzZSBvcF9jYWxsOgogICAgICAgICAgICAgaGFuZGxlQ2FsbChjdXJyZW50
SW5zdHJ1Y3Rpb24sIENhbGwsIENvZGVGb3JDYWxsKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQ2FsbEFycmF5QWxsb2NhdG9yU2xvd1BhdGhHZW5lcmF0b3IuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NhbGxBcnJheUFsbG9jYXRvclNs
b3dQYXRoR2VuZXJhdG9yLmgJKHJldmlzaW9uIDE4ODUwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQ2FsbEFycmF5QWxsb2NhdG9yU2xvd1BhdGhHZW5lcmF0b3IuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNTgsNiArNTgsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBtX3BsYW5zLnNpemUoKTsgKytpKQogICAgICAgICAgICAgaml0LT5zaWxl
bnRTcGlsbChtX3BsYW5zW2ldKTsKICAgICAgICAgaml0LT5jYWxsT3BlcmF0aW9uKG1fZnVuY3Rp
b24sIG1fcmVzdWx0R1BSLCBtX3N0cnVjdHVyZSwgbV9zaXplKTsKKyAgICAgICAgaml0LT5jaGVj
a0V4Y2VwdGlvbigpOwogICAgICAgICBHUFJSZWcgY2FuVHJhbXBsZSA9IFNwZWN1bGF0aXZlSklU
OjpwaWNrQ2FuVHJhbXBsZShtX3Jlc3VsdEdQUik7CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9
IG1fcGxhbnMuc2l6ZSgpOyBpLS07KQogICAgICAgICAgICAgaml0LT5zaWxlbnRGaWxsKG1fcGxh
bnNbaV0sIGNhblRyYW1wbGUpOwpAQCAtMTAzLDYgKzEwNCw3IEBAIHByb3RlY3RlZDoKICAgICAg
ICAgaml0LT5tX2ppdC5tb3ZlKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tUHRyKG1fYXJyYXlT
dG9yYWdlU3RydWN0dXJlKSwgc2NyYXRjaEdQUik7CiAgICAgICAgIGRvbmUubGluaygmaml0LT5t
X2ppdCk7CiAgICAgICAgIGppdC0+Y2FsbE9wZXJhdGlvbihtX2Z1bmN0aW9uLCBtX3Jlc3VsdEdQ
Uiwgc2NyYXRjaEdQUiwgbV9zaXplR1BSKTsKKyAgICAgICAgaml0LT5jaGVja0V4Y2VwdGlvbigp
OwogICAgICAgICBHUFJSZWcgY2FuVHJhbXBsZSA9IFNwZWN1bGF0aXZlSklUOjpwaWNrQ2FuVHJh
bXBsZShtX3Jlc3VsdEdQUik7CiAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IG1fcGxhbnMuc2l6
ZSgpOyBpLS07KQogICAgICAgICAgICAgaml0LT5zaWxlbnRGaWxsKG1fcGxhbnNbaV0sIGNhblRy
YW1wbGUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYWxsQ3JlYXRlRGly
ZWN0QXJndW1lbnRzU2xvd1BhdGhHZW5lcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0NhbGxDcmVhdGVEaXJlY3RBcmd1bWVudHNTbG93UGF0aEdlbmVy
YXRvci5oCShyZXZpc2lvbiAxODg1MDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0NhbGxDcmVhdGVEaXJlY3RBcmd1bWVudHNTbG93UGF0aEdlbmVyYXRvci5oCSh3b3JraW5nIGNv
cHkpCkBAIC01OSw2ICs1OSw3IEBAIHByb3RlY3RlZDoKICAgICAgICAgICAgIGppdC0+c2lsZW50
U3BpbGwobV9wbGFuc1tpXSk7CiAgICAgICAgIGppdC0+Y2FsbE9wZXJhdGlvbigKICAgICAgICAg
ICAgIG9wZXJhdGlvbkNyZWF0ZURpcmVjdEFyZ3VtZW50cywgbV9yZXN1bHRHUFIsIG1fc3RydWN0
dXJlLCBtX2xlbmd0aEdQUiwgbV9taW5DYXBhY2l0eSk7CisgICAgICAgIGppdC0+Y2hlY2tFeGNl
cHRpb24oKTsKICAgICAgICAgR1BSUmVnIGNhblRyYW1wbGUgPSBTcGVjdWxhdGl2ZUpJVDo6cGlj
a0NhblRyYW1wbGUobV9yZXN1bHRHUFIpOwogICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBtX3Bs
YW5zLnNpemUoKTsgaS0tOykKICAgICAgICAgICAgIGppdC0+c2lsZW50RmlsbChtX3BsYW5zW2ld
LCBjYW5UcmFtcGxlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJp
bGl0aWVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nh
cGFiaWxpdGllcy5jcHAJKHJldmlzaW9uIDE4ODUwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjA3LDYgKzIwNyw3
IEBAIENhcGFiaWxpdHlMZXZlbCBjYXBhYmlsaXR5TGV2ZWwoT3Bjb2RlSUQKICAgICBjYXNlIG9w
X25ld19mdW5jX2V4cDoKICAgICBjYXNlIG9wX2NyZWF0ZV9sZXhpY2FsX2Vudmlyb25tZW50Ogog
ICAgIGNhc2Ugb3BfZ2V0X3BhcmVudF9zY29wZToKKyAgICBjYXNlIG9wX2NhdGNoOgogICAgICAg
ICByZXR1cm4gQ2FuQ29tcGlsZUFuZElubGluZTsKIAogICAgIGNhc2Ugb3BfcHV0X3RvX3Njb3Bl
OiB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVyLmNw
cAkocmV2aXNpb24gMTg4NTA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRD
b21waWxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkwLDYgKzkwLDcgQEAgdm9pZCBKSVRDb21w
aWxlcjo6bGlua09TUkV4aXRzKCkKICAgICAgICAgc3RvcmUzMihUcnVzdGVkSW1tMzIoaSksICZ2
bSgpLT5vc3JFeGl0SW5kZXgpOwogICAgICAgICBleGl0LnNldFBhdGNoYWJsZUNvZGVPZmZzZXQo
cGF0Y2hhYmxlSnVtcCgpKTsKICAgICB9CisKIH0KIAogdm9pZCBKSVRDb21waWxlcjo6Y29tcGls
ZUVudHJ5KCkKQEAgLTI3NSwxMSArMjc2LDMxIEBAIHZvaWQgSklUQ29tcGlsZXI6OmxpbmsoTGlu
a0J1ZmZlciYgbGlua0IKICAgICAgICAgfQogICAgIH0gZWxzZQogICAgICAgICBBU1NFUlQoIW1f
ZXhpdFNpdGVMYWJlbHMuc2l6ZSgpKTsKLSAgICAKKwogICAgIG1faml0Q29kZS0+Y29tbW9uLmNv
bXBpbGF0aW9uID0gbV9ncmFwaC5jb21waWxhdGlvbigpOwogICAgIAogfQogCit2b2lkIEpJVENv
bXBpbGVyOjpsaW5rRXhjZXB0aW9uSGFuZGxlck9TUkV4aXRzKExpbmtCdWZmZXImIGxpbmtCdWZm
ZXIpCit7CisgICAgLy8gTGluayBuZXcgZXhjZXB0aW9uIGhhbmRsZXJzIGFuZCByZW1vdmUgYmFz
ZWxpbmUgSklUIGhhbmRsZXJzLgorICAgIG1fY29kZUJsb2NrLT5jbGVhckV4Y2VwdGlvbkhhbmRs
ZXJzKCk7CisgICAgZm9yICh1bnNpZ25lZCAgaSA9IDA7IGkgPCBtX2V4Y2VwdGlvbk9TUkV4aXRD
YWxsU2l0ZXMuc2l6ZSgpOyBpKyspIHsKKyAgICAgICAgT1NSRXhpdENvbXBpbGF0aW9uSW5mbyYg
aW5mbyA9IG1fZXhjZXB0aW9uT1NSRXhpdENhbGxTaXRlc1tpXS5leGl0SW5mbzsKKyAgICAgICAg
aWYgKGluZm8ubV9yZXBsYWNlbWVudERlc3RpbmF0aW9uLmlzU2V0KCkpIHsKKyAgICAgICAgICAg
IC8vIElmIHRoaXMgaXMgaXMgbm90IHNldCwgaXQgbWVhbnMgdGhhdCB3ZSBhbHJlYWR5IGp1bXBl
ZCB0byB3aGVyZSB3ZSBuZWVkZWQgdG8gaGFuZGxlIHRoZSBleGNlcHRpb24KKyAgICAgICAgICAg
IC8vIGFuZCB0aGF0IHdlJ3JlIGhhbmRsaW5nIGl0IGluIHB1cmUgREZHIGNvbnRyb2wgZmxvdy4g
SWYgaXQncyBzZXQsIGl0IG1lYW5zIHdlIG1heSBiZSBsYW5kaW5nCisgICAgICAgICAgICAvLyBo
ZXJlIGZyb20gZ2VuZXJpY1Vud2luZCBmcm9tIGEgY2hpbGQgY2FsbCBmcmFtZS4KKyAgICAgICAg
ICAgIENvZGVMb2NhdGlvbkxhYmVsIGNhdGNoTGFiZWwgPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2Yo
aW5mby5tX3JlcGxhY2VtZW50RGVzdGluYXRpb24pOworICAgICAgICAgICAgSGFuZGxlckluZm8g
bmV3RXhjZXB0aW9uSGFuZGxlciA9IG1fZXhjZXB0aW9uT1NSRXhpdENhbGxTaXRlc1tpXS5iYXNl
bGluZUV4Y2VwdGlvbkhhbmRsZXI7CisgICAgICAgICAgICBuZXdFeGNlcHRpb25IYW5kbGVyLnN0
YXJ0ID0gaTsKKyAgICAgICAgICAgIG5ld0V4Y2VwdGlvbkhhbmRsZXIuZW5kID0gaSArIDE7Cisg
ICAgICAgICAgICBuZXdFeGNlcHRpb25IYW5kbGVyLm5hdGl2ZUNvZGUgPSBjYXRjaExhYmVsOwor
ICAgICAgICAgICAgbV9jb2RlQmxvY2stPmFwcGVuZEV4Y2VwdGlvbkhhbmRsZXIobmV3RXhjZXB0
aW9uSGFuZGxlcik7CisgICAgICAgIH0KKyAgICB9Cit9CisKIHZvaWQgSklUQ29tcGlsZXI6OmNv
bXBpbGUoKQogewogICAgIFNhbXBsaW5nUmVnaW9uIHNhbXBsaW5nUmVnaW9uKCJERkcgQmFja2Vu
ZCIpOwpAQCAtMzI3LDggKzM0OCw5IEBAIHZvaWQgSklUQ29tcGlsZXI6OmNvbXBpbGUoKQogICAg
IH0KICAgICAKICAgICBsaW5rKCpsaW5rQnVmZmVyKTsKKyAgICBsaW5rRXhjZXB0aW9uSGFuZGxl
ck9TUkV4aXRzKCpsaW5rQnVmZmVyKTsKICAgICBtX3NwZWN1bGF0aXZlLT5saW5rT1NSRW50cmll
cygqbGlua0J1ZmZlcik7Ci0gICAgCisKICAgICBtX2ppdENvZGUtPnNocmlua1RvRml0KCk7CiAg
ICAgY29kZUJsb2NrKCktPnNocmlua1RvRml0KENvZGVCbG9jazo6TGF0ZVNocmluayk7CiAKQEAg
LTQyNyw2ICs0NDksNyBAQCB2b2lkIEpJVENvbXBpbGVyOjpjb21waWxlRnVuY3Rpb24oKQogICAg
ICAgICByZXR1cm47CiAgICAgfQogICAgIGxpbmsoKmxpbmtCdWZmZXIpOworICAgIGxpbmtFeGNl
cHRpb25IYW5kbGVyT1NSRXhpdHMoKmxpbmtCdWZmZXIpOwogICAgIG1fc3BlY3VsYXRpdmUtPmxp
bmtPU1JFbnRyaWVzKCpsaW5rQnVmZmVyKTsKICAgICAKICAgICBtX2ppdENvZGUtPnNocmlua1Rv
Rml0KCk7CkBAIC01MjAsNiArNTQzLDQ4IEBAIHZvaWQgSklUQ29tcGlsZXI6Om5vdGljZU9TUkVu
dHJ5KEJhc2ljQmwKICAgICBlbnRyeS0+bV9yZXNodWZmbGluZ3Muc2hyaW5rVG9GaXQoKTsKIH0K
IAorQ29kZU9yaWdpbiBKSVRDb21waWxlcjo6YXBwZW5kT1NSRXhpdEZvckV4Y2VwdGlvbkhhbmRs
aW5nKGNvbnN0IENvZGVPcmlnaW4mIGNvZGVPcmlnaW4sIHVuc2lnbmVkIGV2ZW50U3RyZWFtSW5k
ZXgsIEhhbmRsZXJJbmZvKiBleGNlcHRpb25IYW5kbGVyLCBNYWNyb0Fzc2VtYmxlcjo6SnVtcExp
c3QganVtcHNUb0ZhaWwpCit7CisgICAgT1NSRXhpdCBleGl0KFVuY291bnRhYmxlLCBKU1ZhbHVl
UmVncygpLCBncmFwaCgpLm1ldGhvZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGVGb3IobnVsbHB0ciks
IG1fc3BlY3VsYXRpdmUuZ2V0KCksIGV2ZW50U3RyZWFtSW5kZXgsIFVJTlRfTUFYLCBleGNlcHRp
b25IYW5kbGVyLT50YXJnZXQpOworICAgIENvZGVPcmlnaW4gcmVzdWx0ID0gY29kZU9yaWdpbjsK
KyAgICByZXN1bHQuYnl0ZWNvZGVJbmRleCA9IG1fZXhjZXB0aW9uT1NSRXhpdENhbGxTaXRlcy5z
aXplKCk7IC8vIEZJWE1FOiBuZXcgbmFtZSBmb3IgImJ5dGVjb2RlSW5kZXgiLgorICAgIGV4aXQu
bV9jb2RlT3JpZ2luID0gcmVzdWx0OworICAgIGV4aXQubV93aWxsQXJyaXZlQXRPU1JFeGl0RnJv
bUdlbmVyaWNVbndpbmQgPSBqdW1wc1RvRmFpbC5lbXB0eSgpOyAvLyBJZiBqdW1wcyBhcmUgZW1w
dHksIHdlJ3JlIGdvaW5nIHRvIGp1bXAgaGVyZSBmcm9tIGdlbmVyaWNVbndpbmQgZnJvbSBhIHBh
cmVudCBjYWxsIGZyYW1lLgorICAgIE9TUkV4aXRDb21waWxhdGlvbkluZm8mIGV4aXRJbmZvID0g
YXBwZW5kRXhpdEluZm8oanVtcHNUb0ZhaWwpOworICAgIGppdENvZGUoKS0+YXBwZW5kT1NSRXhp
dChleGl0KTsKKyAgICBtX2V4Y2VwdGlvbk9TUkV4aXRDYWxsU2l0ZXMuYXBwZW5kKEV4Y2VwdGlv
bkhhbmRsZXJGb3JPU1JFeGl0IHsgZXhpdEluZm8sICpleGNlcHRpb25IYW5kbGVyIH0pOworICAg
IHJldHVybiByZXN1bHQ7Cit9CisKK3N0ZDo6dHVwbGU8Ym9vbCwgQ29kZU9yaWdpbiwgSGFuZGxl
ckluZm8qPiBKSVRDb21waWxlcjo6d2lsbENhdGNoRXhjZXB0aW9uSW5NYWNoaW5lRnJhbWUoY29u
c3QgQ29kZU9yaWdpbiYgY29kZU9yaWdpbikKK3sKKyAgICB1bnNpZ25lZCBieXRlY29kZUluZGV4
VG9DaGVjayA9IGNvZGVPcmlnaW4uYnl0ZWNvZGVJbmRleDsKKyAgICBDb2RlT3JpZ2luIG9yaWdp
biA9IGNvZGVPcmlnaW47CisgICAgd2hpbGUgKG9yaWdpbi5pbmxpbmVDYWxsRnJhbWUpIHsKKyAg
ICAgICAgSW5saW5lQ2FsbEZyYW1lKiBmcmFtZSA9IG9yaWdpbi5pbmxpbmVDYWxsRnJhbWU7Cisg
ICAgICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gZnJhbWUtPmJhc2VsaW5lQ29kZUJsb2NrKCk7
CisgICAgICAgIGlmIChIYW5kbGVySW5mbyogaGFuZGxlciA9IGNvZGVCbG9jay0+aGFuZGxlckZv
ckJ5dGVjb2RlT2Zmc2V0KGJ5dGVjb2RlSW5kZXhUb0NoZWNrKSkKKyAgICAgICAgICAgIHJldHVy
biBzdGQ6Om1ha2VfdHVwbGUodHJ1ZSwgb3JpZ2luLCBoYW5kbGVyKTsKKworICAgICAgICBieXRl
Y29kZUluZGV4VG9DaGVjayA9IGZyYW1lLT5jYWxsZXIuYnl0ZWNvZGVJbmRleDsKKyAgICAgICAg
b3JpZ2luID0gb3JpZ2luLmlubGluZUNhbGxGcmFtZS0+Y2FsbGVyOworICAgIH0KKworICAgIGlm
IChIYW5kbGVySW5mbyogaGFuZGxlciA9IG1fY29kZUJsb2NrLT5oYW5kbGVyRm9yQnl0ZWNvZGVP
ZmZzZXQoYnl0ZWNvZGVJbmRleFRvQ2hlY2spKQorICAgICAgICByZXR1cm4gc3RkOjptYWtlX3R1
cGxlKHRydWUsIG9yaWdpbiwgaGFuZGxlcik7CisKKyAgICByZXR1cm4gc3RkOjptYWtlX3R1cGxl
KGZhbHNlLCBDb2RlT3JpZ2luKCksIG51bGxwdHIpOworfQorCitDb2RlT3JpZ2luIEpJVENvbXBp
bGVyOjpwbGFjZUNhbGxTaXRlT1NSRXhpdEhhbmRsZXJGb3JFeGNlcHRpb25JZk5lZWRlZChjb25z
dCBDb2RlT3JpZ2luJiBjb2RlT3JpZ2luLCB1bnNpZ25lZCBldmVudFN0cmVhbUluZGV4KQorewor
ICAgIHN0ZDo6dHVwbGU8Ym9vbCwgQ29kZU9yaWdpbiwgSGFuZGxlckluZm8qPiBleGNlcHRpb25J
bmZvID0gd2lsbENhdGNoRXhjZXB0aW9uSW5NYWNoaW5lRnJhbWUoY29kZU9yaWdpbik7CisgICAg
aWYgKCFzdGQ6OmdldDwwPihleGNlcHRpb25JbmZvKSkKKyAgICAgICAgcmV0dXJuIGNvZGVPcmln
aW47CisKKyAgICByZXR1cm4gYXBwZW5kT1NSRXhpdEZvckV4Y2VwdGlvbkhhbmRsaW5nKHN0ZDo6
Z2V0PDE+KGV4Y2VwdGlvbkluZm8pLCBldmVudFN0cmVhbUluZGV4LCBzdGQ6OmdldDwyPihleGNl
cHRpb25JbmZvKSk7Cit9CisKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpERkcKIAogI2VuZGlmIC8v
IEVOQUJMRShERkdfSklUKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRD
b21waWxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklU
Q29tcGlsZXIuaAkocmV2aXNpb24gMTg4NTA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdKSVRDb21waWxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBACiAjaW5j
bHVkZSAiREZHUmVnaXN0ZXJCYW5rLmgiCiAjaW5jbHVkZSAiRlBSSW5mby5oIgogI2luY2x1ZGUg
IkdQUkluZm8uaCIKKyNpbmNsdWRlICJIYW5kbGVySW5mby5oIgogI2luY2x1ZGUgIkpJVENvZGUu
aCIKICNpbmNsdWRlICJKSVRJbmxpbmVDYWNoZUdlbmVyYXRvci5oIgogI2luY2x1ZGUgIkxpbmtC
dWZmZXIuaCIKQEAgLTE2NSwxMSArMTY2LDYgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gZnVu
Y3Rpb25DYWxsOwogICAgIH0KICAgICAKLSAgICB2b2lkIGV4Y2VwdGlvbkNoZWNrKEp1bXAganVt
cFRvSGFuZGxlcikKLSAgICB7Ci0gICAgICAgIG1fZXhjZXB0aW9uQ2hlY2tzLmFwcGVuZChqdW1w
VG9IYW5kbGVyKTsKLSAgICB9Ci0gICAgCiAgICAgdm9pZCBleGNlcHRpb25DaGVjaygpCiAgICAg
ewogICAgICAgICBtX2V4Y2VwdGlvbkNoZWNrcy5hcHBlbmQoZW1pdEV4Y2VwdGlvbkNoZWNrKCkp
OwpAQCAtMjcxLDYgKzI2NywxMSBAQCBwdWJsaWM6CiAgICAgCiAgICAgVmVjdG9yPExhYmVsPiYg
YmxvY2tIZWFkcygpIHsgcmV0dXJuIG1fYmxvY2tIZWFkczsgfQogCisgICAgc3RkOjp0dXBsZTxi
b29sLCBDb2RlT3JpZ2luLCBIYW5kbGVySW5mbyo+IHdpbGxDYXRjaEV4Y2VwdGlvbkluTWFjaGlu
ZUZyYW1lKGNvbnN0IENvZGVPcmlnaW4mIGNvZGVPcmlnaW4pOworICAgIENvZGVPcmlnaW4gcGxh
Y2VDYWxsU2l0ZU9TUkV4aXRIYW5kbGVyRm9yRXhjZXB0aW9uSWZOZWVkZWQoY29uc3QgQ29kZU9y
aWdpbiYsIHVuc2lnbmVkIGV2ZW50U3RyZWFtSW5kZXgpOworICAgIENvZGVPcmlnaW4gYXBwZW5k
T1NSRXhpdEZvckV4Y2VwdGlvbkhhbmRsaW5nKGNvbnN0IENvZGVPcmlnaW4mIGNvZGVPcmlnaW4s
IHVuc2lnbmVkIGV2ZW50U3RyZWFtSW5kZXgsIEhhbmRsZXJJbmZvKiBleGNlcHRpb25IYW5kbGVy
LCBNYWNyb0Fzc2VtYmxlcjo6SnVtcExpc3QganVtcHNUb0ZhaWwgPSBNYWNyb0Fzc2VtYmxlcjo6
SnVtcExpc3QoKSk7CisgICAgCisKIHByaXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIE9TUkV4aXRK
dW1wUGxhY2Vob2xkZXI7CiAgICAgCkBAIC0yNzgsMTIgKzI3OSwxMyBAQCBwcml2YXRlOgogICAg
IHZvaWQgY29tcGlsZUVudHJ5KCk7CiAgICAgdm9pZCBjb21waWxlQm9keSgpOwogICAgIHZvaWQg
bGluayhMaW5rQnVmZmVyJik7CisgICAgdm9pZCBsaW5rRXhjZXB0aW9uSGFuZGxlck9TUkV4aXRz
KExpbmtCdWZmZXImIGxpbmtCdWZmZXIpOwogICAgIAogICAgIHZvaWQgZXhpdFNwZWN1bGF0aXZl
V2l0aE9TUihjb25zdCBPU1JFeGl0JiwgU3BlY3VsYXRpb25SZWNvdmVyeSopOwogICAgIHZvaWQg
Y29tcGlsZUV4Y2VwdGlvbkhhbmRsZXJzKCk7CiAgICAgdm9pZCBsaW5rT1NSRXhpdHMoKTsKICAg
ICB2b2lkIGRpc2Fzc2VtYmxlKExpbmtCdWZmZXImKTsKLSAgICAKKwogICAgIC8vIFRoZSBkYXRh
ZmxvdyBncmFwaCBjdXJyZW50bHkgYmVpbmcgZ2VuZXJhdGVkLgogICAgIEdyYXBoJiBtX2dyYXBo
OwogCkBAIC0zMjEsNiArMzIzLDEyIEBAIHByaXZhdGU6CiAgICAgU2VnbWVudGVkVmVjdG9yPE9T
UkV4aXRDb21waWxhdGlvbkluZm8sIDQ+IG1fZXhpdENvbXBpbGF0aW9uSW5mbzsKICAgICBWZWN0
b3I8VmVjdG9yPExhYmVsPj4gbV9leGl0U2l0ZUxhYmVsczsKICAgICAKKyAgICBzdHJ1Y3QgRXhj
ZXB0aW9uSGFuZGxlckZvck9TUkV4aXQgeworICAgICAgICBPU1JFeGl0Q29tcGlsYXRpb25JbmZv
JiBleGl0SW5mbzsKKyAgICAgICAgSGFuZGxlckluZm8gYmFzZWxpbmVFeGNlcHRpb25IYW5kbGVy
OworICAgIH07CisgICAgVmVjdG9yPEV4Y2VwdGlvbkhhbmRsZXJGb3JPU1JFeGl0PiBtX2V4Y2Vw
dGlvbk9TUkV4aXRDYWxsU2l0ZXM7CisgICAgCiAgICAgQ2FsbCBtX2NhbGxBcml0eUZpeHVwOwog
ICAgIExhYmVsIG1fYXJpdHlDaGVjazsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U3BlY3VsYXRpdmVK
SVQ+IG1fc3BlY3VsYXRpdmU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09T
UkV4aXQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NS
RXhpdC5jcHAJKHJldmlzaW9uIDE4ODUwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHT1NSRXhpdC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDggKzM1LDggQEAKIAogbmFtZXNw
YWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewogCi1PU1JFeGl0OjpPU1JFeGl0KEV4aXRLaW5kIGtp
bmQsIEpTVmFsdWVTb3VyY2UganNWYWx1ZVNvdXJjZSwgTWV0aG9kT2ZHZXR0aW5nQVZhbHVlUHJv
ZmlsZSB2YWx1ZVByb2ZpbGUsIFNwZWN1bGF0aXZlSklUKiBqaXQsIHVuc2lnbmVkIHN0cmVhbUlu
ZGV4LCB1bnNpZ25lZCByZWNvdmVyeUluZGV4KQotICAgIDogT1NSRXhpdEJhc2Uoa2luZCwgaml0
LT5tX2NvZGVPcmlnaW5Gb3JFeGl0VGFyZ2V0LCBqaXQtPm1fY29kZU9yaWdpbkZvckV4aXRQcm9m
aWxlKQorT1NSRXhpdDo6T1NSRXhpdChFeGl0S2luZCBraW5kLCBKU1ZhbHVlU291cmNlIGpzVmFs
dWVTb3VyY2UsIE1ldGhvZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUgdmFsdWVQcm9maWxlLCBTcGVj
dWxhdGl2ZUpJVCogaml0LCB1bnNpZ25lZCBzdHJlYW1JbmRleCwgdW5zaWduZWQgcmVjb3ZlcnlJ
bmRleCwgdW5zaWduZWQgdGFyZ2V0Qnl0ZWNvZGVJbmRleCkKKyAgICA6IE9TUkV4aXRCYXNlKGtp
bmQsIGppdC0+bV9jb2RlT3JpZ2luRm9yRXhpdFRhcmdldCwgaml0LT5tX2NvZGVPcmlnaW5Gb3JF
eGl0UHJvZmlsZSwgdGFyZ2V0Qnl0ZWNvZGVJbmRleCA9PSBVSU5UX01BWCA/IGppdC0+bV9jb2Rl
T3JpZ2luRm9yRXhpdFRhcmdldC5ieXRlY29kZUluZGV4IDogdGFyZ2V0Qnl0ZWNvZGVJbmRleCkK
ICAgICAsIG1fanNWYWx1ZVNvdXJjZShqc1ZhbHVlU291cmNlKQogICAgICwgbV92YWx1ZVByb2Zp
bGUodmFsdWVQcm9maWxlKQogICAgICwgbV9wYXRjaGFibGVDb2RlT2Zmc2V0KDApCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXQuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXQuaAkocmV2aXNpb24gMTg4NTA0KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0LmgJKHdvcmtpbmcgY29weSkKQEAg
LTgzLDcgKzgzLDcgQEAgcHJpdmF0ZToKIC8vIFRoaXMgc3RydWN0dXJlIGRlc2NyaWJlcyBob3cg
dG8gZXhpdCB0aGUgc3BlY3VsYXRpdmUgcGF0aCBieQogLy8gZ29pbmcgaW50byBiYXNlbGluZSBj
b2RlLgogc3RydWN0IE9TUkV4aXQgOiBwdWJsaWMgT1NSRXhpdEJhc2UgewotICAgIE9TUkV4aXQo
RXhpdEtpbmQsIEpTVmFsdWVTb3VyY2UsIE1ldGhvZE9mR2V0dGluZ0FWYWx1ZVByb2ZpbGUsIFNw
ZWN1bGF0aXZlSklUKiwgdW5zaWduZWQgc3RyZWFtSW5kZXgsIHVuc2lnbmVkIHJlY292ZXJ5SW5k
ZXggPSBVSU5UX01BWCk7CisgICAgT1NSRXhpdChFeGl0S2luZCwgSlNWYWx1ZVNvdXJjZSwgTWV0
aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmlsZSwgU3BlY3VsYXRpdmVKSVQqLCB1bnNpZ25lZCBzdHJl
YW1JbmRleCwgdW5zaWduZWQgcmVjb3ZlcnlJbmRleCA9IFVJTlRfTUFYLCB1bnNpZ25lZCB0YXJn
ZXRCeXRlY29kZUluZGV4ID0gVUlOVF9NQVgpOwogICAgIAogICAgIE1hY3JvQXNzZW1ibGVyQ29k
ZVJlZiBtX2NvZGU7CiAgICAgCkBAIC05Myw3ICs5Myw5IEBAIHN0cnVjdCBPU1JFeGl0IDogcHVi
bGljIE9TUkV4aXRCYXNlIHsKICAgICB1bnNpZ25lZCBtX3BhdGNoYWJsZUNvZGVPZmZzZXQ7CiAg
ICAgCiAgICAgdW5zaWduZWQgbV9yZWNvdmVyeUluZGV4OwotICAgIAorCisgICAgYm9vbCBtX3dp
bGxBcnJpdmVBdE9TUkV4aXRGcm9tR2VuZXJpY1Vud2luZCB7IGZhbHNlIH07CisKICAgICB2b2lk
IHNldFBhdGNoYWJsZUNvZGVPZmZzZXQoTWFjcm9Bc3NlbWJsZXI6OlBhdGNoYWJsZUp1bXApOwog
ICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIGdldFBhdGNoYWJsZUNvZGVPZmZzZXRBc0p1bXAoKSBj
b25zdDsKICAgICBDb2RlTG9jYXRpb25KdW1wIGNvZGVMb2NhdGlvbkZvclJlcGF0Y2goQ29kZUJs
b2NrKikgY29uc3Q7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRC
YXNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0
QmFzZS5oCShyZXZpc2lvbiAxODg1MDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R09TUkV4aXRCYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTQwLDkgKzQwLDEwIEBAIHN0cnVjdCBO
b2RlOwogLy8gYW5kIHRoZSBGVEwuCiAKIHN0cnVjdCBPU1JFeGl0QmFzZSB7Ci0gICAgT1NSRXhp
dEJhc2UoRXhpdEtpbmQga2luZCwgQ29kZU9yaWdpbiBvcmlnaW4sIENvZGVPcmlnaW4gb3JpZ2lu
Rm9yUHJvZmlsZSkKKyAgICBPU1JFeGl0QmFzZShFeGl0S2luZCBraW5kLCBDb2RlT3JpZ2luIG9y
aWdpbiwgQ29kZU9yaWdpbiBvcmlnaW5Gb3JQcm9maWxlLCB1aW50MzJfdCB0YXJnZXRCeXRlY29k
ZUluZGV4KQogICAgICAgICA6IG1fa2luZChraW5kKQogICAgICAgICAsIG1fY291bnQoMCkKKyAg
ICAgICAgLCBtX2V4aXRCeXRlY29kZUluZGV4KHRhcmdldEJ5dGVjb2RlSW5kZXgpCiAgICAgICAg
ICwgbV9jb2RlT3JpZ2luKG9yaWdpbikKICAgICAgICAgLCBtX2NvZGVPcmlnaW5Gb3JFeGl0UHJv
ZmlsZShvcmlnaW5Gb3JQcm9maWxlKQogICAgIHsKQEAgLTUyLDYgKzUzLDcgQEAgc3RydWN0IE9T
UkV4aXRCYXNlIHsKICAgICAKICAgICBFeGl0S2luZCBtX2tpbmQ7CiAgICAgdWludDMyX3QgbV9j
b3VudDsKKyAgICB1aW50MzJfdCBtX2V4aXRCeXRlY29kZUluZGV4OwogICAgIAogICAgIENvZGVP
cmlnaW4gbV9jb2RlT3JpZ2luOwogICAgIENvZGVPcmlnaW4gbV9jb2RlT3JpZ2luRm9yRXhpdFBy
b2ZpbGU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxl
cjY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4
aXRDb21waWxlcjY0LmNwcAkocmV2aXNpb24gMTg4NTA0KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXI2NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM4LDcg
KzM4LDcgQEAKIAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewogCi12b2lkIE9TUkV4
aXRDb21waWxlcjo6Y29tcGlsZUV4aXQoY29uc3QgT1NSRXhpdCYgZXhpdCwgY29uc3QgT3BlcmFu
ZHM8VmFsdWVSZWNvdmVyeT4mIG9wZXJhbmRzLCBTcGVjdWxhdGlvblJlY292ZXJ5KiByZWNvdmVy
eSkKK3ZvaWQgT1NSRXhpdENvbXBpbGVyOjpjb21waWxlRXhpdChjb25zdCBPU1JFeGl0JiBleGl0
LCBjb25zdCBPcGVyYW5kczxWYWx1ZVJlY292ZXJ5PiYgb3BlcmFuZHMsIFNwZWN1bGF0aW9uUmVj
b3ZlcnkqIHJlY292ZXJ5LCBib29sIGlzRXhpdGluZ0JlY2F1c2VFeGNlcHRpb24pCiB7CiAgICAg
bV9qaXQuaml0QXNzZXJ0VGFnc0luUGxhY2UoKTsKIApAQCAtMzcwLDcgKzM3MCw3IEBAIHZvaWQg
T1NSRXhpdENvbXBpbGVyOjpjb21waWxlRXhpdChjb25zdCAKICAgICByZWlmeUlubGluZWRDYWxs
RnJhbWVzKG1faml0LCBleGl0KTsKICAgICAKICAgICAvLyBBbmQgZmluaXNoLgotICAgIGFkanVz
dEFuZEp1bXBUb1RhcmdldChtX2ppdCwgZXhpdCk7CisgICAgYWRqdXN0QW5kSnVtcFRvVGFyZ2V0
KG1faml0LCBleGl0LCBpc0V4aXRpbmdCZWNhdXNlRXhjZXB0aW9uKTsKIH0KIAogfSB9IC8vIG5h
bWVzcGFjZSBKU0M6OkRGRwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JF
eGl0Q29tcGlsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHT1NSRXhpdENvbXBpbGVyLmNwcAkocmV2aXNpb24gMTg4NTA0KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MTUsMTkgKzExNSwzMiBAQCB2b2lkIGNvbXBpbGVPU1JFeGl0KEV4ZWNTdGF0ZSogZXhlYykKIHsK
ICAgICBTYW1wbGluZ1JlZ2lvbiBzYW1wbGluZ1JlZ2lvbigiREZHIE9TUiBFeGl0IENvbXBpbGF0
aW9uIik7CiAgICAgCisgICAgVk0qIHZtID0gJmV4ZWMtPnZtKCk7CisgICAgYm9vbCBpc0V4aXRp
bmdCZWNhdXNlRXhjZXB0aW9uID0gISF2bS0+ZXhjZXB0aW9uKCk7CisgICAgaWYgKHZtLT5jYWxs
RnJhbWVGb3JUaHJvdykgeworICAgICAgICBBU1NFUlQoaXNFeGl0aW5nQmVjYXVzZUV4Y2VwdGlv
bik7CisgICAgICAgIC8vIFdlJ3ZlIGxhbmRlZCBoZXJlIGFmdGVyIGdlbmVyaWNVbndpbmQgYW5k
IHdlIG5lZWQgdG8gZ3JhYiB0aGUgY29ycmVjdCBjYWxsRnJhbWUgZm9yIHRoZSBERkcgY29kZS4K
KyAgICAgICAgZXhlYyA9IHZtLT5jYWxsRnJhbWVGb3JUaHJvdzsKKyAgICB9CisgICAgaWYgKGlz
RXhpdGluZ0JlY2F1c2VFeGNlcHRpb24gJiYgIXZtLT5jYWxsRnJhbWVGb3JUaHJvdykgeworICAg
ICAgICAvLyBXZSBuZWVkIHRvIHNldCBwcm9wZXJ0aWVzIHRoYXQgZ2VuZXJpY1Vud2luZCB3b3Vs
ZCBzZXQuIFdlIGxhbmRlZCBoZXJlIGZyb20gYW4gZXhjZXB0aW9uIGZyb20gd2l0aGluIHRoaXMg
REZHIGNvZGUgYmxvY2suCisgICAgICAgIC8vIGNhbGxGcmFtZUZvclRocm93IGlzIHNldCBsYXRl
ciBpbiBPU1IgZXhpdCB3aGVuIHdlIGNhbGN1bGF0ZSB0aGUgY2FsbCBmcmFtZSB3ZSdyZSBleGl0
aW5nIHRvLgorICAgICAgICB2bS0+dm1FbnRyeUZyYW1lRm9yVGhyb3cgPSB2bS0+dG9wVk1FbnRy
eUZyYW1lOworICAgIH0KKyAgICAKICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNv
ZGVCbG9jaygpOwogICAgIAogICAgIEFTU0VSVChjb2RlQmxvY2spOwogICAgIEFTU0VSVChjb2Rl
QmxvY2stPmppdFR5cGUoKSA9PSBKSVRDb2RlOjpERkdKSVQpOwogICAgIAotICAgIFZNKiB2bSA9
ICZleGVjLT52bSgpOwotICAgIAogICAgIC8vIEl0J3Mgc29ydCBvZiBwcmVmZXJhYmxlIHRoYXQg
d2UgZG9uJ3QgR0Mgd2hpbGUgaW4gaGVyZS4gQW55d2F5cywgZG9pbmcgc28gd291bGRuJ3QKICAg
ICAvLyByZWFsbHkgYmUgcHJvZml0YWJsZS4KICAgICBEZWZlckdDRm9yQVdoaWxlIGRlZmVyR0Mo
dm0tPmhlYXApOwogCiAgICAgdWludDMyX3QgZXhpdEluZGV4ID0gdm0tPm9zckV4aXRJbmRleDsK
ICAgICBPU1JFeGl0JiBleGl0ID0gY29kZUJsb2NrLT5qaXRDb2RlKCktPmRmZygpLT5vc3JFeGl0
W2V4aXRJbmRleF07CisgICAgaWYgKHZtLT5jYWxsRnJhbWVGb3JUaHJvdykKKyAgICAgICAgQVNT
RVJUKGV4aXQubV93aWxsQXJyaXZlQXRPU1JFeGl0RnJvbUdlbmVyaWNVbndpbmQpOwogICAgIAog
ICAgIHByZXBhcmVDb2RlT3JpZ2luRm9yT1NSRXhpdChleGVjLCBleGl0Lm1fY29kZU9yaWdpbik7
CiAgICAgCkBAIC0xNTUsNyArMTY4LDcgQEAgdm9pZCBjb21waWxlT1NSRXhpdChFeGVjU3RhdGUq
IGV4ZWMpCiAgICAgICAgICAgICBqaXQuYWRkNjQoQ0NhbGxIZWxwZXJzOjpUcnVzdGVkSW1tMzIo
MSksIENDYWxsSGVscGVyczo6QWJzb2x1dGVBZGRyZXNzKHByb2ZpbGVyRXhpdC0+Y291bnRlckFk
ZHJlc3MoKSkpOwogICAgICAgICB9CiAgICAgICAgIAotICAgICAgICBleGl0Q29tcGlsZXIuY29t
cGlsZUV4aXQoZXhpdCwgb3BlcmFuZHMsIHJlY292ZXJ5KTsKKyAgICAgICAgZXhpdENvbXBpbGVy
LmNvbXBpbGVFeGl0KGV4aXQsIG9wZXJhbmRzLCByZWNvdmVyeSwgaXNFeGl0aW5nQmVjYXVzZUV4
Y2VwdGlvbik7CiAgICAgICAgIAogICAgICAgICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVyKCp2bSwg
aml0LCBjb2RlQmxvY2spOwogICAgICAgICBleGl0Lm1fY29kZSA9IEZJTkFMSVpFX0NPREVfSUYo
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlci5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVy
LmgJKHJldmlzaW9uIDE4ODUwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NS
RXhpdENvbXBpbGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ2LDcgKzQ2LDcgQEAgcHVibGljOgog
ICAgIHsKICAgICB9CiAgICAgCi0gICAgdm9pZCBjb21waWxlRXhpdChjb25zdCBPU1JFeGl0Jiwg
Y29uc3QgT3BlcmFuZHM8VmFsdWVSZWNvdmVyeT4mLCBTcGVjdWxhdGlvblJlY292ZXJ5Kik7Cisg
ICAgdm9pZCBjb21waWxlRXhpdChjb25zdCBPU1JFeGl0JiwgY29uc3QgT3BlcmFuZHM8VmFsdWVS
ZWNvdmVyeT4mLCBTcGVjdWxhdGlvblJlY292ZXJ5KiwgYm9vbCk7CiAKIHByaXZhdGU6CiAgICAg
dm9pZCBlbWl0UmVzdG9yZUFyZ3VtZW50cyhjb25zdCBPcGVyYW5kczxWYWx1ZVJlY292ZXJ5PiYp
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXJDb21t
b24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhp
dENvbXBpbGVyQ29tbW9uLmNwcAkocmV2aXNpb24gMTg4NTA0KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yNDcsNyArMjQ3LDcgQEAgc3RhdGljIHZvaWQgb3NyV3JpdGVCYXJyaWVyKENDYWxsSGVscGVy
cwogfQogI2VuZGlmIC8vIEVOQUJMRShHR0MpCiAKLXZvaWQgYWRqdXN0QW5kSnVtcFRvVGFyZ2V0
KENDYWxsSGVscGVycyYgaml0LCBjb25zdCBPU1JFeGl0QmFzZSYgZXhpdCkKK3ZvaWQgYWRqdXN0
QW5kSnVtcFRvVGFyZ2V0KENDYWxsSGVscGVycyYgaml0LCBjb25zdCBPU1JFeGl0QmFzZSYgZXhp
dCwgYm9vbCBpc0V4aXRpbmdCZWNhdXNlRXhjZXB0aW9uKQogewogI2lmIEVOQUJMRShHR0MpIAog
ICAgIGppdC5tb3ZlKEFzc2VtYmx5SGVscGVyczo6VHJ1c3RlZEltbVB0cihqaXQuY29kZUJsb2Nr
KCktPm93bmVyRXhlY3V0YWJsZSgpKSwgR1BSSW5mbzo6bm9uQXJnR1BSMCk7CkBAIC0yNjgsMTQg
KzI2OCwyMSBAQCB2b2lkIGFkanVzdEFuZEp1bXBUb1RhcmdldChDQ2FsbEhlbHBlcnMmCiAgICAg
Q29kZUJsb2NrKiBiYXNlbGluZUNvZGVCbG9jayA9IGppdC5iYXNlbGluZUNvZGVCbG9ja0Zvcihl
eGl0Lm1fY29kZU9yaWdpbik7CiAgICAgVmVjdG9yPEJ5dGVjb2RlQW5kTWFjaGluZU9mZnNldD4m
IGRlY29kZWRDb2RlTWFwID0gaml0LmRlY29kZWRDb2RlTWFwRm9yKGJhc2VsaW5lQ29kZUJsb2Nr
KTsKICAgICAKLSAgICBCeXRlY29kZUFuZE1hY2hpbmVPZmZzZXQqIG1hcHBpbmcgPSBiaW5hcnlT
ZWFyY2g8Qnl0ZWNvZGVBbmRNYWNoaW5lT2Zmc2V0LCB1bnNpZ25lZD4oZGVjb2RlZENvZGVNYXAs
IGRlY29kZWRDb2RlTWFwLnNpemUoKSwgZXhpdC5tX2NvZGVPcmlnaW4uYnl0ZWNvZGVJbmRleCwg
Qnl0ZWNvZGVBbmRNYWNoaW5lT2Zmc2V0OjpnZXRCeXRlY29kZUluZGV4KTsKKyAgICBCeXRlY29k
ZUFuZE1hY2hpbmVPZmZzZXQqIG1hcHBpbmcgPSBiaW5hcnlTZWFyY2g8Qnl0ZWNvZGVBbmRNYWNo
aW5lT2Zmc2V0LCB1bnNpZ25lZD4oZGVjb2RlZENvZGVNYXAsIGRlY29kZWRDb2RlTWFwLnNpemUo
KSwgZXhpdC5tX2V4aXRCeXRlY29kZUluZGV4LCBCeXRlY29kZUFuZE1hY2hpbmVPZmZzZXQ6Omdl
dEJ5dGVjb2RlSW5kZXgpOwogICAgIAogICAgIEFTU0VSVChtYXBwaW5nKTsKLSAgICBBU1NFUlQo
bWFwcGluZy0+bV9ieXRlY29kZUluZGV4ID09IGV4aXQubV9jb2RlT3JpZ2luLmJ5dGVjb2RlSW5k
ZXgpOworICAgIC8vIEZJWE1FOiBuZWVkIGEgbW9yZSBjb21wbGV0ZS9zb3VuZCBzdG9yeSBoZXJl
LiBOZWVkIHRvIGJlIGV4cGxpY2l0IGluIHdoYXQgd2UncmUgZG9pbmcuCisgICAgLy9BU1NFUlQo
bWFwcGluZy0+bV9ieXRlY29kZUluZGV4ID09IGV4aXQubV9jb2RlT3JpZ2luLmJ5dGVjb2RlSW5k
ZXgpOwogICAgIAogICAgIHZvaWQqIGp1bXBUYXJnZXQgPSBiYXNlbGluZUNvZGVCbG9jay0+aml0
Q29kZSgpLT5leGVjdXRhYmxlQWRkcmVzc0F0T2Zmc2V0KG1hcHBpbmctPm1fbWFjaGluZUNvZGVP
ZmZzZXQpOwogCiAgICAgaml0LmFkZFB0cihBc3NlbWJseUhlbHBlcnM6OlRydXN0ZWRJbW0zMihK
SVQ6OnN0YWNrUG9pbnRlck9mZnNldEZvcihiYXNlbGluZUNvZGVCbG9jaykgKiBzaXplb2YoUmVn
aXN0ZXIpKSwgR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIEFzc2VtYmx5SGVscGVyczo6c3Rh
Y2tQb2ludGVyUmVnaXN0ZXIpOworICAgIGlmIChpc0V4aXRpbmdCZWNhdXNlRXhjZXB0aW9uKSB7
CisgICAgICAgIC8vIEZJWE1FOiAzMi1iaXQuCisgICAgICAgIC8vIFNpbmNlIHdlJ3JlIGp1bXBp
bmcgdG8gb3BfY2F0Y2gsIHdlIG5lZWQgdG8gcmUtYWRqdXN0IHRoZSBjYWxsRnJhbWVGb3JUaHJv
d09mZnNldCB0byBiZSB0aGUgY2FsY3VsYXRlZCBjYWxsIGZyYW1lIGhlcmUuCisgICAgICAgIGpp
dC5tb3ZlKEFzc2VtYmx5SGVscGVyczo6VHJ1c3RlZEltbVB0cihqaXQudm0oKSksIEdQUkluZm86
OnJlZ1QyKTsKKyAgICAgICAgaml0LnN0b3JlUHRyKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVy
LCBBc3NlbWJseUhlbHBlcnM6OkFkZHJlc3MoR1BSSW5mbzo6cmVnVDIsIFZNOjpjYWxsRnJhbWVG
b3JUaHJvd09mZnNldCgpKSk7CisgICAgfQogICAgIAogICAgIGppdC5qaXRBc3NlcnRUYWdzSW5Q
bGFjZSgpOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21w
aWxlckNvbW1vbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
T1NSRXhpdENvbXBpbGVyQ29tbW9uLmgJKHJldmlzaW9uIDE4ODUwNCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmgJKHdvcmtpbmcgY29weSkK
QEAgLTM1LDcgKzM1LDcgQEAgbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewogCiB2b2lk
IGhhbmRsZUV4aXRDb3VudHMoQ0NhbGxIZWxwZXJzJiwgY29uc3QgT1NSRXhpdEJhc2UmKTsKIHZv
aWQgcmVpZnlJbmxpbmVkQ2FsbEZyYW1lcyhDQ2FsbEhlbHBlcnMmLCBjb25zdCBPU1JFeGl0QmFz
ZSYpOwotdm9pZCBhZGp1c3RBbmRKdW1wVG9UYXJnZXQoQ0NhbGxIZWxwZXJzJiwgY29uc3QgT1NS
RXhpdEJhc2UmKTsKK3ZvaWQgYWRqdXN0QW5kSnVtcFRvVGFyZ2V0KENDYWxsSGVscGVycyYsIGNv
bnN0IE9TUkV4aXRCYXNlJiwgYm9vbCk7CiAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpERkcKIApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYW5lU3RyaW5nR2V0QnlWYWxTbG93
UGF0aEdlbmVyYXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU2FuZVN0cmluZ0dldEJ5VmFsU2xvd1BhdGhHZW5lcmF0b3IuaAkocmV2aXNpb24gMTg4NTA0
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTYW5lU3RyaW5nR2V0QnlWYWxTbG93
UGF0aEdlbmVyYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC03Niw2ICs3Niw3IEBAIHByb3RlY3Rl
ZDoKICAgICAgICAgR1BSUmVnIGNhblRyYW1wbGUgPSBTcGVjdWxhdGl2ZUpJVDo6cGlja0NhblRy
YW1wbGUoZXh0cmFjdFJlc3VsdChtX3Jlc3VsdFJlZ3MpKTsKICAgICAgICAgZm9yICh1bnNpZ25l
ZCBpID0gbV9wbGFucy5zaXplKCk7IGktLTspCiAgICAgICAgICAgICBqaXQtPnNpbGVudEZpbGwo
bV9wbGFuc1tpXSwgY2FuVHJhbXBsZSk7CisgICAgICAgIGppdC0+Y2hlY2tFeGNlcHRpb24oKTsK
ICAgICAgICAgCiAgICAgICAgIGp1bXBUbyhqaXQpOwogICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU2xvd1BhdGhHZW5lcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nsb3dQYXRoR2VuZXJhdG9yLmgJKHJldmlzaW9uIDE4
ODUwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2xvd1BhdGhHZW5lcmF0b3Iu
aAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsNyBAQCBjbGFzcyBTbG93UGF0aEdlbmVyYXRv
ciB7CiBwdWJsaWM6CiAgICAgU2xvd1BhdGhHZW5lcmF0b3IoU3BlY3VsYXRpdmVKSVQqIGppdCkK
ICAgICAgICAgOiBtX2N1cnJlbnROb2RlKGppdC0+bV9jdXJyZW50Tm9kZSkKKyAgICAgICAgLCBt
X3N0cmVhbUluZGV4KGppdC0+bV9zdHJlYW0tPnNpemUoKSkKICAgICB7CiAgICAgfQogICAgIHZp
cnR1YWwgflNsb3dQYXRoR2VuZXJhdG9yKCkgeyB9CkBAIC00Nyw3ICs0OCw5IEBAIHB1YmxpYzoK
ICAgICB7CiAgICAgICAgIG1fbGFiZWwgPSBqaXQtPm1faml0LmxhYmVsKCk7CiAgICAgICAgIGpp
dC0+bV9jdXJyZW50Tm9kZSA9IG1fY3VycmVudE5vZGU7CisgICAgICAgIGppdC0+bV9vdXRPZkxp
bmVTdHJlYW1JbmRleCA9IG1fc3RyZWFtSW5kZXg7CiAgICAgICAgIGdlbmVyYXRlSW50ZXJuYWwo
aml0KTsKKyAgICAgICAgaml0LT5tX291dE9mTGluZVN0cmVhbUluZGV4ID0gVUlOVF9NQVg7CiAg
ICAgICAgIGlmICghQVNTRVJUX0RJU0FCTEVEKQogICAgICAgICAgICAgaml0LT5tX2ppdC5hYm9y
dFdpdGhSZWFzb24oREZHU2xvd1BhdGhHZW5lcmF0b3JGZWxsVGhyb3VnaCk7CiAgICAgfQpAQCAt
NjEsNiArNjQsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGdlbmVyYXRlSW50ZXJu
YWwoU3BlY3VsYXRpdmVKSVQqKSA9IDA7CiAgICAgTWFjcm9Bc3NlbWJsZXI6OkxhYmVsIG1fbGFi
ZWw7CiAgICAgTm9kZSogbV9jdXJyZW50Tm9kZTsKKyAgICB1bnNpZ25lZCBtX3N0cmVhbUluZGV4
OwogfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgSnVtcFR5cGU+CkBAIC05MywxMCArOTcsMTEgQEAg
Y2xhc3MgQ2FsbFNsb3dQYXRoR2VuZXJhdG9yIDogcHVibGljIEp1bQogcHVibGljOgogICAgIENh
bGxTbG93UGF0aEdlbmVyYXRvcigKICAgICAgICAgSnVtcFR5cGUgZnJvbSwgU3BlY3VsYXRpdmVK
SVQqIGppdCwgRnVuY3Rpb25UeXBlIGZ1bmN0aW9uLAotICAgICAgICBTcGlsbFJlZ2lzdGVyc01v
ZGUgc3BpbGxNb2RlLCBSZXN1bHRUeXBlIHJlc3VsdCkKKyAgICAgICAgU3BpbGxSZWdpc3RlcnNN
b2RlIHNwaWxsTW9kZSwgYm9vbCBuZWVkc0V4Y2VwdGlvbkNoZWNrLCBSZXN1bHRUeXBlIHJlc3Vs
dCkKICAgICAgICAgOiBKdW1waW5nU2xvd1BhdGhHZW5lcmF0b3I8SnVtcFR5cGU+KGZyb20sIGpp
dCkKICAgICAgICAgLCBtX2Z1bmN0aW9uKGZ1bmN0aW9uKQogICAgICAgICAsIG1fc3BpbGxNb2Rl
KHNwaWxsTW9kZSkKKyAgICAgICAgLCBtX25lZWRzRXhjZXB0aW9uQ2hlY2sobmVlZHNFeGNlcHRp
b25DaGVjaykKICAgICAgICAgLCBtX3Jlc3VsdChyZXN1bHQpCiAgICAgewogICAgICAgICBpZiAo
bV9zcGlsbE1vZGUgPT0gTmVlZFRvU3BpbGwpCkBAIC0xMzAsMTEgKzEzNSwxNCBAQCBwcm90ZWN0
ZWQ6CiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBtX3BsYW5zLnNpemUoKTsgaS0tOykK
ICAgICAgICAgICAgICAgICBqaXQtPnNpbGVudEZpbGwobV9wbGFuc1tpXSwgY2FuVHJhbXBsZSk7
CiAgICAgICAgIH0KKyAgICAgICAgaWYgKG1fbmVlZHNFeGNlcHRpb25DaGVjaykKKyAgICAgICAg
ICAgIGppdC0+Y2hlY2tFeGNlcHRpb24oKTsKICAgICAgICAgdGhpcy0+anVtcFRvKGppdCk7CiAg
ICAgfQogCiAgICAgRnVuY3Rpb25UeXBlIG1fZnVuY3Rpb247CiAgICAgU3BpbGxSZWdpc3RlcnNN
b2RlIG1fc3BpbGxNb2RlOworICAgIGJvb2wgbV9uZWVkc0V4Y2VwdGlvbkNoZWNrOwogICAgIFJl
c3VsdFR5cGUgbV9yZXN1bHQ7CiAgICAgTWFjcm9Bc3NlbWJsZXI6OkNhbGwgbV9jYWxsOwogICAg
IFZlY3RvcjxTaWxlbnRSZWdpc3RlclNhdmVQbGFuLCAyPiBtX3BsYW5zOwpAQCAtMTQ2LDkgKzE1
NCw5IEBAIGNsYXNzIENhbGxSZXN1bHRBbmROb0FyZ3VtZW50c1Nsb3dQYXRoR2UKIHB1YmxpYzoK
ICAgICBDYWxsUmVzdWx0QW5kTm9Bcmd1bWVudHNTbG93UGF0aEdlbmVyYXRvcigKICAgICAgICAg
SnVtcFR5cGUgZnJvbSwgU3BlY3VsYXRpdmVKSVQqIGppdCwgRnVuY3Rpb25UeXBlIGZ1bmN0aW9u
LAotICAgICAgICBTcGlsbFJlZ2lzdGVyc01vZGUgc3BpbGxNb2RlLCBSZXN1bHRUeXBlIHJlc3Vs
dCkKKyAgICAgICAgU3BpbGxSZWdpc3RlcnNNb2RlIHNwaWxsTW9kZSwgYm9vbCBuZWVkc0V4Y2Vw
dGlvbkNoZWNrLCBSZXN1bHRUeXBlIHJlc3VsdCkKICAgICAgICAgOiBDYWxsU2xvd1BhdGhHZW5l
cmF0b3I8SnVtcFR5cGUsIEZ1bmN0aW9uVHlwZSwgUmVzdWx0VHlwZT4oCi0gICAgICAgICAgICBm
cm9tLCBqaXQsIGZ1bmN0aW9uLCBzcGlsbE1vZGUsIHJlc3VsdCkKKyAgICAgICAgICAgIGZyb20s
IGppdCwgZnVuY3Rpb24sIHNwaWxsTW9kZSwgbmVlZHNFeGNlcHRpb25DaGVjaywgcmVzdWx0KQog
ICAgIHsKICAgICB9CiAgICAgCkBAIC0xNjksOSArMTc3LDkgQEAgY2xhc3MgQ2FsbFJlc3VsdEFu
ZE9uZUFyZ3VtZW50U2xvd1BhdGhHZQogcHVibGljOgogICAgIENhbGxSZXN1bHRBbmRPbmVBcmd1
bWVudFNsb3dQYXRoR2VuZXJhdG9yKAogICAgICAgICBKdW1wVHlwZSBmcm9tLCBTcGVjdWxhdGl2
ZUpJVCogaml0LCBGdW5jdGlvblR5cGUgZnVuY3Rpb24sCi0gICAgICAgIFNwaWxsUmVnaXN0ZXJz
TW9kZSBzcGlsbE1vZGUsIFJlc3VsdFR5cGUgcmVzdWx0LCBBcmd1bWVudFR5cGUxIGFyZ3VtZW50
MSkKKyAgICAgICAgU3BpbGxSZWdpc3RlcnNNb2RlIHNwaWxsTW9kZSwgYm9vbCBuZWVkc0V4Y2Vw
dGlvbkNoZWNrLCBSZXN1bHRUeXBlIHJlc3VsdCwgQXJndW1lbnRUeXBlMSBhcmd1bWVudDEpCiAg
ICAgICAgIDogQ2FsbFNsb3dQYXRoR2VuZXJhdG9yPEp1bXBUeXBlLCBGdW5jdGlvblR5cGUsIFJl
c3VsdFR5cGU+KAotICAgICAgICAgICAgZnJvbSwgaml0LCBmdW5jdGlvbiwgc3BpbGxNb2RlLCBy
ZXN1bHQpCisgICAgICAgICAgICBmcm9tLCBqaXQsIGZ1bmN0aW9uLCBzcGlsbE1vZGUsIG5lZWRz
RXhjZXB0aW9uQ2hlY2ssIHJlc3VsdCkKICAgICAgICAgLCBtX2FyZ3VtZW50MShhcmd1bWVudDEp
CiAgICAgewogICAgIH0KQEAgLTE5NSwxMCArMjAzLDEwIEBAIGNsYXNzIENhbGxSZXN1bHRBbmRU
d29Bcmd1bWVudHNTbG93UGF0aEcKIHB1YmxpYzoKICAgICBDYWxsUmVzdWx0QW5kVHdvQXJndW1l
bnRzU2xvd1BhdGhHZW5lcmF0b3IoCiAgICAgICAgIEp1bXBUeXBlIGZyb20sIFNwZWN1bGF0aXZl
SklUKiBqaXQsIEZ1bmN0aW9uVHlwZSBmdW5jdGlvbiwKLSAgICAgICAgU3BpbGxSZWdpc3RlcnNN
b2RlIHNwaWxsTW9kZSwgUmVzdWx0VHlwZSByZXN1bHQsIEFyZ3VtZW50VHlwZTEgYXJndW1lbnQx
LAorICAgICAgICBTcGlsbFJlZ2lzdGVyc01vZGUgc3BpbGxNb2RlLCBib29sIG5lZWRzRXhjZXB0
aW9uQ2hlY2ssIFJlc3VsdFR5cGUgcmVzdWx0LCBBcmd1bWVudFR5cGUxIGFyZ3VtZW50MSwKICAg
ICAgICAgQXJndW1lbnRUeXBlMiBhcmd1bWVudDIpCiAgICAgICAgIDogQ2FsbFNsb3dQYXRoR2Vu
ZXJhdG9yPEp1bXBUeXBlLCBGdW5jdGlvblR5cGUsIFJlc3VsdFR5cGU+KAotICAgICAgICAgICAg
ZnJvbSwgaml0LCBmdW5jdGlvbiwgc3BpbGxNb2RlLCByZXN1bHQpCisgICAgICAgICAgICBmcm9t
LCBqaXQsIGZ1bmN0aW9uLCBzcGlsbE1vZGUsIG5lZWRzRXhjZXB0aW9uQ2hlY2ssIHJlc3VsdCkK
ICAgICAgICAgLCBtX2FyZ3VtZW50MShhcmd1bWVudDEpCiAgICAgICAgICwgbV9hcmd1bWVudDIo
YXJndW1lbnQyKQogICAgIHsKQEAgLTIyNCwxMCArMjMyLDEwIEBAIGNsYXNzIENhbGxSZXN1bHRB
bmRUaHJlZUFyZ3VtZW50c1Nsb3dQYXQKIHB1YmxpYzoKICAgICBDYWxsUmVzdWx0QW5kVGhyZWVB
cmd1bWVudHNTbG93UGF0aEdlbmVyYXRvcigKICAgICAgICAgSnVtcFR5cGUgZnJvbSwgU3BlY3Vs
YXRpdmVKSVQqIGppdCwgRnVuY3Rpb25UeXBlIGZ1bmN0aW9uLAotICAgICAgICBTcGlsbFJlZ2lz
dGVyc01vZGUgc3BpbGxNb2RlLCBSZXN1bHRUeXBlIHJlc3VsdCwgQXJndW1lbnRUeXBlMSBhcmd1
bWVudDEsCisgICAgICAgIFNwaWxsUmVnaXN0ZXJzTW9kZSBzcGlsbE1vZGUsIGJvb2wgbmVlZHNF
eGNlcHRpb25DaGVjaywgUmVzdWx0VHlwZSByZXN1bHQsIEFyZ3VtZW50VHlwZTEgYXJndW1lbnQx
LAogICAgICAgICBBcmd1bWVudFR5cGUyIGFyZ3VtZW50MiwgQXJndW1lbnRUeXBlMyBhcmd1bWVu
dDMpCiAgICAgICAgIDogQ2FsbFNsb3dQYXRoR2VuZXJhdG9yPEp1bXBUeXBlLCBGdW5jdGlvblR5
cGUsIFJlc3VsdFR5cGU+KAotICAgICAgICAgICAgZnJvbSwgaml0LCBmdW5jdGlvbiwgc3BpbGxN
b2RlLCByZXN1bHQpCisgICAgICAgICAgICBmcm9tLCBqaXQsIGZ1bmN0aW9uLCBzcGlsbE1vZGUs
IG5lZWRzRXhjZXB0aW9uQ2hlY2ssIHJlc3VsdCkKICAgICAgICAgLCBtX2FyZ3VtZW50MShhcmd1
bWVudDEpCiAgICAgICAgICwgbV9hcmd1bWVudDIoYXJndW1lbnQyKQogICAgICAgICAsIG1fYXJn
dW1lbnQzKGFyZ3VtZW50MykKQEAgLTI1OSwxMCArMjY3LDEwIEBAIGNsYXNzIENhbGxSZXN1bHRB
bmRGb3VyQXJndW1lbnRzU2xvd1BhdGgKIHB1YmxpYzoKICAgICBDYWxsUmVzdWx0QW5kRm91ckFy
Z3VtZW50c1Nsb3dQYXRoR2VuZXJhdG9yKAogICAgICAgICBKdW1wVHlwZSBmcm9tLCBTcGVjdWxh
dGl2ZUpJVCogaml0LCBGdW5jdGlvblR5cGUgZnVuY3Rpb24sCi0gICAgICAgIFNwaWxsUmVnaXN0
ZXJzTW9kZSBzcGlsbE1vZGUsIFJlc3VsdFR5cGUgcmVzdWx0LCBBcmd1bWVudFR5cGUxIGFyZ3Vt
ZW50MSwKKyAgICAgICAgU3BpbGxSZWdpc3RlcnNNb2RlIHNwaWxsTW9kZSwgYm9vbCBuZWVkc0V4
Y2VwdGlvbkNoZWNrLCBSZXN1bHRUeXBlIHJlc3VsdCwgQXJndW1lbnRUeXBlMSBhcmd1bWVudDEs
CiAgICAgICAgIEFyZ3VtZW50VHlwZTIgYXJndW1lbnQyLCBBcmd1bWVudFR5cGUzIGFyZ3VtZW50
MywgQXJndW1lbnRUeXBlNCBhcmd1bWVudDQpCiAgICAgICAgIDogQ2FsbFNsb3dQYXRoR2VuZXJh
dG9yPEp1bXBUeXBlLCBGdW5jdGlvblR5cGUsIFJlc3VsdFR5cGU+KAotICAgICAgICAgICAgZnJv
bSwgaml0LCBmdW5jdGlvbiwgc3BpbGxNb2RlLCByZXN1bHQpCisgICAgICAgICAgICBmcm9tLCBq
aXQsIGZ1bmN0aW9uLCBzcGlsbE1vZGUsIG5lZWRzRXhjZXB0aW9uQ2hlY2ssIHJlc3VsdCkKICAg
ICAgICAgLCBtX2FyZ3VtZW50MShhcmd1bWVudDEpCiAgICAgICAgICwgbV9hcmd1bWVudDIoYXJn
dW1lbnQyKQogICAgICAgICAsIG1fYXJndW1lbnQzKGFyZ3VtZW50MykKQEAgLTI5NiwxMSArMzA0
LDExIEBAIGNsYXNzIENhbGxSZXN1bHRBbmRGaXZlQXJndW1lbnRzU2xvd1BhdGgKIHB1YmxpYzoK
ICAgICBDYWxsUmVzdWx0QW5kRml2ZUFyZ3VtZW50c1Nsb3dQYXRoR2VuZXJhdG9yKAogICAgICAg
ICBKdW1wVHlwZSBmcm9tLCBTcGVjdWxhdGl2ZUpJVCogaml0LCBGdW5jdGlvblR5cGUgZnVuY3Rp
b24sCi0gICAgICAgIFNwaWxsUmVnaXN0ZXJzTW9kZSBzcGlsbE1vZGUsIFJlc3VsdFR5cGUgcmVz
dWx0LCBBcmd1bWVudFR5cGUxIGFyZ3VtZW50MSwKKyAgICAgICAgU3BpbGxSZWdpc3RlcnNNb2Rl
IHNwaWxsTW9kZSwgYm9vbCBuZWVkc0V4Y2VwdGlvbkNoZWNrLCBSZXN1bHRUeXBlIHJlc3VsdCwg
QXJndW1lbnRUeXBlMSBhcmd1bWVudDEsCiAgICAgICAgIEFyZ3VtZW50VHlwZTIgYXJndW1lbnQy
LCBBcmd1bWVudFR5cGUzIGFyZ3VtZW50MywgQXJndW1lbnRUeXBlNCBhcmd1bWVudDQsCiAgICAg
ICAgIEFyZ3VtZW50VHlwZTUgYXJndW1lbnQ1KQogICAgICAgICA6IENhbGxTbG93UGF0aEdlbmVy
YXRvcjxKdW1wVHlwZSwgRnVuY3Rpb25UeXBlLCBSZXN1bHRUeXBlPigKLSAgICAgICAgICAgIGZy
b20sIGppdCwgZnVuY3Rpb24sIHNwaWxsTW9kZSwgcmVzdWx0KQorICAgICAgICAgICAgZnJvbSwg
aml0LCBmdW5jdGlvbiwgc3BpbGxNb2RlLCBuZWVkc0V4Y2VwdGlvbkNoZWNrLCByZXN1bHQpCiAg
ICAgICAgICwgbV9hcmd1bWVudDEoYXJndW1lbnQxKQogICAgICAgICAsIG1fYXJndW1lbnQyKGFy
Z3VtZW50MikKICAgICAgICAgLCBtX2FyZ3VtZW50Myhhcmd1bWVudDMpCkBAIC0zMzAsMTAgKzMz
OCwxMCBAQCBwcm90ZWN0ZWQ6ICAgIAogdGVtcGxhdGU8dHlwZW5hbWUgSnVtcFR5cGUsIHR5cGVu
YW1lIEZ1bmN0aW9uVHlwZSwgdHlwZW5hbWUgUmVzdWx0VHlwZT4KIGlubGluZSBzdGQ6OnVuaXF1
ZV9wdHI8U2xvd1BhdGhHZW5lcmF0b3I+IHNsb3dQYXRoQ2FsbCgKICAgICBKdW1wVHlwZSBmcm9t
LCBTcGVjdWxhdGl2ZUpJVCogaml0LCBGdW5jdGlvblR5cGUgZnVuY3Rpb24sCi0gICAgUmVzdWx0
VHlwZSByZXN1bHQsIFNwaWxsUmVnaXN0ZXJzTW9kZSBzcGlsbE1vZGUgPSBOZWVkVG9TcGlsbCkK
KyAgICBSZXN1bHRUeXBlIHJlc3VsdCwgU3BpbGxSZWdpc3RlcnNNb2RlIHNwaWxsTW9kZSA9IE5l
ZWRUb1NwaWxsLCBib29sIG5lZWRzRXhjZXB0aW9uQ2hlY2sgPSB0cnVlKQogewogICAgIHJldHVy
biBzdGQ6Om1ha2VfdW5pcXVlPENhbGxSZXN1bHRBbmROb0FyZ3VtZW50c1Nsb3dQYXRoR2VuZXJh
dG9yPEp1bXBUeXBlLCBGdW5jdGlvblR5cGUsIFJlc3VsdFR5cGU+PigKLSAgICAgICAgZnJvbSwg
aml0LCBmdW5jdGlvbiwgc3BpbGxNb2RlLCByZXN1bHQpOworICAgICAgICBmcm9tLCBqaXQsIGZ1
bmN0aW9uLCBzcGlsbE1vZGUsIG5lZWRzRXhjZXB0aW9uQ2hlY2ssIHJlc3VsdCk7CiB9CiAKIHRl
bXBsYXRlPApAQCAtMzQyLDEwICszNTAsMTAgQEAgdGVtcGxhdGU8CiBpbmxpbmUgc3RkOjp1bmlx
dWVfcHRyPFNsb3dQYXRoR2VuZXJhdG9yPiBzbG93UGF0aENhbGwoCiAgICAgSnVtcFR5cGUgZnJv
bSwgU3BlY3VsYXRpdmVKSVQqIGppdCwgRnVuY3Rpb25UeXBlIGZ1bmN0aW9uLAogICAgIFJlc3Vs
dFR5cGUgcmVzdWx0LCBBcmd1bWVudFR5cGUxIGFyZ3VtZW50MSwKLSAgICBTcGlsbFJlZ2lzdGVy
c01vZGUgc3BpbGxNb2RlID0gTmVlZFRvU3BpbGwpCisgICAgU3BpbGxSZWdpc3RlcnNNb2RlIHNw
aWxsTW9kZSA9IE5lZWRUb1NwaWxsLCBib29sIG5lZWRzRXhjZXB0aW9uQ2hlY2sgPSB0cnVlKQog
ewogICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPENhbGxSZXN1bHRBbmRPbmVBcmd1bWVudFNs
b3dQYXRoR2VuZXJhdG9yPEp1bXBUeXBlLCBGdW5jdGlvblR5cGUsIFJlc3VsdFR5cGUsIEFyZ3Vt
ZW50VHlwZTE+PigKLSAgICAgICAgZnJvbSwgaml0LCBmdW5jdGlvbiwgc3BpbGxNb2RlLCByZXN1
bHQsIGFyZ3VtZW50MSk7CisgICAgICAgIGZyb20sIGppdCwgZnVuY3Rpb24sIHNwaWxsTW9kZSwg
bmVlZHNFeGNlcHRpb25DaGVjaywgcmVzdWx0LCBhcmd1bWVudDEpOwogfQogCiB0ZW1wbGF0ZTwK
QEAgLTM1NCwxMCArMzYyLDEwIEBAIHRlbXBsYXRlPAogaW5saW5lIHN0ZDo6dW5pcXVlX3B0cjxT
bG93UGF0aEdlbmVyYXRvcj4gc2xvd1BhdGhDYWxsKAogICAgIEp1bXBUeXBlIGZyb20sIFNwZWN1
bGF0aXZlSklUKiBqaXQsIEZ1bmN0aW9uVHlwZSBmdW5jdGlvbiwKICAgICBSZXN1bHRUeXBlIHJl
c3VsdCwgQXJndW1lbnRUeXBlMSBhcmd1bWVudDEsIEFyZ3VtZW50VHlwZTIgYXJndW1lbnQyLAot
ICAgIFNwaWxsUmVnaXN0ZXJzTW9kZSBzcGlsbE1vZGUgPSBOZWVkVG9TcGlsbCkKKyAgICBTcGls
bFJlZ2lzdGVyc01vZGUgc3BpbGxNb2RlID0gTmVlZFRvU3BpbGwsIGJvb2wgbmVlZHNFeGNlcHRp
b25DaGVjayA9IHRydWUpCiB7CiAgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8Q2FsbFJlc3Vs
dEFuZFR3b0FyZ3VtZW50c1Nsb3dQYXRoR2VuZXJhdG9yPEp1bXBUeXBlLCBGdW5jdGlvblR5cGUs
IFJlc3VsdFR5cGUsIEFyZ3VtZW50VHlwZTEsIEFyZ3VtZW50VHlwZTI+PigKLSAgICAgICAgZnJv
bSwgaml0LCBmdW5jdGlvbiwgc3BpbGxNb2RlLCByZXN1bHQsIGFyZ3VtZW50MSwgYXJndW1lbnQy
KTsKKyAgICAgICAgZnJvbSwgaml0LCBmdW5jdGlvbiwgc3BpbGxNb2RlLCBuZWVkc0V4Y2VwdGlv
bkNoZWNrLCByZXN1bHQsIGFyZ3VtZW50MSwgYXJndW1lbnQyKTsKIH0KIAogdGVtcGxhdGU8CkBA
IC0zNjYsMTAgKzM3NCwxMCBAQCB0ZW1wbGF0ZTwKIGlubGluZSBzdGQ6OnVuaXF1ZV9wdHI8U2xv
d1BhdGhHZW5lcmF0b3I+IHNsb3dQYXRoQ2FsbCgKICAgICBKdW1wVHlwZSBmcm9tLCBTcGVjdWxh
dGl2ZUpJVCogaml0LCBGdW5jdGlvblR5cGUgZnVuY3Rpb24sCiAgICAgUmVzdWx0VHlwZSByZXN1
bHQsIEFyZ3VtZW50VHlwZTEgYXJndW1lbnQxLCBBcmd1bWVudFR5cGUyIGFyZ3VtZW50MiwKLSAg
ICBBcmd1bWVudFR5cGUzIGFyZ3VtZW50MywgU3BpbGxSZWdpc3RlcnNNb2RlIHNwaWxsTW9kZSA9
IE5lZWRUb1NwaWxsKQorICAgIEFyZ3VtZW50VHlwZTMgYXJndW1lbnQzLCBTcGlsbFJlZ2lzdGVy
c01vZGUgc3BpbGxNb2RlID0gTmVlZFRvU3BpbGwsIGJvb2wgbmVlZHNFeGNlcHRpb25DaGVjayA9
IHRydWUpCiB7CiAgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8Q2FsbFJlc3VsdEFuZFRocmVl
QXJndW1lbnRzU2xvd1BhdGhHZW5lcmF0b3I8SnVtcFR5cGUsIEZ1bmN0aW9uVHlwZSwgUmVzdWx0
VHlwZSwgQXJndW1lbnRUeXBlMSwgQXJndW1lbnRUeXBlMiwKLSAgICAgICAgQXJndW1lbnRUeXBl
Mz4+KGZyb20sIGppdCwgZnVuY3Rpb24sIHNwaWxsTW9kZSwgcmVzdWx0LCBhcmd1bWVudDEsIGFy
Z3VtZW50MiwgYXJndW1lbnQzKTsKKyAgICAgICAgQXJndW1lbnRUeXBlMz4+KGZyb20sIGppdCwg
ZnVuY3Rpb24sIHNwaWxsTW9kZSwgbmVlZHNFeGNlcHRpb25DaGVjaywgcmVzdWx0LCBhcmd1bWVu
dDEsIGFyZ3VtZW50MiwgYXJndW1lbnQzKTsKIH0KIAogdGVtcGxhdGU8CkBAIC0zODAsMTAgKzM4
OCwxMCBAQCBpbmxpbmUgc3RkOjp1bmlxdWVfcHRyPFNsb3dQYXRoR2VuZXJhdG9yCiAgICAgSnVt
cFR5cGUgZnJvbSwgU3BlY3VsYXRpdmVKSVQqIGppdCwgRnVuY3Rpb25UeXBlIGZ1bmN0aW9uLAog
ICAgIFJlc3VsdFR5cGUgcmVzdWx0LCBBcmd1bWVudFR5cGUxIGFyZ3VtZW50MSwgQXJndW1lbnRU
eXBlMiBhcmd1bWVudDIsCiAgICAgQXJndW1lbnRUeXBlMyBhcmd1bWVudDMsIEFyZ3VtZW50VHlw
ZTQgYXJndW1lbnQ0LAotICAgIFNwaWxsUmVnaXN0ZXJzTW9kZSBzcGlsbE1vZGUgPSBOZWVkVG9T
cGlsbCkKKyAgICBTcGlsbFJlZ2lzdGVyc01vZGUgc3BpbGxNb2RlID0gTmVlZFRvU3BpbGwsIGJv
b2wgbmVlZHNFeGNlcHRpb25DaGVjayA9IHRydWUpCiB7CiAgICAgcmV0dXJuIHN0ZDo6bWFrZV91
bmlxdWU8Q2FsbFJlc3VsdEFuZEZvdXJBcmd1bWVudHNTbG93UGF0aEdlbmVyYXRvcjxKdW1wVHlw
ZSwgRnVuY3Rpb25UeXBlLCBSZXN1bHRUeXBlLCBBcmd1bWVudFR5cGUxLCBBcmd1bWVudFR5cGUy
LAotICAgICAgICBBcmd1bWVudFR5cGUzLCBBcmd1bWVudFR5cGU0Pj4oZnJvbSwgaml0LCBmdW5j
dGlvbiwgc3BpbGxNb2RlLCByZXN1bHQsIGFyZ3VtZW50MSwgYXJndW1lbnQyLCBhcmd1bWVudDMs
IGFyZ3VtZW50NCk7CisgICAgICAgIEFyZ3VtZW50VHlwZTMsIEFyZ3VtZW50VHlwZTQ+Pihmcm9t
LCBqaXQsIGZ1bmN0aW9uLCBzcGlsbE1vZGUsIG5lZWRzRXhjZXB0aW9uQ2hlY2ssIHJlc3VsdCwg
YXJndW1lbnQxLCBhcmd1bWVudDIsIGFyZ3VtZW50MywgYXJndW1lbnQ0KTsKIH0KIAogdGVtcGxh
dGU8CkBAIC0zOTQsMTAgKzQwMiwxMCBAQCBpbmxpbmUgc3RkOjp1bmlxdWVfcHRyPFNsb3dQYXRo
R2VuZXJhdG9yCiAgICAgSnVtcFR5cGUgZnJvbSwgU3BlY3VsYXRpdmVKSVQqIGppdCwgRnVuY3Rp
b25UeXBlIGZ1bmN0aW9uLAogICAgIFJlc3VsdFR5cGUgcmVzdWx0LCBBcmd1bWVudFR5cGUxIGFy
Z3VtZW50MSwgQXJndW1lbnRUeXBlMiBhcmd1bWVudDIsCiAgICAgQXJndW1lbnRUeXBlMyBhcmd1
bWVudDMsIEFyZ3VtZW50VHlwZTQgYXJndW1lbnQ0LCBBcmd1bWVudFR5cGU1IGFyZ3VtZW50NSwK
LSAgICBTcGlsbFJlZ2lzdGVyc01vZGUgc3BpbGxNb2RlID0gTmVlZFRvU3BpbGwpCisgICAgU3Bp
bGxSZWdpc3RlcnNNb2RlIHNwaWxsTW9kZSA9IE5lZWRUb1NwaWxsLCBib29sIG5lZWRzRXhjZXB0
aW9uQ2hlY2sgPSB0cnVlKQogewogICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPENhbGxSZXN1
bHRBbmRGaXZlQXJndW1lbnRzU2xvd1BhdGhHZW5lcmF0b3I8SnVtcFR5cGUsIEZ1bmN0aW9uVHlw
ZSwgUmVzdWx0VHlwZSwgQXJndW1lbnRUeXBlMSwgQXJndW1lbnRUeXBlMiwKLSAgICAgICAgQXJn
dW1lbnRUeXBlMywgQXJndW1lbnRUeXBlNCwgQXJndW1lbnRUeXBlNT4+KGZyb20sIGppdCwgZnVu
Y3Rpb24sIHNwaWxsTW9kZSwgcmVzdWx0LCBhcmd1bWVudDEsIGFyZ3VtZW50MiwgYXJndW1lbnQz
LAorICAgICAgICBBcmd1bWVudFR5cGUzLCBBcmd1bWVudFR5cGU0LCBBcmd1bWVudFR5cGU1Pj4o
ZnJvbSwgaml0LCBmdW5jdGlvbiwgc3BpbGxNb2RlLCBuZWVkc0V4Y2VwdGlvbkNoZWNrLCByZXN1
bHQsIGFyZ3VtZW50MSwgYXJndW1lbnQyLCBhcmd1bWVudDMsCiAgICAgICAgIGFyZ3VtZW50NCwg
YXJndW1lbnQ1KTsKIH0KIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVDMyXzY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCShyZXZpc2lvbiAxODg1MDQpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00MDksNiArNDA5LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6bm9uU3BlY3Vs
YXRpdmVQZWVwaAogCiAgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7CiAgICAgICAgIGNhbGxPcGVy
YXRpb24oaGVscGVyRnVuY3Rpb24sIHJlc3VsdEdQUiwgYXJnMVRhZ0dQUiwgYXJnMVBheWxvYWRH
UFIsIGFyZzJUYWdHUFIsIGFyZzJQYXlsb2FkR1BSKTsKKyAgICAgICAgY2hlY2tFeGNlcHRpb24o
KTsKIAogICAgICAgICBicmFuY2hUZXN0MzIoY2FsbFJlc3VsdENvbmRpdGlvbiwgcmVzdWx0R1BS
LCB0YWtlbik7CiAgICAgfSBlbHNlIHsKQEAgLTQzMiw2ICs0MzMsNyBAQCB2b2lkIFNwZWN1bGF0
aXZlSklUOjpub25TcGVjdWxhdGl2ZVBlZXBoCiAgICAgCiAgICAgICAgICAgICBzaWxlbnRTcGls
bEFsbFJlZ2lzdGVycyhyZXN1bHRHUFIpOwogICAgICAgICAgICAgY2FsbE9wZXJhdGlvbihoZWxw
ZXJGdW5jdGlvbiwgcmVzdWx0R1BSLCBhcmcxVGFnR1BSLCBhcmcxUGF5bG9hZEdQUiwgYXJnMlRh
Z0dQUiwgYXJnMlBheWxvYWRHUFIpOworICAgICAgICAgICAgY2hlY2tFeGNlcHRpb24oKTsKICAg
ICAgICAgICAgIHNpbGVudEZpbGxBbGxSZWdpc3RlcnMocmVzdWx0R1BSKTsKICAgICAgICAgCiAg
ICAgICAgICAgICBicmFuY2hUZXN0MzIoY2FsbFJlc3VsdENvbmRpdGlvbiwgcmVzdWx0R1BSLCB0
YWtlbik7CkBAIC00NTMsNyArNDU1LDcgQEAgcHVibGljOgogICAgICAgICBTX0pJVE9wZXJhdGlv
bl9FSkogZnVuY3Rpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxVGFnLCBHUFJSZWcgYXJn
MVBheWxvYWQsCiAgICAgICAgIEdQUlJlZyBhcmcyVGFnLCBHUFJSZWcgYXJnMlBheWxvYWQpCiAg
ICAgICAgIDogQ2FsbFNsb3dQYXRoR2VuZXJhdG9yPEp1bXBUeXBlLCBTX0pJVE9wZXJhdGlvbl9F
SkosIEdQUlJlZz4oCi0gICAgICAgICAgICBmcm9tLCBqaXQsIGZ1bmN0aW9uLCBOZWVkVG9TcGls
bCwgcmVzdWx0KQorICAgICAgICAgICAgZnJvbSwgaml0LCBmdW5jdGlvbiwgTmVlZFRvU3BpbGws
IHRydWUsIHJlc3VsdCkKICAgICAgICAgLCBtX2FyZzFUYWcoYXJnMVRhZykKICAgICAgICAgLCBt
X2FyZzFQYXlsb2FkKGFyZzFQYXlsb2FkKQogICAgICAgICAsIG1fYXJnMlRhZyhhcmcyVGFnKQpA
QCAtNTAwLDYgKzUwMiw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6Om5vblNwZWN1bGF0aXZlTm9u
UGUKIAogICAgICAgICBmbHVzaFJlZ2lzdGVycygpOwogICAgICAgICBjYWxsT3BlcmF0aW9uKGhl
bHBlckZ1bmN0aW9uLCByZXN1bHRQYXlsb2FkR1BSLCBhcmcxVGFnR1BSLCBhcmcxUGF5bG9hZEdQ
UiwgYXJnMlRhZ0dQUiwgYXJnMlBheWxvYWRHUFIpOworICAgICAgICBjaGVja0V4Y2VwdGlvbigp
OwogICAgICAgICAKICAgICAgICAgYm9vbGVhblJlc3VsdChyZXN1bHRQYXlsb2FkR1BSLCBub2Rl
LCBVc2VDaGlsZHJlbkNhbGxlZEV4cGxpY2l0bHkpOwogICAgIH0gZWxzZSB7CkBAIC01NjAsNiAr
NTYzLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6bm9uU3BlY3VsYXRpdmVQZWVwaAogICAgICAg
ICAKICAgICAgICAgc2lsZW50U3BpbGxBbGxSZWdpc3RlcnMocmVzdWx0UGF5bG9hZEdQUik7CiAg
ICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uQ29tcGFyZVN0cmljdEVxQ2VsbCwgcmVzdWx0
UGF5bG9hZEdQUiwgYXJnMVRhZ0dQUiwgYXJnMVBheWxvYWRHUFIsIGFyZzJUYWdHUFIsIGFyZzJQ
YXlsb2FkR1BSKTsKKyAgICAgICAgLy8gY2hlY2tFeGNlcHRpb24oKTsgLy8gTWF5YmUgbm90IG5l
ZWRlZD8KICAgICAgICAgc2lsZW50RmlsbEFsbFJlZ2lzdGVycyhyZXN1bHRQYXlsb2FkR1BSKTsK
ICAgICAgICAgCiAgICAgICAgIGJyYW5jaFRlc3QzMihpbnZlcnQgPyBKSVRDb21waWxlcjo6WmVy
byA6IEpJVENvbXBpbGVyOjpOb25aZXJvLCByZXN1bHRQYXlsb2FkR1BSLCB0YWtlbik7CkBAIC01
NjcsNyArNTcxLDggQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6bm9uU3BlY3VsYXRpdmVQZWVwaAog
ICAgICAgICAvLyBGSVhNRTogQWRkIGZhc3QgcGF0aHMgZm9yIHR3b0NlbGxzLCBudW1iZXIgZXRj
LgogCiAgICAgICAgIHNpbGVudFNwaWxsQWxsUmVnaXN0ZXJzKHJlc3VsdFBheWxvYWRHUFIpOwot
ICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbkNvbXBhcmVTdHJpY3RFcSwgcmVzdWx0UGF5
bG9hZEdQUiwgYXJnMVRhZ0dQUiwgYXJnMVBheWxvYWRHUFIsIGFyZzJUYWdHUFIsIGFyZzJQYXls
b2FkR1BSKTsKKyAgICAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25Db21wYXJlU3RyaWN0RXEs
IHJlc3VsdFBheWxvYWRHUFIsIGFyZzFUYWdHUFIsIGFyZzFQYXlsb2FkR1BSLCBhcmcyVGFnR1BS
LCBhcmcyUGF5bG9hZEdQUik7IC8vIE1heWJlIG5vdCBuZWVkZWQ/CisgICAgICAgIC8vY2hlY2tF
eGNlcHRpb24oKTsgLy8gTWF5YmUgbm90IG5lZWRlZD8KICAgICAgICAgc2lsZW50RmlsbEFsbFJl
Z2lzdGVycyhyZXN1bHRQYXlsb2FkR1BSKTsKICAgICAgICAgCiAgICAgICAgIGJyYW5jaFRlc3Qz
MihpbnZlcnQgPyBKSVRDb21waWxlcjo6WmVybyA6IEpJVENvbXBpbGVyOjpOb25aZXJvLCByZXN1
bHRQYXlsb2FkR1BSLCB0YWtlbik7CkBAIC02MDQsNiArNjA5LDcgQEAgdm9pZCBTcGVjdWxhdGl2
ZUpJVDo6bm9uU3BlY3VsYXRpdmVOb25QZQogICAgICAgICAKICAgICAgICAgc2lsZW50U3BpbGxB
bGxSZWdpc3RlcnMocmVzdWx0UGF5bG9hZEdQUik7CiAgICAgICAgIGNhbGxPcGVyYXRpb24ob3Bl
cmF0aW9uQ29tcGFyZVN0cmljdEVxQ2VsbCwgcmVzdWx0UGF5bG9hZEdQUiwgYXJnMVRhZ0dQUiwg
YXJnMVBheWxvYWRHUFIsIGFyZzJUYWdHUFIsIGFyZzJQYXlsb2FkR1BSKTsKKyAgICAgICAgLy9j
aGVja0V4Y2VwdGlvbigpOyAvLyBNYXliZSBub3QgbmVlZGVkPwogICAgICAgICBzaWxlbnRGaWxs
QWxsUmVnaXN0ZXJzKHJlc3VsdFBheWxvYWRHUFIpOwogICAgICAgICAKICAgICAgICAgbV9qaXQu
YW5kUHRyKEpJVENvbXBpbGVyOjpUcnVzdGVkSW1tMzIoMSksIHJlc3VsdFBheWxvYWRHUFIpOwpA
QCAtNjE1LDYgKzYyMSw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6Om5vblNwZWN1bGF0aXZlTm9u
UGUKICAgICAgICAgc2lsZW50U3BpbGxBbGxSZWdpc3RlcnMocmVzdWx0UGF5bG9hZEdQUik7CiAg
ICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uQ29tcGFyZVN0cmljdEVxLCByZXN1bHRQYXls
b2FkR1BSLCBhcmcxVGFnR1BSLCBhcmcxUGF5bG9hZEdQUiwgYXJnMlRhZ0dQUiwgYXJnMlBheWxv
YWRHUFIpOwogICAgICAgICBzaWxlbnRGaWxsQWxsUmVnaXN0ZXJzKHJlc3VsdFBheWxvYWRHUFIp
OworICAgICAgICAvL2NoZWNrRXhjZXB0aW9uKCk7IC8vIE1heWJlIG5vdCBuZWVkZWQ/CiAgICAg
ICAgIAogICAgICAgICBtX2ppdC5hbmRQdHIoSklUQ29tcGlsZXI6OlRydXN0ZWRJbW0zMigxKSwg
cmVzdWx0UGF5bG9hZEdQUik7CiAgICAgfQpAQCAtNzAwLDYgKzcwNyw3IEBAIHZvaWQgU3BlY3Vs
YXRpdmVKSVQ6OmVtaXRDYWxsKE5vZGUqIG5vZGUKICAgICAgICAgICAgIEpJVENvbXBpbGVyOjpK
dW1wIGRvbmUgPSBtX2ppdC5qdW1wKCk7CiAgICAgICAgICAgICBzbG93Q2FzZS5saW5rKCZtX2pp
dCk7CiAgICAgICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblRocm93U3RhY2tPdmVyZmxv
d0ZvclZhcmFyZ3MpOworICAgICAgICAgICAgY2hlY2tFeGNlcHRpb24oKTsKICAgICAgICAgICAg
IG1faml0LmFib3J0V2l0aFJlYXNvbihERkdWYXJhcmdzVGhyb3dpbmdQYXRoRGlkTm90VGhyb3cp
OwogICAgICAgICAgICAgZG9uZS5saW5rKCZtX2ppdCk7CiAgICAgICAgICAgICByZXN1bHRHUFIg
PSBzY3JhdGNoR1BSMjsKQEAgLTczMiw2ICs3NDAsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpl
bWl0Q2FsbChOb2RlKiBub2RlCiAgICAgICAgICAgICAvLyBSaWdodCBub3csIGFyZ3VtZW50cyBp
cyBpbiBhcmd1bWVudHNUYWdHUFIvYXJndW1lbnRzUGF5bG9hZEdQUiBhbmQgdGhlIHJlZ2lzdGVy
IGZpbGUgaXMKICAgICAgICAgICAgIC8vIGZsdXNoZWQuCiAgICAgICAgICAgICBjYWxsT3BlcmF0
aW9uKG9wZXJhdGlvblNpemVGcmFtZUZvclZhcmFyZ3MsIEdQUkluZm86OnJldHVyblZhbHVlR1BS
LCBhcmd1bWVudHNUYWdHUFIsIGFyZ3VtZW50c1BheWxvYWRHUFIsIG51bVVzZWRTdGFja1Nsb3Rz
LCBkYXRhLT5maXJzdFZhckFyZ09mZnNldCk7CisgICAgICAgICAgICBjaGVja0V4Y2VwdGlvbigp
OwogICAgICAgICAgICAgCiAgICAgICAgICAgICAvLyBOb3cgd2UgaGF2ZSB0aGUgYXJndW1lbnQg
Y291bnQgb2YgdGhlIGNhbGxlZSBmcmFtZSwgYnV0IHdlJ3ZlIGxvc3QgdGhlIGFyZ3VtZW50cyBv
cGVyYW5kLgogICAgICAgICAgICAgLy8gUmVjb25zdHJ1Y3QgdGhlIGFyZ3VtZW50cyBvcGVyYW5k
IHdoaWxlIHByZXNlcnZpbmcgdGhlIGNhbGxlZSBmcmFtZS4KQEAgLTc0MSw2ICs3NTAsNyBAQCB2
b2lkIFNwZWN1bGF0aXZlSklUOjplbWl0Q2FsbChOb2RlKiBub2RlCiAgICAgICAgICAgICBtX2pp
dC5hZGRQdHIoVHJ1c3RlZEltbTMyKC0oc2l6ZW9mKENhbGxlckZyYW1lQW5kUEMpICsgV1RGOjpy
b3VuZFVwVG9NdWx0aXBsZU9mKHN0YWNrQWxpZ25tZW50Qnl0ZXMoKSwgNiAqIHNpemVvZih2b2lk
KikpKSksIHNjcmF0Y2hHUFIxLCBKSVRDb21waWxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIpOwog
ICAgICAgICAgICAgCiAgICAgICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblNldHVwVmFy
YXJnc0ZyYW1lLCBHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQUiwgc2NyYXRjaEdQUjEsIGFyZ3VtZW50
c1RhZ0dQUiwgYXJndW1lbnRzUGF5bG9hZEdQUiwgZGF0YS0+Zmlyc3RWYXJBcmdPZmZzZXQsIEdQ
UkluZm86OnJldHVyblZhbHVlR1BSKTsKKyAgICAgICAgICAgIGNoZWNrRXhjZXB0aW9uKCk7CiAg
ICAgICAgICAgICByZXN1bHRHUFIgPSBHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQUjsKICAgICAgICAg
fQogICAgICAgICAgICAgCkBAIC0xNTM0LDcgKzE1NDQsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklU
Ojpjb21waWxlTG9naWNhbE5vdChOCiAgICAgICAgIGFkZFNsb3dQYXRoR2VuZXJhdG9yKAogICAg
ICAgICAgICAgc2xvd1BhdGhDYWxsKAogICAgICAgICAgICAgICAgIHNsb3dDYXNlLCB0aGlzLCBv
cGVyYXRpb25Db252ZXJ0SlNWYWx1ZVRvQm9vbGVhbiwgcmVzdWx0UGF5bG9hZEdQUiwgYXJnMVRh
Z0dQUiwKLSAgICAgICAgICAgICAgICBhcmcxUGF5bG9hZEdQUikpOworICAgICAgICAgICAgICAg
IGFyZzFQYXlsb2FkR1BSLCBOZWVkVG9TcGlsbCwgZmFsc2UpKTsgLy8gRG9lcyBub3QgbmVlZCBl
eGNlcHRpb24gY2hlY2suCiAgICAgCiAgICAgICAgIG1faml0LnhvcjMyKFRydXN0ZWRJbW0zMigx
KSwgcmVzdWx0UGF5bG9hZEdQUik7CiAgICAgICAgIGJvb2xlYW5SZXN1bHQocmVzdWx0UGF5bG9h
ZEdQUiwgbm9kZSwgVXNlQ2hpbGRyZW5DYWxsZWRFeHBsaWNpdGx5KTsKQEAgLTE2ODAsNiArMTY5
MCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRCcmFuY2goTm9kZSogbm8KICAgICAgICAg
c2lsZW50U3BpbGxBbGxSZWdpc3RlcnMocmVzdWx0R1BSKTsKICAgICAgICAgY2FsbE9wZXJhdGlv
bihvcGVyYXRpb25Db252ZXJ0SlNWYWx1ZVRvQm9vbGVhbiwgcmVzdWx0R1BSLCB2YWx1ZVRhZ0dQ
UiwgdmFsdWVQYXlsb2FkR1BSKTsKICAgICAgICAgc2lsZW50RmlsbEFsbFJlZ2lzdGVycyhyZXN1
bHRHUFIpOworICAgICAgICAvLyBjaGVja0V4Y2VwdGlvbigpOyAvLyBOb3QgbmVlZGVkLgogICAg
IAogICAgICAgICBicmFuY2hUZXN0MzIoSklUQ29tcGlsZXI6Ok5vblplcm8sIHJlc3VsdEdQUiwg
dGFrZW4pOwogICAgICAgICBqdW1wKG5vdFRha2VuKTsKQEAgLTIwNjAsNiArMjA3MSw3IEBAIHZv
aWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgICAgIGNhbGxP
cGVyYXRpb24ob3BlcmF0aW9uVmFsdWVBZGROb3ROdW1iZXIsIHJlc3VsdFRhZy5ncHIoKSwgcmVz
dWx0UGF5bG9hZC5ncHIoKSwgb3AxVGFnR1BSLCBvcDFQYXlsb2FkR1BSLCBvcDJUYWdHUFIsIG9w
MlBheWxvYWRHUFIpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBjYWxsT3BlcmF0aW9uKG9w
ZXJhdGlvblZhbHVlQWRkLCByZXN1bHRUYWcuZ3ByKCksIHJlc3VsdFBheWxvYWQuZ3ByKCksIG9w
MVRhZ0dQUiwgb3AxUGF5bG9hZEdQUiwgb3AyVGFnR1BSLCBvcDJQYXlsb2FkR1BSKTsKKyAgICAg
ICAgY2hlY2tFeGNlcHRpb24oKTsKICAgICAgICAgCiAgICAgICAgIGpzVmFsdWVSZXN1bHQocmVz
dWx0VGFnLmdwcigpLCByZXN1bHRQYXlsb2FkLmdwcigpLCBub2RlKTsKICAgICAgICAgYnJlYWs7
CkBAIC0yMjM1LDYgKzIyNDcsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUq
IG5vZGUpCiAgICAgICAgIAogICAgICAgICBGUFJSZXN1bHQgcmVzdWx0KHRoaXMpOwogICAgICAg
ICBjYWxsT3BlcmF0aW9uKHNpbiwgcmVzdWx0LmZwcigpLCBvcDFGUFIpOworICAgICAgICAvLyBj
aGVja0V4Y2VwdGlvbigpOyAvLyBOb3QgbmVlZGVkLgogICAgICAgICBkb3VibGVSZXN1bHQocmVz
dWx0LmZwcigpLCBub2RlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMjI0Nyw2ICsyMjYw
LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICAK
ICAgICAgICAgRlBSUmVzdWx0IHJlc3VsdCh0aGlzKTsKICAgICAgICAgY2FsbE9wZXJhdGlvbihj
b3MsIHJlc3VsdC5mcHIoKSwgb3AxRlBSKTsKKyAgICAgICAgLy9jaGVja0V4Y2VwdGlvbigpOyAv
LyBOb3QgbmVlZGVkLgogICAgICAgICBkb3VibGVSZXN1bHQocmVzdWx0LmZwcigpLCBub2RlKTsK
ICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMjM2Miw2ICsyMzc2LDcgQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICAgICAgR1BSRmx1c2hlZENhbGxS
ZXN1bHQyIHJlc3VsdFRhZyh0aGlzKTsKICAgICAgICAgICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0
IHJlc3VsdFBheWxvYWQodGhpcyk7CiAgICAgICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlv
bkdldEJ5VmFsQ2VsbCwgcmVzdWx0VGFnLmdwcigpLCByZXN1bHRQYXlsb2FkLmdwcigpLCBiYXNl
R1BSLCBwcm9wZXJ0eVRhZ0dQUiwgcHJvcGVydHlQYXlsb2FkR1BSKTsKKyAgICAgICAgICAgIGNo
ZWNrRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIGpzVmFsdWVSZXN1bHQo
cmVzdWx0VGFnLmdwcigpLCByZXN1bHRQYXlsb2FkLmdwcigpLCBub2RlKTsKICAgICAgICAgICAg
IGJyZWFrOwpAQCAtMjYyOSw2ICsyNjQ0LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZShOb2RlKiBub2RlKQogICAgICAgICAgICAgICAgIGNhbGxPcGVyYXRpb24obV9qaXQuY29kZUJs
b2NrKCktPmlzU3RyaWN0TW9kZSgpID8gb3BlcmF0aW9uUHV0QnlWYWxEaXJlY3RDZWxsU3RyaWN0
IDogb3BlcmF0aW9uUHV0QnlWYWxEaXJlY3RDZWxsTm9uU3RyaWN0LCBiYXNlR1BSLCBwcm9wZXJ0
eVRhZ0dQUiwgcHJvcGVydHlQYXlsb2FkR1BSLCB2YWx1ZVRhZ0dQUiwgdmFsdWVQYXlsb2FkR1BS
KTsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBjYWxsT3BlcmF0aW9uKG1faml0
LmNvZGVCbG9jaygpLT5pc1N0cmljdE1vZGUoKSA/IG9wZXJhdGlvblB1dEJ5VmFsQ2VsbFN0cmlj
dCA6IG9wZXJhdGlvblB1dEJ5VmFsQ2VsbE5vblN0cmljdCwgYmFzZUdQUiwgcHJvcGVydHlUYWdH
UFIsIHByb3BlcnR5UGF5bG9hZEdQUiwgdmFsdWVUYWdHUFIsIHZhbHVlUGF5bG9hZEdQUik7Cisg
ICAgICAgICAgICBjaGVja0V4Y2VwdGlvbigpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBu
b1Jlc3VsdChub2RlKTsKICAgICAgICAgICAgIGFscmVhZHlIYW5kbGVkID0gdHJ1ZTsKQEAgLTI3
ODIsNiArMjc5OCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkK
ICAgICAgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7CiAgICAgICAgICAgICBHUFJGbHVzaGVkQ2Fs
bFJlc3VsdCByZXN1bHQodGhpcyk7CiAgICAgICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlv
blJlZ0V4cFRlc3QsIHJlc3VsdC5ncHIoKSwgYmFzZUdQUiwgYXJndW1lbnRHUFIpOworICAgICAg
ICAgICAgY2hlY2tFeGNlcHRpb24oKTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgLy8gTXVz
dCB1c2UganNWYWx1ZVJlc3VsdCBiZWNhdXNlIG90aGVyd2lzZSB3ZSBzY3JldyB1cCByZWdpc3Rl
cgogICAgICAgICAgICAgLy8gYWxsb2NhdGlvbiwgd2hpY2ggdGhpbmtzIHRoYXQgdGhpcyBub2Rl
IGhhcyBhIHJlc3VsdC4KQEAgLTI3OTgsNiArMjgxNSw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgR1BSRmx1c2hlZENhbGxSZXN1bHQyIHJlc3Vs
dFRhZyh0aGlzKTsKICAgICAgICAgR1BSRmx1c2hlZENhbGxSZXN1bHQgcmVzdWx0UGF5bG9hZCh0
aGlzKTsKICAgICAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25SZWdFeHBFeGVjLCByZXN1bHRU
YWcuZ3ByKCksIHJlc3VsdFBheWxvYWQuZ3ByKCksIGJhc2VHUFIsIGFyZ3VtZW50R1BSKTsKKyAg
ICAgICAgY2hlY2tFeGNlcHRpb24oKTsKICAgICAgICAgCiAgICAgICAgIGpzVmFsdWVSZXN1bHQo
cmVzdWx0VGFnLmdwcigpLCByZXN1bHRQYXlsb2FkLmdwcigpLCBub2RlKTsKICAgICAgICAgYnJl
YWs7CkBAIC0yODEyLDYgKzI4MzAsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5v
ZGUqIG5vZGUpCiAgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7CiAgICAgICAgIEdQUkZsdXNoZWRD
YWxsUmVzdWx0IHJlc3VsdCh0aGlzKTsKICAgICAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25S
ZWdFeHBUZXN0LCByZXN1bHQuZ3ByKCksIGJhc2VHUFIsIGFyZ3VtZW50R1BSKTsKKyAgICAgICAg
Y2hlY2tFeGNlcHRpb24oKTsKICAgICAgICAgCiAgICAgICAgIC8vIElmIHdlIGFkZCBhIERhdGFG
b3JtYXRCb29sLCB3ZSBzaG91bGQgdXNlIGl0IGhlcmUuCiAgICAgICAgIGJvb2xlYW5SZXN1bHQo
cmVzdWx0LmdwcigpLCBub2RlKTsKQEAgLTMyMzIsNiArMzI1MSw3IEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgICAgICAgICBBU1NFUlQob3AgPT0g
Q2FsbFN0cmluZ0NvbnN0cnVjdG9yKTsKICAgICAgICAgICAgICAgICBjYWxsT3BlcmF0aW9uKG9w
ZXJhdGlvbkNhbGxTdHJpbmdDb25zdHJ1Y3RvciwgcmVzdWx0R1BSLCBvcDFUYWdHUFIsIG9wMVBh
eWxvYWRHUFIpOwogICAgICAgICAgICAgfQorICAgICAgICAgICAgY2hlY2tFeGNlcHRpb24oKTsK
ICAgICAgICAgICAgIGlmIChkb25lLmlzU2V0KCkpCiAgICAgICAgICAgICAgICAgZG9uZS5saW5r
KCZtX2ppdCk7CiAgICAgICAgICAgICBjZWxsUmVzdWx0KHJlc3VsdEdQUiwgbm9kZSk7CkBAIC0z
MzI2LDYgKzMzNDYsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUp
CiAgICAgICAgICAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7CiAgICAgICAg
ICAgICBjYWxsT3BlcmF0aW9uKAogICAgICAgICAgICAgICAgIG9wZXJhdGlvbk5ld0VtcHR5QXJy
YXksIHJlc3VsdC5ncHIoKSwgZ2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZUZvckluZGV4aW5n
VHlwZUR1cmluZ0FsbG9jYXRpb24obm9kZS0+aW5kZXhpbmdUeXBlKCkpKTsKKyAgICAgICAgICAg
IGNoZWNrRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICBjZWxsUmVzdWx0KHJlc3VsdC5ncHIoKSwg
bm9kZSk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQpAQCAtMzQwMyw2ICszNDI0LDcg
QEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBjYWxs
T3BlcmF0aW9uKAogICAgICAgICAgICAgb3BlcmF0aW9uTmV3QXJyYXksIHJlc3VsdC5ncHIoKSwg
Z2xvYmFsT2JqZWN0LT5hcnJheVN0cnVjdHVyZUZvckluZGV4aW5nVHlwZUR1cmluZ0FsbG9jYXRp
b24obm9kZS0+aW5kZXhpbmdUeXBlKCkpLAogICAgICAgICAgICAgc3RhdGljX2Nhc3Q8dm9pZCo+
KGJ1ZmZlciksIG5vZGUtPm51bUNoaWxkcmVuKCkpOworICAgICAgICBjaGVja0V4Y2VwdGlvbigp
OwogCiAgICAgICAgIGlmIChzY3JhdGNoU2l6ZSkgewogICAgICAgICAgICAgR1BSVGVtcG9yYXJ5
IHNjcmF0Y2godGhpcyk7CkBAIC0zNDgzLDYgKzM1MDUsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklU
Ojpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIGRvbmUubGluaygmbV9qaXQpOwogICAgICAg
ICBjYWxsT3BlcmF0aW9uKAogICAgICAgICAgICAgb3BlcmF0aW9uTmV3QXJyYXlXaXRoU2l6ZSwg
cmVzdWx0R1BSLCBzdHJ1Y3R1cmVHUFIsIHNpemVHUFIpOworICAgICAgICBjaGVja0V4Y2VwdGlv
bigpOwogICAgICAgICBjZWxsUmVzdWx0KHJlc3VsdEdQUiwgbm9kZSk7CiAgICAgICAgIGJyZWFr
OwogICAgIH0KQEAgLTM1MjgsNiArMzU1MSw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGUoTm9kZSogbm9kZSkKICAgICAgICAgR1BSRmx1c2hlZENhbGxSZXN1bHQgcmVzdWx0KHRoaXMp
OwogICAgICAgICAKICAgICAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25OZXdBcnJheUJ1ZmZl
ciwgcmVzdWx0LmdwcigpLCBnbG9iYWxPYmplY3QtPmFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdU
eXBlRHVyaW5nQWxsb2NhdGlvbihub2RlLT5pbmRleGluZ1R5cGUoKSksIG5vZGUtPnN0YXJ0Q29u
c3RhbnQoKSwgbm9kZS0+bnVtQ29uc3RhbnRzKCkpOworICAgICAgICBjaGVja0V4Y2VwdGlvbigp
OwogICAgICAgICAKICAgICAgICAgY2VsbFJlc3VsdChyZXN1bHQuZ3ByKCksIG5vZGUpOwogICAg
ICAgICBicmVhazsKQEAgLTM1NTMsNiArMzU3Nyw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgICAgICAgICBvcGVyYXRpb25OZXdUeXBlZEFycmF5
V2l0aE9uZUFyZ3VtZW50Rm9yVHlwZShub2RlLT50eXBlZEFycmF5VHlwZSgpKSwKICAgICAgICAg
ICAgICAgICByZXN1bHRHUFIsIGdsb2JhbE9iamVjdC0+dHlwZWRBcnJheVN0cnVjdHVyZShub2Rl
LT50eXBlZEFycmF5VHlwZSgpKSwKICAgICAgICAgICAgICAgICBhcmd1bWVudFRhZ0dQUiwgYXJn
dW1lbnRQYXlsb2FkR1BSKTsKKyAgICAgICAgICAgIGNoZWNrRXhjZXB0aW9uKCk7CiAgICAgICAg
ICAgICAKICAgICAgICAgICAgIGNlbGxSZXN1bHQocmVzdWx0R1BSLCBub2RlKTsKICAgICAgICAg
ICAgIGJyZWFrOwpAQCAtMzU3MCw2ICszNTk1LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29t
cGlsZShOb2RlKiBub2RlKQogICAgICAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdDIgcmVzdWx0VGFn
KHRoaXMpOwogICAgICAgICAKICAgICAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25OZXdSZWdl
eHAsIHJlc3VsdFRhZy5ncHIoKSwgcmVzdWx0UGF5bG9hZC5ncHIoKSwgbV9qaXQuY29kZUJsb2Nr
KCktPnJlZ2V4cChub2RlLT5yZWdleHBJbmRleCgpKSk7CisgICAgICAgIGNoZWNrRXhjZXB0aW9u
KCk7CiAgICAgICAgIAogICAgICAgICAvLyBGSVhNRTogbWFrZSB0aGUgY2FsbE9wZXJhdGlvbiBh
Ym92ZSBleHBsaWNpdGx5IHJldHVybiBhIGNlbGwgcmVzdWx0LCBvciBqaXRBc3NlcnQgdGhlIHRh
ZyBpcyBhIGNlbGwgdGFnLgogICAgICAgICBjZWxsUmVzdWx0KHJlc3VsdFBheWxvYWQuZ3ByKCks
IG5vZGUpOwpAQCAtNDI2Myw2ICs0Mjg5LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZShOb2RlKiBub2RlKQogICAgICAgICB9CiAgICAgICAgIAogICAgICAgICBjYWxsT3BlcmF0aW9u
KG9wZXJhdGlvblNpemVPZlZhcmFyZ3MsIEdQUkluZm86OnJldHVyblZhbHVlR1BSLCBhcmd1bWVu
dHNUYWdHUFIsIGFyZ3VtZW50c1BheWxvYWRHUFIsIGRhdGEtPm9mZnNldCk7CisgICAgICAgIGNo
ZWNrRXhjZXB0aW9uKCk7CiAgICAgICAgIAogICAgICAgICBsb2NrKEdQUkluZm86OnJldHVyblZh
bHVlR1BSKTsKICAgICAgICAgewpAQCAtNDI5Miw2ICs0MzE5LDcgQEAgdm9pZCBTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBtX2ppdC5zdG9yZTMyKGFyZ0NvdW50
SW5jbHVkaW5nVGhpc0dQUiwgSklUQ29tcGlsZXI6OnBheWxvYWRGb3IoZGF0YS0+bWFjaGluZUNv
dW50KSk7CiAgICAgICAgIAogICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbkxvYWRWYXJh
cmdzLCBkYXRhLT5tYWNoaW5lU3RhcnQub2Zmc2V0KCksIGFyZ3VtZW50c1RhZ0dQUiwgYXJndW1l
bnRzUGF5bG9hZEdQUiwgZGF0YS0+b2Zmc2V0LCBHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQUiwgZGF0
YS0+bWFuZGF0b3J5TWluaW11bSk7CisgICAgICAgIGNoZWNrRXhjZXB0aW9uKCk7CiAgICAgICAg
IAogICAgICAgICBub1Jlc3VsdChub2RlKTsKICAgICAgICAgYnJlYWs7CkBAIC00MzY2LDYgKzQz
OTQsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAKICAgICAg
ICAgZmx1c2hSZWdpc3RlcnMoKTsKICAgICAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25IYXNH
ZW5lcmljUHJvcGVydHksIHJlc3VsdFRhZ0dQUiwgcmVzdWx0UGF5bG9hZEdQUiwgYmFzZVRhZ0dQ
UiwgYmFzZVBheWxvYWRHUFIsIHByb3BlcnR5LmdwcigpKTsKKyAgICAgICAgY2hlY2tFeGNlcHRp
b24oKTsKICAgICAgICAgYm9vbGVhblJlc3VsdChyZXN1bHRQYXlsb2FkR1BSLCBub2RlKTsKICAg
ICAgICAgYnJlYWs7CiAgICAgfQpAQCAtNDQ4Niw2ICs0NTE1LDcgQEAgdm9pZCBTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBmbHVzaFJlZ2lzdGVycygpOwogICAg
ICAgICBtX2ppdC5tb3ZlKE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6Q2Vs
bFRhZyksIHNjcmF0Y2hHUFIpOwogICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbkdldEJ5
VmFsQ2VsbCwgcmVzdWx0VGFnR1BSLCByZXN1bHRQYXlsb2FkR1BSLCBiYXNlR1BSLCBzY3JhdGNo
R1BSLCBwcm9wZXJ0eUdQUik7CisgICAgICAgIGNoZWNrRXhjZXB0aW9uKCk7CiAjZWxzZQogICAg
ICAgICBHUFJUZW1wb3JhcnkgcmVzdWx0UGF5bG9hZCh0aGlzKTsKICAgICAgICAgR1BSVGVtcG9y
YXJ5IHJlc3VsdFRhZyh0aGlzKTsKQEAgLTQ1NDksNiArNDU3OSw3IEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKIAogICAgICAgICBmbHVzaFJlZ2lzdGVycygpOwog
ICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbkdldFByb3BlcnR5RW51bWVyYXRvciwgcmVz
dWx0R1BSLCBiYXNlLmdwcigpKTsKKyAgICAgICAgY2hlY2tFeGNlcHRpb24oKTsKICAgICAgICAg
Y2VsbFJlc3VsdChyZXN1bHRHUFIsIG5vZGUpOwogICAgICAgICBicmVhazsKICAgICB9CkBAIC00
NTkyLDYgKzQ2MjMsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUp
CiAKICAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKICAgICAgICAgY2FsbE9wZXJhdGlvbihvcGVy
YXRpb25Ub0luZGV4U3RyaW5nLCByZXN1bHRHUFIsIGluZGV4LmdwcigpKTsKKyAgICAgICAgY2hl
Y2tFeGNlcHRpb24oKTsKICAgICAgICAgY2VsbFJlc3VsdChyZXN1bHRHUFIsIG5vZGUpOwogICAg
ICAgICBicmVhazsKICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nw
ZWN1bGF0aXZlSklUNjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHJldmlzaW9uIDE4ODUwNCkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTM2Nyw2ICszNjcsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpub25TcGVjdWxhdGl2ZVBl
ZXBoCiAgICAgCiAgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7CiAgICAgICAgIGNhbGxPcGVyYXRp
b24oaGVscGVyRnVuY3Rpb24sIHJlc3VsdEdQUiwgYXJnMUdQUiwgYXJnMkdQUik7CisgICAgICAg
IGNoZWNrRXhjZXB0aW9uKCk7CiAKICAgICAgICAgYnJhbmNoVGVzdDMyKGNhbGxSZXN1bHRDb25k
aXRpb24sIHJlc3VsdEdQUiwgdGFrZW4pOwogICAgIH0gZWxzZSB7CkBAIC0zOTEsNiArMzkyLDcg
QEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6bm9uU3BlY3VsYXRpdmVQZWVwaAogICAgICAgICAgICAg
c2lsZW50U3BpbGxBbGxSZWdpc3RlcnMocmVzdWx0R1BSKTsKICAgICAgICAgICAgIGNhbGxPcGVy
YXRpb24oaGVscGVyRnVuY3Rpb24sIHJlc3VsdEdQUiwgYXJnMUdQUiwgYXJnMkdQUik7CiAgICAg
ICAgICAgICBzaWxlbnRGaWxsQWxsUmVnaXN0ZXJzKHJlc3VsdEdQUik7CisgICAgICAgICAgICBj
aGVja0V4Y2VwdGlvbigpOwogICAgICAgICAKICAgICAgICAgICAgIGJyYW5jaFRlc3QzMihjYWxs
UmVzdWx0Q29uZGl0aW9uLCByZXN1bHRHUFIsIHRha2VuKTsKICAgICAgICAgfQpAQCAtNDEwLDcg
KzQxMiw3IEBAIHB1YmxpYzoKICAgICAgICAgSnVtcFR5cGUgZnJvbSwgU3BlY3VsYXRpdmVKSVQq
IGppdCwKICAgICAgICAgU19KSVRPcGVyYXRpb25fRUpKIGZ1bmN0aW9uLCBHUFJSZWcgcmVzdWx0
LCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIpCiAgICAgICAgIDogQ2FsbFNsb3dQYXRoR2VuZXJh
dG9yPEp1bXBUeXBlLCBTX0pJVE9wZXJhdGlvbl9FSkosIEdQUlJlZz4oCi0gICAgICAgICAgICBm
cm9tLCBqaXQsIGZ1bmN0aW9uLCBOZWVkVG9TcGlsbCwgcmVzdWx0KQorICAgICAgICAgICAgZnJv
bSwgaml0LCBmdW5jdGlvbiwgTmVlZFRvU3BpbGwsIHRydWUsIHJlc3VsdCkKICAgICAgICAgLCBt
X2FyZzEoYXJnMSkKICAgICAgICAgLCBtX2FyZzIoYXJnMikKICAgICB7CkBAIC00NTAsNiArNDUy
LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6bm9uU3BlY3VsYXRpdmVOb25QZQogICAgIAogICAg
ICAgICBmbHVzaFJlZ2lzdGVycygpOwogICAgICAgICBjYWxsT3BlcmF0aW9uKGhlbHBlckZ1bmN0
aW9uLCByZXN1bHRHUFIsIGFyZzFHUFIsIGFyZzJHUFIpOworICAgICAgICBjaGVja0V4Y2VwdGlv
bigpOwogICAgICAgICAKICAgICAgICAgbV9qaXQub3IzMihUcnVzdGVkSW1tMzIoVmFsdWVGYWxz
ZSksIHJlc3VsdEdQUik7CiAgICAgICAgIGpzVmFsdWVSZXN1bHQocmVzdWx0R1BSLCBtX2N1cnJl
bnROb2RlLCBEYXRhRm9ybWF0SlNCb29sZWFuLCBVc2VDaGlsZHJlbkNhbGxlZEV4cGxpY2l0bHkp
OwpAQCAtNTEwLDYgKzUxMyw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6Om5vblNwZWN1bGF0aXZl
UGVlcGgKICAgICAgICAgc2lsZW50U3BpbGxBbGxSZWdpc3RlcnMocmVzdWx0R1BSKTsKICAgICAg
ICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25Db21wYXJlU3RyaWN0RXFDZWxsLCByZXN1bHRHUFIs
IGFyZzFHUFIsIGFyZzJHUFIpOwogICAgICAgICBzaWxlbnRGaWxsQWxsUmVnaXN0ZXJzKHJlc3Vs
dEdQUik7CisgICAgICAgIGNoZWNrRXhjZXB0aW9uKCk7IC8vIE1heWJlIG5vdCBuZWVkZWQ/CiAg
ICAgICAgIAogICAgICAgICBicmFuY2hUZXN0MzIoaW52ZXJ0ID8gSklUQ29tcGlsZXI6Olplcm8g
OiBKSVRDb21waWxlcjo6Tm9uWmVybywgcmVzdWx0R1BSLCB0YWtlbik7CiAgICAgfSBlbHNlIHsK
QEAgLTUzNiw2ICs1NDAsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpub25TcGVjdWxhdGl2ZVBl
ZXBoCiAgICAgICAgIHNpbGVudFNwaWxsQWxsUmVnaXN0ZXJzKHJlc3VsdEdQUik7CiAgICAgICAg
IGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uQ29tcGFyZVN0cmljdEVxLCByZXN1bHRHUFIsIGFyZzFH
UFIsIGFyZzJHUFIpOwogICAgICAgICBzaWxlbnRGaWxsQWxsUmVnaXN0ZXJzKHJlc3VsdEdQUik7
CisgICAgICAgIGNoZWNrRXhjZXB0aW9uKCk7IC8vIE1heWJlIG5vdCBuZWVkZWQ/CiAgICAgICAg
IAogICAgICAgICBicmFuY2hUZXN0MzIoaW52ZXJ0ID8gSklUQ29tcGlsZXI6Olplcm8gOiBKSVRD
b21waWxlcjo6Tm9uWmVybywgcmVzdWx0R1BSLCB0YWtlbik7CiAgICAgfQpAQCAtNTcxLDYgKzU3
Niw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6Om5vblNwZWN1bGF0aXZlTm9uUGUKICAgICAgICAg
c2lsZW50U3BpbGxBbGxSZWdpc3RlcnMocmVzdWx0R1BSKTsKICAgICAgICAgY2FsbE9wZXJhdGlv
bihvcGVyYXRpb25Db21wYXJlU3RyaWN0RXFDZWxsLCByZXN1bHRHUFIsIGFyZzFHUFIsIGFyZzJH
UFIpOwogICAgICAgICBzaWxlbnRGaWxsQWxsUmVnaXN0ZXJzKHJlc3VsdEdQUik7CisgICAgICAg
IGNoZWNrRXhjZXB0aW9uKCk7IC8vIE1heWJlIG5vdCBuZWVkZWQ/CiAgICAgICAgIAogICAgICAg
ICBtX2ppdC5hbmQ2NChKSVRDb21waWxlcjo6VHJ1c3RlZEltbTMyKDEpLCByZXN1bHRHUFIpOwog
ICAgICAgICBtX2ppdC5vcjMyKEpJVENvbXBpbGVyOjpUcnVzdGVkSW1tMzIoVmFsdWVGYWxzZSks
IHJlc3VsdEdQUik7CkBAIC02ODYsNiArNjkyLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6ZW1p
dENhbGwoTm9kZSogbm9kZQogICAgICAgICAgICAgSklUQ29tcGlsZXI6Okp1bXAgZG9uZSA9IG1f
aml0Lmp1bXAoKTsKICAgICAgICAgICAgIHNsb3dDYXNlLmxpbmsoJm1faml0KTsKICAgICAgICAg
ICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uVGhyb3dTdGFja092ZXJmbG93Rm9yVmFyYXJncyk7
CisgICAgICAgICAgICBjaGVja0V4Y2VwdGlvbigpOwogICAgICAgICAgICAgbV9qaXQuYWJvcnRX
aXRoUmVhc29uKERGR1ZhcmFyZ3NUaHJvd2luZ1BhdGhEaWROb3RUaHJvdyk7CiAgICAgICAgICAg
ICBkb25lLmxpbmsoJm1faml0KTsKICAgICAgICAgICAgIHJlc3VsdEdQUiA9IHNjcmF0Y2hHUFIy
OwpAQCAtNzE1LDYgKzcyMiw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKE5vZGUq
IG5vZGUKICAgICAgICAgICAgIAogICAgICAgICAgICAgLy8gUmlnaHQgbm93LCBhcmd1bWVudHMg
aXMgaW4gYXJndW1lbnRzR1BSIGFuZCB0aGUgcmVnaXN0ZXIgZmlsZSBpcyBmbHVzaGVkLgogICAg
ICAgICAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25TaXplRnJhbWVGb3JWYXJhcmdzLCBHUFJJ
bmZvOjpyZXR1cm5WYWx1ZUdQUiwgYXJndW1lbnRzR1BSLCBudW1Vc2VkU3RhY2tTbG90cywgZGF0
YS0+Zmlyc3RWYXJBcmdPZmZzZXQpOworICAgICAgICAgICAgY2hlY2tFeGNlcHRpb24oKTsKICAg
ICAgICAgICAgIAogICAgICAgICAgICAgLy8gTm93IHdlIGhhdmUgdGhlIGFyZ3VtZW50IGNvdW50
IG9mIHRoZSBjYWxsZWUgZnJhbWUsIGJ1dCB3ZSd2ZSBsb3N0IHRoZSBhcmd1bWVudHMgb3BlcmFu
ZC4KICAgICAgICAgICAgIC8vIFJlY29uc3RydWN0IHRoZSBhcmd1bWVudHMgb3BlcmFuZCB3aGls
ZSBwcmVzZXJ2aW5nIHRoZSBjYWxsZWUgZnJhbWUuCkBAIC03MjQsNiArNzMyLDcgQEAgdm9pZCBT
cGVjdWxhdGl2ZUpJVDo6ZW1pdENhbGwoTm9kZSogbm9kZQogICAgICAgICAgICAgbV9qaXQuYWRk
UHRyKFRydXN0ZWRJbW0zMigtKHNpemVvZihDYWxsZXJGcmFtZUFuZFBDKSArIFdURjo6cm91bmRV
cFRvTXVsdGlwbGVPZihzdGFja0FsaWdubWVudEJ5dGVzKCksIDUgKiBzaXplb2Yodm9pZCopKSkp
LCBzY3JhdGNoR1BSMSwgSklUQ29tcGlsZXI6OnN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKICAgICAg
ICAgICAgIAogICAgICAgICAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25TZXR1cFZhcmFyZ3NG
cmFtZSwgR1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIsIHNjcmF0Y2hHUFIxLCBhcmd1bWVudHNHUFIs
IGRhdGEtPmZpcnN0VmFyQXJnT2Zmc2V0LCBHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQUik7CisgICAg
ICAgICAgICBjaGVja0V4Y2VwdGlvbigpOwogICAgICAgICAgICAgcmVzdWx0R1BSID0gR1BSSW5m
bzo6cmV0dXJuVmFsdWVHUFI7CiAgICAgICAgIH0KICAgICAgICAgCkBAIC03NzEsNyArNzgwLDgg
QEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6ZW1pdENhbGwoTm9kZSogbm9kZQogICAgIEpJVENvbXBp
bGVyOjpEYXRhTGFiZWxQdHIgdGFyZ2V0VG9DaGVjazsKICAgICBKSVRDb21waWxlcjo6SnVtcCBz
bG93UGF0aDsKIAotICAgIG1faml0LmVtaXRTdG9yZUNvZGVPcmlnaW4obm9kZS0+b3JpZ2luLnNl
bWFudGljKTsKKyAgICBDb2RlT3JpZ2luIG9yaWdpbiA9IG1faml0LnBsYWNlQ2FsbFNpdGVPU1JF
eGl0SGFuZGxlckZvckV4Y2VwdGlvbklmTmVlZGVkKG5vZGUtPm9yaWdpbi5zZW1hbnRpYywgbV9z
dHJlYW0tPnNpemUoKSk7CisgICAgbV9qaXQuZW1pdFN0b3JlQ29kZU9yaWdpbihvcmlnaW4pOwog
ICAgIAogICAgIENhbGxMaW5rSW5mbyogY2FsbExpbmtJbmZvID0gbV9qaXQuY29kZUJsb2NrKCkt
PmFkZENhbGxMaW5rSW5mbygpOwogICAgIApAQCAtMTY4Niw3ICsxNjk2LDcgQEAgdm9pZCBTcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZUxvZ2ljYWxOb3QoTgogICAgICAgICBKSVRDb21waWxlcjo6SnVt
cCBzbG93Q2FzZSA9IG1faml0LmJyYW5jaFRlc3Q2NChKSVRDb21waWxlcjo6Tm9uWmVybywgcmVz
dWx0R1BSLCBUcnVzdGVkSW1tMzIoc3RhdGljX2Nhc3Q8aW50MzJfdD4ofjEpKSk7CiAgICAgCiAg
ICAgICAgIGFkZFNsb3dQYXRoR2VuZXJhdG9yKAotICAgICAgICAgICAgc2xvd1BhdGhDYWxsKHNs
b3dDYXNlLCB0aGlzLCBvcGVyYXRpb25Db252ZXJ0SlNWYWx1ZVRvQm9vbGVhbiwgcmVzdWx0R1BS
LCBhcmcxR1BSKSk7CisgICAgICAgICAgICBzbG93UGF0aENhbGwoc2xvd0Nhc2UsIHRoaXMsIG9w
ZXJhdGlvbkNvbnZlcnRKU1ZhbHVlVG9Cb29sZWFuLCByZXN1bHRHUFIsIGFyZzFHUFIsIE5lZWRU
b1NwaWxsLCBmYWxzZSkpOyAvLyBEb2VzIG5vdCBuZWVkIGV4Y2VwdGlvbiBjaGVjay4KICAgICAK
ICAgICAgICAgbV9qaXQueG9yNjQoVHJ1c3RlZEltbTMyKHN0YXRpY19jYXN0PGludDMyX3Q+KFZh
bHVlVHJ1ZSkpLCByZXN1bHRHUFIpOwogICAgICAgICBqc1ZhbHVlUmVzdWx0KHJlc3VsdEdQUiwg
bm9kZSwgRGF0YUZvcm1hdEpTQm9vbGVhbiwgVXNlQ2hpbGRyZW5DYWxsZWRFeHBsaWNpdGx5KTsK
QEAgLTE4NDAsNiArMTg1MCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRCcmFuY2goTm9k
ZSogbm8KICAgICAgICAgICAgIHNpbGVudFNwaWxsQWxsUmVnaXN0ZXJzKHJlc3VsdEdQUik7CiAg
ICAgICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbkNvbnZlcnRKU1ZhbHVlVG9Cb29sZWFu
LCByZXN1bHRHUFIsIHZhbHVlR1BSKTsKICAgICAgICAgICAgIHNpbGVudEZpbGxBbGxSZWdpc3Rl
cnMocmVzdWx0R1BSKTsKKyAgICAgICAgICAgIC8vY2hlY2tFeGNlcHRpb24oKTsgLy8gTWF5YmUg
bm90IG5lZWRlZD8KICAgICAKICAgICAgICAgICAgIGJyYW5jaFRlc3QzMihNYWNyb0Fzc2VtYmxl
cjo6Tm9uWmVybywgcmVzdWx0R1BSLCB0YWtlbik7CiAgICAgICAgICAgICBqdW1wKG5vdFRha2Vu
KTsKQEAgLTIxNjgsNiArMjE3OSw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9k
ZSogbm9kZSkKICAgICAgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7CiAgICAgICAgICAgICAKICAg
ICAgICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uQ29udmVydERvdWJsZVRvSW50NTIsIHJl
c3VsdEdQUiwgdmFsdWVGUFIpOworICAgICAgICAgICAgLy9jaGVja0V4Y2VwdGlvbigpOyAvLyBO
b3QgbmVlZGVkLgogICAgICAgICAgICAgCiAgICAgICAgICAgICBERkdfVFlQRV9DSEVDSygKICAg
ICAgICAgICAgICAgICBKU1ZhbHVlUmVncygpLCBub2RlLT5jaGlsZDEoKSwgU3BlY0ludDUyQXNE
b3VibGUsCkBAIC0yMTk5LDYgKzIyMTEsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxl
KE5vZGUqIG5vZGUpCiAgICAgICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblZhbHVlQWRk
Tm90TnVtYmVyLCByZXN1bHQuZ3ByKCksIG9wMUdQUiwgb3AyR1BSKTsKICAgICAgICAgZWxzZQog
ICAgICAgICAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25WYWx1ZUFkZCwgcmVzdWx0Lmdwcigp
LCBvcDFHUFIsIG9wMkdQUik7CisgICAgICAgIGNoZWNrRXhjZXB0aW9uKCk7CiAgICAgICAgIAog
ICAgICAgICBqc1ZhbHVlUmVzdWx0KHJlc3VsdC5ncHIoKSwgbm9kZSk7CiAgICAgICAgIGJyZWFr
OwpAQCAtMjM2OCw2ICsyMzgxLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2Rl
KiBub2RlKQogICAgICAgICAKICAgICAgICAgRlBSUmVzdWx0IHJlc3VsdCh0aGlzKTsKICAgICAg
ICAgY2FsbE9wZXJhdGlvbihzaW4sIHJlc3VsdC5mcHIoKSwgb3AxRlBSKTsKKyAgICAgICAgLy9j
aGVja0V4Y2VwdGlvbigpOyAvLyBOb3QgbmVlZGVkLiAKICAgICAgICAgZG91YmxlUmVzdWx0KHJl
c3VsdC5mcHIoKSwgbm9kZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTIzODAsNiArMjM5
NCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAg
CiAgICAgICAgIEZQUlJlc3VsdCByZXN1bHQodGhpcyk7CiAgICAgICAgIGNhbGxPcGVyYXRpb24o
Y29zLCByZXN1bHQuZnByKCksIG9wMUZQUik7CisgICAgICAgIC8vY2hlY2tFeGNlcHRpb24oKTsg
Ly8gTm90IG5lZWRlZC4KICAgICAgICAgZG91YmxlUmVzdWx0KHJlc3VsdC5mcHIoKSwgbm9kZSk7
CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTI0ODYsNiArMjUwMSw3IEBAIHZvaWQgU3BlY3Vs
YXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgICAgIGZsdXNoUmVnaXN0ZXJz
KCk7CiAgICAgICAgICAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7CiAgICAg
ICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbkdldEJ5VmFsLCByZXN1bHQuZ3ByKCksIGJh
c2VHUFIsIHByb3BlcnR5R1BSKTsKKyAgICAgICAgICAgIGNoZWNrRXhjZXB0aW9uKCk7CiAgICAg
ICAgICAgICAKICAgICAgICAgICAgIGpzVmFsdWVSZXN1bHQocmVzdWx0LmdwcigpLCBub2RlKTsK
ICAgICAgICAgICAgIGJyZWFrOwpAQCAtMjcwNSw2ICsyNzIxLDcgQEAgdm9pZCBTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICAgICAgICAgIGNhbGxPcGVyYXRpb24o
bV9qaXQuaXNTdHJpY3RNb2RlRm9yKG5vZGUtPm9yaWdpbi5zZW1hbnRpYykgPyBvcGVyYXRpb25Q
dXRCeVZhbERpcmVjdFN0cmljdCA6IG9wZXJhdGlvblB1dEJ5VmFsRGlyZWN0Tm9uU3RyaWN0LCBh
cmcxR1BSLCBhcmcyR1BSLCBhcmczR1BSKTsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAg
ICAgICBjYWxsT3BlcmF0aW9uKG1faml0LmlzU3RyaWN0TW9kZUZvcihub2RlLT5vcmlnaW4uc2Vt
YW50aWMpID8gb3BlcmF0aW9uUHV0QnlWYWxTdHJpY3QgOiBvcGVyYXRpb25QdXRCeVZhbE5vblN0
cmljdCwgYXJnMUdQUiwgYXJnMkdQUiwgYXJnM0dQUik7CisgICAgICAgICAgICBjaGVja0V4Y2Vw
dGlvbigpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBub1Jlc3VsdChub2RlKTsKICAgICAg
ICAgICAgIGFscmVhZHlIYW5kbGVkID0gdHJ1ZTsKQEAgLTI5MTYsNiArMjkzMyw3IEBAIHZvaWQg
U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgICAgIGZsdXNoUmVn
aXN0ZXJzKCk7CiAgICAgICAgICAgICBHUFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7
CiAgICAgICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblJlZ0V4cFRlc3QsIHJlc3VsdC5n
cHIoKSwgYmFzZUdQUiwgYXJndW1lbnRHUFIpOworICAgICAgICAgICAgY2hlY2tFeGNlcHRpb24o
KTsKICAgICAgICAgICAgIAogICAgICAgICAgICAgLy8gTXVzdCB1c2UganNWYWx1ZVJlc3VsdCBi
ZWNhdXNlIG90aGVyd2lzZSB3ZSBzY3JldyB1cCByZWdpc3RlcgogICAgICAgICAgICAgLy8gYWxs
b2NhdGlvbiwgd2hpY2ggdGhpbmtzIHRoYXQgdGhpcyBub2RlIGhhcyBhIHJlc3VsdC4KQEAgLTI5
MzEsNiArMjk0OSw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkK
ICAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKICAgICAgICAgR1BSRmx1c2hlZENhbGxSZXN1bHQg
cmVzdWx0KHRoaXMpOwogICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblJlZ0V4cEV4ZWMs
IHJlc3VsdC5ncHIoKSwgYmFzZUdQUiwgYXJndW1lbnRHUFIpOworICAgICAgICBjaGVja0V4Y2Vw
dGlvbigpOwogICAgICAgICAKICAgICAgICAganNWYWx1ZVJlc3VsdChyZXN1bHQuZ3ByKCksIG5v
ZGUpOwogICAgICAgICBicmVhazsKQEAgLTI5NDUsNiArMjk2NCw3IEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKICAg
ICAgICAgR1BSRmx1c2hlZENhbGxSZXN1bHQgcmVzdWx0KHRoaXMpOwogICAgICAgICBjYWxsT3Bl
cmF0aW9uKG9wZXJhdGlvblJlZ0V4cFRlc3QsIHJlc3VsdC5ncHIoKSwgYmFzZUdQUiwgYXJndW1l
bnRHUFIpOworICAgICAgICBjaGVja0V4Y2VwdGlvbigpOwogICAgICAgICAKICAgICAgICAgLy8g
SWYgd2UgYWRkIGEgRGF0YUZvcm1hdEJvb2wsIHdlIHNob3VsZCB1c2UgaXQgaGVyZS4KICAgICAg
ICAgbV9qaXQub3IzMihUcnVzdGVkSW1tMzIoVmFsdWVGYWxzZSksIHJlc3VsdC5ncHIoKSk7CkBA
IC0zMjg2LDYgKzMzMDYsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5v
ZGUpCiAgICAgICAgICAgICAgICAgQVNTRVJUKG9wID09IENhbGxTdHJpbmdDb25zdHJ1Y3Rvcik7
CiAgICAgICAgICAgICAgICAgY2FsbE9wZXJhdGlvbihvcGVyYXRpb25DYWxsU3RyaW5nQ29uc3Ry
dWN0b3IsIHJlc3VsdEdQUiwgb3AxR1BSKTsKICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGNo
ZWNrRXhjZXB0aW9uKCk7CiAgICAgICAgICAgICBpZiAoZG9uZS5pc1NldCgpKQogICAgICAgICAg
ICAgICAgIGRvbmUubGluaygmbV9qaXQpOwogICAgICAgICAgICAgY2VsbFJlc3VsdChyZXN1bHRH
UFIsIG5vZGUpOwpAQCAtMzM3OCw2ICszMzk5LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29t
cGlsZShOb2RlKiBub2RlKQogICAgICAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKICAgICAgICAg
ICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0IHJlc3VsdCh0aGlzKTsKICAgICAgICAgICAgIGNhbGxP
cGVyYXRpb24ob3BlcmF0aW9uTmV3RW1wdHlBcnJheSwgcmVzdWx0LmdwcigpLCBnbG9iYWxPYmpl
Y3QtPmFycmF5U3RydWN0dXJlRm9ySW5kZXhpbmdUeXBlRHVyaW5nQWxsb2NhdGlvbihub2RlLT5p
bmRleGluZ1R5cGUoKSkpOworICAgICAgICAgICAgY2hlY2tFeGNlcHRpb24oKTsKICAgICAgICAg
ICAgIGNlbGxSZXN1bHQocmVzdWx0LmdwcigpLCBub2RlKTsKICAgICAgICAgICAgIGJyZWFrOwog
ICAgICAgICB9CkBAIC0zNDYwLDYgKzM0ODIsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21w
aWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIGNhbGxPcGVyYXRpb24oCiAgICAgICAgICAgICBvcGVy
YXRpb25OZXdBcnJheSwgcmVzdWx0LmdwcigpLCBnbG9iYWxPYmplY3QtPmFycmF5U3RydWN0dXJl
Rm9ySW5kZXhpbmdUeXBlRHVyaW5nQWxsb2NhdGlvbihub2RlLT5pbmRleGluZ1R5cGUoKSksCiAg
ICAgICAgICAgICBzdGF0aWNfY2FzdDx2b2lkKj4oYnVmZmVyKSwgbm9kZS0+bnVtQ2hpbGRyZW4o
KSk7CisgICAgICAgIGNoZWNrRXhjZXB0aW9uKCk7CiAKICAgICAgICAgaWYgKHNjcmF0Y2hTaXpl
KSB7CiAgICAgICAgICAgICBHUFJUZW1wb3Jhcnkgc2NyYXRjaCh0aGlzKTsKQEAgLTM1MzcsNiAr
MzU2MCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKICAgICAg
ICAgbV9qaXQubW92ZShUcnVzdGVkSW1tUHRyKGdsb2JhbE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVG
b3JJbmRleGluZ1R5cGVEdXJpbmdBbGxvY2F0aW9uKEFycmF5V2l0aEFycmF5U3RvcmFnZSkpLCBz
dHJ1Y3R1cmVHUFIpOwogICAgICAgICBkb25lLmxpbmsoJm1faml0KTsKICAgICAgICAgY2FsbE9w
ZXJhdGlvbihvcGVyYXRpb25OZXdBcnJheVdpdGhTaXplLCByZXN1bHRHUFIsIHN0cnVjdHVyZUdQ
Uiwgc2l6ZUdQUik7CisgICAgICAgIGNoZWNrRXhjZXB0aW9uKCk7CiAgICAgICAgIGNlbGxSZXN1
bHQocmVzdWx0R1BSLCBub2RlKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAtMzU4MCw2ICsz
NjA0LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAg
ICBHUFJGbHVzaGVkQ2FsbFJlc3VsdCByZXN1bHQodGhpcyk7CiAgICAgICAgIAogICAgICAgICBj
YWxsT3BlcmF0aW9uKG9wZXJhdGlvbk5ld0FycmF5QnVmZmVyLCByZXN1bHQuZ3ByKCksIGdsb2Jh
bE9iamVjdC0+YXJyYXlTdHJ1Y3R1cmVGb3JJbmRleGluZ1R5cGVEdXJpbmdBbGxvY2F0aW9uKG5v
ZGUtPmluZGV4aW5nVHlwZSgpKSwgbm9kZS0+c3RhcnRDb25zdGFudCgpLCBub2RlLT5udW1Db25z
dGFudHMoKSk7CisgICAgICAgIGNoZWNrRXhjZXB0aW9uKCk7CiAgICAgICAgIAogICAgICAgICBj
ZWxsUmVzdWx0KHJlc3VsdC5ncHIoKSwgbm9kZSk7CiAgICAgICAgIGJyZWFrOwpAQCAtMzYwNCw2
ICszNjI5LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAg
ICAgICAgICAgICAgIG9wZXJhdGlvbk5ld1R5cGVkQXJyYXlXaXRoT25lQXJndW1lbnRGb3JUeXBl
KG5vZGUtPnR5cGVkQXJyYXlUeXBlKCkpLAogICAgICAgICAgICAgICAgIHJlc3VsdEdQUiwgZ2xv
YmFsT2JqZWN0LT50eXBlZEFycmF5U3RydWN0dXJlKG5vZGUtPnR5cGVkQXJyYXlUeXBlKCkpLAog
ICAgICAgICAgICAgICAgIGFyZ3VtZW50R1BSKTsKKyAgICAgICAgICAgIGNoZWNrRXhjZXB0aW9u
KCk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIGNlbGxSZXN1bHQocmVzdWx0R1BSLCBub2Rl
KTsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtMzYyMCw2ICszNjQ2LDcgQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBHUFJGbHVzaGVkQ2FsbFJlc3Vs
dCByZXN1bHQodGhpcyk7CiAgICAgICAgIAogICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlv
bk5ld1JlZ2V4cCwgcmVzdWx0LmdwcigpLCBtX2ppdC5jb2RlQmxvY2soKS0+cmVnZXhwKG5vZGUt
PnJlZ2V4cEluZGV4KCkpKTsKKyAgICAgICAgY2hlY2tFeGNlcHRpb24oKTsKICAgICAgICAgCiAg
ICAgICAgIGNlbGxSZXN1bHQocmVzdWx0LmdwcigpLCBub2RlKTsKICAgICAgICAgYnJlYWs7CkBA
IC00MjY5LDYgKzQyOTYsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5v
ZGUpCiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9u
U2l6ZU9mVmFyYXJncywgR1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIsIGFyZ3VtZW50c0dQUiwgZGF0
YS0+b2Zmc2V0KTsKKyAgICAgICAgY2hlY2tFeGNlcHRpb24oKTsKICAgICAgICAgCiAgICAgICAg
IGxvY2soR1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIpOwogICAgICAgICB7CkBAIC00Mjk3LDYgKzQz
MjUsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAg
IG1faml0LnN0b3JlMzIoYXJnQ291bnRJbmNsdWRpbmdUaGlzR1BSLCBKSVRDb21waWxlcjo6cGF5
bG9hZEZvcihkYXRhLT5tYWNoaW5lQ291bnQpKTsKICAgICAgICAgCiAgICAgICAgIGNhbGxPcGVy
YXRpb24ob3BlcmF0aW9uTG9hZFZhcmFyZ3MsIGRhdGEtPm1hY2hpbmVTdGFydC5vZmZzZXQoKSwg
YXJndW1lbnRzR1BSLCBkYXRhLT5vZmZzZXQsIEdQUkluZm86OnJldHVyblZhbHVlR1BSLCBkYXRh
LT5tYW5kYXRvcnlNaW5pbXVtKTsKKyAgICAgICAgY2hlY2tFeGNlcHRpb24oKTsKICAgICAgICAg
CiAgICAgICAgIG5vUmVzdWx0KG5vZGUpOwogICAgICAgICBicmVhazsKQEAgLTQ0MDgsNiArNDQz
Nyw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKIAogICAgICAg
ICBmbHVzaFJlZ2lzdGVycygpOwogICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbkhhc0dl
bmVyaWNQcm9wZXJ0eSwgcmVzdWx0R1BSLCBiYXNlLmdwcigpLCBwcm9wZXJ0eS5ncHIoKSk7Cisg
ICAgICAgIGNoZWNrRXhjZXB0aW9uKCk7CiAgICAgICAgIGpzVmFsdWVSZXN1bHQocmVzdWx0R1BS
LCBub2RlLCBEYXRhRm9ybWF0SlNCb29sZWFuKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpAQCAt
NDU3NSw2ICs0NjA1LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2Rl
KQogCiAgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7CiAgICAgICAgIGNhbGxPcGVyYXRpb24ob3Bl
cmF0aW9uR2V0UHJvcGVydHlFbnVtZXJhdG9yLCByZXN1bHRHUFIsIGJhc2UuZ3ByKCkpOworICAg
ICAgICBjaGVja0V4Y2VwdGlvbigpOwogICAgICAgICBjZWxsUmVzdWx0KHJlc3VsdEdQUiwgbm9k
ZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTQ2MTQsNiArNDY0NSw3IEBAIHZvaWQgU3Bl
Y3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9kZSkKIAogICAgICAgICBmbHVzaFJlZ2lzdGVy
cygpOwogICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblRvSW5kZXhTdHJpbmcsIHJlc3Vs
dEdQUiwgaW5kZXguZ3ByKCkpOworICAgICAgICBjaGVja0V4Y2VwdGlvbigpOwogICAgICAgICBj
ZWxsUmVzdWx0KHJlc3VsdEdQUiwgbm9kZSk7CiAgICAgICAgIGJyZWFrOwogICAgIH0KQEAgLTQ4
NDgsNiArNDg4MCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbnZlcnRNYWNoaW5lSW50KEUK
ICAgICBzaWxlbnRTcGlsbEFsbFJlZ2lzdGVycyhyZXN1bHRHUFIpOwogICAgIGNhbGxPcGVyYXRp
b24ob3BlcmF0aW9uQ29udmVydEJveGVkRG91YmxlVG9JbnQ1MiwgcmVzdWx0R1BSLCB2YWx1ZUdQ
Uik7CiAgICAgc2lsZW50RmlsbEFsbFJlZ2lzdGVycyhyZXN1bHRHUFIpOworICAgIC8vY2hlY2tF
eGNlcHRpb24oKTsgLy8gTm90IG5lZWRlZC4KIAogICAgIERGR19UWVBFX0NIRUNLKAogICAgICAg
ICBKU1ZhbHVlUmVncyh2YWx1ZUdQUiksIHZhbHVlRWRnZSwgU3BlY0ludDMyIHwgU3BlY0ludDUy
QXNEb3VibGUsCkBAIC00ODgwLDYgKzQ5MTMsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpzcGVj
dWxhdGVEb3VibGVSZXBNCiAgICAgZmx1c2hSZWdpc3RlcnMoKTsKICAgICAKICAgICBjYWxsT3Bl
cmF0aW9uKG9wZXJhdGlvbkNvbnZlcnREb3VibGVUb0ludDUyLCByZXN1bHRHUFIsIHZhbHVlRlBS
KTsKKyAgICAvL2NoZWNrRXhjZXB0aW9uKCk7IC8vIE5vdCBuZWVkZWQuCiAgICAgCiAgICAgREZH
X1RZUEVfQ0hFQ0soCiAgICAgICAgIEpTVmFsdWVSZWdzKCksIGVkZ2UsIFNwZWNJbnQ1MkFzRG91
YmxlLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVC5jcHAJKHJldmlzaW9uIDE4ODUwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU3BlY3VsYXRpdmVKSVQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05OTIsNiArOTkyLDcgQEAg
dm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUluKE5vZGUqIG5vZAogICAgIGNhbGxPcGVyYXRp
b24oCiAgICAgICAgIG9wZXJhdGlvbkdlbmVyaWNJbiwgZXh0cmFjdFJlc3VsdChKU1ZhbHVlUmVn
czo6cGF5bG9hZE9ubHkocmVzdWx0R1BSKSksCiAgICAgICAgIGJhc2VHUFIsIHJlZ3MpOworICAg
IGNoZWNrRXhjZXB0aW9uKCk7CiAgICAgYmxlc3NlZEJvb2xlYW5SZXN1bHQocmVzdWx0R1BSLCBu
b2RlLCBVc2VDaGlsZHJlbkNhbGxlZEV4cGxpY2l0bHkpOwogfQogCkBAIC0xOTg2LDYgKzE5ODcs
NyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlVmFsdWVUb0ludDMyCiAgICAgICAgICAg
ICBzaWxlbnRTcGlsbEFsbFJlZ2lzdGVycyhyZXN1bHRHcHIpOwogICAgICAgICAgICAgY2FsbE9w
ZXJhdGlvbih0b0ludDMyLCByZXN1bHRHcHIsIGZwcik7CiAgICAgICAgICAgICBzaWxlbnRGaWxs
QWxsUmVnaXN0ZXJzKHJlc3VsdEdwcik7CisgICAgICAgICAgICBjaGVja0V4Y2VwdGlvbigpOwog
CiAgICAgICAgICAgICBjb252ZXJ0ZWQuYXBwZW5kKG1faml0Lmp1bXAoKSk7CiAKQEAgLTIwNDUs
NiArMjA0Nyw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVWYWx1ZVRvSW50MzIKICAg
ICAgICAgICAgICAgICBzaWxlbnRTcGlsbEFsbFJlZ2lzdGVycyhyZXN1bHRHcHIpOwogICAgICAg
ICAgICAgICAgIGNhbGxPcGVyYXRpb24odG9JbnQzMiwgcmVzdWx0R3ByLCBmcHIpOwogICAgICAg
ICAgICAgICAgIHNpbGVudEZpbGxBbGxSZWdpc3RlcnMocmVzdWx0R3ByKTsKKyAgICAgICAgICAg
ICAgICBjaGVja0V4Y2VwdGlvbigpOwogCiAgICAgICAgICAgICAgICAgY29udmVydGVkLmFwcGVu
ZChtX2ppdC5qdW1wKCkpOwogCkBAIC0zNjc5LDYgKzM2ODIsNyBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlQXJpdGhNb2QoTm9kCiAgICAgICAgIEZQUlJlc3VsdCByZXN1bHQodGhpcyk7
CiAgICAgICAgIAogICAgICAgICBjYWxsT3BlcmF0aW9uKGZtb2RBc0RGR09wZXJhdGlvbiwgcmVz
dWx0LmZwcigpLCBvcDFGUFIsIG9wMkZQUik7CisgICAgICAgIC8vY2hlY2tFeGNlcHRpb24oKTsg
Ly8gTm90IG5lZWRlZC4KICAgICAgICAgCiAgICAgICAgIGRvdWJsZVJlc3VsdChyZXN1bHQuZnBy
KCksIG5vZGUpOwogICAgICAgICByZXR1cm47CkBAIC0zNzE3LDYgKzM3MjEsNyBAQCB2b2lkIFNw
ZWN1bGF0aXZlSklUOjpjb21waWxlQXJpdGhSb3VuZChOCiAgICAgRlBSUmVzdWx0IHJvdW5kZWRS
ZXN1bHRBc0RvdWJsZSh0aGlzKTsKICAgICBGUFJSZWcgcmVzdWx0RlBSID0gcm91bmRlZFJlc3Vs
dEFzRG91YmxlLmZwcigpOwogICAgIGNhbGxPcGVyYXRpb24oanNSb3VuZCwgcmVzdWx0RlBSLCB2
YWx1ZUZQUik7CisgICAgY2hlY2tFeGNlcHRpb24oKTsKICAgICBpZiAocHJvZHVjZXNJbnRlZ2Vy
KG5vZGUtPmFyaXRoUm91bmRpbmdNb2RlKCkpKSB7CiAgICAgICAgIEdQUlRlbXBvcmFyeSByb3Vu
ZGVkUmVzdWx0QXNJbnQzMih0aGlzKTsKICAgICAgICAgRlBSVGVtcG9yYXJ5IHNjcmF0Y2godGhp
cyk7CkBAIC0zNzQwLDYgKzM3NDUsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlQXJp
dGhTcXJ0KE5vCiAgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7CiAgICAgICAgIEZQUlJlc3VsdCBy
ZXN1bHQodGhpcyk7CiAgICAgICAgIGNhbGxPcGVyYXRpb24oc3FydCwgcmVzdWx0LmZwcigpLCBv
cDFGUFIpOworICAgICAgICAvL2NoZWNrRXhjZXB0aW9uKCk7IC8vIE5vdCBuZWVkZWQuCiAgICAg
ICAgIGRvdWJsZVJlc3VsdChyZXN1bHQuZnByKCksIG5vZGUpOwogICAgIH0gZWxzZSB7CiAgICAg
ICAgIEZQUlRlbXBvcmFyeSByZXN1bHQodGhpcywgb3AxKTsKQEAgLTM3OTgsNiArMzgwNCw3IEBA
IHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVBcml0aFBvdyhOb2QKICAgICAgICAgTWFjcm9B
c3NlbWJsZXI6Okp1bXAgc2tpcEZhbGxiYWNrID0gY29tcGlsZUFyaXRoUG93SW50ZWdlckZhc3RQ
YXRoKG1faml0LCB4T3BlcmFuZENvcHlGcHIsIGNvdW50ZXJHcHIsIHJlc3VsdEZwcik7CiAgICAg
ICAgIG1faml0LmNvbnZlcnRJbnQzMlRvRG91YmxlKHlPcGVyYW5kR3ByLCB5T3BlcmFuZGZwci5m
cHIoKSk7CiAgICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uTWF0aFBvdywgcmVzdWx0RnBy
LCB4T3BlcmFuZGZwciwgeU9wZXJhbmRmcHIuZnByKCkpOworICAgICAgICAvL2NoZWNrRXhjZXB0
aW9uKCk7IC8vIE5vdCBuZWVkZWQuCiAKICAgICAgICAgc2tpcEZhbGxiYWNrLmxpbmsoJm1faml0
KTsKICAgICAgICAgZG91YmxlUmVzdWx0KHJlc3VsdEZwciwgbm9kZSk7CkBAIC0zODMwLDYgKzM4
MzcsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlQXJpdGhQb3coTm9kCiAgICAgZmFp
bGVkRXhwb25lbnRDb252ZXJzaW9uVG9JbnRlZ2VyLmxpbmsoJm1faml0KTsKIAogICAgIGNhbGxP
cGVyYXRpb24ob3BlcmF0aW9uTWF0aFBvdywgcmVzdWx0RnByLCB4T3BlcmFuZGZwciwgeU9wZXJh
bmRmcHIpOworICAgIC8vY2hlY2tFeGNlcHRpb24oKTsgLy8gTm90IE5lZWRlZC4KICAgICBza2lw
RmFsbGJhY2subGluaygmbV9qaXQpOwogICAgIGRvdWJsZVJlc3VsdChyZXN1bHRGcHIsIG5vZGUp
OwogfQpAQCAtMzg0MSw2ICszODQ5LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUFy
aXRoTG9nKE5vZAogICAgIGZsdXNoUmVnaXN0ZXJzKCk7CiAgICAgRlBSUmVzdWx0IHJlc3VsdCh0
aGlzKTsKICAgICBjYWxsT3BlcmF0aW9uKGxvZywgcmVzdWx0LmZwcigpLCBvcDFGUFIpOworICAg
IC8vY2hlY2tFeGNlcHRpb24oKTsgLy8gTm90IG5lZWRlZC4KICAgICBkb3VibGVSZXN1bHQocmVz
dWx0LmZwcigpLCBub2RlKTsKIH0KIApAQCAtNDYxOSw2ICs0NjI4LDcgQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZU5ld0Z1bmN0aW9uKAogICAgICAgICBmbHVzaFJlZ2lzdGVycygpOwog
CiAgICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uTmV3RnVuY3Rpb24sIHJlc3VsdEdQUiwg
c2NvcGVHUFIsIGV4ZWN1dGFibGUpOworICAgICAgICBjaGVja0V4Y2VwdGlvbigpOwogICAgICAg
ICBjZWxsUmVzdWx0KHJlc3VsdEdQUiwgbm9kZSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBA
IC00NzQ0LDYgKzQ3NTQsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlQ3JlYXRlQWN0
aXZhCiAgICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uQ3JlYXRlQWN0aXZhdGlvbkRpcmVj
dCwKICAgICAgICAgICAgIHJlc3VsdEdQUiwgc3RydWN0dXJlLCBzY29wZUdQUiwgdGFibGUsIFRy
dXN0ZWRJbW0zMihpbml0aWFsaXphdGlvblZhbHVlLnRhZygpKSwgVHJ1c3RlZEltbTMyKGluaXRp
YWxpemF0aW9uVmFsdWUucGF5bG9hZCgpKSk7CiAjZW5kaWYKKyAgICAgICAgY2hlY2tFeGNlcHRp
b24oKTsKICAgICAgICAgY2VsbFJlc3VsdChyZXN1bHRHUFIsIG5vZGUpOwogICAgICAgICByZXR1
cm47CiAgICAgfQpAQCAtNDk5NCw3ICs1MDA1LDggQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29t
cGlsZUNyZWF0ZVNjb3BlZAogICAgICAgICB9KTsKICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50KDAs
IFsmXSAoR1BSUmVnIGRlc3RHUFIpIHsgbV9qaXQubW92ZShHUFJJbmZvOjpjYWxsRnJhbWVSZWdp
c3RlciwgZGVzdEdQUik7IH0pOwogICAgIAotICAgIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hl
Y2tTZXRSZXN1bHQob3BlcmF0aW9uQ3JlYXRlU2NvcGVkQXJndW1lbnRzLCByZXN1bHRHUFIpOwor
ICAgIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uQ3JlYXRlU2NvcGVkQXJndW1lbnRzLCBy
ZXN1bHRHUFIpOworICAgIGNoZWNrRXhjZXB0aW9uKCk7CiAgICAgCiAgICAgY2VsbFJlc3VsdChy
ZXN1bHRHUFIsIG5vZGUpOwogfQpAQCAtNTAyMSw3ICs1MDMzLDggQEAgdm9pZCBTcGVjdWxhdGl2
ZUpJVDo6Y29tcGlsZUNyZWF0ZUNsb25lZAogICAgICAgICB9KTsKICAgICBtX2ppdC5zZXR1cEFy
Z3VtZW50KDAsIFsmXSAoR1BSUmVnIGRlc3RHUFIpIHsgbV9qaXQubW92ZShHUFJJbmZvOjpjYWxs
RnJhbWVSZWdpc3RlciwgZGVzdEdQUik7IH0pOwogICAgIAotICAgIGFwcGVuZENhbGxXaXRoRXhj
ZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uQ3JlYXRlQ2xvbmVkQXJndW1lbnRzLCByZXN1
bHRHUFIpOworICAgIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uQ3JlYXRlQ2xvbmVkQXJn
dW1lbnRzLCByZXN1bHRHUFIpOworICAgIGNoZWNrRXhjZXB0aW9uKCk7CiAgICAgCiAgICAgY2Vs
bFJlc3VsdChyZXN1bHRHUFIsIG5vZGUpOwogfQpAQCAtNTAzNiw3ICs1MDQ5LDcgQEAgdm9pZCBT
cGVjdWxhdGl2ZUpJVDo6Y29tcGlsZU5vdGlmeVdyaXRlKAogICAgICAgICBUcnVzdGVkSW1tMzIo
SXNJbnZhbGlkYXRlZCkpOwogICAgIAogICAgIGFkZFNsb3dQYXRoR2VuZXJhdG9yKAotICAgICAg
ICBzbG93UGF0aENhbGwoc2xvd0Nhc2UsIHRoaXMsIG9wZXJhdGlvbk5vdGlmeVdyaXRlLCBOb1Jl
c3VsdCwgc2V0KSk7CisgICAgICAgIHNsb3dQYXRoQ2FsbChzbG93Q2FzZSwgdGhpcywgb3BlcmF0
aW9uTm90aWZ5V3JpdGUsIE5vUmVzdWx0LCBzZXQsIE5lZWRUb1NwaWxsLCBmYWxzZSkpOyAvLyBE
b2VzIG5vdCBuZWVkIGV4Y2VwdGlvbiBjaGVjay4KICAgICAKICAgICBub1Jlc3VsdChub2RlKTsK
IH0KQEAgLTUwNjgsNiArNTA4MSw3IEBAIGJvb2wgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVSZWdF
eHBFeGVjKE4KICAgICBmbHVzaFJlZ2lzdGVycygpOwogICAgIEdQUkZsdXNoZWRDYWxsUmVzdWx0
IHJlc3VsdCh0aGlzKTsKICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblJlZ0V4cFRlc3QsIHJl
c3VsdC5ncHIoKSwgYmFzZUdQUiwgYXJndW1lbnRHUFIpOworICAgIGNoZWNrRXhjZXB0aW9uKCk7
CiAKICAgICBicmFuY2hUZXN0MzIoaW52ZXJ0ID8gSklUQ29tcGlsZXI6Olplcm8gOiBKSVRDb21w
aWxlcjo6Tm9uWmVybywgcmVzdWx0LmdwcigpLCB0YWtlbik7CiAgICAganVtcChub3RUYWtlbik7
CkBAIC01MjAzLDYgKzUyMTcsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlQWxsb2Nh
dGVQcm9wCiAKICAgICAgICAgR1BSRmx1c2hlZENhbGxSZXN1bHQgcmVzdWx0KHRoaXMpOwogICAg
ICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblJlYWxsb2NhdGVCdXR0ZXJmbHlUb0hhdmVQcm9w
ZXJ0eVN0b3JhZ2VXaXRoSW5pdGlhbENhcGFjaXR5LCByZXN1bHQuZ3ByKCksIGJhc2VHUFIpOwor
ICAgICAgICBjaGVja0V4Y2VwdGlvbigpOwogICAgICAgICAKICAgICAgICAgc3RvcmFnZVJlc3Vs
dChyZXN1bHQuZ3ByKCksIG5vZGUpOwogICAgICAgICByZXR1cm47CkBAIC01MjQ2LDYgKzUyNjEs
NyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlUmVhbGxvY2F0ZVByCiAKICAgICAgICAg
R1BSRmx1c2hlZENhbGxSZXN1bHQgcmVzdWx0KHRoaXMpOwogICAgICAgICBjYWxsT3BlcmF0aW9u
KG9wZXJhdGlvblJlYWxsb2NhdGVCdXR0ZXJmbHlUb0dyb3dQcm9wZXJ0eVN0b3JhZ2UsIHJlc3Vs
dC5ncHIoKSwgYmFzZUdQUiwgbmV3U2l6ZSAvIHNpemVvZihKU1ZhbHVlKSk7CisgICAgICAgIGNo
ZWNrRXhjZXB0aW9uKCk7CiAKICAgICAgICAgc3RvcmFnZVJlc3VsdChyZXN1bHQuZ3ByKCksIG5v
ZGUpOwogICAgICAgICByZXR1cm47CkBAIC01MzUzLDYgKzUzNjksNyBAQCB2b2lkIFNwZWN1bGF0
aXZlSklUOjpjb21waWxlVG9TdHJpbmdPckNhCiAgICAgICAgICAgICBBU1NFUlQobm9kZS0+b3Ao
KSA9PSBDYWxsU3RyaW5nQ29uc3RydWN0b3IpOwogICAgICAgICAgICAgY2FsbE9wZXJhdGlvbihv
cGVyYXRpb25DYWxsU3RyaW5nQ29uc3RydWN0b3JPbkNlbGwsIHJlc3VsdEdQUiwgb3AxR1BSKTsK
ICAgICAgICAgfQorICAgICAgICBjaGVja0V4Y2VwdGlvbigpOwogICAgICAgICBpZiAoZG9uZS5p
c1NldCgpKQogICAgICAgICAgICAgZG9uZS5saW5rKCZtX2ppdCk7CiAgICAgICAgIGNlbGxSZXN1
bHQocmVzdWx0R1BSLCBub2RlKTsKQEAgLTU5NTgsNiArNTk3NSw3IEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmVtaXRTd2l0Y2hJbW0oTm9kZSoKICAgICAgICAgc2lsZW50U3BpbGxBbGxSZWdpc3Rl
cnMoc2NyYXRjaCk7CiAgICAgICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uRmluZFN3aXRjaElt
bVRhcmdldEZvckRvdWJsZSwgc2NyYXRjaCwgdmFsdWVSZWdzLmdwcigpLCBkYXRhLT5zd2l0Y2hU
YWJsZUluZGV4KTsKICAgICAgICAgc2lsZW50RmlsbEFsbFJlZ2lzdGVycyhzY3JhdGNoKTsKKyAg
ICAgICAgLy9jaGVja0V4Y2VwdGlvbigpOyAvLyBOb3QgbmVlZGVkLgogICAgICAgICBtX2ppdC5q
dW1wKHNjcmF0Y2gpOwogI2Vsc2UKICAgICAgICAgSklUQ29tcGlsZXI6Okp1bXAgbm90SW50ID0g
bV9qaXQuYnJhbmNoMzIoCkBAIC01OTcyLDYgKzU5OTAsOCBAQCB2b2lkIFNwZWN1bGF0aXZlSklU
OjplbWl0U3dpdGNoSW1tKE5vZGUqCiAgICAgICAgIHNpbGVudFNwaWxsQWxsUmVnaXN0ZXJzKHNj
cmF0Y2gpOwogICAgICAgICBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvbkZpbmRTd2l0Y2hJbW1UYXJn
ZXRGb3JEb3VibGUsIHNjcmF0Y2gsIHZhbHVlUmVncywgZGF0YS0+c3dpdGNoVGFibGVJbmRleCk7
CiAgICAgICAgIHNpbGVudEZpbGxBbGxSZWdpc3RlcnMoc2NyYXRjaCk7CisgICAgICAgIC8vY2hl
Y2tFeGNlcHRpb24oKTsgLy8gTm90IG5lZWRlZC4KKwogICAgICAgICBtX2ppdC5qdW1wKHNjcmF0
Y2gpOwogI2VuZGlmCiAgICAgICAgIG5vUmVzdWx0KG5vZGUsIFVzZUNoaWxkcmVuQ2FsbGVkRXhw
bGljaXRseSk7CkBAIC02MjMxLDYgKzYyNTEsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjplbWl0
U3dpdGNoU3RyaW5nT25TCiAgICAgICAgIGZsdXNoUmVnaXN0ZXJzKCk7CiAgICAgICAgIGNhbGxP
cGVyYXRpb24oCiAgICAgICAgICAgICBvcGVyYXRpb25Td2l0Y2hTdHJpbmcsIHN0cmluZywgZGF0
YS0+c3dpdGNoVGFibGVJbmRleCwgc3RyaW5nKTsKKyAgICAgICAgY2hlY2tFeGNlcHRpb24oKTsK
ICAgICAgICAgbV9qaXQuanVtcChzdHJpbmcpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAt
NjI2OCw2ICs2Mjg5LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6ZW1pdFN3aXRjaFN0cmluZ09u
UwogICAgIHNpbGVudFNwaWxsQWxsUmVnaXN0ZXJzKHN0cmluZyk7CiAgICAgY2FsbE9wZXJhdGlv
bihvcGVyYXRpb25Td2l0Y2hTdHJpbmcsIHN0cmluZywgZGF0YS0+c3dpdGNoVGFibGVJbmRleCwg
c3RyaW5nKTsKICAgICBzaWxlbnRGaWxsQWxsUmVnaXN0ZXJzKHN0cmluZyk7CisgICAgY2hlY2tF
eGNlcHRpb24oKTsKICAgICBtX2ppdC5qdW1wKHN0cmluZyk7CiB9CiAKQEAgLTY0MDUsNiArNjQy
Nyw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OnN0b3JlVG9Xcml0ZUJhcnJpZXIKICAgICBzaWxl
bnRTcGlsbEFsbFJlZ2lzdGVycyhJbnZhbGlkR1BSUmVnKTsKICAgICBjYWxsT3BlcmF0aW9uKG9w
ZXJhdGlvbkZsdXNoV3JpdGVCYXJyaWVyQnVmZmVyLCBjZWxsKTsKICAgICBzaWxlbnRGaWxsQWxs
UmVnaXN0ZXJzKEludmFsaWRHUFJSZWcpOworICAgIC8vY2hlY2tFeGNlcHRpb24oKTsgLy8gTm90
IG5lZWRlZC4KIAogICAgIGRvbmUubGluaygmbV9qaXQpOwogfQpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAkocmV2aXNpb24gMTg4NTA0KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCSh3b3JraW5n
IGNvcHkpCkBAIC04ODcsMjM5ICs4ODcsMjM5IEBAIHB1YmxpYzoKICAgICBKSVRDb21waWxlcjo6
Q2FsbCBjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0Ugb3BlcmF0aW9uKQogICAgIHsKICAg
ICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNFeGVjU3RhdGUoKTsKLSAgICAgICAgcmV0dXJuIGFw
cGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2sob3BlcmF0aW9uKTsKKyAgICAgICAgcmV0dXJuIGFw
cGVuZENhbGwob3BlcmF0aW9uKTsKICAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9w
ZXJhdGlvbihQX0pJVE9wZXJhdGlvbl9FIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCkKICAgICB7
CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzRXhlY1N0YXRlKCk7Ci0gICAgICAgIHJldHVy
biBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0
KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQp
OwogICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFBfSklUT3BlcmF0
aW9uX0VDIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIGNlbGwpCiAgICAgewogICAg
ICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoY2VsbCk7Ci0gICAgICAgIHJl
dHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVz
dWx0KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1
bHQpOwogICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFBfSklUT3Bl
cmF0aW9uX0VPIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIG9iamVjdCkKICAgICB7
CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShvYmplY3QpOwotICAg
ICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRp
b24sIHJlc3VsdCk7CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlv
biwgcmVzdWx0KTsKICAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihQ
X0pJVE9wZXJhdGlvbl9FT1Mgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgb2JqZWN0
LCBzaXplX3Qgc2l6ZSkKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4
ZWNTdGF0ZShvYmplY3QsIFRydXN0ZWRJbW1QdHIoc2l6ZSkpOwotICAgICAgICByZXR1cm4gYXBw
ZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7Cisg
ICAgICAgIHJldHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAg
ICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihQX0pJVE9wZXJhdGlvbl9F
T1ogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgb2JqZWN0LCBpbnQzMl90IHNpemUp
CiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUob2JqZWN0
LCBUcnVzdGVkSW1tUHRyKHNpemUpKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhj
ZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOworICAgICAgICByZXR1cm4g
YXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQogICAgIEpJVENv
bXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRU9aIG9wZXJhdGlvbiwg
R1BSUmVnIHJlc3VsdCwgR1BSUmVnIG9iamVjdCwgaW50MzJfdCBzaXplKQogICAgIHsKICAgICAg
ICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKG9iamVjdCwgVHJ1c3RlZEltbVB0
cihzdGF0aWNfY2FzdDxzaXplX3Q+KHNpemUpKSk7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxs
V2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICAgICAg
cmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KICAg
ICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFBfSklUT3BlcmF0aW9uX0VQUyBvcGVy
YXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBvbGQsIHNpemVfdCBzaXplKQogICAgIHsKICAg
ICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKG9sZCwgVHJ1c3RlZEltbVB0
cihzaXplKSk7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0
UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRS
ZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBj
YWxsT3BlcmF0aW9uKFBfSklUT3BlcmF0aW9uX0VTIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwg
c2l6ZV90IHNpemUpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVj
U3RhdGUoVHJ1c3RlZEltbVB0cihzaXplKSk7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0
aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICAgICAgcmV0
dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KICAgICBK
SVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFBfSklUT3BlcmF0aW9uX0VTSnNzIG9wZXJh
dGlvbiwgR1BSUmVnIHJlc3VsdCwgc2l6ZV90IGluZGV4LCBHUFJSZWcgYXJnMSkKICAgICB7CiAg
ICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKGlu
ZGV4KSwgYXJnMSk7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNr
U2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxT
ZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2Fs
bCBjYWxsT3BlcmF0aW9uKFBfSklUT3BlcmF0aW9uX0VTdCBvcGVyYXRpb24sIEdQUlJlZyByZXN1
bHQsIFN0cnVjdHVyZSogc3RydWN0dXJlKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1
bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoc3RydWN0dXJlKSk7Ci0gICAgICAgIHJl
dHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVz
dWx0KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1
bHQpOwogICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFBfSklUT3Bl
cmF0aW9uX0VTdFogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSwgR1BSUmVnIGFyZzIpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhF
eGVjU3RhdGUoVHJ1c3RlZEltbVB0cihzdHJ1Y3R1cmUpLCBhcmcyKTsKLSAgICAgICAgcmV0dXJu
IGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQp
OworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7
CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oUF9KSVRPcGVyYXRp
b25fRVN0WiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBz
aXplX3QgYXJnMikKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNT
dGF0ZShUcnVzdGVkSW1tUHRyKHN0cnVjdHVyZSksIFRydXN0ZWRJbW0zMihhcmcyKSk7Ci0gICAg
ICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlv
biwgcmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9u
LCByZXN1bHQpOwogICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFBf
SklUT3BlcmF0aW9uX0VTdFogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSwg
R1BSUmVnIGFyZzIpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVj
U3RhdGUoYXJnMSwgYXJnMik7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlv
bkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIGFwcGVu
ZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KICAgICBKSVRDb21waWxl
cjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFBfSklUT3BlcmF0aW9uX0VTdFBTIG9wZXJhdGlvbiwgR1BS
UmVnIHJlc3VsdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIHZvaWQqIHBvaW50ZXIsIHNpemVfdCBz
aXplKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKFRy
dXN0ZWRJbW1QdHIoc3RydWN0dXJlKSwgVHJ1c3RlZEltbVB0cihwb2ludGVyKSwgVHJ1c3RlZElt
bVB0cihzaXplKSk7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNr
U2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxT
ZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2Fs
bCBjYWxsT3BlcmF0aW9uKFBfSklUT3BlcmF0aW9uX0VTdFNTIG9wZXJhdGlvbiwgR1BSUmVnIHJl
c3VsdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIHNpemVfdCBpbmRleCwgc2l6ZV90IHNpemUpCiAg
ICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZElt
bVB0cihzdHJ1Y3R1cmUpLCBUcnVzdGVkSW1tUHRyKGluZGV4KSwgVHJ1c3RlZEltbVB0cihzaXpl
KSk7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0
KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQo
b3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3Bl
cmF0aW9uKENfSklUT3BlcmF0aW9uX0Ugb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0KQogICAgIHsK
ICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNFeGVjU3RhdGUoKTsKLSAgICAgICAgcmV0dXJu
IGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQp
OworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7
CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRp
b25fRUMgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSkKICAgICB7CiAgICAg
ICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxKTsKLSAgICAgICAgcmV0
dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1
bHQpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3Vs
dCk7CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVy
YXRpb25fRUMgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBKU0NlbGwqIGNlbGwpCiAgICAgewog
ICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihj
ZWxsKSk7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVz
dWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1
bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxs
T3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VDWiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQ
UlJlZyBhcmcxLCBHUFJSZWcgYXJnMikKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1l
bnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxX
aXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOworICAgICAgICBy
ZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQogICAg
IEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUNaQyBvcGVy
YXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMiwgR1BSUmVnIGFy
ZzMpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJn
MSwgYXJnMiwgYXJnMyk7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNo
ZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENh
bGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KICAgICBKSVRDb21waWxlcjo6
Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2NDIG9wZXJhdGlvbiwgR1BSUmVn
IHJlc3VsdCwgR1BSUmVnIGFyZzEsIEpTQ2VsbCogY2VsbCkKICAgICB7CiAgICAgICAgIG1faml0
LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBUcnVzdGVkSW1tUHRyKGNlbGwpKTsK
LSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3Bl
cmF0aW9uLCByZXN1bHQpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVy
YXRpb24sIHJlc3VsdCk7CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRp
b24oQ19KSVRPcGVyYXRpb25fRUljZiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIElubGluZUNh
bGxGcmFtZSogaW5saW5lQ2FsbEZyYW1lKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1
bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoaW5saW5lQ2FsbEZyYW1lKSk7Ci0gICAg
ICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlv
biwgcmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9u
LCByZXN1bHQpOwogICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENf
SklUT3BlcmF0aW9uX0VTdCBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRl
KFRydXN0ZWRJbW1QdHIoc3RydWN0dXJlKSk7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0
aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICAgICAgcmV0
dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KIAogI2lm
IFVTRShKU1ZBTFVFNjQpCiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihDX0pJ
VE9wZXJhdGlvbl9FU3RKc2NTeW10YWJKIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgU3RydWN0
dXJlKiBzdHJ1Y3R1cmUsIEdQUlJlZyBzY29wZSwgU3ltYm9sVGFibGUqIHRhYmxlLCBUcnVzdGVk
SW1tNjQgaW5pdGlhbFZhbHVlKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNX
aXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoc3RydWN0dXJlKSwgc2NvcGUsIFRydXN0ZWRJbW1Q
dHIodGFibGUpLCBpbml0aWFsVmFsdWUpOwotICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhF
eGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CisgICAgICAgIHJldHVy
biBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAgICB9CiAjZWxzZQog
ICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRVN0SnNj
U3ltdGFiSiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBH
UFJSZWcgc2NvcGUsIFN5bWJvbFRhYmxlKiB0YWJsZSwgVHJ1c3RlZEltbTMyIHRhZywgVHJ1c3Rl
ZEltbTMyIHBheWxvYWQpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhF
eGVjU3RhdGUoVHJ1c3RlZEltbVB0cihzdHJ1Y3R1cmUpLCBzY29wZSwgVHJ1c3RlZEltbVB0cih0
YWJsZSksIHBheWxvYWQsIHRhZyk7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2Vw
dGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIGFw
cGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KICNlbmRpZgogICAg
IEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRVN0WiBvcGVy
YXRpb24sIEdQUlJlZyByZXN1bHQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCB1bnNpZ25lZCBrbm93
bkxlbmd0aCkKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0
ZShUcnVzdGVkSW1tUHRyKHN0cnVjdHVyZSksIFRydXN0ZWRJbW0zMihrbm93bkxlbmd0aCkpOwot
ICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVy
YXRpb24sIHJlc3VsdCk7CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJh
dGlvbiwgcmVzdWx0KTsKICAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlv
bihDX0pJVE9wZXJhdGlvbl9FU3RaWiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIFN0cnVjdHVy
ZSogc3RydWN0dXJlLCB1bnNpZ25lZCBrbm93bkxlbmd0aCwgdW5zaWduZWQgbWluQ2FwYWNpdHkp
CiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3Rl
ZEltbVB0cihzdHJ1Y3R1cmUpLCBUcnVzdGVkSW1tMzIoa25vd25MZW5ndGgpLCBUcnVzdGVkSW1t
MzIobWluQ2FwYWNpdHkpKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9u
Q2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOworICAgICAgICByZXR1cm4gYXBwZW5k
Q2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQogICAgIEpJVENvbXBpbGVy
OjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRVN0WiBvcGVyYXRpb24sIEdQUlJl
ZyByZXN1bHQsIFN0cnVjdHVyZSogc3RydWN0dXJlLCBHUFJSZWcgbGVuZ3RoKQogICAgIHsKICAg
ICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoc3Ry
dWN0dXJlKSwgbGVuZ3RoKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9u
Q2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOworICAgICAgICByZXR1cm4gYXBwZW5k
Q2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQogICAgIEpJVENvbXBpbGVy
OjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRVN0Wlogb3BlcmF0aW9uLCBHUFJS
ZWcgcmVzdWx0LCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgR1BSUmVnIGxlbmd0aCwgdW5zaWduZWQg
bWluQ2FwYWNpdHkpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVj
U3RhdGUoVHJ1c3RlZEltbVB0cihzdHJ1Y3R1cmUpLCBsZW5ndGgsIFRydXN0ZWRJbW0zMihtaW5D
YXBhY2l0eSkpOwotICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1Nl
dFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsU2V0
UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwg
Y2FsbE9wZXJhdGlvbihDX0pJVE9wZXJhdGlvbl9FSnNzU3Qgb3BlcmF0aW9uLCBHUFJSZWcgcmVz
dWx0LCBHUFJSZWcgYXJnMSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUpCiAgICAgewogICAgICAgICBt
X2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihzdHJ1
Y3R1cmUpKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRS
ZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJl
c3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNh
bGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUpzc0pzcyBvcGVyYXRpb24sIEdQUlJlZyByZXN1
bHQsIEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMikKICAgICB7CiAgICAgICAgIG1faml0LnNldHVw
QXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyKTsKLSAgICAgICAgcmV0dXJuIGFwcGVu
ZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOworICAg
ICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAg
fQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUpz
c0pzc0pzcyBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJn
MiwgR1BSUmVnIGFyZzMpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhF
eGVjU3RhdGUoYXJnMSwgYXJnMiwgYXJnMyk7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0
aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICAgICAgcmV0
dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KIAogICAg
IEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oU19KSVRPcGVyYXRpb25fRUNDIG9wZXJh
dGlvbiwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyKQogICAgIHsKICAg
ICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIpOwotICAg
ICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRp
b24sIHJlc3VsdCk7CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlv
biwgcmVzdWx0KTsKICAgICB9CiAKICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9u
KFNfSklUT3BlcmF0aW9uX0VHQyBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEpTR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIEdQUlJlZyBhcmcyKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0
dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoZ2xvYmFsT2JqZWN0KSwgYXJn
Mik7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0
KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQo
b3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KIAogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxP
cGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUdDIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgSlNH
bG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgR1BSUmVnIGFyZzIpCiAgICAgewogICAgICAgICBt
X2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihnbG9iYWxPYmpl
Y3QpLCBhcmcyKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tT
ZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNl
dFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQogCiAgICAgSklUQ29tcGlsZXI6OkNh
bGwgY2FsbE9wZXJhdGlvbihKc3NfSklUT3BlcmF0aW9uX0VaIG9wZXJhdGlvbiwgR1BSUmVnIHJl
c3VsdCwgR1BSUmVnIGFyZzEpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dp
dGhFeGVjU3RhdGUoYXJnMSk7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlv
bkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIGFwcGVu
ZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KIAogICAgIEpJVENvbXBp
bGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRUMgb3BlcmF0aW9uLCBHUFJS
ZWcgYXJnMSkKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0
ZShhcmcxKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2sob3Bl
cmF0aW9uKTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGwob3BlcmF0aW9uKTsKICAgICB9CiAK
ICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0VDIG9w
ZXJhdGlvbiwgSlNDZWxsKiBhcmcxKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVu
dHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoYXJnMSkpOwotICAgICAgICByZXR1cm4gYXBw
ZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhvcGVyYXRpb24pOworICAgICAgICByZXR1cm4gYXBw
ZW5kQ2FsbChvcGVyYXRpb24pOwogICAgIH0KIAogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxP
cGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRUNJY2Ygb3BlcmF0aW9uLCBHUFJSZWcgYXJnMSwgSW5s
aW5lQ2FsbEZyYW1lKiBpbmxpbmVDYWxsRnJhbWUpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1
cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihpbmxpbmVDYWxsRnJh
bWUpKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2sob3BlcmF0
aW9uKTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGwob3BlcmF0aW9uKTsKICAgICB9CiAgICAg
SklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FQ0NJY2Ygb3Bl
cmF0aW9uLCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIsIElubGluZUNhbGxGcmFtZSogaW5saW5l
Q2FsbEZyYW1lKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0
YXRlKGFyZzEsIGFyZzIsIFRydXN0ZWRJbW1QdHIoaW5saW5lQ2FsbEZyYW1lKSk7Ci0gICAgICAg
IHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CisgICAgICAg
IHJldHVybiBhcHBlbmRDYWxsKG9wZXJhdGlvbik7CiAgICAgfQogCiAgICAgSklUQ29tcGlsZXI6
OkNhbGwgY2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FQ1ogb3BlcmF0aW9uLCBHUFJSZWcg
YXJnMSwgaW50IGFyZzIpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhF
eGVjU3RhdGUoYXJnMSwgVHJ1c3RlZEltbTMyKGFyZzIpKTsKLSAgICAgICAgcmV0dXJuIGFwcGVu
ZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2sob3BlcmF0aW9uKTsKKyAgICAgICAgcmV0dXJuIGFwcGVu
ZENhbGwob3BlcmF0aW9uKTsKICAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJh
dGlvbihWX0pJVE9wZXJhdGlvbl9FQ0Mgb3BlcmF0aW9uLCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFy
ZzIpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJn
MSwgYXJnMik7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9w
ZXJhdGlvbik7CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsKG9wZXJhdGlvbik7CiAgICAgfQog
ICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRUNDIG9w
ZXJhdGlvbiwgR1BSUmVnIGFyZzEsIEpTQ2VsbCogYXJnMikKICAgICB7CiAgICAgICAgIG1faml0
LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBUcnVzdGVkSW1tUHRyKGFyZzIpKTsK
LSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2sob3BlcmF0aW9uKTsK
KyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGwob3BlcmF0aW9uKTsKICAgICB9CiAgICAgSklUQ29t
cGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FQ0Mgb3BlcmF0aW9uLCBK
U0NlbGwqIGFyZzEsIEdQUlJlZyBhcmcyKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1
bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoYXJnMSksIGFyZzIpOwotICAgICAgICBy
ZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhvcGVyYXRpb24pOworICAgICAgICBy
ZXR1cm4gYXBwZW5kQ2FsbChvcGVyYXRpb24pOwogICAgIH0KIAogICAgIEpJVENvbXBpbGVyOjpD
YWxsIGNhbGxPcGVyYXRpb25XaXRoQ2FsbEZyYW1lUm9sbGJhY2tPbkV4Y2VwdGlvbihWX0pJVE9w
ZXJhdGlvbl9FQ2Igb3BlcmF0aW9uLCB2b2lkKiBwb2ludGVyKQpAQCAtMTEzNiw3ICsxMTM2LDcg
QEAgcHVibGljOgogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oWl9KSVRPcGVy
YXRpb25fRUMgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSkKICAgICB7CiAg
ICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxKTsKLSAgICAgICAg
cmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCBy
ZXN1bHQpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJl
c3VsdCk7CiAgICAgfQogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgRnVuY3Rpb25UeXBlPgpAQCAt
MTE4OCwyOCArMTE4OCwyOCBAQCBwdWJsaWM6CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9w
ZXJhdGlvbihUX0pJVE9wZXJhdGlvbl9FSnNzIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgR1BS
UmVnIGFyZzEpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3Rh
dGUoYXJnMSk7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0
UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRS
ZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBj
YWxsT3BlcmF0aW9uKENfSklUT3BlcmF0aW9uX0VKc2NaIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3Vs
dCwgR1BSUmVnIGFyZzEsIGludDMyX3QgYXJnMikKICAgICB7CiAgICAgICAgIG1faml0LnNldHVw
QXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBUcnVzdGVkSW1tMzIoYXJnMikpOwotICAgICAg
ICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24s
IHJlc3VsdCk7CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwg
cmVzdWx0KTsKICAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihDX0pJ
VE9wZXJhdGlvbl9FWiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxKQogICAg
IHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEpOwotICAg
ICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRp
b24sIHJlc3VsdCk7CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlv
biwgcmVzdWx0KTsKICAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihD
X0pJVE9wZXJhdGlvbl9FWiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIGludDMyX3QgYXJnMSkK
ICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVk
SW1tMzIoYXJnMSkpOwotICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVj
a1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxs
U2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAgICB9CiAKICAgICBKSVRDb21waWxlcjo6
Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc2NDIG9wZXJhdGlvbiwgR1BSUmVn
IHJlc3VsdCwgR1BSUmVnIGFyZzEsIEpTQ2VsbCogY2VsbCkKICAgICB7CiAgICAgICAgIG1faml0
LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBUcnVzdGVkSW1tUHRyKGNlbGwpKTsK
LSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3Bl
cmF0aW9uLCByZXN1bHQpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVy
YXRpb24sIHJlc3VsdCk7CiAgICAgfQogCiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJh
dGlvbihWX0pJVE9wZXJhdGlvbl9FV3Mgb3BlcmF0aW9uLCBXYXRjaHBvaW50U2V0KiB3YXRjaHBv
aW50U2V0KQpAQCAtMTIyMiwxMiArMTIyMiwxMiBAQCBwdWJsaWM6CiAgICAgSklUQ29tcGlsZXI6
OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FIG9wZXJhdGlvbiwgR1BSUmVnIHJl
c3VsdCkKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzRXhlY1N0YXRlKCk7Ci0g
ICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJh
dGlvbiwgcmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0
aW9uLCByZXN1bHQpOwogICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9u
KEpfSklUT3BlcmF0aW9uX0VQIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgdm9pZCogcG9pbnRl
cikKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVz
dGVkSW1tUHRyKHBvaW50ZXIpKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0
aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOworICAgICAgICByZXR1cm4gYXBw
ZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQogICAgIEpJVENvbXBp
bGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oWl9KSVRPcGVyYXRpb25fRCBvcGVyYXRpb24sIEdQUlJl
ZyByZXN1bHQsIEZQUlJlZyBhcmcxKQogICAgIHsKQEAgLTEyNDksMTAyICsxMjQ5LDEwMiBAQCBw
dWJsaWM6CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlv
bl9FSSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiAg
ICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZElt
bVB0cih1aWQpKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tT
ZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNl
dFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxs
IGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUEgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0
LCBHUFJSZWcgYXJnMSkKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4
ZWNTdGF0ZShhcmcxKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hl
Y2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2Fs
bFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpD
YWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUFaIG9wZXJhdGlvbiwgR1BSUmVnIHJl
c3VsdCwgR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0
dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIpOwotICAgICAgICByZXR1cm4gYXBw
ZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7Cisg
ICAgICAgIHJldHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAg
ICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9F
SnNzWiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMikK
ICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBh
cmcyKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1
bHQob3BlcmF0aW9uLCByZXN1bHQpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3Vs
dChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxP
cGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRVBTIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgdm9p
ZCogcG9pbnRlciwgc2l6ZV90IHNpemUpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3Vt
ZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihwb2ludGVyKSwgVHJ1c3RlZEltbVB0cihz
aXplKSk7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVz
dWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1
bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxs
T3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VTUyBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIGlu
dCBzdGFydENvbnN0YW50LCBpbnQgbnVtQ29uc3RhbnRzKQogICAgIHsKICAgICAgICAgbV9qaXQu
c2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW0zMihzdGFydENvbnN0YW50KSwg
VHJ1c3RlZEltbTMyKG51bUNvbnN0YW50cykpOwotICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdp
dGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CisgICAgICAgIHJl
dHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAgICB9CiAgICAg
SklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FUFAgb3BlcmF0
aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSwgdm9pZCogcG9pbnRlcikKICAgICB7CiAg
ICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBUcnVzdGVkSW1t
UHRyKHBvaW50ZXIpKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hl
Y2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2Fs
bFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpD
YWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUMgb3BlcmF0aW9uLCBHUFJSZWcgcmVz
dWx0LCBKU0NlbGwqIGNlbGwpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dp
dGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihjZWxsKSk7Ci0gICAgICAgIHJldHVybiBhcHBlbmRD
YWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICAg
ICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0K
ICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VDWiBv
cGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMikKICAgICB7
CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyKTsK
LSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3Bl
cmF0aW9uLCByZXN1bHQpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVy
YXRpb24sIHJlc3VsdCk7CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRp
b24oSl9KSVRPcGVyYXRpb25fRVNzaUNJIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgU3RydWN0
dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJnMSwgY29uc3QgVW5pcXVlZFN0cmluZ0lt
cGwqIHVpZCkKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0
ZShUcnVzdGVkSW1tUHRyKHN0dWJJbmZvKSwgYXJnMSwgVHJ1c3RlZEltbVB0cih1aWQpKTsKLSAg
ICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0
aW9uLCByZXN1bHQpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRp
b24sIHJlc3VsdCk7CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24o
Sl9KSVRPcGVyYXRpb25fRVNzaUpJIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgU3RydWN0dXJl
U3R1YkluZm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJnMSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkK
ICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVk
SW1tUHRyKHN0dWJJbmZvKSwgYXJnMSwgVHJ1c3RlZEltbVB0cih1aWQpKTsKLSAgICAgICAgcmV0
dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1
bHQpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3Vs
dCk7CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVy
YXRpb25fRURBIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgRlBSUmVnIGFyZzEsIEdQUlJlZyBh
cmcyKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFy
ZzEsIGFyZzIpOwotICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1Nl
dFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsU2V0
UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwg
Y2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSkMgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0
LCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFy
Z3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJnMik7Ci0gICAgICAgIHJldHVybiBhcHBlbmRD
YWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICAg
ICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0K
ICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKWiBv
cGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMikKICAgICB7
CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyKTsK
LSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3Bl
cmF0aW9uLCByZXN1bHQpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVy
YXRpb24sIHJlc3VsdCk7CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRp
b24oSl9KSVRPcGVyYXRpb25fRUpBIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFy
ZzEsIEdQUlJlZyBhcmcyKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRo
RXhlY1N0YXRlKGFyZzEsIGFyZzIpOwotICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNl
cHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CisgICAgICAgIHJldHVybiBh
cHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAgICB9CiAgICAgSklUQ29t
cGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FUCBvcGVyYXRpb24sIEdQ
UlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1
bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEpOwotICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhF
eGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CisgICAgICAgIHJldHVy
biBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAgICB9CiAgICAgSklU
Q29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FWiBvcGVyYXRpb24s
IEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBB
cmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEpOwotICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdp
dGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CisgICAgICAgIHJl
dHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAgICB9CiAgICAg
SklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FWiBvcGVyYXRp
b24sIEdQUlJlZyByZXN1bHQsIGludDMyX3QgYXJnMSkKICAgICB7CiAgICAgICAgIG1faml0LnNl
dHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tMzIoYXJnMSkpOwotICAgICAgICBy
ZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJl
c3VsdCk7CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVz
dWx0KTsKICAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9w
ZXJhdGlvbl9FWlogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBpbnQzMl90IGFyZzEsIEdQUlJl
ZyBhcmcyKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRl
KFRydXN0ZWRJbW0zMihhcmcxKSwgYXJnMik7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0
aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICAgICAgcmV0
dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KICAgICBK
SVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VaSWNmWiBvcGVy
YXRpb24sIEdQUlJlZyByZXN1bHQsIGludDMyX3QgYXJnMSwgSW5saW5lQ2FsbEZyYW1lKiBpbmxp
bmVDYWxsRnJhbWUsIEdQUlJlZyBhcmcyKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1
bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW0zMihhcmcxKSwgVHJ1c3RlZEltbVB0cihpbmxp
bmVDYWxsRnJhbWUpLCBhcmcyKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0
aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOworICAgICAgICByZXR1cm4gYXBw
ZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQogCiAgICAgSklUQ29t
cGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihQX0pJVE9wZXJhdGlvbl9FSlMgb3BlcmF0aW9uLCBH
UFJSZWcgcmVzdWx0LCBHUFJSZWcgdmFsdWUsIHNpemVfdCBpbmRleCkKQEAgLTEzNTYsMjggKzEz
NTYsMjggQEAgcHVibGljOgogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oUF9K
SVRPcGVyYXRpb25fRVN0SiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIFN0cnVjdHVyZSogc3Ry
dWN0dXJlLCBHUFJSZWcgYXJnMikKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRz
V2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHN0cnVjdHVyZSksIGFyZzIpOwotICAgICAgICBy
ZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJl
c3VsdCk7CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVz
dWx0KTsKICAgICB9CiAKICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENfSklU
T3BlcmF0aW9uX0VKIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFyZzEpCiAgICAg
ewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSk7Ci0gICAg
ICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlv
biwgcmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9u
LCByZXN1bHQpOwogICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKENf
SklUT3BlcmF0aW9uX0VKSkMgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSwg
R1BSUmVnIGFyZzIsIEdQUlJlZyBhcmczKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1
bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIsIGFyZzMpOwotICAgICAgICByZXR1cm4gYXBw
ZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7Cisg
ICAgICAgIHJldHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKICAg
ICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihDX0pJVE9wZXJhdGlvbl9F
Slogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIpCiAg
ICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJn
Mik7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0
KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQo
b3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3Bl
cmF0aW9uKENfSklUT3BlcmF0aW9uX0VKWkMgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJS
ZWcgYXJnMSwgR1BSUmVnIGFyZzIsIEdQUlJlZyBhcmczKQogICAgIHsKICAgICAgICAgbV9qaXQu
c2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIsIGFyZzMpOwotICAgICAgICBy
ZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJl
c3VsdCk7CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVz
dWx0KTsKICAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihTX0pJVE9w
ZXJhdGlvbl9KIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFyZzEpCiAgICAgewpA
QCAtMTM4NywxMjIgKzEzODcsMTIyIEBAIHB1YmxpYzoKICAgICBKSVRDb21waWxlcjo6Q2FsbCBj
YWxsT3BlcmF0aW9uKFNfSklUT3BlcmF0aW9uX0VKIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwg
R1BSUmVnIGFyZzEpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVj
U3RhdGUoYXJnMSk7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNr
U2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxT
ZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2Fs
bCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3Vs
dCwgR1BSUmVnIGFyZzEpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhF
eGVjU3RhdGUoYXJnMSk7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNo
ZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENh
bGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KICAgICBKSVRDb21waWxlcjo6
Q2FsbCBjYWxsT3BlcmF0aW9uKFNfSklUT3BlcmF0aW9uX0VKSiBvcGVyYXRpb24sIEdQUlJlZyBy
ZXN1bHQsIEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMikKICAgICB7CiAgICAgICAgIG1faml0LnNl
dHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyKTsKLSAgICAgICAgcmV0dXJuIGFw
cGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwor
ICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAg
ICAgfQogCiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlv
bl9FUFAgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIp
CiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwg
YXJnMik7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVz
dWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1
bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxs
T3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKSiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQ
UlJlZyBhcmcxLCBHUFJSZWcgYXJnMikKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1l
bnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxX
aXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOworICAgICAgICBy
ZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQogICAg
IEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpKIG9wZXJh
dGlvbiwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFyZzEsIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVk
SW1tMzIgaW1tKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0
YXRlKGFyZzEsIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5jb2RlKGpz
TnVtYmVyKGltbS5tX3ZhbHVlKSkpKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhj
ZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOworICAgICAgICByZXR1cm4g
YXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQogICAgIEpJVENv
bXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUpKIG9wZXJhdGlvbiwg
R1BSUmVnIHJlc3VsdCwgTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMiBpbW0sIEdQUlJlZyBh
cmcyKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKE1h
Y3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tNjQoSlNWYWx1ZTo6ZW5jb2RlKGpzTnVtYmVyKGltbS5t
X3ZhbHVlKSkpLCBhcmcyKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9u
Q2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOworICAgICAgICByZXR1cm4gYXBwZW5k
Q2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQogICAgIEpJVENvbXBpbGVy
OjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUNDIG9wZXJhdGlvbiwgR1BSUmVn
IHJlc3VsdCwgR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyKQogICAgIHsKICAgICAgICAgbV9qaXQu
c2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIpOwotICAgICAgICByZXR1cm4g
YXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7
CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsK
ICAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlv
bl9FQ0ogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIp
CiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwg
YXJnMik7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVz
dWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1
bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxs
T3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VDSiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQ
UlJlZyBhcmcxLCBKU1ZhbHVlUmVncyBhcmcyKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBB
cmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIuZ3ByKCkpOwotICAgICAgICByZXR1cm4g
YXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7
CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsK
ICAgICB9CiAKICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0
aW9uX0VPWkQgb3BlcmF0aW9uLCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIsIEZQUlJlZyBhcmcz
KQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEs
IGFyZzIsIGFyZzMpOwotICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVj
ayhvcGVyYXRpb24pOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbChvcGVyYXRpb24pOwogICAg
IH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0VK
IG9wZXJhdGlvbiwgR1BSUmVnIGFyZzEpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3Vt
ZW50c1dpdGhFeGVjU3RhdGUoYXJnMSk7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4
Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsKG9wZXJh
dGlvbik7CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRP
cGVyYXRpb25fRUpQUCBvcGVyYXRpb24sIEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMiwgdm9pZCog
cG9pbnRlcikKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0
ZShhcmcxLCBhcmcyLCBUcnVzdGVkSW1tUHRyKHBvaW50ZXIpKTsKLSAgICAgICAgcmV0dXJuIGFw
cGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2sob3BlcmF0aW9uKTsKKyAgICAgICAgcmV0dXJuIGFw
cGVuZENhbGwob3BlcmF0aW9uKTsKICAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9w
ZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FU3NpSkpJIG9wZXJhdGlvbiwgU3RydWN0dXJlU3R1Yklu
Zm8qIHN0dWJJbmZvLCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIsIFVuaXF1ZWRTdHJpbmdJbXBs
KiB1aWQpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUo
VHJ1c3RlZEltbVB0cihzdHViSW5mbyksIGFyZzEsIGFyZzIsIFRydXN0ZWRJbW1QdHIodWlkKSk7
Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7
CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsKG9wZXJhdGlvbik7CiAgICAgfQogICAgIEpJVENv
bXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRUpKSiBvcGVyYXRpb24s
IEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMiwgR1BSUmVnIGFyZzMpCiAgICAgewogICAgICAgICBt
X2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJnMiwgYXJnMyk7Ci0gICAg
ICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CisgICAg
ICAgIHJldHVybiBhcHBlbmRDYWxsKG9wZXJhdGlvbik7CiAgICAgfQogICAgIEpJVENvbXBpbGVy
OjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRVBaSiBvcGVyYXRpb24sIEdQUlJl
ZyBhcmcxLCBHUFJSZWcgYXJnMiwgR1BSUmVnIGFyZzMpCiAgICAgewogICAgICAgICBtX2ppdC5z
ZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJnMiwgYXJnMyk7Ci0gICAgICAgIHJl
dHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CisgICAgICAgIHJl
dHVybiBhcHBlbmRDYWxsKG9wZXJhdGlvbik7CiAgICAgfQogCiAgICAgSklUQ29tcGlsZXI6OkNh
bGwgY2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FT1pKIG9wZXJhdGlvbiwgR1BSUmVnIGFy
ZzEsIEdQUlJlZyBhcmcyLCBHUFJSZWcgYXJnMykKICAgICB7CiAgICAgICAgIG1faml0LnNldHVw
QXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyLCBhcmczKTsKLSAgICAgICAgcmV0dXJu
IGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2sob3BlcmF0aW9uKTsKKyAgICAgICAgcmV0dXJu
IGFwcGVuZENhbGwob3BlcmF0aW9uKTsKICAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2Fs
bE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FQ0pKIG9wZXJhdGlvbiwgR1BSUmVnIGFyZzEsIEdQ
UlJlZyBhcmcyLCBHUFJSZWcgYXJnMykKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1l
bnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyLCBhcmczKTsKLSAgICAgICAgcmV0dXJuIGFwcGVu
ZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2sob3BlcmF0aW9uKTsKKyAgICAgICAgcmV0dXJuIGFwcGVu
ZENhbGwob3BlcmF0aW9uKTsKICAgICB9CiAKICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3Bl
cmF0aW9uKERfSklUT3BlcmF0aW9uX0VKIG9wZXJhdGlvbiwgRlBSUmVnIHJlc3VsdCwgR1BSUmVn
IGFyZzEpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUo
YXJnMSk7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVz
dWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1
bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KIAogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNh
bGxPcGVyYXRpb24oWl9KSVRPcGVyYXRpb25fRUpaWiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQs
IEdQUlJlZyBhcmcxLCB1bnNpZ25lZCBhcmcyLCB1bnNpZ25lZCBhcmczKQogICAgIHsKICAgICAg
ICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIFRydXN0ZWRJbW0zMihh
cmcyKSwgVHJ1c3RlZEltbTMyKGFyZzMpKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRo
RXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOworICAgICAgICByZXR1
cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQogICAgIEpJ
VENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oRl9KSVRPcGVyYXRpb25fRUZKWlogb3BlcmF0
aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIsIHVuc2lnbmVkIGFy
ZzMsIEdQUlJlZyBhcmc0KQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRo
RXhlY1N0YXRlKGFyZzEsIGFyZzIsIFRydXN0ZWRJbW0zMihhcmczKSwgYXJnNCk7Ci0gICAgICAg
IHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwg
cmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCBy
ZXN1bHQpOwogICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFpfSklU
T3BlcmF0aW9uX0VKWiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxLCB1bnNp
Z25lZCBhcmcyKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0
YXRlKGFyZzEsIFRydXN0ZWRJbW0zMihhcmcyKSk7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxs
V2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICAgICAg
cmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KICAg
ICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0VaSlpaWiBv
cGVyYXRpb24sIHVuc2lnbmVkIGFyZzEsIEdQUlJlZyBhcmcyLCB1bnNpZ25lZCBhcmczLCBHUFJS
ZWcgYXJnNCwgdW5zaWduZWQgYXJnNSkKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1l
bnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tMzIoYXJnMSksIGFyZzIsIFRydXN0ZWRJbW0zMihh
cmczKSwgYXJnNCwgVHJ1c3RlZEltbTMyKGFyZzUpKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENh
bGxXaXRoRXhjZXB0aW9uQ2hlY2sob3BlcmF0aW9uKTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENh
bGwob3BlcmF0aW9uKTsKICAgICB9CiAjZWxzZSAvLyBVU0UoSlNWQUxVRTMyXzY0KQogCkBAIC0x
NTM0LDE0MyArMTUzNCwxNDMgQEAgcHVibGljOgogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxP
cGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQ
UlJlZyByZXN1bHRQYXlsb2FkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNF
eGVjU3RhdGUoKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tT
ZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOworICAgICAgICBy
ZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBheWxvYWQsIHJlc3Vs
dFRhZyk7CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRP
cGVyYXRpb25fRVAgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0VGFnLCBHUFJSZWcgcmVzdWx0UGF5
bG9hZCwgdm9pZCogcG9pbnRlcikKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRz
V2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHBvaW50ZXIpKTsKLSAgICAgICAgcmV0dXJuIGFw
cGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXls
b2FkLCByZXN1bHRUYWcpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVy
YXRpb24sIHJlc3VsdFBheWxvYWQsIHJlc3VsdFRhZyk7CiAgICAgfQogICAgIEpJVENvbXBpbGVy
OjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRVBQIG9wZXJhdGlvbiwgR1BSUmVn
IHJlc3VsdFRhZywgR1BSUmVnIHJlc3VsdFBheWxvYWQsIEdQUlJlZyBhcmcxLCB2b2lkKiBwb2lu
dGVyKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFy
ZzEsIFRydXN0ZWRJbW1QdHIocG9pbnRlcikpOwotICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdp
dGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBheWxvYWQsIHJlc3Vs
dFRhZyk7CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVz
dWx0UGF5bG9hZCwgcmVzdWx0VGFnKTsKICAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2Fs
bE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FUCBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHRUYWcs
IEdQUlJlZyByZXN1bHRQYXlsb2FkLCBHUFJSZWcgYXJnMSkKICAgICB7CiAgICAgICAgIG1faml0
LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxKTsKLSAgICAgICAgcmV0dXJuIGFwcGVu
ZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2Fk
LCByZXN1bHRUYWcpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRp
b24sIHJlc3VsdFBheWxvYWQsIHJlc3VsdFRhZyk7CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpD
YWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUkgb3BlcmF0aW9uLCBHUFJSZWcgcmVz
dWx0VGFnLCBHUFJSZWcgcmVzdWx0UGF5bG9hZCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKICAg
ICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1t
UHRyKHVpZCkpOwotICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1Nl
dFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBheWxvYWQsIHJlc3VsdFRhZyk7CisgICAgICAgIHJl
dHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0UGF5bG9hZCwgcmVzdWx0
VGFnKTsKICAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9w
ZXJhdGlvbl9FQSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQYXls
b2FkLCBHUFJSZWcgYXJnMSkKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0
aEV4ZWNTdGF0ZShhcmcxKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9u
Q2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOworICAg
ICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBheWxvYWQs
IHJlc3VsdFRhZyk7CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24o
Sl9KSVRPcGVyYXRpb25fRUFaIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJl
c3VsdFBheWxvYWQsIEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMikKICAgICB7CiAgICAgICAgIG1f
aml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyKTsKLSAgICAgICAgcmV0
dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1
bHRQYXlsb2FkLCByZXN1bHRUYWcpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3Vs
dChvcGVyYXRpb24sIHJlc3VsdFBheWxvYWQsIHJlc3VsdFRhZyk7CiAgICAgfQogICAgIEpJVENv
bXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRUogb3BlcmF0aW9uLCBH
UFJSZWcgcmVzdWx0UGF5bG9hZCwgR1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIGFyZzEpCiAgICAg
ewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSk7Ci0gICAg
ICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlv
biwgcmVzdWx0UGF5bG9hZCwgcmVzdWx0VGFnKTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxT
ZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOwogICAgIH0KICAg
ICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKQyBvcGVy
YXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQYXlsb2FkLCBHUFJSZWcgYXJn
MVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkLCBHUFJSZWcgYXJnMikKICAgICB7CiAgICAgICAgIG1f
aml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShFQUJJXzMyQklUX0RVTU1ZX0FSRyBhcmcx
UGF5bG9hZCwgYXJnMVRhZywgYXJnMik7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4
Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0UGF5bG9hZCwgcmVzdWx0VGFn
KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQ
YXlsb2FkLCByZXN1bHRUYWcpOwogICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3Bl
cmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc3NaIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywg
R1BSUmVnIHJlc3VsdFBheWxvYWQsIEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMikKICAgICB7CiAg
ICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyKTsKLSAg
ICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0
aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2Fs
bFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBheWxvYWQsIHJlc3VsdFRhZyk7CiAgICAgfQog
ICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25fRVBTIG9w
ZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJlc3VsdFBheWxvYWQsIHZvaWQqIHBv
aW50ZXIsIHNpemVfdCBzaXplKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNX
aXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIocG9pbnRlciksIFRydXN0ZWRJbW1QdHIoc2l6ZSkp
OwotICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChv
cGVyYXRpb24sIHJlc3VsdFBheWxvYWQsIHJlc3VsdFRhZyk7CisgICAgICAgIHJldHVybiBhcHBl
bmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0UGF5bG9hZCwgcmVzdWx0VGFnKTsKICAg
ICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9F
U1Mgb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0VGFnLCBHUFJSZWcgcmVzdWx0UGF5bG9hZCwgaW50
IHN0YXJ0Q29uc3RhbnQsIGludCBudW1Db25zdGFudHMpCiAgICAgewogICAgICAgICBtX2ppdC5z
ZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbTMyKHN0YXJ0Q29uc3RhbnQpLCBU
cnVzdGVkSW1tMzIobnVtQ29uc3RhbnRzKSk7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0
aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0UGF5bG9hZCwgcmVzdWx0
VGFnKTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1
bHRQYXlsb2FkLCByZXN1bHRUYWcpOwogICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxs
T3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKUCBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHRUYWcs
IEdQUlJlZyByZXN1bHRQYXlsb2FkLCBHUFJSZWcgYXJnMVRhZywgR1BSUmVnIGFyZzFQYXlsb2Fk
LCB2b2lkKiBwb2ludGVyKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRo
RXhlY1N0YXRlKEVBQklfMzJCSVRfRFVNTVlfQVJHIGFyZzFQYXlsb2FkLCBhcmcxVGFnLCBUcnVz
dGVkSW1tUHRyKHBvaW50ZXIpKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0
aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOwor
ICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBheWxv
YWQsIHJlc3VsdFRhZyk7CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRp
b24oSl9KSVRPcGVyYXRpb25fRUpQIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywgR1BSUmVn
IHJlc3VsdFBheWxvYWQsIEdQUlJlZyBhcmcxVGFnLCBHUFJSZWcgYXJnMVBheWxvYWQsIEdQUlJl
ZyBhcmcyKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRl
KEVBQklfMzJCSVRfRFVNTVlfQVJHIGFyZzFQYXlsb2FkLCBhcmcxVGFnLCBhcmcyKTsKLSAgICAg
ICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9u
LCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNl
dFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBheWxvYWQsIHJlc3VsdFRhZyk7CiAgICAgfQogCiAg
ICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FQyBvcGVy
YXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQYXlsb2FkLCBKU0NlbGwqIGNl
bGwpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1
c3RlZEltbVB0cihjZWxsKSk7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlv
bkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0UGF5bG9hZCwgcmVzdWx0VGFnKTsKKyAg
ICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2Fk
LCByZXN1bHRUYWcpOwogICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9u
KEpfSklUT3BlcmF0aW9uX0VDWiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQUlJlZyBy
ZXN1bHRQYXlsb2FkLCBHUFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIpCiAgICAgewogICAgICAgICBt
X2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJnMik7Ci0gICAgICAgIHJl
dHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVz
dWx0UGF5bG9hZCwgcmVzdWx0VGFnKTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1
bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOwogICAgIH0KICAgICBKSVRD
b21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKc2NDIG9wZXJhdGlv
biwgR1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJlc3VsdFBheWxvYWQsIEdQUlJlZyBhcmcxLCBK
U0NlbGwqIGNlbGwpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVj
U3RhdGUoYXJnMSwgVHJ1c3RlZEltbVB0cihjZWxsKSk7Ci0gICAgICAgIHJldHVybiBhcHBlbmRD
YWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0UGF5bG9hZCwg
cmVzdWx0VGFnKTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9u
LCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOwogICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2Fs
bCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VTc2lDSSBvcGVyYXRpb24sIEdQUlJlZyBy
ZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQYXlsb2FkLCBTdHJ1Y3R1cmVTdHViSW5mbyogc3R1Yklu
Zm8sIEdQUlJlZyBhcmcxLCBjb25zdCBVbmlxdWVkU3RyaW5nSW1wbCogdWlkKQogICAgIHsKICAg
ICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW1QdHIoc3R1
YkluZm8pLCBhcmcxLCBUcnVzdGVkSW1tUHRyKHVpZCkpOwotICAgICAgICByZXR1cm4gYXBwZW5k
Q2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBheWxvYWQs
IHJlc3VsdFRhZyk7CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlv
biwgcmVzdWx0UGF5bG9hZCwgcmVzdWx0VGFnKTsKICAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNh
bGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FU3NpSkkgb3BlcmF0aW9uLCBHUFJSZWcg
cmVzdWx0VGFnLCBHUFJSZWcgcmVzdWx0UGF5bG9hZCwgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJ
bmZvLCBHUFJSZWcgYXJnMVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkLCBVbmlxdWVkU3RyaW5nSW1w
bCogdWlkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRl
KFRydXN0ZWRJbW1QdHIoc3R1YkluZm8pLCBhcmcxUGF5bG9hZCwgYXJnMVRhZywgVHJ1c3RlZElt
bVB0cih1aWQpKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tT
ZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOworICAgICAgICBy
ZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBheWxvYWQsIHJlc3Vs
dFRhZyk7CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRP
cGVyYXRpb25fRVNzaUpJIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJlc3Vs
dFBheWxvYWQsIFN0cnVjdHVyZVN0dWJJbmZvKiBzdHViSW5mbywgaW50MzJfdCBhcmcxVGFnLCBH
UFJSZWcgYXJnMVBheWxvYWQsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCiAgICAgewogICAgICAg
ICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihzdHViSW5m
byksIGFyZzFQYXlsb2FkLCBUcnVzdGVkSW1tMzIoYXJnMVRhZyksIFRydXN0ZWRJbW1QdHIodWlk
KSk7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0
KG9wZXJhdGlvbiwgcmVzdWx0UGF5bG9hZCwgcmVzdWx0VGFnKTsKKyAgICAgICAgcmV0dXJuIGFw
cGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOwog
ICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9u
X0VEQSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQYXlsb2FkLCBG
UFJSZWcgYXJnMSwgR1BSUmVnIGFyZzIpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3Vt
ZW50c1dpdGhFeGVjU3RhdGUoRUFCSV8zMkJJVF9EVU1NWV9BUkcgYXJnMSwgYXJnMik7Ci0gICAg
ICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlv
biwgcmVzdWx0UGF5bG9hZCwgcmVzdWx0VGFnKTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxT
ZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOwogICAgIH0KICAg
ICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKQSBvcGVy
YXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQYXlsb2FkLCBHUFJSZWcgYXJn
MVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkLCBHUFJSZWcgYXJnMikKICAgICB7CiAgICAgICAgIG1f
aml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShFQUJJXzMyQklUX0RVTU1ZX0FSRyBhcmcx
UGF5bG9hZCwgYXJnMVRhZywgYXJnMik7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4
Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0UGF5bG9hZCwgcmVzdWx0VGFn
KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQ
YXlsb2FkLCByZXN1bHRUYWcpOwogICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3Bl
cmF0aW9uKEpfSklUT3BlcmF0aW9uX0VKQSBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQ
UlJlZyByZXN1bHRQYXlsb2FkLCBUcnVzdGVkSW1tMzIgYXJnMVRhZywgR1BSUmVnIGFyZzFQYXls
b2FkLCBHUFJSZWcgYXJnMikKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0
aEV4ZWNTdGF0ZShFQUJJXzMyQklUX0RVTU1ZX0FSRyBhcmcxUGF5bG9hZCwgYXJnMVRhZywgYXJn
Mik7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0
KG9wZXJhdGlvbiwgcmVzdWx0UGF5bG9hZCwgcmVzdWx0VGFnKTsKKyAgICAgICAgcmV0dXJuIGFw
cGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOwog
ICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9u
X0VKIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJlc3VsdFBheWxvYWQsIEdQ
UlJlZyBhcmcxVGFnLCBHUFJSZWcgYXJnMVBheWxvYWQpCiAgICAgewogICAgICAgICBtX2ppdC5z
ZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoRUFCSV8zMkJJVF9EVU1NWV9BUkcgYXJnMVBheWxv
YWQsIGFyZzFUYWcpOwotICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVj
a1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBheWxvYWQsIHJlc3VsdFRhZyk7CisgICAgICAg
IHJldHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0UGF5bG9hZCwgcmVz
dWx0VGFnKTsKICAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJ
VE9wZXJhdGlvbl9FWiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQ
YXlsb2FkLCBHUFJSZWcgYXJnMSkKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRz
V2l0aEV4ZWNTdGF0ZShhcmcxKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0
aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOwor
ICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBheWxv
YWQsIHJlc3VsdFRhZyk7CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRp
b24oSl9KSVRPcGVyYXRpb25fRVogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0VGFnLCBHUFJSZWcg
cmVzdWx0UGF5bG9hZCwgaW50MzJfdCBhcmcxKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBB
cmd1bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW0zMihhcmcxKSk7Ci0gICAgICAgIHJldHVy
biBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0
UGF5bG9hZCwgcmVzdWx0VGFnKTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQo
b3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOwogICAgIH0KICAgICBKSVRDb21w
aWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VaSWNmWiBvcGVyYXRpb24s
IEdQUlJlZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQYXlsb2FkLCBpbnQzMl90IGFyZzEsIElu
bGluZUNhbGxGcmFtZSogaW5saW5lQ2FsbEZyYW1lLCBHUFJSZWcgYXJnMikKICAgICB7CiAgICAg
ICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tMzIoYXJnMSks
IFRydXN0ZWRJbW1QdHIoaW5saW5lQ2FsbEZyYW1lKSwgYXJnMik7Ci0gICAgICAgIHJldHVybiBh
cHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0UGF5
bG9hZCwgcmVzdWx0VGFnKTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3Bl
cmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcpOwogICAgIH0KICAgICBKSVRDb21waWxl
cjo6Q2FsbCBjYWxsT3BlcmF0aW9uKEpfSklUT3BlcmF0aW9uX0VaWiBvcGVyYXRpb24sIEdQUlJl
ZyByZXN1bHRUYWcsIEdQUlJlZyByZXN1bHRQYXlsb2FkLCBpbnQzMl90IGFyZzEsIEdQUlJlZyBh
cmcyKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKFRy
dXN0ZWRJbW0zMihhcmcxKSwgYXJnMik7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4
Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0UGF5bG9hZCwgcmVzdWx0VGFn
KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQ
YXlsb2FkLCByZXN1bHRUYWcpOwogICAgIH0KIAogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxP
cGVyYXRpb24oUF9KSVRPcGVyYXRpb25fRUpTIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgSlNW
YWx1ZVJlZ3MgdmFsdWUsIHNpemVfdCBpbmRleCkKQEAgLTE2ODIsMTM3ICsxNjgyLDEzNyBAQCBw
dWJsaWM6CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihQX0pJVE9wZXJhdGlv
bl9FU3RKIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEdQ
UlJlZyBhcmcyVGFnLCBHUFJSZWcgYXJnMlBheWxvYWQpCiAgICAgewogICAgICAgICBtX2ppdC5z
ZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoVHJ1c3RlZEltbVB0cihzdHJ1Y3R1cmUpLCBhcmcy
UGF5bG9hZCwgYXJnMlRhZyk7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlv
bkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIGFwcGVu
ZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAgIH0KIAogICAgIEpJVENvbXBp
bGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oQ19KSVRPcGVyYXRpb25fRUogb3BlcmF0aW9uLCBHUFJS
ZWcgcmVzdWx0LCBHUFJSZWcgYXJnMVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkKQogICAgIHsKICAg
ICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKEVBQklfMzJCSVRfRFVNTVlf
QVJHIGFyZzFQYXlsb2FkLCBhcmcxVGFnKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRo
RXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwotICAgIH0KLSAgICBK
SVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFNfSklUT3BlcmF0aW9uX0ogb3BlcmF0aW9u
LCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkKQotICAg
IHsKLSAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHMoYXJnMVBheWxvYWQsIGFyZzFUYWcpOwog
ICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAg
ICAgfQorICAgIC8vSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihTX0pJVE9wZXJhdGlv
bl9KIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFyZzFUYWcsIEdQUlJlZyBhcmcx
UGF5bG9hZCkKKyAgICAvL3sKKyAgICAvLyAgICBtX2ppdC5zZXR1cEFyZ3VtZW50cyhhcmcxUGF5
bG9hZCwgYXJnMVRhZyk7CisgICAgLy8gICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3Bl
cmF0aW9uLCByZXN1bHQpOworICAgIC8vfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVy
YXRpb24oU19KSVRPcGVyYXRpb25fRUogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcg
YXJnMVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBB
cmd1bWVudHNXaXRoRXhlY1N0YXRlKEVBQklfMzJCSVRfRFVNTVlfQVJHIGFyZzFQYXlsb2FkLCBh
cmcxVGFnKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRS
ZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJl
c3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQogCiAgICAgSklUQ29tcGlsZXI6OkNhbGwg
Y2FsbE9wZXJhdGlvbihTX0pJVE9wZXJhdGlvbl9FSkogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0
LCBHUFJSZWcgYXJnMVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkLCBHUFJSZWcgYXJnMlRhZywgR1BS
UmVnIGFyZzJQYXlsb2FkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRo
RXhlY1N0YXRlKEVBQklfMzJCSVRfRFVNTVlfQVJHIGFyZzFQYXlsb2FkLCBhcmcxVGFnLCBTSDRf
MzJCSVRfRFVNTVlfQVJHIGFyZzJQYXlsb2FkLCBhcmcyVGFnKTsKLSAgICAgICAgcmV0dXJuIGFw
cGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwor
ICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAg
ICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRpb25f
RUpKIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJlc3VsdFBheWxvYWQsIEdQ
UlJlZyBhcmcxVGFnLCBHUFJSZWcgYXJnMVBheWxvYWQsIEdQUlJlZyBhcmcyVGFnLCBHUFJSZWcg
YXJnMlBheWxvYWQpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVj
U3RhdGUoRUFCSV8zMkJJVF9EVU1NWV9BUkcgYXJnMVBheWxvYWQsIGFyZzFUYWcsIFNINF8zMkJJ
VF9EVU1NWV9BUkcgYXJnMlBheWxvYWQsIGFyZzJUYWcpOwotICAgICAgICByZXR1cm4gYXBwZW5k
Q2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBheWxvYWQs
IHJlc3VsdFRhZyk7CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsU2V0UmVzdWx0KG9wZXJhdGlv
biwgcmVzdWx0UGF5bG9hZCwgcmVzdWx0VGFnKTsKICAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNh
bGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FSkogb3BlcmF0aW9uLCBHUFJSZWcgcmVz
dWx0VGFnLCBHUFJSZWcgcmVzdWx0UGF5bG9hZCwgR1BSUmVnIGFyZzFUYWcsIEdQUlJlZyBhcmcx
UGF5bG9hZCwgTWFjcm9Bc3NlbWJsZXI6OlRydXN0ZWRJbW0zMiBpbW0pCiAgICAgewogICAgICAg
ICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoRUFCSV8zMkJJVF9EVU1NWV9BUkcg
YXJnMVBheWxvYWQsIGFyZzFUYWcsIFNINF8zMkJJVF9EVU1NWV9BUkcgaW1tLCBUcnVzdGVkSW1t
MzIoSlNWYWx1ZTo6SW50MzJUYWcpKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhj
ZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcp
OworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBh
eWxvYWQsIHJlc3VsdFRhZyk7CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVy
YXRpb24oSl9KSVRPcGVyYXRpb25fRUpKIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywgR1BS
UmVnIHJlc3VsdFBheWxvYWQsIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIgaW1tLCBHUFJS
ZWcgYXJnMlRhZywgR1BSUmVnIGFyZzJQYXlsb2FkKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0
dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKEVBQklfMzJCSVRfRFVNTVlfQVJHIGltbSwgVHJ1c3Rl
ZEltbTMyKEpTVmFsdWU6OkludDMyVGFnKSwgU0g0XzMyQklUX0RVTU1ZX0FSRyBhcmcyUGF5bG9h
ZCwgYXJnMlRhZyk7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNr
U2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0UGF5bG9hZCwgcmVzdWx0VGFnKTsKKyAgICAgICAg
cmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1
bHRUYWcpOwogICAgIH0KIAogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9K
SVRPcGVyYXRpb25fRUNKIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJlc3Vs
dFBheWxvYWQsIEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMlRhZywgR1BSUmVnIGFyZzJQYXlsb2Fk
KQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEs
IGFyZzJQYXlsb2FkLCBhcmcyVGFnKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhj
ZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCByZXN1bHRUYWcp
OworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdFBh
eWxvYWQsIHJlc3VsdFRhZyk7CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVy
YXRpb24oSl9KSVRPcGVyYXRpb25fRUNKIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywgR1BS
UmVnIHJlc3VsdFBheWxvYWQsIEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMlBheWxvYWQpCiAgICAg
ewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJnMSwgYXJnMlBh
eWxvYWQsIE1hY3JvQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6Q2VsbFRhZykpOwot
ICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChvcGVy
YXRpb24sIHJlc3VsdFBheWxvYWQsIHJlc3VsdFRhZyk7CisgICAgICAgIHJldHVybiBhcHBlbmRD
YWxsU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0UGF5bG9hZCwgcmVzdWx0VGFnKTsKICAgICB9
CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihKX0pJVE9wZXJhdGlvbl9FQ0og
b3BlcmF0aW9uLCBKU1ZhbHVlUmVncyByZXN1bHQsIEdQUlJlZyBhcmcxLCBKU1ZhbHVlUmVncyBh
cmcyKQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFy
ZzEsIGFyZzIucGF5bG9hZEdQUigpLCBhcmcyLnRhZ0dQUigpKTsKLSAgICAgICAgcmV0dXJuIGFw
cGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQucGF5
bG9hZEdQUigpLCByZXN1bHQudGFnR1BSKCkpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNl
dFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdC5wYXlsb2FkR1BSKCksIHJlc3VsdC50YWdHUFIoKSk7
CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oSl9KSVRPcGVyYXRp
b25fRUNDIG9wZXJhdGlvbiwgR1BSUmVnIHJlc3VsdFRhZywgR1BSUmVnIHJlc3VsdFBheWxvYWQs
IEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMikKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJn
dW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENh
bGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHRQYXlsb2FkLCBy
ZXN1bHRUYWcpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24s
IHJlc3VsdFBheWxvYWQsIHJlc3VsdFRhZyk7CiAgICAgfQogCiAgICAgSklUQ29tcGlsZXI6OkNh
bGwgY2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FT1pEIG9wZXJhdGlvbiwgR1BSUmVnIGFy
ZzEsIEdQUlJlZyBhcmcyLCBGUFJSZWcgYXJnMykKICAgICB7CiAgICAgICAgIG1faml0LnNldHVw
QXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShhcmcxLCBhcmcyLCBFQUJJXzMyQklUX0RVTU1ZX0FSRyBh
cmczKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2sob3BlcmF0
aW9uKTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGwob3BlcmF0aW9uKTsKICAgICB9CiAKICAg
ICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0VKIG9wZXJh
dGlvbiwgR1BSUmVnIGFyZzFUYWcsIEdQUlJlZyBhcmcxUGF5bG9hZCkKICAgICB7CiAgICAgICAg
IG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShFQUJJXzMyQklUX0RVTU1ZX0FSRyBh
cmcxUGF5bG9hZCwgYXJnMVRhZyk7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2Vw
dGlvbkNoZWNrKG9wZXJhdGlvbik7CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxsKG9wZXJhdGlv
bik7CiAgICAgfQogCiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihWX0pJVE9w
ZXJhdGlvbl9FSlBQIG9wZXJhdGlvbiwgR1BSUmVnIGFyZzFUYWcsIEdQUlJlZyBhcmcxUGF5bG9h
ZCwgR1BSUmVnIGFyZzIsIHZvaWQqIHBvaW50ZXIpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1
cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoRUFCSV8zMkJJVF9EVU1NWV9BUkcgYXJnMVBheWxvYWQs
IGFyZzFUYWcsIGFyZzIsIFRydXN0ZWRJbW1QdHIocG9pbnRlcikpOwotICAgICAgICByZXR1cm4g
YXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhvcGVyYXRpb24pOworICAgICAgICByZXR1cm4g
YXBwZW5kQ2FsbChvcGVyYXRpb24pOwogICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxs
T3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0VTc2lKSkkgb3BlcmF0aW9uLCBTdHJ1Y3R1cmVTdHVi
SW5mbyogc3R1YkluZm8sIEdQUlJlZyBhcmcxVGFnLCBHUFJSZWcgYXJnMVBheWxvYWQsIEdQUlJl
ZyBhcmcyUGF5bG9hZCwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKICAgICB7CiAgICAgICAgIG1f
aml0LnNldHVwQXJndW1lbnRzV2l0aEV4ZWNTdGF0ZShUcnVzdGVkSW1tUHRyKHN0dWJJbmZvKSwg
YXJnMVBheWxvYWQsIGFyZzFUYWcsIGFyZzJQYXlsb2FkLCBUcnVzdGVkSW1tMzIoSlNWYWx1ZTo6
Q2VsbFRhZyksIFRydXN0ZWRJbW1QdHIodWlkKSk7Ci0gICAgICAgIHJldHVybiBhcHBlbmRDYWxs
V2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CisgICAgICAgIHJldHVybiBhcHBlbmRDYWxs
KG9wZXJhdGlvbik7CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24o
Vl9KSVRPcGVyYXRpb25fRUNKSiBvcGVyYXRpb24sIEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMlRh
ZywgR1BSUmVnIGFyZzJQYXlsb2FkLCBHUFJSZWcgYXJnM1RhZywgR1BSUmVnIGFyZzNQYXlsb2Fk
KQogICAgIHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEs
IGFyZzJQYXlsb2FkLCBhcmcyVGFnLCBhcmczUGF5bG9hZCwgYXJnM1RhZyk7Ci0gICAgICAgIHJl
dHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKG9wZXJhdGlvbik7CisgICAgICAgIHJl
dHVybiBhcHBlbmRDYWxsKG9wZXJhdGlvbik7CiAgICAgfQogCiAgICAgSklUQ29tcGlsZXI6OkNh
bGwgY2FsbE9wZXJhdGlvbihWX0pJVE9wZXJhdGlvbl9FUFpKIG9wZXJhdGlvbiwgR1BSUmVnIGFy
ZzEsIEdQUlJlZyBhcmcyLCBHUFJSZWcgYXJnM1RhZywgR1BSUmVnIGFyZzNQYXlsb2FkKQogICAg
IHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIs
IEVBQklfMzJCSVRfRFVNTVlfQVJHIFNINF8zMkJJVF9EVU1NWV9BUkcgYXJnM1BheWxvYWQsIGFy
ZzNUYWcpOwotICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhvcGVy
YXRpb24pOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbChvcGVyYXRpb24pOwogICAgIH0KIAog
ICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oVl9KSVRPcGVyYXRpb25fRU9aSiBv
cGVyYXRpb24sIEdQUlJlZyBhcmcxLCBHUFJSZWcgYXJnMiwgR1BSUmVnIGFyZzNUYWcsIEdQUlJl
ZyBhcmczUGF5bG9hZCkKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJndW1lbnRzV2l0aEV4
ZWNTdGF0ZShhcmcxLCBhcmcyLCBFQUJJXzMyQklUX0RVTU1ZX0FSRyBTSDRfMzJCSVRfRFVNTVlf
QVJHIGFyZzNQYXlsb2FkLCBhcmczVGFnKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRo
RXhjZXB0aW9uQ2hlY2sob3BlcmF0aW9uKTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGwob3Bl
cmF0aW9uKTsKICAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihWX0pJ
VE9wZXJhdGlvbl9FT1pKIG9wZXJhdGlvbiwgR1BSUmVnIGFyZzEsIEdQUlJlZyBhcmcyLCBUcnVz
dGVkSW1tMzIgYXJnM1RhZywgR1BSUmVnIGFyZzNQYXlsb2FkKQogICAgIHsKICAgICAgICAgbV9q
aXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKGFyZzEsIGFyZzIsIEVBQklfMzJCSVRfRFVN
TVlfQVJHIFNINF8zMkJJVF9EVU1NWV9BUkcgYXJnM1BheWxvYWQsIGFyZzNUYWcpOwotICAgICAg
ICByZXR1cm4gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhvcGVyYXRpb24pOworICAgICAg
ICByZXR1cm4gYXBwZW5kQ2FsbChvcGVyYXRpb24pOwogICAgIH0KIAogICAgIEpJVENvbXBpbGVy
OjpDYWxsIGNhbGxPcGVyYXRpb24oRF9KSVRPcGVyYXRpb25fRUogb3BlcmF0aW9uLCBGUFJSZWcg
cmVzdWx0LCBHUFJSZWcgYXJnMVRhZywgR1BSUmVnIGFyZzFQYXlsb2FkKQogICAgIHsKICAgICAg
ICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKEVBQklfMzJCSVRfRFVNTVlfQVJH
IGFyZzFQYXlsb2FkLCBhcmcxVGFnKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhj
ZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOworICAgICAgICByZXR1cm4g
YXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJlc3VsdCk7CiAgICAgfQogCiAgICAgSklU
Q29tcGlsZXI6OkNhbGwgY2FsbE9wZXJhdGlvbihaX0pJVE9wZXJhdGlvbl9FSlpaIG9wZXJhdGlv
biwgR1BSUmVnIHJlc3VsdCwgR1BSUmVnIGFyZzFUYWcsIEdQUlJlZyBhcmcxUGF5bG9hZCwgdW5z
aWduZWQgYXJnMiwgdW5zaWduZWQgYXJnMykKICAgICB7CiAgICAgICAgIG1faml0LnNldHVwQXJn
dW1lbnRzV2l0aEV4ZWNTdGF0ZShFQUJJXzMyQklUX0RVTU1ZX0FSRyAgYXJnMVBheWxvYWQsIGFy
ZzFUYWcsIFRydXN0ZWRJbW0zMihhcmcyKSwgVHJ1c3RlZEltbTMyKGFyZzMpKTsKLSAgICAgICAg
cmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQob3BlcmF0aW9uLCBy
ZXN1bHQpOworICAgICAgICByZXR1cm4gYXBwZW5kQ2FsbFNldFJlc3VsdChvcGVyYXRpb24sIHJl
c3VsdCk7CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGxPcGVyYXRpb24oRl9KSVRP
cGVyYXRpb25fRUZKWlogb3BlcmF0aW9uLCBHUFJSZWcgcmVzdWx0LCBHUFJSZWcgYXJnMSwgR1BS
UmVnIGFyZzJUYWcsIEdQUlJlZyBhcmcyUGF5bG9hZCwgdW5zaWduZWQgYXJnMywgR1BSUmVnIGFy
ZzQpCiAgICAgewogICAgICAgICBtX2ppdC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoYXJn
MSwgYXJnMlBheWxvYWQsIGFyZzJUYWcsIFRydXN0ZWRJbW0zMihhcmczKSwgYXJnNCk7Ci0gICAg
ICAgIHJldHVybiBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlv
biwgcmVzdWx0KTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9u
LCByZXN1bHQpOwogICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFpf
SklUT3BlcmF0aW9uX0VKWiBvcGVyYXRpb24sIEdQUlJlZyByZXN1bHQsIEdQUlJlZyBhcmcxVGFn
LCBHUFJSZWcgYXJnMVBheWxvYWQsIHVuc2lnbmVkIGFyZzIpCiAgICAgewogICAgICAgICBtX2pp
dC5zZXR1cEFyZ3VtZW50c1dpdGhFeGVjU3RhdGUoRUFCSV8zMkJJVF9EVU1NWV9BUkcgYXJnMVBh
eWxvYWQsIGFyZzFUYWcsIFRydXN0ZWRJbW0zMihhcmcyKSk7Ci0gICAgICAgIHJldHVybiBhcHBl
bmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KG9wZXJhdGlvbiwgcmVzdWx0KTsKKyAg
ICAgICAgcmV0dXJuIGFwcGVuZENhbGxTZXRSZXN1bHQob3BlcmF0aW9uLCByZXN1bHQpOwogICAg
IH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsT3BlcmF0aW9uKFZfSklUT3BlcmF0aW9uX0Va
SlpaWiBvcGVyYXRpb24sIHVuc2lnbmVkIGFyZzEsIEdQUlJlZyBhcmcyVGFnLCBHUFJSZWcgYXJn
MlBheWxvYWQsIHVuc2lnbmVkIGFyZzMsIEdQUlJlZyBhcmc0LCB1bnNpZ25lZCBhcmc1KQogICAg
IHsKICAgICAgICAgbV9qaXQuc2V0dXBBcmd1bWVudHNXaXRoRXhlY1N0YXRlKFRydXN0ZWRJbW0z
MihhcmcxKSwgYXJnMlBheWxvYWQsIGFyZzJUYWcsIFRydXN0ZWRJbW0zMihhcmczKSwgYXJnNCwg
VHJ1c3RlZEltbTMyKGFyZzUpKTsKLSAgICAgICAgcmV0dXJuIGFwcGVuZENhbGxXaXRoRXhjZXB0
aW9uQ2hlY2sob3BlcmF0aW9uKTsKKyAgICAgICAgcmV0dXJuIGFwcGVuZENhbGwob3BlcmF0aW9u
KTsKICAgICB9CiAjdW5kZWYgRUFCSV8zMkJJVF9EVU1NWV9BUkcKICN1bmRlZiBTSDRfMzJCSVRf
RFVNTVlfQVJHCkBAIC0xODg0LDMwICsxODg0LDQwIEBAIHB1YmxpYzoKICAgICB2b2lkIHByZXBh
cmVGb3JFeHRlcm5hbENhbGwoKSB7IH0KICNlbmRpZgogCisgICAgdm9pZCBjaGVja0V4Y2VwdGlv
bigpCisgICAgeworICAgICAgICBDb2RlT3JpZ2luIG9yaWdpbiA9IG1fY3VycmVudE5vZGUtPm9y
aWdpbi5zZW1hbnRpYzsKKyAgICAgICAgc3RkOjp0dXBsZTxib29sLCBDb2RlT3JpZ2luLCBIYW5k
bGVySW5mbyo+IGV4Y2VwdGlvblJlc3VsdCA9IG1faml0LndpbGxDYXRjaEV4Y2VwdGlvbkluTWFj
aGluZUZyYW1lKG9yaWdpbik7IC8vIFdlIGFzc3VtZSBoZXJlIHRoYXQgc29tZWJvZHkgY2FsbGVk
IGFwcGVuZENhbGwgZmlyc3QuCisgICAgICAgIC8vIFdlIGFzc3VtZSBoZXJlIHRoYXQgdGhpcyBp
cyBjYWxsZWQgYWZ0ZXIgY2FsbE9wZWFydGlvbigpL2FwcGVuZENhbGwoKSBpcyBjYWxsZWQuCisg
ICAgICAgIC8vIFdlIHNob3VsZCBwcm9iYWJseSBtYWtlIHRoYXQgZXhwbGljaXQgaW4gdGhlIG5h
bWUsIGxpa2UgY2hlY2tFeGVwdGlvbkFmdGVyQ2FsbCgpLgorICAgICAgICBib29sIHdpbGxDYXRj
aEV4Y2VwdGlvbiA9IHN0ZDo6Z2V0PDA+KGV4Y2VwdGlvblJlc3VsdCk7CisgICAgICAgIGlmICh3
aWxsQ2F0Y2hFeGNlcHRpb24pCisgICAgICAgICAgICBvcmlnaW4gPSBzdGQ6OmdldDwxPihleGNl
cHRpb25SZXN1bHQpOyAgICAKKyAgICAgICAgaWYgKHdpbGxDYXRjaEV4Y2VwdGlvbikgeworICAg
ICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgaGFkRXhjZXB0aW9uID0gbV9qaXQuZW1pdE5v
blBhdGNoYWJsZUV4Y2VwdGlvbkNoZWNrKCk7CisgICAgICAgICAgICB1bnNpZ25lZCBzdHJlYW1J
bmRleCA9IG1fb3V0T2ZMaW5lU3RyZWFtSW5kZXggIT0gVUlOVF9NQVggPyBtX291dE9mTGluZVN0
cmVhbUluZGV4IDogbV9zdHJlYW0tPnNpemUoKTsKKyAgICAgICAgICAgIG1faml0LmFwcGVuZE9T
UkV4aXRGb3JFeGNlcHRpb25IYW5kbGluZyhvcmlnaW4sIHN0cmVhbUluZGV4LCBzdGQ6OmdldDwy
PihleGNlcHRpb25SZXN1bHQpLCBoYWRFeGNlcHRpb24pOworICAgICAgICB9IGVsc2UKKyAgICAg
ICAgICAgIG1faml0LmV4Y2VwdGlvbkNoZWNrKCk7CisgICAgfQogICAgIC8vIFRoZXNlIG1ldGhv
ZHMgYWRkIGNhbGwgaW5zdHJ1Y3Rpb25zLCB3aXRoIG9wdGlvbmFsIGV4Y2VwdGlvbiBjaGVja3Mg
JiBzZXR0aW5nIHJlc3VsdHMuCi0gICAgSklUQ29tcGlsZXI6OkNhbGwgYXBwZW5kQ2FsbFdpdGhF
eGNlcHRpb25DaGVjayhjb25zdCBGdW5jdGlvblB0ciYgZnVuY3Rpb24pCisgICAgSklUQ29tcGls
ZXI6OkNhbGwgYXBwZW5kQ2FsbChjb25zdCBGdW5jdGlvblB0ciYgZnVuY3Rpb24pCiAgICAgewog
ICAgICAgICBwcmVwYXJlRm9yRXh0ZXJuYWxDYWxsKCk7Ci0gICAgICAgIG1faml0LmVtaXRTdG9y
ZUNvZGVPcmlnaW4obV9jdXJyZW50Tm9kZS0+b3JpZ2luLnNlbWFudGljKTsKLSAgICAgICAgSklU
Q29tcGlsZXI6OkNhbGwgY2FsbCA9IG1faml0LmFwcGVuZENhbGwoZnVuY3Rpb24pOwotICAgICAg
ICBtX2ppdC5leGNlcHRpb25DaGVjaygpOwotICAgICAgICByZXR1cm4gY2FsbDsKKyAgICAgICAg
Q29kZU9yaWdpbiBvcmlnaW4gPSBtX2N1cnJlbnROb2RlLT5vcmlnaW4uc2VtYW50aWM7CisgICAg
ICAgIHN0ZDo6dHVwbGU8Ym9vbCwgQ29kZU9yaWdpbiwgSGFuZGxlckluZm8qPiBleGNlcHRpb25S
ZXN1bHQgPSBtX2ppdC53aWxsQ2F0Y2hFeGNlcHRpb25Jbk1hY2hpbmVGcmFtZShvcmlnaW4pOwor
ICAgICAgICBib29sIHdpbGxDYXRjaEV4Y2VwdGlvbiA9IHN0ZDo6Z2V0PDA+KGV4Y2VwdGlvblJl
c3VsdCk7CisgICAgICAgIGlmICh3aWxsQ2F0Y2hFeGNlcHRpb24pCisgICAgICAgICAgICBvcmln
aW4gPSBzdGQ6OmdldDwxPihleGNlcHRpb25SZXN1bHQpOyAgICAKKyAgICAgICAgbV9qaXQuZW1p
dFN0b3JlQ29kZU9yaWdpbihvcmlnaW4pOworICAgICAgICByZXR1cm4gbV9qaXQuYXBwZW5kQ2Fs
bChmdW5jdGlvbik7CiAgICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGFwcGVuZENhbGxXaXRo
Q2FsbEZyYW1lUm9sbGJhY2tPbkV4Y2VwdGlvbihjb25zdCBGdW5jdGlvblB0ciYgZnVuY3Rpb24p
CiAgICAgewotICAgICAgICBwcmVwYXJlRm9yRXh0ZXJuYWxDYWxsKCk7Ci0gICAgICAgIG1faml0
LmVtaXRTdG9yZUNvZGVPcmlnaW4obV9jdXJyZW50Tm9kZS0+b3JpZ2luLnNlbWFudGljKTsKLSAg
ICAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbCA9IG1faml0LmFwcGVuZENhbGwoZnVuY3Rpb24p
OworICAgICAgICBKSVRDb21waWxlcjo6Q2FsbCBjYWxsID0gYXBwZW5kQ2FsbChmdW5jdGlvbik7
CiAgICAgICAgIG1faml0LmV4Y2VwdGlvbkNoZWNrV2l0aENhbGxGcmFtZVJvbGxiYWNrKCk7CiAg
ICAgICAgIHJldHVybiBjYWxsOwogICAgIH0KLSAgICBKSVRDb21waWxlcjo6Q2FsbCBhcHBlbmRD
YWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KGNvbnN0IEZ1bmN0aW9uUHRyJiBmdW5jdGlv
biwgR1BSUmVnIHJlc3VsdCkKLSAgICB7Ci0gICAgICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGwg
PSBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKGZ1bmN0aW9uKTsKLSAgICAgICAgaWYgKChy
ZXN1bHQgIT0gSW52YWxpZEdQUlJlZykgJiYgKHJlc3VsdCAhPSBHUFJJbmZvOjpyZXR1cm5WYWx1
ZUdQUikpCi0gICAgICAgICAgICBtX2ppdC5tb3ZlKEdQUkluZm86OnJldHVyblZhbHVlR1BSLCBy
ZXN1bHQpOwotICAgICAgICByZXR1cm4gY2FsbDsKLSAgICB9CiAgICAgSklUQ29tcGlsZXI6OkNh
bGwgYXBwZW5kQ2FsbFdpdGhDYWxsRnJhbWVSb2xsYmFja09uRXhjZXB0aW9uU2V0UmVzdWx0KGNv
bnN0IEZ1bmN0aW9uUHRyJiBmdW5jdGlvbiwgR1BSUmVnIHJlc3VsdCkKICAgICB7CiAgICAgICAg
IEpJVENvbXBpbGVyOjpDYWxsIGNhbGwgPSBhcHBlbmRDYWxsV2l0aENhbGxGcmFtZVJvbGxiYWNr
T25FeGNlcHRpb24oZnVuY3Rpb24pOwpAQCAtMTkxNywzNSArMTkyNywxOCBAQCBwdWJsaWM6CiAg
ICAgfQogICAgIEpJVENvbXBpbGVyOjpDYWxsIGFwcGVuZENhbGxTZXRSZXN1bHQoY29uc3QgRnVu
Y3Rpb25QdHImIGZ1bmN0aW9uLCBHUFJSZWcgcmVzdWx0KQogICAgIHsKLSAgICAgICAgcHJlcGFy
ZUZvckV4dGVybmFsQ2FsbCgpOwotICAgICAgICBtX2ppdC5lbWl0U3RvcmVDb2RlT3JpZ2luKG1f
Y3VycmVudE5vZGUtPm9yaWdpbi5zZW1hbnRpYyk7Ci0gICAgICAgIEpJVENvbXBpbGVyOjpDYWxs
IGNhbGwgPSBtX2ppdC5hcHBlbmRDYWxsKGZ1bmN0aW9uKTsKKyAgICAgICAgSklUQ29tcGlsZXI6
OkNhbGwgY2FsbCA9IGFwcGVuZENhbGwoZnVuY3Rpb24pOwogICAgICAgICBpZiAocmVzdWx0ICE9
IEludmFsaWRHUFJSZWcpCiAgICAgICAgICAgICBtX2ppdC5tb3ZlKEdQUkluZm86OnJldHVyblZh
bHVlR1BSLCByZXN1bHQpOwogICAgICAgICByZXR1cm4gY2FsbDsKICAgICB9Ci0gICAgSklUQ29t
cGlsZXI6OkNhbGwgYXBwZW5kQ2FsbChjb25zdCBGdW5jdGlvblB0ciYgZnVuY3Rpb24pCisgICAg
SklUQ29tcGlsZXI6OkNhbGwgYXBwZW5kQ2FsbFNldFJlc3VsdChjb25zdCBGdW5jdGlvblB0ciYg
ZnVuY3Rpb24sIEdQUlJlZyByZXN1bHQxLCBHUFJSZWcgcmVzdWx0MikKICAgICB7Ci0gICAgICAg
IHByZXBhcmVGb3JFeHRlcm5hbENhbGwoKTsKLSAgICAgICAgbV9qaXQuZW1pdFN0b3JlQ29kZU9y
aWdpbihtX2N1cnJlbnROb2RlLT5vcmlnaW4uc2VtYW50aWMpOwotICAgICAgICByZXR1cm4gbV9q
aXQuYXBwZW5kQ2FsbChmdW5jdGlvbik7Ci0gICAgfQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGFw
cGVuZENhbGxXaXRoRXhjZXB0aW9uQ2hlY2tTZXRSZXN1bHQoY29uc3QgRnVuY3Rpb25QdHImIGZ1
bmN0aW9uLCBHUFJSZWcgcmVzdWx0MSwgR1BSUmVnIHJlc3VsdDIpCi0gICAgewotICAgICAgICBK
SVRDb21waWxlcjo6Q2FsbCBjYWxsID0gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhmdW5j
dGlvbik7CisgICAgICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGwgPSBhcHBlbmRDYWxsKGZ1bmN0
aW9uKTsKICAgICAgICAgbV9qaXQuc2V0dXBSZXN1bHRzKHJlc3VsdDEsIHJlc3VsdDIpOwogICAg
ICAgICByZXR1cm4gY2FsbDsKICAgICB9CiAjaWYgQ1BVKFg4NikKLSAgICBKSVRDb21waWxlcjo6
Q2FsbCBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrU2V0UmVzdWx0KGNvbnN0IEZ1bmN0aW9u
UHRyJiBmdW5jdGlvbiwgRlBSUmVnIHJlc3VsdCkKLSAgICB7Ci0gICAgICAgIEpJVENvbXBpbGVy
OjpDYWxsIGNhbGwgPSBhcHBlbmRDYWxsV2l0aEV4Y2VwdGlvbkNoZWNrKGZ1bmN0aW9uKTsKLSAg
ICAgICAgaWYgKHJlc3VsdCAhPSBJbnZhbGlkRlBSUmVnKSB7Ci0gICAgICAgICAgICBtX2ppdC5h
c3NlbWJsZXIoKS5mc3RwbCgwLCBKSVRDb21waWxlcjo6c3RhY2tQb2ludGVyUmVnaXN0ZXIpOwot
ICAgICAgICAgICAgbV9qaXQubG9hZERvdWJsZShKSVRDb21waWxlcjo6c3RhY2tQb2ludGVyUmVn
aXN0ZXIsIHJlc3VsdCk7Ci0gICAgICAgIH0KLSAgICAgICAgcmV0dXJuIGNhbGw7Ci0gICAgfQog
ICAgIEpJVENvbXBpbGVyOjpDYWxsIGFwcGVuZENhbGxTZXRSZXN1bHQoY29uc3QgRnVuY3Rpb25Q
dHImIGZ1bmN0aW9uLCBGUFJSZWcgcmVzdWx0KQogICAgIHsKICAgICAgICAgSklUQ29tcGlsZXI6
OkNhbGwgY2FsbCA9IGFwcGVuZENhbGwoZnVuY3Rpb24pOwpAQCAtMTk1NiwxMyArMTk0OSw2IEBA
IHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGNhbGw7CiAgICAgfQogI2VsaWYgQ1BVKEFSTSkgJiYg
IUNQVShBUk1fSEFSREZQKQotICAgIEpJVENvbXBpbGVyOjpDYWxsIGFwcGVuZENhbGxXaXRoRXhj
ZXB0aW9uQ2hlY2tTZXRSZXN1bHQoY29uc3QgRnVuY3Rpb25QdHImIGZ1bmN0aW9uLCBGUFJSZWcg
cmVzdWx0KQotICAgIHsKLSAgICAgICAgSklUQ29tcGlsZXI6OkNhbGwgY2FsbCA9IGFwcGVuZENh
bGxXaXRoRXhjZXB0aW9uQ2hlY2soZnVuY3Rpb24pOwotICAgICAgICBpZiAocmVzdWx0ICE9IElu
dmFsaWRGUFJSZWcpCi0gICAgICAgICAgICBtX2ppdC5hc3NlbWJsZXIoKS52bW92KHJlc3VsdCwg
R1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIsIEdQUkluZm86OnJldHVyblZhbHVlR1BSMik7Ci0gICAg
ICAgIHJldHVybiBjYWxsOwotICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBhcHBlbmRDYWxs
U2V0UmVzdWx0KGNvbnN0IEZ1bmN0aW9uUHRyJiBmdW5jdGlvbiwgRlBSUmVnIHJlc3VsdCkKICAg
ICB7CiAgICAgICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGwgPSBhcHBlbmRDYWxsKGZ1bmN0aW9u
KTsKQEAgLTE5NzEsMTMgKzE5NTcsNiBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBjYWxsOwog
ICAgIH0KICNlbHNlIC8vIENQVShYODZfNjQpIHx8IChDUFUoQVJNKSAmJiBDUFUoQVJNX0hBUkRG
UCkpIHx8IENQVShBUk02NCkgfHwgQ1BVKE1JUFMpIHx8IENQVShTSDQpCi0gICAgSklUQ29tcGls
ZXI6OkNhbGwgYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVja1NldFJlc3VsdChjb25zdCBGdW5j
dGlvblB0ciYgZnVuY3Rpb24sIEZQUlJlZyByZXN1bHQpCi0gICAgewotICAgICAgICBKSVRDb21w
aWxlcjo6Q2FsbCBjYWxsID0gYXBwZW5kQ2FsbFdpdGhFeGNlcHRpb25DaGVjayhmdW5jdGlvbik7
Ci0gICAgICAgIGlmIChyZXN1bHQgIT0gSW52YWxpZEZQUlJlZykKLSAgICAgICAgICAgIG1faml0
Lm1vdmVEb3VibGUoRlBSSW5mbzo6cmV0dXJuVmFsdWVGUFIsIHJlc3VsdCk7Ci0gICAgICAgIHJl
dHVybiBjYWxsOwotICAgIH0KICAgICBKSVRDb21waWxlcjo6Q2FsbCBhcHBlbmRDYWxsU2V0UmVz
dWx0KGNvbnN0IEZ1bmN0aW9uUHRyJiBmdW5jdGlvbiwgRlBSUmVnIHJlc3VsdCkKICAgICB7CiAg
ICAgICAgIEpJVENvbXBpbGVyOjpDYWxsIGNhbGwgPSBhcHBlbmRDYWxsKGZ1bmN0aW9uKTsKQEAg
LTI0OTMsNiArMjQ3Miw3IEBAIHB1YmxpYzoKICAgICBBYnN0cmFjdEludGVycHJldGVyPEluUGxh
Y2VBYnN0cmFjdFN0YXRlPiBtX2ludGVycHJldGVyOwogICAgIAogICAgIFZhcmlhYmxlRXZlbnRT
dHJlYW0qIG1fc3RyZWFtOworICAgIHVuc2lnbmVkIG1fb3V0T2ZMaW5lU3RyZWFtSW5kZXggeyBV
SU5UX01BWCB9OwogICAgIE1pbmlmaWVkR3JhcGgqIG1fbWluaWZpZWRHcmFwaDsKICAgICAKICAg
ICBib29sIG1faXNDaGVja2luZ0FyZ3VtZW50VHlwZXM7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnkuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZnRsL0ZUTEludHJpbnNpY1JlcG9zaXRvcnkuaAkocmV2aXNpb24gMTg4
NTA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbnRyaW5zaWNSZXBvc2l0b3J5
LmgJKHdvcmtpbmcgY29weSkKQEAgLTExNCw2ICsxMTQsNyBAQCBuYW1lc3BhY2UgSlNDIHsgbmFt
ZXNwYWNlIEZUTCB7CiAgICAgbWFjcm8oVl9KSVRPcGVyYXRpb25fRVpKWlpaLCBmdW5jdGlvblR5
cGUodm9pZFR5cGUsIGludFB0ciwgaW50MzIsIGludDY0LCBpbnQzMiwgaW50MzIsIGludDMyKSkg
XAogICAgIG1hY3JvKFZfSklUT3BlcmF0aW9uX0osIGZ1bmN0aW9uVHlwZSh2b2lkVHlwZSwgaW50
NjQpKSBcCiAgICAgbWFjcm8oVl9KSVRPcGVyYXRpb25fWiwgZnVuY3Rpb25UeXBlKHZvaWRUeXBl
LCBpbnQzMikpIFwKKyAgICBtYWNybyhWX0pJVE9wZXJhdGlvbl9FLCBmdW5jdGlvblR5cGUodm9p
ZFR5cGUsIGludFB0cikpIFwKICAgICBtYWNybyhaX0pJVE9wZXJhdGlvbl9ELCBmdW5jdGlvblR5
cGUoaW50MzIsIGRvdWJsZVR5cGUpKSBcCiAgICAgbWFjcm8oWl9KSVRPcGVyYXRpb25fRUMsIGZ1
bmN0aW9uVHlwZShpbnQzMiwgaW50UHRyLCBpbnRQdHIpKSBcCiAgICAgbWFjcm8oWl9KSVRPcGVy
YXRpb25fRUdDLCBmdW5jdGlvblR5cGUoaW50MzIsIGludFB0ciwgaW50UHRyLCBpbnRQdHIpKSBc
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZN
LmNwcAkocmV2aXNpb24gMTg4NTA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExM
b3dlckRGR1RvTExWTS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTc5OTQsNyArNzk5NCw3IEBAIHBy
aXZhdGU6CiAgICAgdm9pZCBjYWxsQ2hlY2soKQogICAgIHsKICAgICAgICAgaWYgKE9wdGlvbnM6
OmVuYWJsZUV4Y2VwdGlvbkZ1enooKSkKLSAgICAgICAgICAgIG1fb3V0LmNhbGwobV9vdXQub3Bl
cmF0aW9uKG9wZXJhdGlvbkV4Y2VwdGlvbkZ1enopKTsKKyAgICAgICAgICAgIG1fb3V0LmNhbGwo
bV9vdXQub3BlcmF0aW9uKG9wZXJhdGlvbkV4Y2VwdGlvbkZ1enopLCBtX2NhbGxGcmFtZSk7CiAg
ICAgICAgIAogICAgICAgICBMQmFzaWNCbG9jayBjb250aW51YXRpb24gPSBGVExfTkVXX0JMT0NL
KG1fb3V0LCAoIkV4Y2VwdGlvbiBjaGVjayBjb250aW51YXRpb24iKSk7CiAgICAgICAgIApJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPU1JFeGl0LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4aXQuY3BwCShyZXZpc2lvbiAxODg1
MDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4aXQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC00NSw3ICs0NSw3IEBAIE9TUkV4aXQ6Ok9TUkV4aXQoCiAgICAgTWV0aG9kT2ZH
ZXR0aW5nQVZhbHVlUHJvZmlsZSB2YWx1ZVByb2ZpbGUsIENvZGVPcmlnaW4gY29kZU9yaWdpbiwK
ICAgICBDb2RlT3JpZ2luIG9yaWdpbkZvclByb2ZpbGUsIHVuc2lnbmVkIG51bWJlck9mQXJndW1l
bnRzLAogICAgIHVuc2lnbmVkIG51bWJlck9mTG9jYWxzKQotICAgIDogT1NSRXhpdEJhc2UoZXhp
dEtpbmQsIGNvZGVPcmlnaW4sIG9yaWdpbkZvclByb2ZpbGUpCisgICAgOiBPU1JFeGl0QmFzZShl
eGl0S2luZCwgY29kZU9yaWdpbiwgb3JpZ2luRm9yUHJvZmlsZSwgY29kZU9yaWdpbi5ieXRlY29k
ZUluZGV4KQogICAgICwgbV9wcm9maWxlVmFsdWVGb3JtYXQocHJvZmlsZVZhbHVlRm9ybWF0KQog
ICAgICwgbV92YWx1ZVByb2ZpbGUodmFsdWVQcm9maWxlKQogICAgICwgbV9wYXRjaGFibGVDb2Rl
T2Zmc2V0KDApCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4aXRDb21w
aWxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPU1JF
eGl0Q29tcGlsZXIuY3BwCShyZXZpc2lvbiAxODg1MDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTE9TUkV4aXRDb21waWxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3Miw3ICs0
NzIsNyBAQCBzdGF0aWMgdm9pZCBjb21waWxlU3R1YigKICAgICAKICAgICBoYW5kbGVFeGl0Q291
bnRzKGppdCwgZXhpdCk7CiAgICAgcmVpZnlJbmxpbmVkQ2FsbEZyYW1lcyhqaXQsIGV4aXQpOwot
ICAgIGFkanVzdEFuZEp1bXBUb1RhcmdldChqaXQsIGV4aXQpOworICAgIGFkanVzdEFuZEp1bXBU
b1RhcmdldChqaXQsIGV4aXQsIGZhbHNlKTsKICAgICAKICAgICBMaW5rQnVmZmVyIHBhdGNoQnVm
ZmVyKCp2bSwgaml0LCBjb2RlQmxvY2spOwogICAgIGV4aXQubV9jb2RlID0gRklOQUxJWkVfQ09E
RV9JRigKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRl
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0lu
dGVycHJldGVyLmNwcAkocmV2aXNpb24gMTg4NTA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjI3LDcgKzYy
Nyw3IEBAIHB1YmxpYzoKICAgICAgICAgVk0mIHZtID0gbV9jYWxsRnJhbWUtPnZtKCk7CiAgICAg
ICAgIG1fdm1FbnRyeUZyYW1lID0gdmlzaXRvci0+dm1FbnRyeUZyYW1lKCk7CiAgICAgICAgIG1f
Y2FsbEZyYW1lID0gdmlzaXRvci0+Y2FsbEZyYW1lKCk7Ci0gICAgICAgIG1fY29kZUJsb2NrID0g
dmlzaXRvci0+Y29kZUJsb2NrKCk7CisgICAgICAgIG1fY29kZUJsb2NrID0gdmlzaXRvci5tYWNo
aW5lQ29kZUJsb2NrRm9yRnJhbWUoKTsKICAgICAgICAgdW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQg
PSB2aXNpdG9yLT5ieXRlY29kZU9mZnNldCgpOwogCiAgICAgICAgIGlmIChtX2lzVGVybWluYXRp
b24gfHwgIShtX2hhbmRsZXIgPSBtX2NvZGVCbG9jayA/IG1fY29kZUJsb2NrLT5oYW5kbGVyRm9y
Qnl0ZWNvZGVPZmZzZXQoYnl0ZWNvZGVPZmZzZXQpIDogbnVsbHB0cikpIHsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9TdGFja1Zpc2l0b3IuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9TdGFja1Zpc2l0b3IuY3BwCShy
ZXZpc2lvbiAxODg1MDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3Rh
Y2tWaXNpdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjgsNiArNjgsMTYgQEAgdm9pZCBTdGFj
a1Zpc2l0b3I6OmdvdG9OZXh0RnJhbWUoKQogICAgIHJlYWRGcmFtZShtX2ZyYW1lLmNhbGxlckZy
YW1lKCkpOwogfQogCitDb2RlQmxvY2sqIFN0YWNrVmlzaXRvcjo6bWFjaGluZUNvZGVCbG9ja0Zv
ckZyYW1lKCkKK3sKKyAgICBGcmFtZSBzYXZlRnJhbWUgPSBtX2ZyYW1lOworICAgIHdoaWxlICht
X2ZyYW1lLmlzSW5saW5lZEZyYW1lKCkpCisgICAgICAgIGdvdG9OZXh0RnJhbWUoKTsKKyAgICBD
b2RlQmxvY2sqIHJlc3VsdCA9IG1fZnJhbWUuY29kZUJsb2NrKCk7CisgICAgbV9mcmFtZSA9IHNh
dmVGcmFtZTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiB2b2lkIFN0YWNrVmlzaXRvcjo6cmVh
ZEZyYW1lKENhbGxGcmFtZSogY2FsbEZyYW1lKQogewogICAgIGlmICghY2FsbEZyYW1lKSB7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9yLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1N0YWNrVmlzaXRv
ci5oCShyZXZpc2lvbiAxODg1MDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0
ZXIvU3RhY2tWaXNpdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzMCw2ICsxMzAsNyBAQCBwdWJs
aWM6CiAKICAgICBGcmFtZSYgb3BlcmF0b3IqKCkgeyByZXR1cm4gbV9mcmFtZTsgfQogICAgIEFM
V0FZU19JTkxJTkUgRnJhbWUqIG9wZXJhdG9yLT4oKSB7IHJldHVybiAmbV9mcmFtZTsgfQorICAg
IENvZGVCbG9jayogbWFjaGluZUNvZGVCbG9ja0ZvckZyYW1lKCk7CiAKIHByaXZhdGU6CiAgICAg
SlNfRVhQT1JUX1BSSVZBVEUgU3RhY2tWaXNpdG9yKENhbGxGcmFtZSogc3RhcnRGcmFtZSk7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVscGVycy5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuY3BwCShy
ZXZpc2lvbiAxODg1MDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVs
cGVycy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwMSwxNSArMjAxLDQwIEBAIHZvaWQgQXNzZW1i
bHlIZWxwZXJzOjpjYWxsRXhjZXB0aW9uRnV6eigKICAgICBpZiAoIU9wdGlvbnM6OmVuYWJsZUV4
Y2VwdGlvbkZ1enooKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgQVNTRVJUKHN0YWNrQWxpZ25t
ZW50Qnl0ZXMoKSA+PSBzaXplb2Yodm9pZCopICogMik7Ci0gICAgc3ViUHRyKFRydXN0ZWRJbW0z
MihzdGFja0FsaWdubWVudEJ5dGVzKCkpLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7Ci0gICAgcG9r
ZShHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQUiwgMCk7Ci0gICAgcG9rZShHUFJJbmZvOjpyZXR1cm5W
YWx1ZUdQUjIsIDEpOworICAgIEVuY29kZWRKU1ZhbHVlKiBidWZmZXIgPSB2bSgpLT5leGNlcHRp
b25GdXp6aW5nQnVmZmVyKHNpemVvZihFbmNvZGVkSlNWYWx1ZSkgKiAoR1BSSW5mbzo6bnVtYmVy
T2ZSZWdpc3RlcnMgKyBGUFJJbmZvOjpudW1iZXJPZlJlZ2lzdGVycykpOworCisgICAgZm9yICh1
bnNpZ25lZCBpID0gMDsgaSA8IEdQUkluZm86Om51bWJlck9mUmVnaXN0ZXJzOyArK2kpIHsKKyNp
ZiBVU0UoSlNWQUxVRTY0KQorICAgICAgICBzdG9yZTY0KEdQUkluZm86OnRvUmVnaXN0ZXIoaSks
IGJ1ZmZlciArIGkpOworI2Vsc2UKKyAgICAgICAgc3RvcmUzMihHUFJJbmZvOjp0b1JlZ2lzdGVy
KGkpLCBidWZmZXIgKyBpKTsKKyNlbmRpZgorICAgIH0KKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAw
OyBpIDwgRlBSSW5mbzo6bnVtYmVyT2ZSZWdpc3RlcnM7ICsraSkgeworICAgICAgICBtb3ZlKFRy
dXN0ZWRJbW1QdHIoYnVmZmVyICsgR1BSSW5mbzo6bnVtYmVyT2ZSZWdpc3RlcnMgKyBpKSwgR1BS
SW5mbzo6cmVnVDApOworICAgICAgICBzdG9yZURvdWJsZShGUFJJbmZvOjp0b1JlZ2lzdGVyKGkp
LCBBZGRyZXNzKEdQUkluZm86OnJlZ1QwKSk7CisgICAgfQorCisgICAgLy8gU2V0IHVwIG9uZSBh
cmd1bWVudC4KKyNpZiBDUFUoWDg2KQorICAgIHBva2UoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0
ZXIsIDApOworI2Vsc2UKKyAgICBtb3ZlKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBHUFJJ
bmZvOjphcmd1bWVudEdQUjApOworI2VuZGlmCiAgICAgbW92ZShUcnVzdGVkSW1tUHRyKGJpdHdp
c2VfY2FzdDx2b2lkKj4ob3BlcmF0aW9uRXhjZXB0aW9uRnV6eikpLCBHUFJJbmZvOjpub25QcmVz
ZXJ2ZWROb25SZXR1cm5HUFIpOwogICAgIGNhbGwoR1BSSW5mbzo6bm9uUHJlc2VydmVkTm9uUmV0
dXJuR1BSKTsKLSAgICBwZWVrKEdQUkluZm86OnJldHVyblZhbHVlR1BSLCAwKTsKLSAgICBwZWVr
KEdQUkluZm86OnJldHVyblZhbHVlR1BSMiwgMSk7Ci0gICAgYWRkUHRyKFRydXN0ZWRJbW0zMihz
dGFja0FsaWdubWVudEJ5dGVzKCkpLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7CisKKyAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgRlBSSW5mbzo6bnVtYmVyT2ZSZWdpc3RlcnM7ICsraSkgewor
ICAgICAgICBtb3ZlKFRydXN0ZWRJbW1QdHIoYnVmZmVyICsgR1BSSW5mbzo6bnVtYmVyT2ZSZWdp
c3RlcnMgKyBpKSwgR1BSSW5mbzo6cmVnVDApOworICAgICAgICBsb2FkRG91YmxlKEFkZHJlc3Mo
R1BSSW5mbzo6cmVnVDApLCBGUFJJbmZvOjp0b1JlZ2lzdGVyKGkpKTsKKyAgICB9CisgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IEdQUkluZm86Om51bWJlck9mUmVnaXN0ZXJzOyArK2kpIHsK
KyNpZiBVU0UoSlNWQUxVRTY0KQorICAgICAgICBsb2FkNjQoYnVmZmVyICsgaSwgR1BSSW5mbzo6
dG9SZWdpc3RlcihpKSk7CisjZWxzZQorICAgICAgICBsb2FkMzIoYnVmZmVyICsgaSwgR1BSSW5m
bzo6dG9SZWdpc3RlcihpKSk7CisjZW5kaWYKKyAgICB9CiB9CiAKIEFzc2VtYmx5SGVscGVyczo6
SnVtcCBBc3NlbWJseUhlbHBlcnM6OmVtaXRFeGNlcHRpb25DaGVjayhFeGNlcHRpb25DaGVja0tp
bmQga2luZCwgRXhjZXB0aW9uSnVtcFdpZHRoIHdpZHRoKQpAQCAtMjM1LDYgKzI2MCwyOSBAQCBB
c3NlbWJseUhlbHBlcnM6Okp1bXAgQXNzZW1ibHlIZWxwZXJzOjplCiAgICAgcmV0dXJuIHJlYWxK
dW1wLm1fanVtcDsKIH0KIAorQXNzZW1ibHlIZWxwZXJzOjpKdW1wIEFzc2VtYmx5SGVscGVyczo6
ZW1pdE5vblBhdGNoYWJsZUV4Y2VwdGlvbkNoZWNrKEV4Y2VwdGlvbkNoZWNrS2luZCBraW5kLCBF
eGNlcHRpb25KdW1wV2lkdGggd2lkdGgpCit7CisgICAgY2FsbEV4Y2VwdGlvbkZ1enooKTsKKwor
ICAgIGlmICh3aWR0aCA9PSBGYXJKdW1wV2lkdGgpCisgICAgICAgIGtpbmQgPSAoa2luZCA9PSBO
b3JtYWxFeGNlcHRpb25DaGVjayA/IEludmVydGVkRXhjZXB0aW9uQ2hlY2sgOiBOb3JtYWxFeGNl
cHRpb25DaGVjayk7CisgICAgCisgICAgSnVtcCByZXN1bHQ7CisjaWYgVVNFKEpTVkFMVUU2NCkK
KyAgICByZXN1bHQgPSBicmFuY2hUZXN0NjQoa2luZCA9PSBOb3JtYWxFeGNlcHRpb25DaGVjayA/
IE5vblplcm8gOiBaZXJvLCBBYnNvbHV0ZUFkZHJlc3Modm0oKS0+YWRkcmVzc09mRXhjZXB0aW9u
KCkpKTsKKyNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgcmVzdWx0ID0gYnJhbmNoMzIoa2lu
ZCA9PSBOb3JtYWxFeGNlcHRpb25DaGVjayA/IE5vdEVxdWFsIDogRXF1YWwsIEFic29sdXRlQWRk
cmVzcyh2bSgpLT5hZGRyZXNzT2ZFeGNlcHRpb24oKSksIFRydXN0ZWRJbW0zMigwKSk7CisjZW5k
aWYKKyAgICAKKyAgICBpZiAod2lkdGggPT0gTm9ybWFsSnVtcFdpZHRoKQorICAgICAgICByZXR1
cm4gcmVzdWx0OworICAgIAorICAgIEp1bXAgaGFkRXhjZXB0aW9uID0ganVtcCgpOworICAgIHJl
c3VsdC5saW5rKHRoaXMpOworICAgIAorICAgIHJldHVybiBoYWRFeGNlcHRpb247Cit9CisKIHZv
aWQgQXNzZW1ibHlIZWxwZXJzOjplbWl0U3RvcmVTdHJ1Y3R1cmVXaXRoVHlwZUluZm8oQXNzZW1i
bHlIZWxwZXJzJiBqaXQsIFRydXN0ZWRJbW1QdHIgc3RydWN0dXJlLCBSZWdpc3RlcklEIGRlc3Qp
CiB7CiAgICAgY29uc3QgU3RydWN0dXJlKiBzdHJ1Y3R1cmVQdHIgPSBzdGF0aWNfY2FzdDxjb25z
dCBTdHJ1Y3R1cmUqPihzdHJ1Y3R1cmUubV92YWx1ZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvaml0L0Fzc2VtYmx5SGVscGVycy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmgJKHJldmlzaW9uIDE4ODUwNCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmgJKHdvcmtpbmcgY29weSkKQEAg
LTgzMyw2ICs4MzMsOCBAQCBwdWJsaWM6CiAgICAgZW51bSBFeGNlcHRpb25KdW1wV2lkdGggeyBO
b3JtYWxKdW1wV2lkdGgsIEZhckp1bXBXaWR0aCB9OwogICAgIEp1bXAgZW1pdEV4Y2VwdGlvbkNo
ZWNrKAogICAgICAgICBFeGNlcHRpb25DaGVja0tpbmQgPSBOb3JtYWxFeGNlcHRpb25DaGVjaywg
RXhjZXB0aW9uSnVtcFdpZHRoID0gTm9ybWFsSnVtcFdpZHRoKTsKKyAgICBKdW1wIGVtaXROb25Q
YXRjaGFibGVFeGNlcHRpb25DaGVjaygKKyAgICAgICAgRXhjZXB0aW9uQ2hlY2tLaW5kID0gTm9y
bWFsRXhjZXB0aW9uQ2hlY2ssIEV4Y2VwdGlvbkp1bXBXaWR0aCA9IE5vcm1hbEp1bXBXaWR0aCk7
CiAKICNpZiBFTkFCTEUoU0FNUExJTkdfQ09VTlRFUlMpCiAgICAgc3RhdGljIHZvaWQgZW1pdENv
dW50KE1hY3JvQXNzZW1ibGVyJiBqaXQsIEFic3RyYWN0U2FtcGxpbmdDb3VudGVyJiBjb3VudGVy
LCBpbnQzMl90IGluY3JlbWVudCA9IDEpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVE9wY29kZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUT3Bjb2Rlcy5jcHAJKHJldmlzaW9uIDE4ODUwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklUT3Bjb2Rlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUwMSw2ICs1MDEsNyBAQCB2
b2lkIEpJVDo6ZW1pdF9vcF9jYXRjaChJbnN0cnVjdGlvbiogY3VyCiAgICAgCiAgICAgbW92ZShU
cnVzdGVkSW1tUHRyKG1fdm0pLCByZWdUMyk7CiAgICAgbG9hZDY0KEFkZHJlc3MocmVnVDMsIFZN
OjpjYWxsRnJhbWVGb3JUaHJvd09mZnNldCgpKSwgY2FsbEZyYW1lUmVnaXN0ZXIpOworICAgIHN0
b3JlUHRyKFRydXN0ZWRJbW1QdHIobnVsbHB0ciksIEFkZHJlc3MocmVnVDMsIFZNOjpjYWxsRnJh
bWVGb3JUaHJvd09mZnNldCgpKSk7CiAgICAgbG9hZDY0KEFkZHJlc3MocmVnVDMsIFZNOjp2bUVu
dHJ5RnJhbWVGb3JUaHJvd09mZnNldCgpKSwgcmVnVDApOwogICAgIHN0b3JlNjQocmVnVDAsIEFk
ZHJlc3MocmVnVDMsIFZNOjp0b3BWTUVudHJ5RnJhbWVPZmZzZXQoKSkpOwogCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wZXJhdGlvbnMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAJKHJldmlzaW9uIDE4ODUw
NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTE4OTgsMTAgKzE4OTgsMTEgQEAgdm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvblZNSGFuZGxlRXhjZQogLy8gb3Vyc2VsdmVzIHRvIHBsYXkgc29tZSBnbmFybHkgQUJJIHRy
aWNrcyBqdXN0IHRvIHNpbXBsaWZ5IHRoZSBjYWxsaW5nIGNvbnZlbnRpb24uIFRoaXMgaXMKIC8v
IHBhcnRpY3VsYXJseSBzYWZlIGhlcmUgc2luY2UgdGhpcyBpcyBuZXZlciBjYWxsZWQgb24gdGhl
IGNyaXRpY2FsIHBhdGggLSBpdCdzIG9ubHkgZm9yCiAvLyB0ZXN0aW5nLgotdm9pZCBKSVRfT1BF
UkFUSU9OIG9wZXJhdGlvbkV4Y2VwdGlvbkZ1enooKQordm9pZCBKSVRfT1BFUkFUSU9OIG9wZXJh
dGlvbkV4Y2VwdGlvbkZ1enooRXhlY1N0YXRlKiBleGVjKQogeworICAgIFZNKiB2bSA9ICZleGVj
LT52bSgpOworICAgIE5hdGl2ZUNhbGxGcmFtZVRyYWNlciB0cmFjZXIodm0sIGV4ZWMpOwogI2lm
IENPTVBJTEVSKEdDQ19PUl9DTEFORykKLSAgICBFeGVjU3RhdGUqIGV4ZWMgPSBzdGF0aWNfY2Fz
dDxFeGVjU3RhdGUqPihfX2J1aWx0aW5fZnJhbWVfYWRkcmVzcygxKSk7CiAgICAgdm9pZCogcmV0
dXJuUEMgPSBfX2J1aWx0aW5fcmV0dXJuX2FkZHJlc3MoMCk7CiAgICAgZG9FeGNlcHRpb25GdXp6
aW5nKGV4ZWMsICJKSVRPcGVyYXRpb25zIiwgcmV0dXJuUEMpOwogI2VuZGlmIC8vIENPTVBJTEVS
KEdDQ19PUl9DTEFORykKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0
aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0
aW9ucy5oCShyZXZpc2lvbiAxODg1MDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VE9wZXJhdGlvbnMuaAkod29ya2luZyBjb3B5KQpAQCAtMzM4LDcgKzMzOCw3IEBAIHZvaWQgSklU
X09QRVJBVElPTiBvcGVyYXRpb25PU1JXcml0ZUJhcnIKIAogdm9pZCBKSVRfT1BFUkFUSU9OIG9w
ZXJhdGlvbkluaXRHbG9iYWxDb25zdChFeGVjU3RhdGUqLCBJbnN0cnVjdGlvbiopOwogCi12b2lk
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uRXhjZXB0aW9uRnV6eigpOwordm9pZCBKSVRfT1BFUkFU
SU9OIG9wZXJhdGlvbkV4Y2VwdGlvbkZ1enooRXhlY1N0YXRlKik7CiAKIEVuY29kZWRKU1ZhbHVl
IEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uSGFzR2VuZXJpY1Byb3BlcnR5KEV4ZWNTdGF0ZSosIEVu
Y29kZWRKU1ZhbHVlLCBKU0NlbGwqKTsKIEVuY29kZWRKU1ZhbHVlIEpJVF9PUEVSQVRJT04gb3Bl
cmF0aW9uSGFzSW5kZXhlZFByb3BlcnR5KEV4ZWNTdGF0ZSosIEpTQ2VsbCosIGludDMyX3QpOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXIzMl82
NC5hc20KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVs
SW50ZXJwcmV0ZXIzMl82NC5hc20JKHJldmlzaW9uIDE4ODUwNCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCSh3b3JraW5nIGNvcHkp
CkBAIC0xOTMxLDYgKzE5MzEsNyBAQCBfbGxpbnRfb3BfY2F0Y2g6CiAgICAgYW5kcCBNYXJrZWRC
bG9ja01hc2ssIHQzCiAgICAgbG9hZHAgTWFya2VkQmxvY2s6Om1fd2Vha1NldCArIFdlYWtTZXQ6
Om1fdm1bdDNdLCB0MwogICAgIGxvYWRwIFZNOjpjYWxsRnJhbWVGb3JUaHJvd1t0M10sIGNmcgor
ICAgIHN0b3JlcCAwLCBWTTo6Y2FsbEZyYW1lRm9yVGhyb3dbdDNdCiAgICAgbG9hZHAgVk06OnZt
RW50cnlGcmFtZUZvclRocm93W3QzXSwgdDAKICAgICBzdG9yZXAgdDAsIFZNOjp0b3BWTUVudHJ5
RnJhbWVbdDNdCiAgICAgcmVzdG9yZVN0YWNrUG9pbnRlckFmdGVyQ2FsbCgpCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0
LmFzbQkocmV2aXNpb24gMTg4NTA0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xv
d0xldmVsSW50ZXJwcmV0ZXI2NC5hc20JKHdvcmtpbmcgY29weSkKQEAgLTE3OTUsNiArMTc5NSw3
IEBAIF9sbGludF9vcF9jYXRjaDoKICAgICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDMKICAgICBs
b2FkcCBNYXJrZWRCbG9jazo6bV93ZWFrU2V0ICsgV2Vha1NldDo6bV92bVt0M10sIHQzCiAgICAg
bG9hZHAgVk06OmNhbGxGcmFtZUZvclRocm93W3QzXSwgY2ZyCisgICAgc3RvcmVwIDAsIFZNOjpj
YWxsRnJhbWVGb3JUaHJvd1t0M10KICAgICBsb2FkcCBWTTo6dm1FbnRyeUZyYW1lRm9yVGhyb3db
dDNdLCB0MAogICAgIHN0b3JlcCB0MCwgVk06OnRvcFZNRW50cnlGcmFtZVt0M10KICAgICByZXN0
b3JlU3RhY2tQb2ludGVyQWZ0ZXJDYWxsKCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL1ZNLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGlt
ZS9WTS5jcHAJKHJldmlzaW9uIDE4ODUwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1ZNLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzQwLDYgKzM0MCw5IEBAIFZNOjp+Vk0oKQog
ICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzY3JhdGNoQnVmZmVycy5zaXplKCk7ICsraSkK
ICAgICAgICAgZmFzdEZyZWUoc2NyYXRjaEJ1ZmZlcnNbaV0pOwogI2VuZGlmCisKKyAgICBpZiAo
bV9leGNlcHRpb25GdXp6QnVmZmVyKQorICAgICAgICBmYXN0RnJlZShtX2V4Y2VwdGlvbkZ1enpC
dWZmZXIpOwogfQogCiBSZWY8Vk0+IFZNOjpjcmVhdGVDb250ZXh0R3JvdXAoSGVhcFR5cGUgaGVh
cFR5cGUpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgJKHJldmlzaW9uIDE4ODUw
NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgJKHdvcmtpbmcgY29weSkK
QEAgLTQ3Niw2ICs0NzYsMTQgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gcmVzdWx0OwogICAg
IH0KIAorICAgIEVuY29kZWRKU1ZhbHVlKiBleGNlcHRpb25GdXp6aW5nQnVmZmVyKHNpemVfdCBz
aXplKQorICAgIHsKKyAgICAgICAgQVNTRVJUKE9wdGlvbnM6OmVuYWJsZUV4Y2VwdGlvbkZ1enoo
KSk7CisgICAgICAgIGlmICghbV9leGNlcHRpb25GdXp6QnVmZmVyKQorICAgICAgICAgICAgbV9l
eGNlcHRpb25GdXp6QnVmZmVyID0gc3RhdGljX2Nhc3Q8RW5jb2RlZEpTVmFsdWUqPihmYXN0TWFs
bG9jKHNpemUpKTsKKyAgICAgICAgcmV0dXJuIG1fZXhjZXB0aW9uRnV6ekJ1ZmZlcjsKKyAgICB9
CisKICAgICB2b2lkIGdhdGhlckNvbnNlcnZhdGl2ZVJvb3RzKENvbnNlcnZhdGl2ZVJvb3RzJik7
CiAKICAgICBWTUVudHJ5U2NvcGUqIGVudHJ5U2NvcGU7CkBAIC02MTMsNiArNjIxLDcgQEAgcHJp
dmF0ZToKICAgICBzdGQ6OnVuaXF1ZV9wdHI8Q29udHJvbEZsb3dQcm9maWxlcj4gbV9jb250cm9s
Rmxvd1Byb2ZpbGVyOwogICAgIHVuc2lnbmVkIG1fY29udHJvbEZsb3dQcm9maWxlckVuYWJsZWRD
b3VudDsKICAgICBEZXF1ZTxzdGQ6OnVuaXF1ZV9wdHI8UXVldWVkVGFzaz4+IG1fbWljcm90YXNr
UXVldWU7CisgICAgRW5jb2RlZEpTVmFsdWUqIG1fZXhjZXB0aW9uRnV6ekJ1ZmZlciB7IG51bGxw
dHIgfTsKIH07CiAKICNpZiBFTkFCTEUoR0NfVkFMSURBVElPTikKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZXhjZXB0aW9uLWRmZy1vcGVyYXRpb24tcmVhZC12YWx1
ZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2V4
Y2VwdGlvbi1kZmctb3BlcmF0aW9uLXJlYWQtdmFsdWUuanMJKHJldmlzaW9uIDApCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2V4Y2VwdGlvbi1kZmctb3BlcmF0aW9uLXJl
YWQtdmFsdWUuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNiBAQAorZnVuY3Rpb24gYXNz
ZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGFzc2Vy
dGlvbiIpOworfQorbm9JbmxpbmUoYXNzZXJ0KTsKK3ZhciBvID0geworICAgIHZhbHVlT2Y6IGZ1
bmN0aW9uKCkgeyByZXR1cm4ge307IH0sCisgICAgdG9TdHJpbmc6IGZ1bmN0aW9uKCkgeyByZXR1
cm4ge307IH0KK307CitmdW5jdGlvbiByZWFkKCkgeworICAgIHJldHVybiAicmVhZCI7Cit9Citu
b0lubGluZShyZWFkKTsKKworZnVuY3Rpb24gZm9vKGEsIGIpIHsKKyAgICB2YXIgcmVzdWx0ID0g
bnVsbDsKKyAgICB2YXIgdmFsdWUgPSByZWFkKCk7CisgICAgdHJ5IHsKKyAgICAgICAgcmVzdWx0
ID0gYSA9PSBiOworICAgIH0gY2F0Y2goZSkgeworICAgICAgICBwcmludCgiY2F1Z2h0IGV4Y2Vw
dGlvbjogIiArIGUpOworICAgICAgICBhc3NlcnQoIiIgKyB2YWx1ZSA9PT0gInJlYWQiKTsKKyAg
ICB9CisgICAgcmV0dXJuIHZhbHVlOworfQorbm9JbmxpbmUoZm9vKTsKKworZm9yICh2YXIgaSA9
IDA7IGkgPCAxMDAwOyBpKyspIHsKKyAgICBmb28oMTAsIDIwKTsKKyAgICBmb28oe30sIHt9KTsK
KyAgICBmb28oMTAsIDEwLjApOworICAgIGZvbygiaGVsbG8iLCAiaGVsbG8iKTsKKyAgICBmb28o
bnVsbCwgdW5kZWZpbmVkKTsKKyAgICBmb28oZmFsc2UsIDApOworfQorZm9vKG8sICJoZWxsbyIp
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9leGNlcHRpb24tbm90
LXN0cmljdC1lcXVhbC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2V4Y2VwdGlvbi1ub3Qtc3RyaWN0LWVxdWFsLmpzCShyZXZpc2lvbiAwKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9leGNlcHRpb24tbm90LXN0cmljdC1l
cXVhbC5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDcxIEBACis7KGZ1bmN0aW9uICgpIHsK
K2Z1bmN0aW9uIGZvbyhhLCBiKSB7CisgICAgdmFyIHJlc3VsdCA9IG51bGw7CisgICAgdHJ5IHsK
KyAgICAgICAgcmVzdWx0ID0gYSA9PSBiOworICAgIH0gY2F0Y2goZSkgeworICAgIH0KK30KK25v
SW5saW5lKGZvbyk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDsgaSsrKSB7CisgICAgZm9v
KDEwLCAyMCk7CisgICAgZm9vKHt9LCB7fSk7CisgICAgZm9vKDEwLCAxMC4wKTsKKyAgICBmb28o
ImhlbGxvIiwgImhlbGxvIik7CisgICAgZm9vKG51bGwsIHVuZGVmaW5lZCk7CisgICAgZm9vKGZh
bHNlLCAwKTsKK30KKwordmFyIG8gPSB7CisgICAgdmFsdWVPZjogZnVuY3Rpb24oKSB7IHJldHVy
biB7fTsgfSwKKyAgICB0b1N0cmluZzogZnVuY3Rpb24oKSB7IHJldHVybiB7fTsgfQorfTsKK2Zv
byhvLCAiaGVsbG8iKTsKK30pKCk7CisKKworZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAo
IWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGFzc2VydGlvbiIpOworfQorbm9Jbmxp
bmUoYXNzZXJ0KTsKKworCis7KGZ1bmN0aW9uKCkgeworCit2YXIgX3Nob3VsZERvU29tZXRoaW5n
SW5GaW5hbGx5ID0gZmFsc2U7CitmdW5jdGlvbiBzaG91bGREb1NvbWV0aGluZ0luRmluYWxseSgp
IHsgcmV0dXJuIF9zaG91bGREb1NvbWV0aGluZ0luRmluYWxseTsgfQorbm9JbmxpbmUoc2hvdWxk
RG9Tb21ldGhpbmdJbkZpbmFsbHkpOworCitmdW5jdGlvbiBmb28oYSwgYikgeworICAgIHZhciBy
ZXN1bHQgPSBudWxsOworICAgIHRyeSB7CisgICAgICAgIHJlc3VsdCA9IGEgPT0gYjsKKyAgICB9
IGZpbmFsbHkgeworICAgICAgICBpZiAoc2hvdWxkRG9Tb21ldGhpbmdJbkZpbmFsbHkoKSkKKyAg
ICAgICAgICAgIGFzc2VydChyZXN1bHQgPT09IG51bGwpOworICAgIH0KKyAgICByZXR1cm4gcmVz
dWx0OworfQorbm9JbmxpbmUoZm9vKTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwOyBpKysp
IHsKKyAgICBmb28oMTAsIDIwKTsKKyAgICBmb28oe30sIHt9KTsKKyAgICBmb28oMTAsIDEwLjAp
OworICAgIGZvbygiaGVsbG8iLCAiaGVsbG8iKTsKKyAgICBmb28obnVsbCwgdW5kZWZpbmVkKTsK
KyAgICBmb28oZmFsc2UsIDApOworfQorCit2YXIgbyA9IHsKKyAgICB2YWx1ZU9mOiBmdW5jdGlv
bigpIHsgcmV0dXJuIHt9OyB9LAorICAgIHRvU3RyaW5nOiBmdW5jdGlvbigpIHsgcmV0dXJuIHt9
OyB9Cit9OwordHJ5IHsKKyAgICBfc2hvdWxkRG9Tb21ldGhpbmdJbkZpbmFsbHkgPSB0cnVlOwor
ICAgIGZvbyhvLCAiaGVsbG8iKTsKK30gY2F0Y2goZSkge30KKworfSkoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261041</attachid>
            <date>2015-09-11 19:40:13 -0700</date>
            <delta_ts>2015-09-14 15:27:39 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>58010</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2Ny
aXB0Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAxODk1NjEpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagkod29ya2luZyBjb3B5KQpAQCAtMTAzNiw2ICsxMDM2LDggQEAKIAkJNzk2NDY1NkExQjk1
MkZGMDAwMzA1OUVFIC8qIEdldFB1dEluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDc5NjQ2NTY4MUI5NTJGRjAwMDMwNTlFRSAvKiBHZXRQdXRJbmZv
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzk3
RTA3QTkxQjhGQ0ZCOTAwODQwMEJBIC8qIEpTR2xvYmFsTGV4aWNhbEVudmlyb25tZW50LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5N0UwN0E3MUI4
RkNGQjkwMDg0MDBCQSAvKiBKU0dsb2JhbExleGljYWxFbnZpcm9ubWVudC5jcHAgKi87IH07CiAJ
CTc5N0UwN0FBMUI4RkNGQjkwMDg0MDBCQSAvKiBKU0dsb2JhbExleGljYWxFbnZpcm9ubWVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzk3RTA3QTgx
QjhGQ0ZCOTAwODQwMEJBIC8qIEpTR2xvYmFsTGV4aWNhbEVudmlyb25tZW50LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJNzlDNEIxNUQxQkEyMTU4
RjAwRkQ1OTJFIC8qIERGR0ZsdXNoTGl2ZUNhdGNoVmFyaWFibGVzSW5zZXJ0aW9uUGhhc2UuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzlDNEIxNUIx
QkEyMTU4RjAwRkQ1OTJFIC8qIERGR0ZsdXNoTGl2ZUNhdGNoVmFyaWFibGVzSW5zZXJ0aW9uUGhh
c2UuY3BwICovOyB9OworCQk3OUM0QjE1RTFCQTIxNThGMDBGRDU5MkUgLyogREZHRmx1c2hMaXZl
Q2F0Y2hWYXJpYWJsZXNJbnNlcnRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzlDNEIxNUMxQkEyMTU4RjAwRkQ1OTJFIC8qIERGR0ZsdXNo
TGl2ZUNhdGNoVmFyaWFibGVzSW5zZXJ0aW9uUGhhc2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3OUVFMEJGRjFCNEFGQjg1MDAwMzg1QzkgLyog
VmFyaWFibGVFbnZpcm9ubWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3OUVFMEJGRDFCNEFGQjg1MDAwMzg1QzkgLyogVmFyaWFibGVFbnZpcm9u
bWVudC5jcHAgKi87IH07CiAJCTc5RUUwQzAwMUI0QUZCODUwMDAzODVDOSAvKiBWYXJpYWJsZUVu
dmlyb25tZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3OUVFMEJGRTFCNEFGQjg1MDAwMzg1QzkgLyogVmFyaWFibGVFbnZpcm9ubWVudC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5RjhGQzFFMUI5
RkVEMEYwMENBNjZBQiAvKiBERkdNYXhpbWFsRmx1c2hJbnNlcnRpb25QaGFzZS5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUY4RkMxQzFCOUZFRDBG
MDBDQTY2QUIgLyogREZHTWF4aW1hbEZsdXNoSW5zZXJ0aW9uUGhhc2UuY3BwICovOyB9OwpAQCAt
Mjg3MCw2ICsyODcyLDggQEAKIAkJNzk2NDY1NjgxQjk1MkZGMDAwMzA1OUVFIC8qIEdldFB1dElu
Zm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gR2V0UHV0SW5mby5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OTdFMDdBNzFCOEZDRkI5MDA4NDAwQkEgLyogSlNH
bG9iYWxMZXhpY2FsRW52aXJvbm1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNHbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk3OTdFMDdBODFCOEZDRkI5MDA4NDAwQkEgLyogSlNHbG9iYWxMZXhpY2Fs
RW52aXJvbm1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNHbG9iYWxM
ZXhpY2FsRW52aXJvbm1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzlDNEIx
NUIxQkEyMTU4RjAwRkQ1OTJFIC8qIERGR0ZsdXNoTGl2ZUNhdGNoVmFyaWFibGVzSW5zZXJ0aW9u
UGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gREZHRmx1c2hM
aXZlQ2F0Y2hWYXJpYWJsZXNJbnNlcnRpb25QaGFzZS5jcHA7IHBhdGggPSBkZmcvREZHRmx1c2hM
aXZlQ2F0Y2hWYXJpYWJsZXNJbnNlcnRpb25QaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTc5QzRCMTVDMUJBMjE1OEYwMEZENTkyRSAvKiBERkdGbHVzaExpdmVDYXRjaFZh
cmlhYmxlc0luc2VydGlvblBoYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IERGR0ZsdXNoTGl2ZUNhdGNoVmFyaWFibGVzSW5zZXJ0aW9uUGhhc2UuaDsgcGF0aCA9IGRmZy9E
RkdGbHVzaExpdmVDYXRjaFZhcmlhYmxlc0luc2VydGlvblBoYXNlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTc5RUUwQkZEMUI0QUZCODUwMDAzODVDOSAvKiBWYXJpYWJsZUVudmly
b25tZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFZhcmlhYmxl
RW52aXJvbm1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OUVFMEJGRTFC
NEFGQjg1MDAwMzg1QzkgLyogVmFyaWFibGVFbnZpcm9ubWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBWYXJpYWJsZUVudmlyb25tZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTc5RjhGQzFDMUI5RkVEMEYwMENBNjZBQiAvKiBERkdNYXhpbWFsRmx1c2hJ
bnNlcnRpb25QaGFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBE
RkdNYXhpbWFsRmx1c2hJbnNlcnRpb25QaGFzZS5jcHA7IHBhdGggPSBkZmcvREZHTWF4aW1hbEZs
dXNoSW5zZXJ0aW9uUGhhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNTIz
NSw2ICs1MjM5LDggQEAKIAkJCQkwRjlEMzM5NTE3RkZDNEU2MDA3M0MyQkMgLyogREZHRmx1c2hl
ZEF0LmggKi8sCiAJCQkJQTdEODlDRTgxN0EwQjhDQzAwNzczQUQ4IC8qIERGR0ZsdXNoRm9ybWF0
LmNwcCAqLywKIAkJCQlBN0Q4OUNFOTE3QTBCOENDMDA3NzNBRDggLyogREZHRmx1c2hGb3JtYXQu
aCAqLywKKwkJCQk3OUM0QjE1QjFCQTIxNThGMDBGRDU5MkUgLyogREZHRmx1c2hMaXZlQ2F0Y2hW
YXJpYWJsZXNJbnNlcnRpb25QaGFzZS5jcHAgKi8sCisJCQkJNzlDNEIxNUMxQkEyMTU4RjAwRkQ1
OTJFIC8qIERGR0ZsdXNoTGl2ZUNhdGNoVmFyaWFibGVzSW5zZXJ0aW9uUGhhc2UuaCAqLywKIAkJ
CQkwRjJERDgxMDFBQjNEOEJFMDBCQkI4RTggLyogREZHRm9yQWxsS2lsbHMuaCAqLywKIAkJCQkw
RjY5Q0M4NjE5M0FDNjBBMDA0NTc1OUUgLyogREZHRnJvemVuVmFsdWUuY3BwICovLAogCQkJCTBG
NjlDQzg3MTkzQUM2MEEwMDQ1NzU5RSAvKiBERkdGcm96ZW5WYWx1ZS5oICovLApAQCAtNTkzMCw2
ICs1OTM2LDcgQEAKIAkJCQlBMUEwMDlDMTE4MzFBMjZFMDBDRjg3MTEgLyogQVJNNjRBc3NlbWJs
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGODk4RjMyMUIyNzY4OUYwMDgzQTMzQyAvKiBERkdJ
bnRlZ2VyUmFuZ2VPcHRpbWl6YXRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODZEM0Iy
QzQxMDE1NkJERTAwMjg2NUU3IC8qIEFSTUFzc2VtYmxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NzlDNEIxNUUxQkEyMTU4RjAwRkQ1OTJFIC8qIERGR0ZsdXNoTGl2ZUNhdGNoVmFyaWFibGVzSW5z
ZXJ0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTc5RjhGQzFGMUI5RkVEMEYwMENBNjZB
QiAvKiBERkdNYXhpbWFsRmx1c2hJbnNlcnRpb25QaGFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTlGMUE3MDExQjk4RkJFQzAwNDYzQjI2IC8qIEluc3BlY3RvckZyb250ZW5kUm91dGVyLmggaW4g
SGVhZGVycyAqLywKIAkJCQk3OTY0NjU2QTFCOTUyRkYwMDAzMDU5RUUgLyogR2V0UHV0SW5mby5o
IGluIEhlYWRlcnMgKi8sCkBAIC04MDA3LDYgKzgwMTQsNyBAQAogCQkJCUExNTg3RDcxMUI0REMx
NDEwMEQ2OTg0OSAvKiBJbnRsRGF0ZVRpbWVGb3JtYXRQcm90b3R5cGUuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEYyQjY3MEExN0I2QjVBQjAwQTdBRTNGIC8qIFR5cGVkQXJyYXlUeXBlLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTUyQzk1MkI5MTlBMjhBMUMwMDY5QjM4NiAvKiBUeXBlUHJvZmls
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNzlDNEIxNUQxQkEyMTU4RjAwRkQ1OTJFIC8qIERG
R0ZsdXNoTGl2ZUNhdGNoVmFyaWFibGVzSW5zZXJ0aW9uUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMEZGNDI3NEExNThFQkU5MTAwNENCOUZGIC8qIHVkaXM4Ni5jIGluIFNvdXJjZXMgKi8s
CiAJCQkJMEZGNDI3NDAxNThFQkU4QjAwNENCOUZGIC8qIHVkaXM4Nl9kZWNvZGUuYyBpbiBTb3Vy
Y2VzICovLAogCQkJCTBGRjQyNzQzMTU4RUJFOTEwMDRDQjlGRiAvKiB1ZGlzODZfaW5wdXQuYyBp
biBTb3VyY2VzICovLApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVC
bG9jay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2Rl
QmxvY2suaAkocmV2aXNpb24gMTg5NTYxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVj
b2RlL0NvZGVCbG9jay5oCSh3b3JraW5nIGNvcHkpCkBAIC05MDUsNiArOTA1LDE5IEBAIHB1Ymxp
YzoKICAgICAgICAgRXZhbENvZGVDYWNoZSBtX2V2YWxDb2RlQ2FjaGU7CiAgICAgfTsKIAorICAg
IHZvaWQgY2xlYXJFeGNlcHRpb25IYW5kbGVycygpCisgICAgeworICAgICAgICBpZiAobV9yYXJl
RGF0YSkKKyAgICAgICAgICAgIG1fcmFyZURhdGEtPm1fZXhjZXB0aW9uSGFuZGxlcnMuY2xlYXIo
KTsKKyAgICB9CisKKyAgICB2b2lkIGFwcGVuZEV4Y2VwdGlvbkhhbmRsZXIoY29uc3QgSGFuZGxl
ckluZm8mIGhhbmRsZXIpCisgICAgeworICAgICAgICAvL0FTU0VSVChqaXRUeXBlKCkgPT0gSklU
Q29kZTo6REZHSklUKTsKKyAgICAgICAgY3JlYXRlUmFyZURhdGFJZk5lY2Vzc2FyeSgpOyAvLyBX
ZSBtYXkgYmUgaGFuZGxpbmcgdGhlIGV4Y2VwdGlvbiBvZiBhbiBpbmxpbmVkIGNhbGwgZnJhbWUu
CisgICAgICAgIG1fcmFyZURhdGEtPm1fZXhjZXB0aW9uSGFuZGxlcnMuYXBwZW5kKGhhbmRsZXIp
OworICAgIH0KKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCB2aXNpdFdlYWtSZWZlcmVu
Y2VzKFNsb3RWaXNpdG9yJikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGZpbmFsaXplVW5j
b25kaXRpb25hbGx5KCkgb3ZlcnJpZGU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvUHJlY2lzZUp1bXBUYXJnZXRzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUHJlY2lzZUp1bXBUYXJnZXRzLmNwcAkocmV2aXNpb24gMTg5NTYx
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ByZWNpc2VKdW1wVGFyZ2V0cy5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTkzLDkgKzkzLDEyIEBAIHZvaWQgY29tcHV0ZVByZWNpc2VK
dW1wVGFyZ2V0cyhDb2RlQmxvY2sKICAgICBpZiAoIWNvZGVCbG9jay0+bnVtYmVyT2ZKdW1wVGFy
Z2V0cygpKQogICAgICAgICByZXR1cm47CiAgICAgCi0gICAgZm9yICh1bnNpZ25lZCBpID0gY29k
ZUJsb2NrLT5udW1iZXJPZkV4Y2VwdGlvbkhhbmRsZXJzKCk7IGktLTspCisgICAgZm9yICh1bnNp
Z25lZCBpID0gY29kZUJsb2NrLT5udW1iZXJPZkV4Y2VwdGlvbkhhbmRsZXJzKCk7IGktLTspIHsK
ICAgICAgICAgb3V0LmFwcGVuZChjb2RlQmxvY2stPmV4Y2VwdGlvbkhhbmRsZXIoaSkudGFyZ2V0
KTsKLSAgICAKKyAgICAgICAgb3V0LmFwcGVuZChjb2RlQmxvY2stPmV4Y2VwdGlvbkhhbmRsZXIo
aSkuc3RhcnQpOworICAgICAgICBvdXQuYXBwZW5kKGNvZGVCbG9jay0+ZXhjZXB0aW9uSGFuZGxl
cihpKS5lbmQpOworICAgIH0KKwogICAgIEludGVycHJldGVyKiBpbnRlcnByZXRlciA9IGNvZGVC
bG9jay0+dm0oKS0+aW50ZXJwcmV0ZXI7CiAgICAgSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uc0Jl
Z2luID0gY29kZUJsb2NrLT5pbnN0cnVjdGlvbnMoKS5iZWdpbigpOwogICAgIHVuc2lnbmVkIGlu
c3RydWN0aW9uQ291bnQgPSBjb2RlQmxvY2stPmluc3RydWN0aW9ucygpLnNpemUoKTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3IuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNv
ZGVHZW5lcmF0b3IuY3BwCShyZXZpc2lvbiAxODk1NjEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MzUzMyw2ICszNTMzLDcgQEAgdm9pZCBCeXRlY29kZUdlbmVyYXRvcjo6ZW1pdEVudW1lcmF0aW9u
KAogICAgICAgICBSZWZQdHI8TGFiZWw+IHRyeVN0YXJ0TGFiZWwgPSBuZXdMYWJlbCgpOwogICAg
ICAgICBlbWl0TGFiZWwodHJ5U3RhcnRMYWJlbC5nZXQoKSk7CiAgICAgICAgIFRyeURhdGEqIHRy
eURhdGEgPSBwdXNoVHJ5KHRyeVN0YXJ0TGFiZWwuZ2V0KCkpOworICAgICAgICAvL2VtaXRNb3Zl
KG5ld0Jsb2NrU2NvcGVWYXJpYWJsZSgpLCBpdGVyYXRvci5nZXQoKSk7CiAgICAgICAgIGNhbGxC
YWNrKCp0aGlzLCB2YWx1ZS5nZXQoKSk7CiAgICAgICAgIGVtaXRKdW1wKHNjb3BlLT5jb250aW51
ZVRhcmdldCgpKTsKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29k
ZVBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdC
eXRlQ29kZVBhcnNlci5jcHAJKHJldmlzaW9uIDE4OTU2MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00MzMsNyAr
NDMzLDYgQEAgcHJpdmF0ZToKICAgICAgICAgbV9jdXJyZW50QmxvY2stPnZhcmlhYmxlc0F0VGFp
bC5sb2NhbChsb2NhbCkgPSBub2RlOwogICAgICAgICByZXR1cm4gbm9kZTsKICAgICB9Ci0KICAg
ICBOb2RlKiBzZXRMb2NhbChjb25zdCBDb2RlT3JpZ2luJiBzZW1hbnRpY09yaWdpbiwgVmlydHVh
bFJlZ2lzdGVyIG9wZXJhbmQsIE5vZGUqIHZhbHVlLCBTZXRNb2RlIHNldE1vZGUgPSBOb3JtYWxT
ZXQpCiAgICAgewogICAgICAgICBDb2RlT3JpZ2luIG9sZFNlbWFudGljT3JpZ2luID0gbV9jdXJy
ZW50U2VtYW50aWNPcmlnaW47CkBAIC0zNzgyLDYgKzM3ODEsMTAgQEAgYm9vbCBCeXRlQ29kZVBh
cnNlcjo6cGFyc2VCbG9jayh1bnNpZ25lZAogICAgICAgICAgICAgZmx1c2hGb3JUZXJtaW5hbCgp
OwogICAgICAgICAgICAgYWRkVG9HcmFwaChVbnJlYWNoYWJsZSk7CiAgICAgICAgICAgICBMQVNU
X09QQ09ERShvcF90aHJvd19zdGF0aWNfZXJyb3IpOworCisgICAgICAgIGNhc2Ugb3BfY2F0Y2g6
CisgICAgICAgICAgICBtX2dyYXBoLm1faGFzRXhjZXB0aW9uSGFuZGxlcnMgPSB0cnVlOworICAg
ICAgICAgICAgTkVYVF9PUENPREUob3BfY2F0Y2gpOwogICAgICAgICAgICAgCiAgICAgICAgIGNh
c2Ugb3BfY2FsbDoKICAgICAgICAgICAgIGhhbmRsZUNhbGwoY3VycmVudEluc3RydWN0aW9uLCBD
YWxsLCBDb2RlRm9yQ2FsbCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0Nh
cGFiaWxpdGllcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdDYXBhYmlsaXRpZXMuY3BwCShyZXZpc2lvbiAxODk1NjEpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0NhcGFiaWxpdGllcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxNyw2ICsy
MTcsNyBAQCBDYXBhYmlsaXR5TGV2ZWwgY2FwYWJpbGl0eUxldmVsKE9wY29kZUlECiAgICAgY2Fz
ZSBvcF9uZXdfYXJyb3dfZnVuY19leHA6CiAgICAgY2FzZSBvcF9jcmVhdGVfbGV4aWNhbF9lbnZp
cm9ubWVudDoKICAgICBjYXNlIG9wX2dldF9wYXJlbnRfc2NvcGU6CisgICAgY2FzZSBvcF9jYXRj
aDoKICAgICAgICAgcmV0dXJuIENhbkNvbXBpbGVBbmRJbmxpbmU7CiAKICAgICBjYXNlIG9wX3B1
dF90b19zY29wZTogewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb25E
YXRhLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbW1v
bkRhdGEuY3BwCShyZXZpc2lvbiAxODk1NjEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0NvbW1vbkRhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw2ICs1NywxMiBAQCBDYWxs
U2l0ZUluZGV4IENvbW1vbkRhdGE6OmFkZENvZGVPcmlnaW4oCiAgICAgcmV0dXJuIENhbGxTaXRl
SW5kZXgoaW5kZXgpOwogfQogCitDYWxsU2l0ZUluZGV4IENvbW1vbkRhdGE6Omxhc3RDYWxsU2l0
ZSgpIGNvbnN0Cit7CisgICAgQVNTRVJUKGNvZGVPcmlnaW5zLnNpemUoKSk7CisgICAgcmV0dXJu
IENhbGxTaXRlSW5kZXgoY29kZU9yaWdpbnMuc2l6ZSgpIC0gMSk7Cit9CisKIHZvaWQgQ29tbW9u
RGF0YTo6c2hyaW5rVG9GaXQoKQogewogICAgIGNvZGVPcmlnaW5zLnNocmlua1RvRml0KCk7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbW1vbkRhdGEuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbW1vbkRhdGEuaAkocmV2aXNpb24g
MTg5NTYxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb25EYXRhLmgJKHdv
cmtpbmcgY29weSkKQEAgLTgwLDYgKzgwLDcgQEAgcHVibGljOgogICAgIAogICAgIHZvaWQgbm90
aWZ5Q29tcGlsaW5nU3RydWN0dXJlVHJhbnNpdGlvbihQbGFuJiwgQ29kZUJsb2NrKiwgTm9kZSop
OwogICAgIENhbGxTaXRlSW5kZXggYWRkQ29kZU9yaWdpbihDb2RlT3JpZ2luKTsKKyAgICBDYWxs
U2l0ZUluZGV4IGxhc3RDYWxsU2l0ZSgpIGNvbnN0OwogICAgIAogICAgIHZvaWQgc2hyaW5rVG9G
aXQoKTsKICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRmx1c2hMaXZl
Q2F0Y2hWYXJpYWJsZXNJbnNlcnRpb25QaGFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdGbHVzaExpdmVDYXRjaFZhcmlhYmxlc0luc2VydGlvblBoYXNl
LmNwcAkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRmx1c2hM
aXZlQ2F0Y2hWYXJpYWJsZXNJbnNlcnRpb25QaGFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwxNzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkRGR0ZsdXNoTGl2ZUNhdGNoVmFyaWFi
bGVzSW5zZXJ0aW9uUGhhc2UuaCIKKworI2lmIEVOQUJMRShERkdfSklUKQorCisjaW5jbHVkZSAi
REZHQmFzaWNCbG9ja0lubGluZXMuaCIKKyNpbmNsdWRlICJERkdHcmFwaC5oIgorI2luY2x1ZGUg
IkRGR0luc2VydGlvblNldC5oIgorI2luY2x1ZGUgIkRGR1BoYXNlLmgiCisjaW5jbHVkZSAiRnVs
bEJ5dGVjb2RlTGl2ZW5lc3MuaCIKKyNpbmNsdWRlICJKU0NJbmxpbmVzLmgiCisKK25hbWVzcGFj
ZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKKworY2xhc3MgRmx1c2hMaXZlQ2F0Y2hWYXJpYWJsZXNJ
bnNlcnRpb25QaGFzZSA6IHB1YmxpYyBQaGFzZSB7CitwdWJsaWM6CisgICAgRmx1c2hMaXZlQ2F0
Y2hWYXJpYWJsZXNJbnNlcnRpb25QaGFzZShHcmFwaCYgZ3JhcGgpCisgICAgICAgIDogUGhhc2Uo
Z3JhcGgsICJmbHVzaCBsaXZlIGNhdGNoIHZhcmlhYmxlcyBpbnNlcnRpb24gcGhhc2UiKQorICAg
IHsKKyAgICB9CisKKyAgICBib29sIHJ1bigpCisgICAgeworICAgICAgICBpZiAoIW1fZ3JhcGgu
bV9oYXNFeGNlcHRpb25IYW5kbGVycykKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAg
ICAgIERGR19BU1NFUlQobV9ncmFwaCwgbnVsbHB0ciwgbV9ncmFwaC5tX2Zvcm0gPT0gTG9hZFN0
b3JlKTsKKworICAgICAgICBtX2N1cnJlbnRCbG9ja0xpdmVuZXNzLnJlc2l6ZShtX2dyYXBoLmJs
b2NrKDApLT52YXJpYWJsZXNBdFRhaWwubnVtYmVyT2ZMb2NhbHMoKSk7CisKKyAgICAgICAgSW5z
ZXJ0aW9uU2V0IGluc2VydGlvblNldChtX2dyYXBoKTsKKyAgICAgICAgZm9yIChCYXNpY0Jsb2Nr
KiBibG9jayA6IG1fZ3JhcGguYmxvY2tzSW5OYXR1cmFsT3JkZXIoKSkgeworICAgICAgICAgICAg
aGFuZGxlQmxvY2soYmxvY2ssIGluc2VydGlvblNldCk7CisgICAgICAgICAgICBpbnNlcnRpb25T
ZXQuZXhlY3V0ZShibG9jayk7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICB9CisKKyAgICBib29sIHdpbGxDYXRjaEV4Y2VwdGlvbihDb2RlT3JpZ2luIG9yaWdpbikKKyAg
ICB7CisgICAgICAgIGF1dG8gdXBkYXRlTGl2ZW5lc3MgPSBbJl0gKHVuc2lnbmVkIGJ5dGVjb2Rl
SW5kZXgsIElubGluZUNhbGxGcmFtZSogaW5saW5lRnJhbWUpIHsKKyAgICAgICAgICAgIG1fZ3Jh
cGguZm9yQWxsTG9jYWxzTGl2ZUluQnl0ZWNvZGUoQ29kZU9yaWdpbihieXRlY29kZUluZGV4LCBp
bmxpbmVGcmFtZSksIFsmXSAoVmlydHVhbFJlZ2lzdGVyIG9wZXJhbmQpIHsKKyAgICAgICAgICAg
ICAgICBtX2N1cnJlbnRCbG9ja0xpdmVuZXNzLnNldChvcGVyYW5kLnRvTG9jYWwoKSwgdHJ1ZSk7
IAorICAgICAgICAgICAgfSk7CisgICAgICAgIH07CisKKyAgICAgICAgdW5zaWduZWQgYnl0ZWNv
ZGVJbmRleFRvQ2hlY2sgPSBvcmlnaW4uYnl0ZWNvZGVJbmRleDsKKyAgICAgICAgYm9vbCB3aWxs
Q2F0Y2hFeGNlcHRpb24gPSBmYWxzZTsKKyAgICAgICAgbV9jdXJyZW50QmxvY2tMaXZlbmVzcy5j
bGVhckFsbCgpOworCisgICAgICAgIHdoaWxlICgxKSB7CisgICAgICAgICAgICBJbmxpbmVDYWxs
RnJhbWUqIGlubGluZUNhbGxGcmFtZSA9IG9yaWdpbi5pbmxpbmVDYWxsRnJhbWU7CisgICAgICAg
ICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IG1fZ3JhcGguYmFzZWxpbmVDb2RlQmxvY2tGb3Io
aW5saW5lQ2FsbEZyYW1lKTsKKyAgICAgICAgICAgIGlmIChIYW5kbGVySW5mbyogaGFuZGxlciA9
IGNvZGVCbG9jay0+aGFuZGxlckZvckJ5dGVjb2RlT2Zmc2V0KGJ5dGVjb2RlSW5kZXhUb0NoZWNr
KSkgeworICAgICAgICAgICAgICAgIHdpbGxDYXRjaEV4Y2VwdGlvbiA9IHRydWU7CisgICAgICAg
ICAgICAgICAgdXBkYXRlTGl2ZW5lc3MoaGFuZGxlci0+dGFyZ2V0LCBpbmxpbmVDYWxsRnJhbWUp
OworICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICBpZiAoIWlubGluZUNhbGxGcmFtZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICAgICAgICAgIGJ5dGVjb2RlSW5kZXhUb0NoZWNrID0gaW5saW5lQ2FsbEZyYW1lLT5j
YWxsZXIuYnl0ZWNvZGVJbmRleDsKKyAgICAgICAgICAgIG9yaWdpbiA9IGlubGluZUNhbGxGcmFt
ZS0+Y2FsbGVyOworICAgICAgICB9CisgICAgfQorCisgICAgdm9pZCBoYW5kbGVCbG9jayhCYXNp
Y0Jsb2NrKiBibG9jaywgSW5zZXJ0aW9uU2V0JiBpbnNlcnRpb25TZXQpCisgICAgeworICAgICAg
ICAvLyBCZWNhdXNlIHByZWNpc2UganVtcCB0YXJnZXRzIGVuc3VyZXMgdGhhdCB0aGUgc3RhcnQg
b2YgYSAidHJ5IiBibG9jayBpcyBpdHMKKyAgICAgICAgLy8gb3duIGJhc2ljIGJsb2NrLCB3ZSB3
aWxsIG5ldmVyIGhhdmUgdHdvICJ0cnkiIHN0YXRlbWVudHMgaW4gdGhlIHNhbWUgREZHCisgICAg
ICAgIC8vIGJhc2ljIGJsb2NrLiBUaGVyZWZvcmUsIGNoZWNraW5nIHRoZSBmaXJzdCBub2RlIGlu
IHRoZSBibG9jayBpcyBzdWZmaWNpZW50IAorICAgICAgICAvLyB0byBjaGVja2luZyBpZiB3ZSdy
ZSBpbiBhIHRyeSBibG9jay4KKyAgICAgICAgYm9vbCB3aWxsQ2F0Y2hFeGNlcHRpb24gPSB0aGlz
LT53aWxsQ2F0Y2hFeGNlcHRpb24oYmxvY2stPmF0KDApLT5vcmlnaW4uc2VtYW50aWMpOworICAg
ICAgICBpZiAoIXdpbGxDYXRjaEV4Y2VwdGlvbikKKyAgICAgICAgICAgIHJldHVybjsKKworICAg
ICAgICBPcGVyYW5kczxWYXJpYWJsZUFjY2Vzc0RhdGEqPiBjdXJyZW50QmxvY2tBY2Nlc3NEYXRh
KGJsb2NrLT52YXJpYWJsZXNBdFRhaWwubnVtYmVyT2ZBcmd1bWVudHMoKSwgYmxvY2stPnZhcmlh
Ymxlc0F0VGFpbC5udW1iZXJPZkxvY2FscygpLCBudWxscHRyKTsKKworICAgICAgICB7CisgICAg
ICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgYmxvY2stPnNpemUoKTsgaSsrKSB7Cisg
ICAgICAgICAgICAgICAgTm9kZSogbm9kZSA9IGJsb2NrLT5hdChpKTsKKyAgICAgICAgICAgICAg
ICBib29sIGlzUHJpbW9yZGlhbFNldEFyZ3VtZW50ID0gbm9kZS0+b3AoKSA9PSBTZXRBcmd1bWVu
dCAmJiBub2RlLT5sb2NhbCgpLmlzQXJndW1lbnQoKSAmJiBub2RlID09IG1fZ3JhcGgubV9hcmd1
bWVudHNbbm9kZS0+bG9jYWwoKS50b0FyZ3VtZW50KCldOworICAgICAgICAgICAgICAgIGlmIChu
b2RlLT5vcCgpID09IFNldExvY2FsIHx8IChub2RlLT5vcCgpID09IFNldEFyZ3VtZW50ICYmICFp
c1ByaW1vcmRpYWxTZXRBcmd1bWVudCkpIHsKKyAgICAgICAgICAgICAgICAgICAgVmlydHVhbFJl
Z2lzdGVyIG9wZXJhbmQgPSBub2RlLT5sb2NhbCgpOworCisgICAgICAgICAgICAgICAgICAgIGlm
ICgob3BlcmFuZC5pc0xvY2FsKCkgJiYgbV9jdXJyZW50QmxvY2tMaXZlbmVzcy5nZXQob3BlcmFu
ZC50b0xvY2FsKCkpKSAKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBoYW5kbGUg
aW5saW5lIGNhbGwgZnJhbWUgInRoaXMicy4KKyAgICAgICAgICAgICAgICAgICAgICAgIHx8IChv
cGVyYW5kLmlzQXJndW1lbnQoKSAmJiBvcGVyYW5kID09IHZpcnR1YWxSZWdpc3RlckZvckFyZ3Vt
ZW50KDApKSkgeworCisgICAgICAgICAgICAgICAgICAgICAgICBWYXJpYWJsZUFjY2Vzc0RhdGEq
IGZsdXNoQWNjZXNzRGF0YSA9IGN1cnJlbnRCbG9ja0FjY2Vzc0RhdGEub3BlcmFuZChvcGVyYW5k
KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghZmx1c2hBY2Nlc3NEYXRhKQorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGZsdXNoQWNjZXNzRGF0YSA9IG5ld1ZhcmlhYmxlQWNjZXNz
RGF0YShvcGVyYW5kKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgaW5zZXJ0aW9uU2V0Lmlu
c2VydE5vZGUoaSwgU3BlY05vbmUsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZsdXNo
LCBub2RlLT5vcmlnaW4sIE9wSW5mbyhmbHVzaEFjY2Vzc0RhdGEpKTsKKyAgICAgICAgICAgICAg
ICAgICAgfQorICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGlmIChub2RlLT5o
YXNWYXJpYWJsZUFjY2Vzc0RhdGEobV9ncmFwaCkpCisgICAgICAgICAgICAgICAgICAgIGN1cnJl
bnRCbG9ja0FjY2Vzc0RhdGEub3BlcmFuZChub2RlLT5sb2NhbCgpKSA9IG5vZGUtPnZhcmlhYmxl
QWNjZXNzRGF0YSgpOworICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgLy8gRmx1
c2ggZXZlcnl0aGluZyBhdCB0aGUgZW5kIG9mIHRoZSBibG9jay4KKyAgICAgICAgLy8gRklYTUU6
IEkgdGhpbmsgdGhpcyB3aWxsIG9ubHkgYmUgbmVjZXNzYXJ5IGlmIHdlIGhhdmUgYW55IHN1Y2Nl
c3NvcgorICAgICAgICAvLyBibG9ja3Mgd2hvIGFyZW4ndCBpbnNpZGUgdGhpcyAidHJ5IiBzdGF0
ZW1lbnQuIElmIGFsbCBvdXIgc3VjY2Vzc29yJ3MKKyAgICAgICAgLy8gYXJlIGluIHRoaXMgdHJ5
IHN0YXRlbWVudCwgdGhleSB3aWxsIGhhdmUgRmx1c2hlcyBmb3IgYW55IGxpdmUgImNhdGNoIgor
ICAgICAgICAvLyB2YXJpYWJsZXMuCisgICAgICAgIHsKKyAgICAgICAgICAgIE5vZGVPcmlnaW4g
b3JpZ2luID0gYmxvY2stPmF0KGJsb2NrLT5zaXplKCkgLSAxKS0+b3JpZ2luOworICAgICAgICAg
ICAgYXV0byBpbnNlcnRGbHVzaEF0RW5kID0gWyZdIChWaXJ0dWFsUmVnaXN0ZXIgb3BlcmFuZCkg
eworICAgICAgICAgICAgICAgIGlmICgob3BlcmFuZC5pc0xvY2FsKCkgJiYgbV9jdXJyZW50Qmxv
Y2tMaXZlbmVzcy5nZXQob3BlcmFuZC50b0xvY2FsKCkpKSB8fCBvcGVyYW5kLmlzQXJndW1lbnQo
KSkgeworICAgICAgICAgICAgICAgICAgICBWYXJpYWJsZUFjY2Vzc0RhdGEqIGFjY2Vzc0RhdGEg
PSBjdXJyZW50QmxvY2tBY2Nlc3NEYXRhLm9wZXJhbmQob3BlcmFuZCk7CisgICAgICAgICAgICAg
ICAgICAgIGlmICghYWNjZXNzRGF0YSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc0Rh
dGEgPSBuZXdWYXJpYWJsZUFjY2Vzc0RhdGEob3BlcmFuZCk7CisKKyAgICAgICAgICAgICAgICAg
ICAgY3VycmVudEJsb2NrQWNjZXNzRGF0YS5vcGVyYW5kKG9wZXJhbmQpID0gYWNjZXNzRGF0YTsK
KworICAgICAgICAgICAgICAgICAgICBpbnNlcnRpb25TZXQuaW5zZXJ0Tm9kZShibG9jay0+c2l6
ZSgpLCBTcGVjTm9uZSwgCisgICAgICAgICAgICAgICAgICAgICAgICBGbHVzaCwgb3JpZ2luLCBP
cEluZm8oYWNjZXNzRGF0YSkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH07Cisg
ICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGxvY2FsID0gMDsgbG9jYWwgPCBibG9jay0+dmFyaWFi
bGVzQXRUYWlsLm51bWJlck9mTG9jYWxzKCk7IGxvY2FsKyspCisgICAgICAgICAgICAgICAgaW5z
ZXJ0Rmx1c2hBdEVuZCh2aXJ0dWFsUmVnaXN0ZXJGb3JMb2NhbChsb2NhbCkpOworICAgICAgICAg
ICAgaW5zZXJ0Rmx1c2hBdEVuZCh2aXJ0dWFsUmVnaXN0ZXJGb3JBcmd1bWVudCgwKSk7CisgICAg
ICAgICAgICAvL2ZvciAodW5zaWduZWQgbG9jYWwgPSAwOyBsb2NhbCA8IGJsb2NrLT52YXJpYWJs
ZXNBdFRhaWwubnVtYmVyT2ZBcmd1bWVudHMoKTsgbG9jYWwrKykKKyAgICAgICAgICAgIC8vICAg
IGluc2VydEZsdXNoQXRFbmQodmlydHVhbFJlZ2lzdGVyRm9yQXJndW1lbnQobG9jYWwpKTsKKyAg
ICAgICAgfQorICAgIH0KKworICAgIFZhcmlhYmxlQWNjZXNzRGF0YSogbmV3VmFyaWFibGVBY2Nl
c3NEYXRhKFZpcnR1YWxSZWdpc3RlciBvcGVyYW5kKQorICAgIHsKKyAgICAgICAgQVNTRVJUKCFv
cGVyYW5kLmlzQ29uc3RhbnQoKSk7CisgICAgICAgIAorICAgICAgICBtX2dyYXBoLm1fdmFyaWFi
bGVBY2Nlc3NEYXRhLmFwcGVuZChWYXJpYWJsZUFjY2Vzc0RhdGEob3BlcmFuZCkpOworICAgICAg
ICByZXR1cm4gJm1fZ3JhcGgubV92YXJpYWJsZUFjY2Vzc0RhdGEubGFzdCgpOworICAgIH0KKwor
ICAgIEZhc3RCaXRWZWN0b3IgbV9jdXJyZW50QmxvY2tMaXZlbmVzczsKK307CisKK2Jvb2wgcGVy
Zm9ybUZsdXNoTGl2ZUNhdGNoVmFyaWFibGVzSW5zZXJ0aW9uUGhhc2UoR3JhcGgmIGdyYXBoKQor
eworICAgIFNhbXBsaW5nUmVnaW9uIHNhbXBsaW5nUmVnaW9uKCJERkcgRmx1c2ggTGl2ZSBDYXRj
aCBWYXJpYWJsZXMgSW5zZXJ0aW9uIFBoYXNlIik7CisgICAgcmV0dXJuIHJ1blBoYXNlPEZsdXNo
TGl2ZUNhdGNoVmFyaWFibGVzSW5zZXJ0aW9uUGhhc2U+KGdyYXBoKTsKK30KKworfSB9IC8vIG5h
bWVzcGFjZSBKU0M6OkRGRworCisjZW5kaWYgLy8gRU5BQkxFKERGR19KSVQpCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZsdXNoTGl2ZUNhdGNoVmFyaWFibGVzSW5zZXJ0aW9u
UGhhc2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZsdXNo
TGl2ZUNhdGNoVmFyaWFibGVzSW5zZXJ0aW9uUGhhc2UuaAkocmV2aXNpb24gMCkKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRmx1c2hMaXZlQ2F0Y2hWYXJpYWJsZXNJbnNlcnRpb25Q
aGFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTUgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFO
WQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBERkdGbHVzaExpdmVDYXRjaFZh
cmlhYmxlc0luc2VydGlvblBoYXNlX2gKKyNkZWZpbmUgREZHRmx1c2hMaXZlQ2F0Y2hWYXJpYWJs
ZXNJbnNlcnRpb25QaGFzZV9oIAorCisjaWYgRU5BQkxFKERGR19KSVQpCisKK25hbWVzcGFjZSBK
U0MgeyBuYW1lc3BhY2UgREZHIHsKKworY2xhc3MgR3JhcGg7CisKKy8vIEZJWE1FOiBjb21tZW50
IGhlcmUuCitib29sIHBlcmZvcm1GbHVzaExpdmVDYXRjaFZhcmlhYmxlc0luc2VydGlvblBoYXNl
KEdyYXBoJik7CisKK30gfSAvLyBuYW1lc3BhY2UgSlNDOjpERkcKKworI2VuZGlmIC8vIEVOQUJM
RShERkdfSklUKQorCisjZW5kaWYgLy8gREZHRmx1c2hMaXZlQ2F0Y2hWYXJpYWJsZXNJbnNlcnRp
b25QaGFzZV9oCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5oCShyZXZpc2lv
biAxODk1NjEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmgJKHdvcmtp
bmcgY29weSkKQEAgLTg3NSw2ICs4NzUsNyBAQCBwdWJsaWM6CiAgICAgUGxhblN0YWdlIG1fcGxh
blN0YWdlIHsgUGxhblN0YWdlOjpJbml0aWFsIH07CiAgICAgUmVmQ291bnRTdGF0ZSBtX3JlZkNv
dW50U3RhdGU7CiAgICAgYm9vbCBtX2hhc0RlYnVnZ2VyRW5hYmxlZDsKKyAgICBib29sIG1faGFz
RXhjZXB0aW9uSGFuZGxlcnMgeyBmYWxzZSB9OwogcHJpdmF0ZToKICAgICAKICAgICB2b2lkIGhh
bmRsZVN1Y2Nlc3NvcihWZWN0b3I8QmFzaWNCbG9jayosIDE2PiYgd29ya2xpc3QsIEJhc2ljQmxv
Y2sqLCBCYXNpY0Jsb2NrKiBzdWNjZXNzb3IpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdKSVRDb21waWxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdKSVRDb21waWxlci5jcHAJKHJldmlzaW9uIDE4OTU2MSkKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29tcGlsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05
MCw2ICs5MCw3IEBAIHZvaWQgSklUQ29tcGlsZXI6OmxpbmtPU1JFeGl0cygpCiAgICAgICAgIHN0
b3JlMzIoVHJ1c3RlZEltbTMyKGkpLCAmdm0oKS0+b3NyRXhpdEluZGV4KTsKICAgICAgICAgZXhp
dC5zZXRQYXRjaGFibGVDb2RlT2Zmc2V0KHBhdGNoYWJsZUp1bXAoKSk7CiAgICAgfQorCiB9CiAK
IHZvaWQgSklUQ29tcGlsZXI6OmNvbXBpbGVFbnRyeSgpCkBAIC0yNzUsMTEgKzI3NiwzMiBAQCB2
b2lkIEpJVENvbXBpbGVyOjpsaW5rKExpbmtCdWZmZXImIGxpbmtCCiAgICAgICAgIH0KICAgICB9
IGVsc2UKICAgICAgICAgQVNTRVJUKCFtX2V4aXRTaXRlTGFiZWxzLnNpemUoKSk7Ci0gICAgCisK
ICAgICBtX2ppdENvZGUtPmNvbW1vbi5jb21waWxhdGlvbiA9IG1fZ3JhcGguY29tcGlsYXRpb24o
KTsKICAgICAKIH0KIAordm9pZCBKSVRDb21waWxlcjo6bGlua0V4Y2VwdGlvbkhhbmRsZXJPU1JF
eGl0cyhMaW5rQnVmZmVyJiBsaW5rQnVmZmVyKQoreworICAgIC8vIExpbmsgbmV3IGV4Y2VwdGlv
biBoYW5kbGVycyBhbmQgcmVtb3ZlIGJhc2VsaW5lIEpJVCBoYW5kbGVycy4KKyAgICBtX2NvZGVC
bG9jay0+Y2xlYXJFeGNlcHRpb25IYW5kbGVycygpOworICAgIGZvciAodW5zaWduZWQgIGkgPSAw
OyBpIDwgbV9leGNlcHRpb25PU1JFeGl0Q2FsbFNpdGVzLnNpemUoKTsgaSsrKSB7CisgICAgICAg
IE9TUkV4aXRDb21waWxhdGlvbkluZm8mIGluZm8gPSBtX2V4Y2VwdGlvbk9TUkV4aXRDYWxsU2l0
ZXNbaV0uZXhpdEluZm87CisgICAgICAgIGlmIChpbmZvLm1fcmVwbGFjZW1lbnREZXN0aW5hdGlv
bi5pc1NldCgpKSB7CisgICAgICAgICAgICAvLyBJZiB0aGlzIGlzIGlzIG5vdCBzZXQsIGl0IG1l
YW5zIHRoYXQgd2UgYWxyZWFkeSBqdW1wZWQgdG8gd2hlcmUgd2UgbmVlZGVkIHRvIGhhbmRsZSB0
aGUgZXhjZXB0aW9uCisgICAgICAgICAgICAvLyBhbmQgdGhhdCB3ZSdyZSBoYW5kbGluZyBpdCBp
biBwdXJlIERGRyBjb250cm9sIGZsb3cuIElmIGl0J3Mgc2V0LCBpdCBtZWFucyB3ZSBtYXkgYmUg
bGFuZGluZworICAgICAgICAgICAgLy8gaGVyZSBmcm9tIGdlbmVyaWNVbndpbmQgZnJvbSBhIGNo
aWxkIGNhbGwgZnJhbWUuCisgICAgICAgICAgICBDb2RlTG9jYXRpb25MYWJlbCBjYXRjaExhYmVs
ID0gbGlua0J1ZmZlci5sb2NhdGlvbk9mKGluZm8ubV9yZXBsYWNlbWVudERlc3RpbmF0aW9uKTsK
KyAgICAgICAgICAgIEhhbmRsZXJJbmZvIG5ld0V4Y2VwdGlvbkhhbmRsZXIgPSBtX2V4Y2VwdGlv
bk9TUkV4aXRDYWxsU2l0ZXNbaV0uYmFzZWxpbmVFeGNlcHRpb25IYW5kbGVyOworICAgICAgICAg
ICAgQ2FsbFNpdGVJbmRleCBjYWxsU2l0ZSA9IG1fZXhjZXB0aW9uT1NSRXhpdENhbGxTaXRlc1tp
XS5jYWxsU2l0ZUluZGV4OworICAgICAgICAgICAgbmV3RXhjZXB0aW9uSGFuZGxlci5zdGFydCA9
IGNhbGxTaXRlLmJpdHMoKTsKKyAgICAgICAgICAgIG5ld0V4Y2VwdGlvbkhhbmRsZXIuZW5kID0g
Y2FsbFNpdGUuYml0cygpICsgMTsKKyAgICAgICAgICAgIG5ld0V4Y2VwdGlvbkhhbmRsZXIubmF0
aXZlQ29kZSA9IGNhdGNoTGFiZWw7CisgICAgICAgICAgICBtX2NvZGVCbG9jay0+YXBwZW5kRXhj
ZXB0aW9uSGFuZGxlcihuZXdFeGNlcHRpb25IYW5kbGVyKTsKKyAgICAgICAgfQorICAgIH0KK30K
Kwogdm9pZCBKSVRDb21waWxlcjo6Y29tcGlsZSgpCiB7CiAgICAgU2FtcGxpbmdSZWdpb24gc2Ft
cGxpbmdSZWdpb24oIkRGRyBCYWNrZW5kIik7CkBAIC0zMjcsOCArMzQ5LDkgQEAgdm9pZCBKSVRD
b21waWxlcjo6Y29tcGlsZSgpCiAgICAgfQogICAgIAogICAgIGxpbmsoKmxpbmtCdWZmZXIpOwor
ICAgIGxpbmtFeGNlcHRpb25IYW5kbGVyT1NSRXhpdHMoKmxpbmtCdWZmZXIpOwogICAgIG1fc3Bl
Y3VsYXRpdmUtPmxpbmtPU1JFbnRyaWVzKCpsaW5rQnVmZmVyKTsKLSAgICAKKwogICAgIG1faml0
Q29kZS0+c2hyaW5rVG9GaXQoKTsKICAgICBjb2RlQmxvY2soKS0+c2hyaW5rVG9GaXQoQ29kZUJs
b2NrOjpMYXRlU2hyaW5rKTsKIApAQCAtNDIzLDYgKzQ0Niw3IEBAIHZvaWQgSklUQ29tcGlsZXI6
OmNvbXBpbGVGdW5jdGlvbigpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAgICAgbGluaygqbGlu
a0J1ZmZlcik7CisgICAgbGlua0V4Y2VwdGlvbkhhbmRsZXJPU1JFeGl0cygqbGlua0J1ZmZlcik7
CiAgICAgbV9zcGVjdWxhdGl2ZS0+bGlua09TUkVudHJpZXMoKmxpbmtCdWZmZXIpOwogICAgIAog
ICAgIG1faml0Q29kZS0+c2hyaW5rVG9GaXQoKTsKQEAgLTUxNiw2ICs1NDAsNjAgQEAgdm9pZCBK
SVRDb21waWxlcjo6bm90aWNlT1NSRW50cnkoQmFzaWNCbAogICAgIGVudHJ5LT5tX3Jlc2h1ZmZs
aW5ncy5zaHJpbmtUb0ZpdCgpOwogfQogCit2b2lkIEpJVENvbXBpbGVyOjpleGNlcHRpb25DaGVj
aygpCit7CisgICAgc3RkOjp0dXBsZTxib29sLCBDb2RlT3JpZ2luLCBIYW5kbGVySW5mbyo+IGV4
Y2VwdGlvblJlc3VsdCA9IHdpbGxDYXRjaEV4Y2VwdGlvbkluTWFjaGluZUZyYW1lKG1fc3BlY3Vs
YXRpdmUtPm1fY3VycmVudE5vZGUtPm9yaWdpbi5zZW1hbnRpYyk7IC8vIFdlIGFzc3VtZSBoZXJl
IHRoYXQgc29tZWJvZHkgY2FsbGVkIGFwcGVuZENhbGwgZmlyc3QuIFRoaXMgaXMgZGFuZ2Vyb3Vz
LCBhbmQgbWF5YmUgd2UgY2FuIGJlIHNtYXJ0ZXIuCisgICAgLy8gV2UgYXNzdW1lIGhlcmUgdGhh
dCB0aGlzIGlzIGNhbGxlZCBhZnRlciBjYWxsT3BlYXJ0aW9uKCkvYXBwZW5kQ2FsbCgpIGlzIGNh
bGxlZC4KKyAgICAvLyBXZSBzaG91bGQgcHJvYmFibHkgbWFrZSB0aGF0IGV4cGxpY2l0IGluIHRo
ZSBuYW1lLCBsaWtlIGNoZWNrRXhlcHRpb25BZnRlckNhbGwoKS4KKyAgICBib29sIHdpbGxDYXRj
aEV4Y2VwdGlvbiA9IHN0ZDo6Z2V0PDA+KGV4Y2VwdGlvblJlc3VsdCk7CisgICAgaWYgKHdpbGxD
YXRjaEV4Y2VwdGlvbikgeworICAgICAgICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBoYWRFeGNlcHRp
b24gPSBlbWl0Tm9uUGF0Y2hhYmxlRXhjZXB0aW9uQ2hlY2soKTsKKyAgICAgICAgdW5zaWduZWQg
c3RyZWFtSW5kZXggPSBtX3NwZWN1bGF0aXZlLT5tX291dE9mTGluZVN0cmVhbUluZGV4ICE9IFVJ
TlRfTUFYID8gbV9zcGVjdWxhdGl2ZS0+bV9vdXRPZkxpbmVTdHJlYW1JbmRleCA6IG1fc3BlY3Vs
YXRpdmUtPm1fc3RyZWFtLT5zaXplKCk7CisgICAgICAgIGFwcGVuZE9TUkV4aXRGb3JFeGNlcHRp
b25IYW5kbGluZyhzdHJlYW1JbmRleCwgc3RkOjpnZXQ8MT4oZXhjZXB0aW9uUmVzdWx0KSwgc3Rk
OjpnZXQ8Mj4oZXhjZXB0aW9uUmVzdWx0KSwgbV9qaXRDb2RlLT5jb21tb24ubGFzdENhbGxTaXRl
KCksIGhhZEV4Y2VwdGlvbik7CisgICAgfSBlbHNlCisgICAgICAgIG1fZXhjZXB0aW9uQ2hlY2tz
LmFwcGVuZChlbWl0RXhjZXB0aW9uQ2hlY2soKSk7Cit9CisKK3ZvaWQgSklUQ29tcGlsZXI6OmFw
cGVuZE9TUkV4aXRGb3JFeGNlcHRpb25IYW5kbGluZyh1bnNpZ25lZCBldmVudFN0cmVhbUluZGV4
LCBDb2RlT3JpZ2luIG9yaWdpbiwgSGFuZGxlckluZm8qIGV4Y2VwdGlvbkhhbmRsZXIsIENhbGxT
aXRlSW5kZXggY2FsbFNpdGUsIE1hY3JvQXNzZW1ibGVyOjpKdW1wTGlzdCBqdW1wc1RvRmFpbCkK
K3sKKyAgICBPU1JFeGl0IGV4aXQoVW5jb3VudGFibGUsIEpTVmFsdWVSZWdzKCksIGdyYXBoKCku
bWV0aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmlsZUZvcihudWxscHRyKSwgbV9zcGVjdWxhdGl2ZS5n
ZXQoKSwgZXZlbnRTdHJlYW1JbmRleCk7CisgICAgZXhpdC5tX3dpbGxBcnJpdmVBdE9TUkV4aXRG
cm9tR2VuZXJpY1Vud2luZCA9IGp1bXBzVG9GYWlsLmVtcHR5KCk7IC8vIElmIGp1bXBzIGFyZSBl
bXB0eSwgd2UncmUgZ29pbmcgdG8ganVtcCBoZXJlIGZyb20gZ2VuZXJpY1Vud2luZCBmcm9tIGEg
Y2hpbGQgY2FsbCBmcmFtZS4KKyAgICBleGl0Lm1fY29kZU9yaWdpbiA9IG9yaWdpbjsKKyAgICBP
U1JFeGl0Q29tcGlsYXRpb25JbmZvJiBleGl0SW5mbyA9IGFwcGVuZEV4aXRJbmZvKGp1bXBzVG9G
YWlsKTsKKyAgICBqaXRDb2RlKCktPmFwcGVuZE9TUkV4aXQoZXhpdCk7CisgICAgbV9leGNlcHRp
b25PU1JFeGl0Q2FsbFNpdGVzLmFwcGVuZChFeGNlcHRpb25IYW5kbGVyRm9yT1NSRXhpdCB7IGV4
aXRJbmZvLCAqZXhjZXB0aW9uSGFuZGxlciwgY2FsbFNpdGUgfSk7Cit9CisKK3N0ZDo6dHVwbGU8
Ym9vbCwgQ29kZU9yaWdpbiwgSGFuZGxlckluZm8qPiBKSVRDb21waWxlcjo6d2lsbENhdGNoRXhj
ZXB0aW9uSW5NYWNoaW5lRnJhbWUoY29uc3QgQ29kZU9yaWdpbiYgY29kZU9yaWdpbikKK3sKKyAg
ICB1bnNpZ25lZCBieXRlY29kZUluZGV4VG9DaGVjayA9IGNvZGVPcmlnaW4uYnl0ZWNvZGVJbmRl
eDsKKyAgICBDb2RlT3JpZ2luIG9yaWdpbiA9IGNvZGVPcmlnaW47CisgICAgd2hpbGUgKDEpIHsK
KyAgICAgICAgSW5saW5lQ2FsbEZyYW1lKiBpbmxpbmVDYWxsRnJhbWUgPSBvcmlnaW4uaW5saW5l
Q2FsbEZyYW1lOworICAgICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IG1fZ3JhcGguYmFzZWxp
bmVDb2RlQmxvY2tGb3IoaW5saW5lQ2FsbEZyYW1lKTsKKyAgICAgICAgaWYgKEhhbmRsZXJJbmZv
KiBoYW5kbGVyID0gY29kZUJsb2NrLT5oYW5kbGVyRm9yQnl0ZWNvZGVPZmZzZXQoYnl0ZWNvZGVJ
bmRleFRvQ2hlY2spKQorICAgICAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV90dXBsZSh0cnVlLCBD
b2RlT3JpZ2luKGhhbmRsZXItPnRhcmdldCwgaW5saW5lQ2FsbEZyYW1lKSwgaGFuZGxlcik7CisK
KyAgICAgICAgaWYgKCFpbmxpbmVDYWxsRnJhbWUpCisgICAgICAgICAgICBicmVhazsKKworICAg
ICAgICBieXRlY29kZUluZGV4VG9DaGVjayA9IGlubGluZUNhbGxGcmFtZS0+Y2FsbGVyLmJ5dGVj
b2RlSW5kZXg7CisgICAgICAgIG9yaWdpbiA9IG9yaWdpbi5pbmxpbmVDYWxsRnJhbWUtPmNhbGxl
cjsKKyAgICB9CisKKyAgICByZXR1cm4gc3RkOjptYWtlX3R1cGxlKGZhbHNlLCBDb2RlT3JpZ2lu
KCksIG51bGxwdHIpOworfQorCitDYWxsU2l0ZUluZGV4IEpJVENvbXBpbGVyOjpwbGFjZUNhbGxT
aXRlT1NSRXhpdEhhbmRsZXJGb3JFeGNlcHRpb25JZk5lZWRlZChjb25zdCBDb2RlT3JpZ2luJiBj
b2RlT3JpZ2luLCB1bnNpZ25lZCBldmVudFN0cmVhbUluZGV4KQoreworICAgIHN0ZDo6dHVwbGU8
Ym9vbCwgQ29kZU9yaWdpbiwgSGFuZGxlckluZm8qPiBleGNlcHRpb25JbmZvID0gd2lsbENhdGNo
RXhjZXB0aW9uSW5NYWNoaW5lRnJhbWUoY29kZU9yaWdpbik7CisgICAgYm9vbCB3aWxsQ2F0Y2hF
eGNlcHRpb24gPSBzdGQ6OmdldDwwPihleGNlcHRpb25JbmZvKTsKKyAgICBDYWxsU2l0ZUluZGV4
IGNhbGxTaXRlID0gYWRkQ2FsbFNpdGUoY29kZU9yaWdpbik7CisgICAgaWYgKHdpbGxDYXRjaEV4
Y2VwdGlvbikKKyAgICAgICAgIGFwcGVuZE9TUkV4aXRGb3JFeGNlcHRpb25IYW5kbGluZyhldmVu
dFN0cmVhbUluZGV4LCBzdGQ6OmdldDwxPihleGNlcHRpb25JbmZvKSwgc3RkOjpnZXQ8Mj4oZXhj
ZXB0aW9uSW5mbyksIGNhbGxTaXRlKTsKKyAgICByZXR1cm4gY2FsbFNpdGU7Cit9CisKIH0gfSAv
LyBuYW1lc3BhY2UgSlNDOjpERkcKIAogI2VuZGlmIC8vIEVOQUJMRShERkdfSklUKQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21waWxlci5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29tcGlsZXIuaAkocmV2aXNpb24gMTg5
NTYxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21waWxlci5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiREZHUmVnaXN0ZXJCYW5rLmgi
CiAjaW5jbHVkZSAiRlBSSW5mby5oIgogI2luY2x1ZGUgIkdQUkluZm8uaCIKKyNpbmNsdWRlICJI
YW5kbGVySW5mby5oIgogI2luY2x1ZGUgIkpJVENvZGUuaCIKICNpbmNsdWRlICJKSVRJbmxpbmVD
YWNoZUdlbmVyYXRvci5oIgogI2luY2x1ZGUgIkxpbmtCdWZmZXIuaCIKQEAgLTE1OCw2ICsxNTks
MTEgQEAgcHVibGljOgogICAgIHZvaWQgZW1pdFN0b3JlQ29kZU9yaWdpbihDb2RlT3JpZ2luIGNv
ZGVPcmlnaW4pCiAgICAgewogICAgICAgICBDYWxsU2l0ZUluZGV4IGNhbGxTaXRlID0gYWRkQ2Fs
bFNpdGUoY29kZU9yaWdpbik7CisgICAgICAgIGVtaXRTdG9yZUNhbGxTaXRlSW5kZXgoY2FsbFNp
dGUpOworICAgIH0KKworICAgIHZvaWQgZW1pdFN0b3JlQ2FsbFNpdGVJbmRleChDYWxsU2l0ZUlu
ZGV4IGNhbGxTaXRlKQorICAgIHsKICAgICAgICAgc3RvcmUzMihUcnVzdGVkSW1tMzIoY2FsbFNp
dGUuYml0cygpKSwgdGFnRm9yKHN0YXRpY19jYXN0PFZpcnR1YWxSZWdpc3Rlcj4oSlNTdGFjazo6
QXJndW1lbnRDb3VudCkpKTsKICAgICB9CiAKQEAgLTE2OSwxMCArMTc1LDcgQEAgcHVibGljOgog
ICAgICAgICByZXR1cm4gZnVuY3Rpb25DYWxsOwogICAgIH0KICAgICAKLSAgICB2b2lkIGV4Y2Vw
dGlvbkNoZWNrKCkKLSAgICB7Ci0gICAgICAgIG1fZXhjZXB0aW9uQ2hlY2tzLmFwcGVuZChlbWl0
RXhjZXB0aW9uQ2hlY2soKSk7Ci0gICAgfQorICAgIHZvaWQgZXhjZXB0aW9uQ2hlY2soKTsKIAog
ICAgIHZvaWQgZXhjZXB0aW9uQ2hlY2tXaXRoQ2FsbEZyYW1lUm9sbGJhY2soKQogICAgIHsKQEAg
LTI2MCw2ICsyNjMsOSBAQCBwdWJsaWM6CiAgICAgCiAgICAgVmVjdG9yPExhYmVsPiYgYmxvY2tI
ZWFkcygpIHsgcmV0dXJuIG1fYmxvY2tIZWFkczsgfQogCisgICAgc3RkOjp0dXBsZTxib29sLCBD
b2RlT3JpZ2luLCBIYW5kbGVySW5mbyo+IHdpbGxDYXRjaEV4Y2VwdGlvbkluTWFjaGluZUZyYW1l
KGNvbnN0IENvZGVPcmlnaW4mIGNvZGVPcmlnaW4pOworICAgIENhbGxTaXRlSW5kZXggcGxhY2VD
YWxsU2l0ZU9TUkV4aXRIYW5kbGVyRm9yRXhjZXB0aW9uSWZOZWVkZWQoY29uc3QgQ29kZU9yaWdp
biYsIHVuc2lnbmVkIGV2ZW50U3RyZWFtSW5kZXgpOworCiBwcml2YXRlOgogICAgIGZyaWVuZCBj
bGFzcyBPU1JFeGl0SnVtcFBsYWNlaG9sZGVyOwogICAgIApAQCAtMjY3LDEyICsyNzMsMTUgQEAg
cHJpdmF0ZToKICAgICB2b2lkIGNvbXBpbGVFbnRyeSgpOwogICAgIHZvaWQgY29tcGlsZUJvZHko
KTsKICAgICB2b2lkIGxpbmsoTGlua0J1ZmZlciYpOworICAgIHZvaWQgbGlua0V4Y2VwdGlvbkhh
bmRsZXJPU1JFeGl0cyhMaW5rQnVmZmVyJiBsaW5rQnVmZmVyKTsKICAgICAKICAgICB2b2lkIGV4
aXRTcGVjdWxhdGl2ZVdpdGhPU1IoY29uc3QgT1NSRXhpdCYsIFNwZWN1bGF0aW9uUmVjb3Zlcnkq
KTsKICAgICB2b2lkIGNvbXBpbGVFeGNlcHRpb25IYW5kbGVycygpOwogICAgIHZvaWQgbGlua09T
UkV4aXRzKCk7CiAgICAgdm9pZCBkaXNhc3NlbWJsZShMaW5rQnVmZmVyJik7Ci0gICAgCisKKyAg
ICB2b2lkIGFwcGVuZE9TUkV4aXRGb3JFeGNlcHRpb25IYW5kbGluZyh1bnNpZ25lZCBldmVudFN0
cmVhbUluZGV4LCBDb2RlT3JpZ2luLCBIYW5kbGVySW5mbyogZXhjZXB0aW9uSGFuZGxlciwgQ2Fs
bFNpdGVJbmRleCwgTWFjcm9Bc3NlbWJsZXI6Okp1bXBMaXN0IGp1bXBzVG9GYWlsID0gTWFjcm9B
c3NlbWJsZXI6Okp1bXBMaXN0KCkpOworCiAgICAgLy8gVGhlIGRhdGFmbG93IGdyYXBoIGN1cnJl
bnRseSBiZWluZyBnZW5lcmF0ZWQuCiAgICAgR3JhcGgmIG1fZ3JhcGg7CiAKQEAgLTMxMCw2ICsz
MTksMTMgQEAgcHJpdmF0ZToKICAgICBTZWdtZW50ZWRWZWN0b3I8T1NSRXhpdENvbXBpbGF0aW9u
SW5mbywgND4gbV9leGl0Q29tcGlsYXRpb25JbmZvOwogICAgIFZlY3RvcjxWZWN0b3I8TGFiZWw+
PiBtX2V4aXRTaXRlTGFiZWxzOwogICAgIAorICAgIHN0cnVjdCBFeGNlcHRpb25IYW5kbGVyRm9y
T1NSRXhpdCB7CisgICAgICAgIE9TUkV4aXRDb21waWxhdGlvbkluZm8mIGV4aXRJbmZvOworICAg
ICAgICBIYW5kbGVySW5mbyBiYXNlbGluZUV4Y2VwdGlvbkhhbmRsZXI7CisgICAgICAgIENhbGxT
aXRlSW5kZXggY2FsbFNpdGVJbmRleDsKKyAgICB9OworICAgIFZlY3RvcjxFeGNlcHRpb25IYW5k
bGVyRm9yT1NSRXhpdD4gbV9leGNlcHRpb25PU1JFeGl0Q2FsbFNpdGVzOworICAgIAogICAgIENh
bGwgbV9jYWxsQXJpdHlGaXh1cDsKICAgICBMYWJlbCBtX2FyaXR5Q2hlY2s7CiAgICAgc3RkOjp1
bmlxdWVfcHRyPFNwZWN1bGF0aXZlSklUPiBtX3NwZWN1bGF0aXZlOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXQuY3BwCShyZXZpc2lvbiAxODk1NjEpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0z
MCw2ICszMCw3IEBACiAKICNpbmNsdWRlICJBc3NlbWJseUhlbHBlcnMuaCIKICNpbmNsdWRlICJE
RkdHcmFwaC5oIgorI2luY2x1ZGUgIkRGR01heUV4aXQuaCIKICNpbmNsdWRlICJERkdTcGVjdWxh
dGl2ZUpJVC5oIgogI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKIApAQCAtNDMsNyArNDQsMTIgQEAg
T1NSRXhpdDo6T1NSRXhpdChFeGl0S2luZCBraW5kLCBKU1ZhbHVlUwogICAgICwgbV9yZWNvdmVy
eUluZGV4KHJlY292ZXJ5SW5kZXgpCiAgICAgLCBtX3N0cmVhbUluZGV4KHN0cmVhbUluZGV4KQog
ewotICAgIERGR19BU1NFUlQoaml0LT5tX2ppdC5ncmFwaCgpLCBqaXQtPm1fY3VycmVudE5vZGUs
IGppdC0+bV9vcmlnaW4uZXhpdE9LKTsKKyAgICBib29sIGNhbkV4aXQgPSBqaXQtPm1fb3JpZ2lu
LmV4aXRPSzsKKyAgICBpZiAoaml0LT5tX2N1cnJlbnROb2RlKSB7CisgICAgICAgIEV4aXRNb2Rl
IGV4aXRNb2RlID0gbWF5RXhpdChqaXQtPm1faml0LmdyYXBoKCksIGppdC0+bV9jdXJyZW50Tm9k
ZSk7CisgICAgICAgIGNhbkV4aXQgfD0gZXhpdE1vZGUgPT0gRXhpdE1vZGU6OkV4aXRzIHx8IGV4
aXRNb2RlID09IEV4aXRNb2RlOjpFeGl0c0ZvckV4Y2VwdGlvbnM7CisgICAgfQorICAgIERGR19B
U1NFUlQoaml0LT5tX2ppdC5ncmFwaCgpLCBqaXQtPm1fY3VycmVudE5vZGUsIGNhbkV4aXQpOwog
fQogCiB2b2lkIE9TUkV4aXQ6OnNldFBhdGNoYWJsZUNvZGVPZmZzZXQoTWFjcm9Bc3NlbWJsZXI6
OlBhdGNoYWJsZUp1bXAgY2hlY2spCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R09TUkV4aXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09T
UkV4aXQuaAkocmV2aXNpb24gMTg5NTYxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdPU1JFeGl0LmgJKHdvcmtpbmcgY29weSkKQEAgLTkzLDcgKzkzLDkgQEAgc3RydWN0IE9TUkV4
aXQgOiBwdWJsaWMgT1NSRXhpdEJhc2UgewogICAgIHVuc2lnbmVkIG1fcGF0Y2hhYmxlQ29kZU9m
ZnNldDsKICAgICAKICAgICB1bnNpZ25lZCBtX3JlY292ZXJ5SW5kZXg7Ci0gICAgCisKKyAgICBi
b29sIG1fd2lsbEFycml2ZUF0T1NSRXhpdEZyb21HZW5lcmljVW53aW5kIHsgZmFsc2UgfTsKKwog
ICAgIHZvaWQgc2V0UGF0Y2hhYmxlQ29kZU9mZnNldChNYWNyb0Fzc2VtYmxlcjo6UGF0Y2hhYmxl
SnVtcCk7CiAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgZ2V0UGF0Y2hhYmxlQ29kZU9mZnNldEFz
SnVtcCgpIGNvbnN0OwogICAgIENvZGVMb2NhdGlvbkp1bXAgY29kZUxvY2F0aW9uRm9yUmVwYXRj
aChDb2RlQmxvY2sqKSBjb25zdDsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
T1NSRXhpdENvbXBpbGVyNjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyNjQuY3BwCShyZXZpc2lvbiAxODk1NjEpCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlcjY0LmNwcAkod29ya2luZyBj
b3B5KQpAQCAtMzgsNyArMzgsNyBAQAogCiBuYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7
CiAKLXZvaWQgT1NSRXhpdENvbXBpbGVyOjpjb21waWxlRXhpdChjb25zdCBPU1JFeGl0JiBleGl0
LCBjb25zdCBPcGVyYW5kczxWYWx1ZVJlY292ZXJ5PiYgb3BlcmFuZHMsIFNwZWN1bGF0aW9uUmVj
b3ZlcnkqIHJlY292ZXJ5KQordm9pZCBPU1JFeGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0KGNvbnN0
IE9TUkV4aXQmIGV4aXQsIGNvbnN0IE9wZXJhbmRzPFZhbHVlUmVjb3Zlcnk+JiBvcGVyYW5kcywg
U3BlY3VsYXRpb25SZWNvdmVyeSogcmVjb3ZlcnksIGJvb2wgaXNFeGl0aW5nQmVjYXVzZUV4Y2Vw
dGlvbikKIHsKICAgICBtX2ppdC5qaXRBc3NlcnRUYWdzSW5QbGFjZSgpOwogCkBAIC0yNDUsNyAr
MjQ1LDggQEAgdm9pZCBPU1JFeGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0KGNvbnN0IAogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9Ci0gICAgCisKKwogICAgIC8vIE5lZWQgdG8g
ZW5zdXJlIHRoYXQgdGhlIHN0YWNrIHBvaW50ZXIgYWNjb3VudHMgZm9yIHRoZSB3b3JzdC1jYXNl
IHN0YWNrIHVzYWdlIGF0IGV4aXQuIFRoaXMKICAgICAvLyBjb3VsZCB0b2FzdCBzb21lIHN0YWNr
IHRoYXQgdGhlIERGRyB1c2VkLiBXZSBuZWVkIHRvIGRvIGl0IGJlZm9yZSBzdG9yaW5nIHRvIHN0
YWNrIG9mZnNldHMKICAgICAvLyB1c2VkIGJ5IGJhc2VsaW5lLgpAQCAtMzcyLDcgKzM3Myw3IEBA
IHZvaWQgT1NSRXhpdENvbXBpbGVyOjpjb21waWxlRXhpdChjb25zdCAKICAgICByZWlmeUlubGlu
ZWRDYWxsRnJhbWVzKG1faml0LCBleGl0KTsKICAgICAKICAgICAvLyBBbmQgZmluaXNoLgotICAg
IGFkanVzdEFuZEp1bXBUb1RhcmdldChtX2ppdCwgZXhpdCk7CisgICAgYWRqdXN0QW5kSnVtcFRv
VGFyZ2V0KG1faml0LCBleGl0LCBpc0V4aXRpbmdCZWNhdXNlRXhjZXB0aW9uKTsKIH0KIAogfSB9
IC8vIG5hbWVzcGFjZSBKU0M6OkRGRwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdPU1JFeGl0Q29tcGlsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyLmNwcAkocmV2aXNpb24gMTg5NTYxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXIuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0xMTQsMTkgKzExNCwyOCBAQCB2b2lkIGNvbXBpbGVPU1JFeGl0KEV4ZWNTdGF0ZSogZXhl
YykKIHsKICAgICBTYW1wbGluZ1JlZ2lvbiBzYW1wbGluZ1JlZ2lvbigiREZHIE9TUiBFeGl0IENv
bXBpbGF0aW9uIik7CiAgICAgCi0gICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5jb2Rl
QmxvY2soKTsKKyAgICBWTSogdm0gPSAmZXhlYy0+dm0oKTsKKyAgICBib29sIGlzRXhpdGluZ0Jl
Y2F1c2VFeGNlcHRpb24gPSAhIXZtLT5leGNlcHRpb24oKTsKKyAgICBpZiAodm0tPmNhbGxGcmFt
ZUZvclRocm93KSB7CisgICAgICAgIEFTU0VSVChpc0V4aXRpbmdCZWNhdXNlRXhjZXB0aW9uKTsK
KyAgICAgICAgLy8gV2UndmUgbGFuZGVkIGhlcmUgYWZ0ZXIgZ2VuZXJpY1Vud2luZCBhbmQgd2Ug
bmVlZCB0byBncmFiIHRoZSBjb3JyZWN0IGNhbGxGcmFtZSBmb3IgdGhlIERGRyBjb2RlLgorICAg
ICAgICBleGVjID0gdm0tPmNhbGxGcmFtZUZvclRocm93OworICAgIH0KICAgICAKKyAgICBDb2Rl
QmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9jaygpOwogICAgIEFTU0VSVChjb2RlQmxv
Y2spOwogICAgIEFTU0VSVChjb2RlQmxvY2stPmppdFR5cGUoKSA9PSBKSVRDb2RlOjpERkdKSVQp
OwogICAgIAotICAgIFZNKiB2bSA9ICZleGVjLT52bSgpOwotICAgIAogICAgIC8vIEl0J3Mgc29y
dCBvZiBwcmVmZXJhYmxlIHRoYXQgd2UgZG9uJ3QgR0Mgd2hpbGUgaW4gaGVyZS4gQW55d2F5cywg
ZG9pbmcgc28gd291bGRuJ3QKICAgICAvLyByZWFsbHkgYmUgcHJvZml0YWJsZS4KICAgICBEZWZl
ckdDRm9yQVdoaWxlIGRlZmVyR0Modm0tPmhlYXApOwogCiAgICAgdWludDMyX3QgZXhpdEluZGV4
ID0gdm0tPm9zckV4aXRJbmRleDsKICAgICBPU1JFeGl0JiBleGl0ID0gY29kZUJsb2NrLT5qaXRD
b2RlKCktPmRmZygpLT5vc3JFeGl0W2V4aXRJbmRleF07CisgICAgLy9wcmludGYoIkNvbXBpbGlu
ZyBPU1IgRXhpdDogJXMgJXVcbiIsIGNvZGVCbG9jay0+aW5mZXJyZWROYW1lKCkuZGF0YSgpLCBl
eGl0Lm1fZXhpdEJ5dGVjb2RlSW5kZXgpOworICAgIAorICAgIGlmICh2bS0+Y2FsbEZyYW1lRm9y
VGhyb3cpCisgICAgICAgIEFTU0VSVChleGl0Lm1fd2lsbEFycml2ZUF0T1NSRXhpdEZyb21HZW5l
cmljVW53aW5kKTsKICAgICAKICAgICBwcmVwYXJlQ29kZU9yaWdpbkZvck9TUkV4aXQoZXhlYywg
ZXhpdC5tX2NvZGVPcmlnaW4pOwogICAgIApAQCAtMTUzLDggKzE2MiwxNiBAQCB2b2lkIGNvbXBp
bGVPU1JFeGl0KEV4ZWNTdGF0ZSogZXhlYykKICAgICAgICAgICAgICAgICBleGl0Lm1fa2luZCwg
ZXhpdC5tX2tpbmQgPT0gVW5jb3VudGFibGVJbnZhbGlkYXRpb24pOwogICAgICAgICAgICAgaml0
LmFkZDY0KENDYWxsSGVscGVyczo6VHJ1c3RlZEltbTMyKDEpLCBDQ2FsbEhlbHBlcnM6OkFic29s
dXRlQWRkcmVzcyhwcm9maWxlckV4aXQtPmNvdW50ZXJBZGRyZXNzKCkpKTsKICAgICAgICAgfQor
CisgICAgICAgIC8vIElmIHdlIGdvdCBoZXJlIGZyb20gZ2VuZXJpY1Vud2luZCwgd2UgbmVlZCB0
byByZXN0b3JlIG91ciBjYWxsIGZyYW1lLgorICAgICAgICBpZiAoZXhpdC5tX3dpbGxBcnJpdmVB
dE9TUkV4aXRGcm9tR2VuZXJpY1Vud2luZCkgeworICAgICAgICAgICAgLy8gV2UgbmVlZCB0byBz
ZXQgcHJvcGVydGllcyB0aGF0IGdlbmVyaWNVbndpbmQgc3RvcmVzIG9uIFZNLiBUaGlzIGlzIHdo
YXQgb3BfY2F0Y2ggaXMgZXhwZWN0ZWQgdG8gZG8uCisgICAgICAgICAgICAvLyBXZSBkbyBpdCBi
ZWNhdXNlIHdlJ3JlIGFjdGluZyBhcyBhIHRyYW1wb2xpbmUgb24gdGhlIHdheSB0byBiYXNlbGlu
ZSBvcF9jYXRjaC4gU28gaWYgdGhlIHJ1bnRpbWUKKyAgICAgICAgICAgIGppdC5sb2FkUHRyKHZt
LT5hZGRyZXNzT2ZDYWxsRnJhbWVGb3JUaHJvdygpLCBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rl
cik7CisgICAgICAgIH0KKyAgICAKICAgICAgICAgCi0gICAgICAgIGV4aXRDb21waWxlci5jb21w
aWxlRXhpdChleGl0LCBvcGVyYW5kcywgcmVjb3ZlcnkpOworICAgICAgICBleGl0Q29tcGlsZXIu
Y29tcGlsZUV4aXQoZXhpdCwgb3BlcmFuZHMsIHJlY292ZXJ5LCBpc0V4aXRpbmdCZWNhdXNlRXhj
ZXB0aW9uKTsKICAgICAgICAgCiAgICAgICAgIExpbmtCdWZmZXIgcGF0Y2hCdWZmZXIoKnZtLCBq
aXQsIGNvZGVCbG9jayk7CiAgICAgICAgIGV4aXQubV9jb2RlID0gRklOQUxJWkVfQ09ERV9JRigK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXIu
aAkocmV2aXNpb24gMTg5NTYxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JF
eGl0Q29tcGlsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDYsNyArNDYsNyBAQCBwdWJsaWM6CiAg
ICAgewogICAgIH0KICAgICAKLSAgICB2b2lkIGNvbXBpbGVFeGl0KGNvbnN0IE9TUkV4aXQmLCBj
b25zdCBPcGVyYW5kczxWYWx1ZVJlY292ZXJ5PiYsIFNwZWN1bGF0aW9uUmVjb3ZlcnkqKTsKKyAg
ICB2b2lkIGNvbXBpbGVFeGl0KGNvbnN0IE9TUkV4aXQmLCBjb25zdCBPcGVyYW5kczxWYWx1ZVJl
Y292ZXJ5PiYsIFNwZWN1bGF0aW9uUmVjb3ZlcnkqLCBib29sKTsKIAogcHJpdmF0ZToKICAgICB2
b2lkIGVtaXRSZXN0b3JlQXJndW1lbnRzKGNvbnN0IE9wZXJhbmRzPFZhbHVlUmVjb3Zlcnk+Jik7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlckNvbW1v
bi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0
Q29tcGlsZXJDb21tb24uY3BwCShyZXZpc2lvbiAxODk1NjEpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlckNvbW1vbi5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTE0Nyw2ICsxNDcsNyBAQCB2b2lkIHJlaWZ5SW5saW5lZENhbGxGcmFtZXMoQ0NhbGxIZWxwZXJz
CiAgICAgICAgIHZvaWQqIGp1bXBUYXJnZXQgPSBudWxscHRyOwogICAgICAgICB2b2lkKiB0cnVl
UmV0dXJuUEMgPSBudWxscHRyOwogICAgICAgICAKKyAgICAgICAgLy8gRklYTUU6IFRoaXMgbWln
aHQgYmUgdGhlIHdyb25nIGJ5dGVjb2RlIGluZGV4IGhlcmUuCiAgICAgICAgIHVuc2lnbmVkIGNh
bGxCeXRlY29kZUluZGV4ID0gaW5saW5lQ2FsbEZyYW1lLT5jYWxsZXIuYnl0ZWNvZGVJbmRleDsK
ICAgICAgICAgCiAgICAgICAgIHN3aXRjaCAoaW5saW5lQ2FsbEZyYW1lLT5raW5kKSB7CkBAIC0y
NDcsNyArMjQ4LDcgQEAgc3RhdGljIHZvaWQgb3NyV3JpdGVCYXJyaWVyKENDYWxsSGVscGVycwog
fQogI2VuZGlmIC8vIEVOQUJMRShHR0MpCiAKLXZvaWQgYWRqdXN0QW5kSnVtcFRvVGFyZ2V0KEND
YWxsSGVscGVycyYgaml0LCBjb25zdCBPU1JFeGl0QmFzZSYgZXhpdCkKK3ZvaWQgYWRqdXN0QW5k
SnVtcFRvVGFyZ2V0KENDYWxsSGVscGVycyYgaml0LCBjb25zdCBPU1JFeGl0QmFzZSYgZXhpdCwg
Ym9vbCBpc0V4aXRpbmdCZWNhdXNlRXhjZXB0aW9uKQogewogI2lmIEVOQUJMRShHR0MpIAogICAg
IGppdC5tb3ZlKEFzc2VtYmx5SGVscGVyczo6VHJ1c3RlZEltbVB0cihqaXQuY29kZUJsb2NrKCkt
Pm93bmVyRXhlY3V0YWJsZSgpKSwgR1BSSW5mbzo6bm9uQXJnR1BSMCk7CkBAIC0yNjgsMTQgKzI2
OSwyMCBAQCB2b2lkIGFkanVzdEFuZEp1bXBUb1RhcmdldChDQ2FsbEhlbHBlcnMmCiAgICAgQ29k
ZUJsb2NrKiBiYXNlbGluZUNvZGVCbG9jayA9IGppdC5iYXNlbGluZUNvZGVCbG9ja0ZvcihleGl0
Lm1fY29kZU9yaWdpbik7CiAgICAgVmVjdG9yPEJ5dGVjb2RlQW5kTWFjaGluZU9mZnNldD4mIGRl
Y29kZWRDb2RlTWFwID0gaml0LmRlY29kZWRDb2RlTWFwRm9yKGJhc2VsaW5lQ29kZUJsb2NrKTsK
ICAgICAKKyAgICAvL0J5dGVjb2RlQW5kTWFjaGluZU9mZnNldCogbWFwcGluZyA9IGJpbmFyeVNl
YXJjaDxCeXRlY29kZUFuZE1hY2hpbmVPZmZzZXQsIHVuc2lnbmVkPihkZWNvZGVkQ29kZU1hcCwg
ZGVjb2RlZENvZGVNYXAuc2l6ZSgpLCBleGl0Lm1fZXhpdEJ5dGVjb2RlSW5kZXgsIEJ5dGVjb2Rl
QW5kTWFjaGluZU9mZnNldDo6Z2V0Qnl0ZWNvZGVJbmRleCk7CiAgICAgQnl0ZWNvZGVBbmRNYWNo
aW5lT2Zmc2V0KiBtYXBwaW5nID0gYmluYXJ5U2VhcmNoPEJ5dGVjb2RlQW5kTWFjaGluZU9mZnNl
dCwgdW5zaWduZWQ+KGRlY29kZWRDb2RlTWFwLCBkZWNvZGVkQ29kZU1hcC5zaXplKCksIGV4aXQu
bV9jb2RlT3JpZ2luLmJ5dGVjb2RlSW5kZXgsIEJ5dGVjb2RlQW5kTWFjaGluZU9mZnNldDo6Z2V0
Qnl0ZWNvZGVJbmRleCk7CiAgICAgCiAgICAgQVNTRVJUKG1hcHBpbmcpOwotICAgIEFTU0VSVCht
YXBwaW5nLT5tX2J5dGVjb2RlSW5kZXggPT0gZXhpdC5tX2NvZGVPcmlnaW4uYnl0ZWNvZGVJbmRl
eCk7CisgICAgLy8gRklYTUU6IG5lZWQgYSBtb3JlIGNvbXBsZXRlL3NvdW5kIHN0b3J5IGhlcmUu
IE5lZWQgdG8gYmUgZXhwbGljaXQgaW4gd2hhdCB3ZSdyZSBkb2luZy4KKyAgICAvL0FTU0VSVCht
YXBwaW5nLT5tX2J5dGVjb2RlSW5kZXggPT0gZXhpdC5tX2NvZGVPcmlnaW4uYnl0ZWNvZGVJbmRl
eCk7CiAgICAgCiAgICAgdm9pZCoganVtcFRhcmdldCA9IGJhc2VsaW5lQ29kZUJsb2NrLT5qaXRD
b2RlKCktPmV4ZWN1dGFibGVBZGRyZXNzQXRPZmZzZXQobWFwcGluZy0+bV9tYWNoaW5lQ29kZU9m
ZnNldCk7CiAKICAgICBqaXQuYWRkUHRyKEFzc2VtYmx5SGVscGVyczo6VHJ1c3RlZEltbTMyKEpJ
VDo6c3RhY2tQb2ludGVyT2Zmc2V0Rm9yKGJhc2VsaW5lQ29kZUJsb2NrKSAqIHNpemVvZihSZWdp
c3RlcikpLCBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlciwgQXNzZW1ibHlIZWxwZXJzOjpzdGFj
a1BvaW50ZXJSZWdpc3Rlcik7CisgICAgaWYgKGlzRXhpdGluZ0JlY2F1c2VFeGNlcHRpb24pIHsK
KyAgICAgICAgLy8gU2luY2Ugd2UncmUganVtcGluZyB0byBvcF9jYXRjaCwgd2UgbmVlZCB0byBz
ZXQgY2FsbEZyYW1lRm9yVGhyb3cuCisgICAgICAgIGppdC5zdG9yZVB0cihHUFJJbmZvOjpjYWxs
RnJhbWVSZWdpc3Rlciwgaml0LnZtKCktPmFkZHJlc3NPZkNhbGxGcmFtZUZvclRocm93KCkpOwor
ICAgIH0KICAgICAKICAgICBqaXQuaml0QXNzZXJ0VGFnc0luUGxhY2UoKTsKIApJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlckNvbW1v
bi5oCShyZXZpc2lvbiAxODk1NjEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09T
UkV4aXRDb21waWxlckNvbW1vbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw3IEBAIG5h
bWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKIAogdm9pZCBoYW5kbGVFeGl0Q291bnRzKEND
YWxsSGVscGVycyYsIGNvbnN0IE9TUkV4aXRCYXNlJik7CiB2b2lkIHJlaWZ5SW5saW5lZENhbGxG
cmFtZXMoQ0NhbGxIZWxwZXJzJiwgY29uc3QgT1NSRXhpdEJhc2UmKTsKLXZvaWQgYWRqdXN0QW5k
SnVtcFRvVGFyZ2V0KENDYWxsSGVscGVycyYsIGNvbnN0IE9TUkV4aXRCYXNlJik7Cit2b2lkIGFk
anVzdEFuZEp1bXBUb1RhcmdldChDQ2FsbEhlbHBlcnMmLCBjb25zdCBPU1JFeGl0QmFzZSYsIGJv
b2wpOwogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6REZHCiAKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHUGxhbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdQbGFuLmNwcAkocmV2aXNpb24gMTg5NTYxKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdQbGFuLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDIsNiArNDIsNyBAQAog
I2luY2x1ZGUgIkRGR0RDRVBoYXNlLmgiCiAjaW5jbHVkZSAiREZHRmFpbGVkRmluYWxpemVyLmgi
CiAjaW5jbHVkZSAiREZHRml4dXBQaGFzZS5oIgorI2luY2x1ZGUgIkRGR0ZsdXNoTGl2ZUNhdGNo
VmFyaWFibGVzSW5zZXJ0aW9uUGhhc2UuaCIKICNpbmNsdWRlICJERkdHcmFwaFNhZmVwb2ludC5o
IgogI2luY2x1ZGUgIkRGR0ludGVnZXJDaGVja0NvbWJpbmluZ1BoYXNlLmgiCiAjaW5jbHVkZSAi
REZHSW50ZWdlclJhbmdlT3B0aW1pemF0aW9uUGhhc2UuaCIKQEAgLTI1Nyw2ICsyNTgsOSBAQCBQ
bGFuOjpDb21waWxhdGlvblBhdGggUGxhbjo6Y29tcGlsZUluVGhyCiAgICAgICAgIGRmZy5kdW1w
KCk7CiAgICAgfQogCisgICAgcGVyZm9ybUZsdXNoTGl2ZUNhdGNoVmFyaWFibGVzSW5zZXJ0aW9u
UGhhc2UoZGZnKTsKKyAgICAvL2RmZy5kdW1wKCk7CisKICAgICBpZiAoT3B0aW9uczo6ZW5hYmxl
TWF4aW1hbEZsdXNoSW5zZXJ0aW9uUGhhc2UoKSkKICAgICAgICAgcGVyZm9ybU1heGltYWxGbHVz
aEluc2VydGlvbihkZmcpOwogICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTbG93UGF0aEdlbmVyYXRvci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU2xvd1BhdGhHZW5lcmF0b3IuaAkocmV2aXNpb24gMTg5NTYxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTbG93UGF0aEdlbmVyYXRvci5oCSh3b3JraW5nIGNvcHkp
CkBAIC00MCw2ICs0MCw4IEBAIGNsYXNzIFNsb3dQYXRoR2VuZXJhdG9yIHsKIHB1YmxpYzoKICAg
ICBTbG93UGF0aEdlbmVyYXRvcihTcGVjdWxhdGl2ZUpJVCogaml0KQogICAgICAgICA6IG1fY3Vy
cmVudE5vZGUoaml0LT5tX2N1cnJlbnROb2RlKQorICAgICAgICAsIG1fc3RyZWFtSW5kZXgoaml0
LT5tX3N0cmVhbS0+c2l6ZSgpKQorICAgICAgICAsIG1fb3JpZ2luKGppdC0+bV9vcmlnaW4pIAog
ICAgIHsKICAgICB9CiAgICAgdmlydHVhbCB+U2xvd1BhdGhHZW5lcmF0b3IoKSB7IH0KQEAgLTQ3
LDcgKzQ5LDExIEBAIHB1YmxpYzoKICAgICB7CiAgICAgICAgIG1fbGFiZWwgPSBqaXQtPm1faml0
LmxhYmVsKCk7CiAgICAgICAgIGppdC0+bV9jdXJyZW50Tm9kZSA9IG1fY3VycmVudE5vZGU7Cisg
ICAgICAgIGppdC0+bV9vdXRPZkxpbmVTdHJlYW1JbmRleCA9IG1fc3RyZWFtSW5kZXg7CisgICAg
ICAgIGppdC0+bV9vcmlnaW4gPSBtX29yaWdpbjsKKyAgICAgICAgaml0LT5tX29yaWdpbi5leGl0
T0sgPSB0cnVlOwogICAgICAgICBnZW5lcmF0ZUludGVybmFsKGppdCk7CisgICAgICAgIGppdC0+
bV9vdXRPZkxpbmVTdHJlYW1JbmRleCA9IFVJTlRfTUFYOwogICAgICAgICBpZiAoIUFTU0VSVF9E
SVNBQkxFRCkKICAgICAgICAgICAgIGppdC0+bV9qaXQuYWJvcnRXaXRoUmVhc29uKERGR1Nsb3dQ
YXRoR2VuZXJhdG9yRmVsbFRocm91Z2gpOwogICAgIH0KQEAgLTYxLDYgKzY3LDggQEAgcHJvdGVj
dGVkOgogICAgIHZpcnR1YWwgdm9pZCBnZW5lcmF0ZUludGVybmFsKFNwZWN1bGF0aXZlSklUKikg
PSAwOwogICAgIE1hY3JvQXNzZW1ibGVyOjpMYWJlbCBtX2xhYmVsOwogICAgIE5vZGUqIG1fY3Vy
cmVudE5vZGU7CisgICAgdW5zaWduZWQgbV9zdHJlYW1JbmRleDsKKyAgICBOb2RlT3JpZ2luIG1f
b3JpZ2luOwogfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgSnVtcFR5cGU+CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHJldmlz
aW9uIDE4OTU2MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVK
SVQ2NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1Myw4ICsxNTMsMTAgQEAgR1BSUmVnIFNwZWN1
bGF0aXZlSklUOjpmaWxsSlNWYWx1ZShFZGdlIAogCiB2b2lkIFNwZWN1bGF0aXZlSklUOjpjYWNo
ZWRHZXRCeUlkKENvZGVPcmlnaW4gY29kZU9yaWdpbiwgR1BSUmVnIGJhc2VHUFIsIEdQUlJlZyBy
ZXN1bHRHUFIsIHVuc2lnbmVkIGlkZW50aWZpZXJOdW1iZXIsIEpJVENvbXBpbGVyOjpKdW1wIHNs
b3dQYXRoVGFyZ2V0LCBTcGlsbFJlZ2lzdGVyc01vZGUgc3BpbGxNb2RlKQogeworICAgIENhbGxT
aXRlSW5kZXggY2FsbFNpdGUgPSBtX2ppdC5wbGFjZUNhbGxTaXRlT1NSRXhpdEhhbmRsZXJGb3JF
eGNlcHRpb25JZk5lZWRlZChjb2RlT3JpZ2luLCBtX3N0cmVhbS0+c2l6ZSgpKTsKKwogICAgIEpJ
VEdldEJ5SWRHZW5lcmF0b3IgZ2VuKAotICAgICAgICBtX2ppdC5jb2RlQmxvY2soKSwgY29kZU9y
aWdpbiwgbV9qaXQuYWRkQ2FsbFNpdGUoY29kZU9yaWdpbiksIHVzZWRSZWdpc3RlcnMoKSwgSlNW
YWx1ZVJlZ3MoYmFzZUdQUiksCisgICAgICAgIG1faml0LmNvZGVCbG9jaygpLCBjb2RlT3JpZ2lu
LCBjYWxsU2l0ZSwgdXNlZFJlZ2lzdGVycygpLCBKU1ZhbHVlUmVncyhiYXNlR1BSKSwKICAgICAg
ICAgSlNWYWx1ZVJlZ3MocmVzdWx0R1BSKSwgc3BpbGxNb2RlKTsKICAgICBnZW4uZ2VuZXJhdGVG
YXN0UGF0aChtX2ppdCk7CiAgICAgCkBAIC0xNzMsOCArMTc1LDEwIEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNhY2hlZEdldEJ5SWQoQ29kZU8KIAogdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y2FjaGVk
UHV0QnlJZChDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIEdQUlJlZyBiYXNlR1BSLCBHUFJSZWcgdmFs
dWVHUFIsIEdQUlJlZyBzY3JhdGNoR1BSLCB1bnNpZ25lZCBpZGVudGlmaWVyTnVtYmVyLCBQdXRL
aW5kIHB1dEtpbmQsIEpJVENvbXBpbGVyOjpKdW1wIHNsb3dQYXRoVGFyZ2V0LCBTcGlsbFJlZ2lz
dGVyc01vZGUgc3BpbGxNb2RlKQogeworICAgIENhbGxTaXRlSW5kZXggY2FsbFNpdGUgPSBtX2pp
dC5wbGFjZUNhbGxTaXRlT1NSRXhpdEhhbmRsZXJGb3JFeGNlcHRpb25JZk5lZWRlZChjb2RlT3Jp
Z2luLCBtX3N0cmVhbS0+c2l6ZSgpKTsKKwogICAgIEpJVFB1dEJ5SWRHZW5lcmF0b3IgZ2VuKAot
ICAgICAgICBtX2ppdC5jb2RlQmxvY2soKSwgY29kZU9yaWdpbiwgbV9qaXQuYWRkQ2FsbFNpdGUo
Y29kZU9yaWdpbiksIHVzZWRSZWdpc3RlcnMoKSwgSlNWYWx1ZVJlZ3MoYmFzZUdQUiksCisgICAg
ICAgIG1faml0LmNvZGVCbG9jaygpLCBjb2RlT3JpZ2luLCBjYWxsU2l0ZSwgdXNlZFJlZ2lzdGVy
cygpLCBKU1ZhbHVlUmVncyhiYXNlR1BSKSwKICAgICAgICAgSlNWYWx1ZVJlZ3ModmFsdWVHUFIp
LCBzY3JhdGNoR1BSLCBzcGlsbE1vZGUsIG1faml0LmVjbWFNb2RlRm9yKGNvZGVPcmlnaW4pLCBw
dXRLaW5kKTsKIAogICAgIGdlbi5nZW5lcmF0ZUZhc3RQYXRoKG1faml0KTsKQEAgLTc1Miw3ICs3
NTYsOCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjplbWl0Q2FsbChOb2RlKiBub2RlCiAgICAgSklU
Q29tcGlsZXI6OkRhdGFMYWJlbFB0ciB0YXJnZXRUb0NoZWNrOwogICAgIEpJVENvbXBpbGVyOjpK
dW1wIHNsb3dQYXRoOwogCi0gICAgbV9qaXQuZW1pdFN0b3JlQ29kZU9yaWdpbihub2RlLT5vcmln
aW4uc2VtYW50aWMpOworICAgIENhbGxTaXRlSW5kZXggY2FsbFNpdGUgPSBtX2ppdC5wbGFjZUNh
bGxTaXRlT1NSRXhpdEhhbmRsZXJGb3JFeGNlcHRpb25JZk5lZWRlZChub2RlLT5vcmlnaW4uc2Vt
YW50aWMsIG1fc3RyZWFtLT5zaXplKCkpOworICAgIG1faml0LmVtaXRTdG9yZUNhbGxTaXRlSW5k
ZXgoY2FsbFNpdGUpOwogICAgIAogICAgIENhbGxMaW5rSW5mbyogY2FsbExpbmtJbmZvID0gbV9q
aXQuY29kZUJsb2NrKCktPmFkZENhbGxMaW5rSW5mbygpOwogICAgIApAQCAtMzIwMSw2ICszMjA2
LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgIGNhc2Ug
VGhyb3dSZWZlcmVuY2VFcnJvcjogewogICAgICAgICAvLyBXZSBleHBlY3QgdGhhdCB0aHJvdyBz
dGF0ZW1lbnRzIGFyZSByYXJlIGFuZCBhcmUgaW50ZW5kZWQgdG8gZXhpdCB0aGUgY29kZSBibG9j
awogICAgICAgICAvLyBhbnl3YXksIHNvIHdlIGp1c3QgT1NSIGJhY2sgdG8gdGhlIG9sZCBKSVQg
Zm9yIG5vdy4KKyAgICAgICAgZmx1c2hSZWdpc3RlcnMoKTsKICAgICAgICAgdGVybWluYXRlU3Bl
Y3VsYXRpdmVFeGVjdXRpb24oVW5jb3VudGFibGUsIEpTVmFsdWVSZWdzKCksIDApOwogICAgICAg
ICBicmVhazsKICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklULmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5oCShyZXZpc2lvbiAxODk1NjEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgJKHdvcmtpbmcgY29weSkKQEAgLTE5MDksNiArMTkw
OSwxMSBAQCBwdWJsaWM6CiAgICAgSklUQ29tcGlsZXI6OkNhbGwgYXBwZW5kQ2FsbChjb25zdCBG
dW5jdGlvblB0ciYgZnVuY3Rpb24pCiAgICAgewogICAgICAgICBwcmVwYXJlRm9yRXh0ZXJuYWxD
YWxsKCk7CisgICAgICAgIC8vQ29kZU9yaWdpbiBvcmlnaW4gPSBtX2N1cnJlbnROb2RlLT5vcmln
aW4uc2VtYW50aWM7CisgICAgICAgIC8vc3RkOjp0dXBsZTxib29sLCBDb2RlT3JpZ2luLCBIYW5k
bGVySW5mbyo+IGV4Y2VwdGlvblJlc3VsdCA9IG1faml0LndpbGxDYXRjaEV4Y2VwdGlvbkluTWFj
aGluZUZyYW1lKG9yaWdpbik7CisgICAgICAgIC8vYm9vbCB3aWxsQ2F0Y2hFeGNlcHRpb24gPSBz
dGQ6OmdldDwwPihleGNlcHRpb25SZXN1bHQpOworICAgICAgICAvL2lmICh3aWxsQ2F0Y2hFeGNl
cHRpb24pCisgICAgICAgIC8vICAgIG9yaWdpbiA9IHN0ZDo6Z2V0PDE+KGV4Y2VwdGlvblJlc3Vs
dCk7ICAgIAogICAgICAgICBtX2ppdC5lbWl0U3RvcmVDb2RlT3JpZ2luKG1fY3VycmVudE5vZGUt
Pm9yaWdpbi5zZW1hbnRpYyk7CiAgICAgICAgIHJldHVybiBtX2ppdC5hcHBlbmRDYWxsKGZ1bmN0
aW9uKTsKICAgICB9CkBAIC0yNDc2LDYgKzI0ODEsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgVmVj
dG9yPHN0ZDo6dW5pcXVlX3B0cjxTbG93UGF0aEdlbmVyYXRvcj4sIDg+IG1fc2xvd1BhdGhHZW5l
cmF0b3JzOwogICAgIFZlY3RvcjxTaWxlbnRSZWdpc3RlclNhdmVQbGFuPiBtX3BsYW5zOworICAg
IHVuc2lnbmVkIG1fb3V0T2ZMaW5lU3RyZWFtSW5kZXggeyBVSU5UX01BWCB9OwogfTsKIAogCklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1RpZXJVcENoZWNrSW5qZWN0aW9uUGhh
c2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHVGllclVw
Q2hlY2tJbmplY3Rpb25QaGFzZS5jcHAJKHJldmlzaW9uIDE4OTU2MSkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHVGllclVwQ2hlY2tJbmplY3Rpb25QaGFzZS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTUyLDYgKzUyLDkgQEAgcHVibGljOgogICAgICAgICAKICAgICAgICAgaWYgKG1f
Z3JhcGgubV9wcm9maWxlZEJsb2NrLT5tX2RpZEZhaWxGVExDb21waWxhdGlvbikKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBpZiAobV9ncmFwaC5tX2hhc0V4Y2VwdGlvbkhh
bmRsZXJzKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAKICNpZiBFTkFCTEUo
RlRMX0pJVCkKICAgICAgICAgRlRMOjpDYXBhYmlsaXR5TGV2ZWwgbGV2ZWwgPSBGVEw6OmNhbkNv
bXBpbGUobV9ncmFwaCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4
aXRDb21waWxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9G
VExPU1JFeGl0Q29tcGlsZXIuY3BwCShyZXZpc2lvbiAxODk1NjEpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTE9TUkV4aXRDb21waWxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUy
Miw3ICs1MjIsNyBAQCBzdGF0aWMgdm9pZCBjb21waWxlU3R1YigKICAgICAKICAgICBoYW5kbGVF
eGl0Q291bnRzKGppdCwgZXhpdCk7CiAgICAgcmVpZnlJbmxpbmVkQ2FsbEZyYW1lcyhqaXQsIGV4
aXQpOwotICAgIGFkanVzdEFuZEp1bXBUb1RhcmdldChqaXQsIGV4aXQpOworICAgIGFkanVzdEFu
ZEp1bXBUb1RhcmdldChqaXQsIGV4aXQsIGZhbHNlKTsKICAgICAKICAgICBMaW5rQnVmZmVyIHBh
dGNoQnVmZmVyKCp2bSwgaml0LCBjb2RlQmxvY2spOwogICAgIGV4aXQubV9jb2RlID0gRklOQUxJ
WkVfQ09ERV9JRigKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRl
cnByZXRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJl
dGVyL0ludGVycHJldGVyLmNwcAkocmV2aXNpb24gMTg5NTYxKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTE0
LDYgKzExNCw3IEBAIFN0cmluZyBTdGFja0ZyYW1lOjpmcmllbmRseVNvdXJjZVVSTCgpIGMKIFN0
cmluZyBTdGFja0ZyYW1lOjpmcmllbmRseUZ1bmN0aW9uTmFtZShDYWxsRnJhbWUqIGNhbGxGcmFt
ZSkgY29uc3QKIHsKICAgICBTdHJpbmcgdHJhY2VMaW5lOworICAgIC8vIEZJWE1FOiBUaGlzIHdp
bGwgcHJvYmFibHkgYmUgdGhlIHdyb25nIGJ5dGVjb2RlIGluZGV4IGhlcmUuCiAgICAgSlNPYmpl
Y3QqIHN0YWNrRnJhbWVDYWxsZWUgPSBjYWxsZWUuZ2V0KCk7CiAKICAgICBzd2l0Y2ggKGNvZGVU
eXBlKSB7CkBAIC02NDEsMTAgKzY0MiwxMSBAQCBwdWJsaWM6CiAKICAgICBTdGFja1Zpc2l0b3I6
OlN0YXR1cyBvcGVyYXRvcigpKFN0YWNrVmlzaXRvciYgdmlzaXRvcikKICAgICB7CisgICAgICAg
IHZpc2l0b3IubWFjaGluZUNvZGVCbG9ja0ZvckZyYW1lKCk7CiAgICAgICAgIFZNJiB2bSA9IG1f
Y2FsbEZyYW1lLT52bSgpOwogICAgICAgICBtX2NhbGxGcmFtZSA9IHZpc2l0b3ItPmNhbGxGcmFt
ZSgpOwogICAgICAgICBtX2NvZGVCbG9jayA9IHZpc2l0b3ItPmNvZGVCbG9jaygpOwotICAgICAg
ICB1bnNpZ25lZCBieXRlY29kZU9mZnNldCA9IHZpc2l0b3ItPmJ5dGVjb2RlT2Zmc2V0KCk7Cisg
ICAgICAgIHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0ID0gbV9jYWxsRnJhbWUtPmNhbGxTaXRlSW5k
ZXgoKS5iaXRzKCk7IC8vIEZJWE1FOiBub3QgdHJ1ZSBvbiAzMi1iaXQuCiAKICAgICAgICAgaWYg
KG1faXNUZXJtaW5hdGlvbiB8fCAhKG1faGFuZGxlciA9IChtX2NvZGVCbG9jayAmJiAhaXNXZWJB
c3NlbWJseUV4ZWN1dGFibGUobV9jb2RlQmxvY2stPm93bmVyRXhlY3V0YWJsZSgpKSkgPyBtX2Nv
ZGVCbG9jay0+aGFuZGxlckZvckJ5dGVjb2RlT2Zmc2V0KGJ5dGVjb2RlT2Zmc2V0KSA6IG51bGxw
dHIpKSB7CiAgICAgICAgICAgICBpZiAoIXVud2luZENhbGxGcmFtZSh2aXNpdG9yKSkgewpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1N0YWNrVmlzaXRvci5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1N0YWNrVmlzaXRv
ci5jcHAJKHJldmlzaW9uIDE4OTU2MSkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnBy
ZXRlci9TdGFja1Zpc2l0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OSw2ICs2OSwxNiBAQCB2
b2lkIFN0YWNrVmlzaXRvcjo6Z290b05leHRGcmFtZSgpCiAgICAgcmVhZEZyYW1lKG1fZnJhbWUu
Y2FsbGVyRnJhbWUoKSk7CiB9CiAKK0NvZGVCbG9jayogU3RhY2tWaXNpdG9yOjptYWNoaW5lQ29k
ZUJsb2NrRm9yRnJhbWUoKQoreworICAgIC8vRnJhbWUgc2F2ZUZyYW1lID0gbV9mcmFtZTsKKyAg
ICB3aGlsZSAobV9mcmFtZS5pc0lubGluZWRGcmFtZSgpKQorICAgICAgICBnb3RvTmV4dEZyYW1l
KCk7CisgICAgQ29kZUJsb2NrKiByZXN1bHQgPSBtX2ZyYW1lLmNvZGVCbG9jaygpOworICAgIC8v
bV9mcmFtZSA9IHNhdmVGcmFtZTsKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiB2b2lkIFN0YWNr
VmlzaXRvcjo6cmVhZEZyYW1lKENhbGxGcmFtZSogY2FsbEZyYW1lKQogewogICAgIGlmICghY2Fs
bEZyYW1lKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3RhY2tW
aXNpdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVy
L1N0YWNrVmlzaXRvci5oCShyZXZpc2lvbiAxODk1NjEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzMSw2ICsx
MzEsNyBAQCBwdWJsaWM6CiAKICAgICBGcmFtZSYgb3BlcmF0b3IqKCkgeyByZXR1cm4gbV9mcmFt
ZTsgfQogICAgIEFMV0FZU19JTkxJTkUgRnJhbWUqIG9wZXJhdG9yLT4oKSB7IHJldHVybiAmbV9m
cmFtZTsgfQorICAgIENvZGVCbG9jayogbWFjaGluZUNvZGVCbG9ja0ZvckZyYW1lKCk7CiAKIHBy
aXZhdGU6CiAgICAgSlNfRVhQT1JUX1BSSVZBVEUgU3RhY2tWaXNpdG9yKENhbGxGcmFtZSogc3Rh
cnRGcmFtZSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVscGVy
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhl
bHBlcnMuY3BwCShyZXZpc2lvbiAxODk1NjEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0Fzc2VtYmx5SGVscGVycy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3Myw2ICsyNzMsMjAgQEAg
QXNzZW1ibHlIZWxwZXJzOjpKdW1wIEFzc2VtYmx5SGVscGVyczo6ZQogICAgIHJldHVybiByZWFs
SnVtcC5tX2p1bXA7CiB9CiAKK0Fzc2VtYmx5SGVscGVyczo6SnVtcCBBc3NlbWJseUhlbHBlcnM6
OmVtaXROb25QYXRjaGFibGVFeGNlcHRpb25DaGVjaygpCit7CisgICAgY2FsbEV4Y2VwdGlvbkZ1
enooKTsKKworICAgIEp1bXAgcmVzdWx0OworI2lmIFVTRShKU1ZBTFVFNjQpCisgICAgcmVzdWx0
ID0gYnJhbmNoVGVzdDY0KE5vblplcm8sIEFic29sdXRlQWRkcmVzcyh2bSgpLT5hZGRyZXNzT2ZF
eGNlcHRpb24oKSkpOworI2VsaWYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICByZXN1bHQgPSBicmFu
Y2gzMihOb3RFcXVhbCwgQWJzb2x1dGVBZGRyZXNzKHZtKCktPmFkZHJlc3NPZkV4Y2VwdGlvbigp
KSwgVHJ1c3RlZEltbTMyKDApKTsKKyNlbmRpZgorICAgIAorICAgIHJldHVybiByZXN1bHQ7Cit9
CisKIHZvaWQgQXNzZW1ibHlIZWxwZXJzOjplbWl0U3RvcmVTdHJ1Y3R1cmVXaXRoVHlwZUluZm8o
QXNzZW1ibHlIZWxwZXJzJiBqaXQsIFRydXN0ZWRJbW1QdHIgc3RydWN0dXJlLCBSZWdpc3RlcklE
IGRlc3QpCiB7CiAgICAgY29uc3QgU3RydWN0dXJlKiBzdHJ1Y3R1cmVQdHIgPSBzdGF0aWNfY2Fz
dDxjb25zdCBTdHJ1Y3R1cmUqPihzdHJ1Y3R1cmUubV92YWx1ZSk7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVscGVycy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmgJKHJldmlzaW9uIDE4OTU2MSkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTg0Niw2ICs4NDYsNyBAQCBwdWJsaWM6CiAgICAgZW51bSBFeGNlcHRpb25KdW1wV2lk
dGggeyBOb3JtYWxKdW1wV2lkdGgsIEZhckp1bXBXaWR0aCB9OwogICAgIEp1bXAgZW1pdEV4Y2Vw
dGlvbkNoZWNrKAogICAgICAgICBFeGNlcHRpb25DaGVja0tpbmQgPSBOb3JtYWxFeGNlcHRpb25D
aGVjaywgRXhjZXB0aW9uSnVtcFdpZHRoID0gTm9ybWFsSnVtcFdpZHRoKTsKKyAgICBKdW1wIGVt
aXROb25QYXRjaGFibGVFeGNlcHRpb25DaGVjaygpOwogCiAjaWYgRU5BQkxFKFNBTVBMSU5HX0NP
VU5URVJTKQogICAgIHN0YXRpYyB2b2lkIGVtaXRDb3VudChNYWNyb0Fzc2VtYmxlciYgaml0LCBB
YnN0cmFjdFNhbXBsaW5nQ291bnRlciYgY291bnRlciwgaW50MzJfdCBpbmNyZW1lbnQgPSAxKQpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCShyZXZpc2lvbiAx
ODk1NjEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC01MDEsNiArNTAxLDcgQEAgdm9pZCBKSVQ6OmVtaXRfb3BfY2F0Y2goSW5z
dHJ1Y3Rpb24qIGN1cgogICAgIAogICAgIG1vdmUoVHJ1c3RlZEltbVB0cihtX3ZtKSwgcmVnVDMp
OwogICAgIGxvYWQ2NChBZGRyZXNzKHJlZ1QzLCBWTTo6Y2FsbEZyYW1lRm9yVGhyb3dPZmZzZXQo
KSksIGNhbGxGcmFtZVJlZ2lzdGVyKTsKKyAgICBzdG9yZVB0cihUcnVzdGVkSW1tUHRyKG51bGxw
dHIpLCBBZGRyZXNzKHJlZ1QzLCBWTTo6Y2FsbEZyYW1lRm9yVGhyb3dPZmZzZXQoKSkpOwogCiAg
ICAgYWRkUHRyKFRydXN0ZWRJbW0zMihzdGFja1BvaW50ZXJPZmZzZXRGb3IoY29kZUJsb2NrKCkp
ICogc2l6ZW9mKFJlZ2lzdGVyKSksIGNhbGxGcmFtZVJlZ2lzdGVyLCBzdGFja1BvaW50ZXJSZWdp
c3Rlcik7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3BlcmF0aW9ucy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGVyYXRpb25z
LmNwcAkocmV2aXNpb24gMTg5NTYxKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGVyYXRpb25zLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTQ5LDcgKzE0OSw4IEBAIEVuY29kZWRK
U1ZhbHVlIEpJVF9PUEVSQVRJT04gb3BlcmF0aW9uR2UKICAgICBKU1ZhbHVlIGJhc2VWYWx1ZSA9
IEpTVmFsdWU6OmRlY29kZShiYXNlKTsKICAgICBQcm9wZXJ0eVNsb3Qgc2xvdChiYXNlVmFsdWUp
OwogICAgIElkZW50aWZpZXIgaWRlbnQgPSBJZGVudGlmaWVyOjpmcm9tVWlkKHZtLCB1aWQpOwot
ICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoYmFzZVZhbHVlLmdldChleGVjLCBpZGVudCwgc2xv
dCkpOworICAgIGF1dG8gcmVzdWx0ID0gYmFzZVZhbHVlLmdldChleGVjLCBpZGVudCwgc2xvdCk7
CisgICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShyZXN1bHQpOwogfQogCiBFbmNvZGVkSlNWYWx1
ZSBKSVRfT1BFUkFUSU9OIG9wZXJhdGlvbkdldEJ5SWRHZW5lcmljKEV4ZWNTdGF0ZSogZXhlYywg
RW5jb2RlZEpTVmFsdWUgYmFzZSwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyNjQu
YXNtCShyZXZpc2lvbiAxODk1NjEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93
TGV2ZWxJbnRlcnByZXRlcjY0LmFzbQkod29ya2luZyBjb3B5KQpAQCAtMjc4LDYgKzI3OCw3IEBA
IF9oYW5kbGVVbmNhdWdodEV4Y2VwdGlvbjoKICAgICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDMK
ICAgICBsb2FkcCBNYXJrZWRCbG9jazo6bV93ZWFrU2V0ICsgV2Vha1NldDo6bV92bVt0M10sIHQz
CiAgICAgbG9hZHAgVk06OmNhbGxGcmFtZUZvclRocm93W3QzXSwgY2ZyCisgICAgc3RvcmVwIDAs
IFZNOjpjYWxsRnJhbWVGb3JUaHJvd1t0M10KIAogICAgIGxvYWRwIENhbGxlckZyYW1lW2Nmcl0s
IGNmcgogICAgIHZtRW50cnlSZWNvcmQoY2ZyLCB0MikKQEAgLTE3NzUsNiArMTc3Niw3IEBAIF9s
bGludF9vcF9jYXRjaDoKICAgICBhbmRwIE1hcmtlZEJsb2NrTWFzaywgdDMKICAgICBsb2FkcCBN
YXJrZWRCbG9jazo6bV93ZWFrU2V0ICsgV2Vha1NldDo6bV92bVt0M10sIHQzCiAgICAgbG9hZHAg
Vk06OmNhbGxGcmFtZUZvclRocm93W3QzXSwgY2ZyCisgICAgc3RvcmVwIDAsIFZNOjpjYWxsRnJh
bWVGb3JUaHJvd1t0M10KICAgICByZXN0b3JlU3RhY2tQb2ludGVyQWZ0ZXJDYWxsKCkKIAogICAg
IGxvYWRwIENvZGVCbG9ja1tjZnJdLCBQQgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvVk0uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9W
TS5oCShyZXZpc2lvbiAxODk1NjEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9W
TS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOTYsNiArMzk2LDggQEAgcHVibGljOgogICAgICAgICBt
X2xhc3RFeGNlcHRpb24gPSBleGNlcHRpb247CiAgICAgfQogCisgICAgRXhlY1N0YXRlKiogYWRk
cmVzc09mQ2FsbEZyYW1lRm9yVGhyb3coKSB7IHJldHVybiAmY2FsbEZyYW1lRm9yVGhyb3c7IH0K
KwogICAgIEV4Y2VwdGlvbiogZXhjZXB0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9leGNlcHRpb247
IH0KICAgICBKU0NlbGwqKiBhZGRyZXNzT2ZFeGNlcHRpb24oKSB7IHJldHVybiByZWludGVycHJl
dF9jYXN0PEpTQ2VsbCoqPigmbV9leGNlcHRpb24pOyB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS90ZXN0cy9zdHJlc3MvZXM2LWZvci1vZi1sb29wLWV4Y2VwdGlvbi5qcwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2VzNi1mb3Itb2YtbG9v
cC1leGNlcHRpb24uanMJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2VzNi1mb3Itb2YtbG9vcC1leGNlcHRpb24uanMJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwyOSBAQAorZnVuY3Rpb24gYXNzZXJ0KGNvbmQpIHsKKyAgICBpZiAoIWNvbmQpCisg
ICAgICAgIHRocm93IG5ldyBFcnJvcigiYnJva2UgYXNzZXJ0aW9uIik7Cit9Citub0lubGluZShh
c3NlcnQpOworCitmdW5jdGlvbiBzaG91bGRUaHJvd0ludmFsaWRDb25zdEFzc2lnbm1lbnQoZikg
eworICAgIHZhciB0aHJldyA9IGZhbHNlOworICAgIHRyeSB7CisgICAgICAgIGYoKTsKKyAgICB9
IGNhdGNoKGUpIHsKKyAgICAgICAgLy9wcmludChlKTsKKyAgICAgICAgaWYgKGUubmFtZS5pbmRl
eE9mKCJUeXBlRXJyb3IiKSAhPT0gLTEgJiYgZS5tZXNzYWdlLmluZGV4T2YoInJlYWRvbmx5Iikg
IT09IC0xKQorICAgICAgICAgICAgdGhyZXcgPSB0cnVlOworICAgIH0KKyAgICBhc3NlcnQodGhy
ZXcpOworfQorbm9JbmxpbmUoc2hvdWxkVGhyb3dJbnZhbGlkQ29uc3RBc3NpZ25tZW50KTsKKwor
ZnVuY3Rpb24gYmF6KCl7fQorbm9JbmxpbmUoYmF6KTsKKworZnVuY3Rpb24gZm9vKCkgeworICAg
IGZvciAoY29uc3QgaXRlbSBvZiBbMSwyLDNdKSB7CisgICAgICAgIGl0ZW0gPSAyMDsKKyAgICB9
Cit9Citmb3IgKHZhciBpID0gMDsgaSA8IDEwMDA7IGkrKykKKyAgICBzaG91bGRUaHJvd0ludmFs
aWRDb25zdEFzc2lnbm1lbnQoZm9vKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvZXhjZXB0aW9uLWRmZy1pbmxpbmVkLWZyYW1lLW5vdC1zdHJpY3QtZXF1YWwuanMK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9leGNlcHRp
b24tZGZnLWlubGluZWQtZnJhbWUtbm90LXN0cmljdC1lcXVhbC5qcwkocmV2aXNpb24gMCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZXhjZXB0aW9uLWRmZy1pbmxpbmVk
LWZyYW1lLW5vdC1zdHJpY3QtZXF1YWwuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzOSBA
QAorZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBF
cnJvcigiQmFkIGFzc2VydGlvbiIpOworfQorbm9JbmxpbmUoYXNzZXJ0KTsKK3ZhciBvID0gewor
ICAgIHZhbHVlT2Y6IGZ1bmN0aW9uKCkgeyByZXR1cm4ge307IH0sCisgICAgdG9TdHJpbmc6IGZ1
bmN0aW9uKCkgeyByZXR1cm4ge307IH0KK307CitmdW5jdGlvbiByZWFkKCkgeworICAgIHJldHVy
biAicmVhZCI7Cit9Citub0lubGluZShyZWFkKTsKKworZnVuY3Rpb24gYmFyKGEsIGIpIHsKKyAg
ICByZXR1cm4gYSA9PSBiOworfQorCitmdW5jdGlvbiBmb28oYSwgYikgeworICAgIHZhciByZXN1
bHQgPSBudWxsOworICAgIHZhciB2YWx1ZSA9IHJlYWQoKTsKKyAgICB0cnkgeworICAgICAgICBy
ZXN1bHQgPSBiYXIoYSwgYik7CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIGFzc2VydCgiIiAr
IHZhbHVlID09PSAicmVhZCIpOworICAgIH0KKyAgICByZXR1cm4gdmFsdWU7Cit9Citub0lubGlu
ZShmb28pOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDA7IGkrKykgeworICAgIGZvbygxMCwg
MjApOworICAgIGZvbyh7fSwge30pOworICAgIGZvbygxMCwgMTAuMCk7CisgICAgZm9vKCJoZWxs
byIsICJoZWxsbyIpOworICAgIGZvbyhudWxsLCB1bmRlZmluZWQpOworICAgIGZvbyhmYWxzZSwg
MCk7Cit9Citmb28obywgImhlbGxvIik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVz
dHMvc3RyZXNzL2V4Y2VwdGlvbi1kZmctbm90LXN0cmljdC1lcXVhbC5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2V4Y2VwdGlvbi1kZmctbm90LXN0
cmljdC1lcXVhbC5qcwkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvZXhjZXB0aW9uLWRmZy1ub3Qtc3RyaWN0LWVxdWFsLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsNzEgQEAKKzsoZnVuY3Rpb24gKCkgeworZnVuY3Rpb24gZm9vKGEsIGIpIHsK
KyAgICB2YXIgcmVzdWx0ID0gbnVsbDsKKyAgICB0cnkgeworICAgICAgICByZXN1bHQgPSBhID09
IGI7CisgICAgfSBjYXRjaChlKSB7CisgICAgfQorfQorbm9JbmxpbmUoZm9vKTsKKworZm9yICh2
YXIgaSA9IDA7IGkgPCAxMDAwOyBpKyspIHsKKyAgICBmb28oMTAsIDIwKTsKKyAgICBmb28oe30s
IHt9KTsKKyAgICBmb28oMTAsIDEwLjApOworICAgIGZvbygiaGVsbG8iLCAiaGVsbG8iKTsKKyAg
ICBmb28obnVsbCwgdW5kZWZpbmVkKTsKKyAgICBmb28oZmFsc2UsIDApOworfQorCit2YXIgbyA9
IHsKKyAgICB2YWx1ZU9mOiBmdW5jdGlvbigpIHsgcmV0dXJuIHt9OyB9LAorICAgIHRvU3RyaW5n
OiBmdW5jdGlvbigpIHsgcmV0dXJuIHt9OyB9Cit9OworZm9vKG8sICJoZWxsbyIpOworfSkoKTsK
KworCitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3
IEVycm9yKCJCYWQgYXNzZXJ0aW9uIik7Cit9Citub0lubGluZShhc3NlcnQpOworCisKKzsoZnVu
Y3Rpb24oKSB7CisKK3ZhciBfc2hvdWxkRG9Tb21ldGhpbmdJbkZpbmFsbHkgPSBmYWxzZTsKK2Z1
bmN0aW9uIHNob3VsZERvU29tZXRoaW5nSW5GaW5hbGx5KCkgeyByZXR1cm4gX3Nob3VsZERvU29t
ZXRoaW5nSW5GaW5hbGx5OyB9Citub0lubGluZShzaG91bGREb1NvbWV0aGluZ0luRmluYWxseSk7
CisKK2Z1bmN0aW9uIGZvbyhhLCBiKSB7CisgICAgdmFyIHJlc3VsdCA9IG51bGw7CisgICAgdHJ5
IHsKKyAgICAgICAgcmVzdWx0ID0gYSA9PSBiOworICAgIH0gZmluYWxseSB7CisgICAgICAgIGlm
IChzaG91bGREb1NvbWV0aGluZ0luRmluYWxseSgpKQorICAgICAgICAgICAgYXNzZXJ0KHJlc3Vs
dCA9PT0gbnVsbCk7CisgICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9Citub0lubGluZShmb28p
OworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDA7IGkrKykgeworICAgIGZvbygxMCwgMjApOwor
ICAgIGZvbyh7fSwge30pOworICAgIGZvbygxMCwgMTAuMCk7CisgICAgZm9vKCJoZWxsbyIsICJo
ZWxsbyIpOworICAgIGZvbyhudWxsLCB1bmRlZmluZWQpOworICAgIGZvbyhmYWxzZSwgMCk7Cit9
CisKK3ZhciBvID0geworICAgIHZhbHVlT2Y6IGZ1bmN0aW9uKCkgeyByZXR1cm4ge307IH0sCisg
ICAgdG9TdHJpbmc6IGZ1bmN0aW9uKCkgeyByZXR1cm4ge307IH0KK307Cit0cnkgeworICAgIF9z
aG91bGREb1NvbWV0aGluZ0luRmluYWxseSA9IHRydWU7CisgICAgZm9vKG8sICJoZWxsbyIpOwor
fSBjYXRjaChlKSB7fQorCit9KSgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9leGNlcHRpb24tZGZnLW9wZXJhdGlvbi1yZWFkLXZhbHVlLmpzCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZXhjZXB0aW9uLWRmZy1vcGVy
YXRpb24tcmVhZC12YWx1ZS5qcwkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS90ZXN0cy9zdHJlc3MvZXhjZXB0aW9uLWRmZy1vcGVyYXRpb24tcmVhZC12YWx1ZS5qcwkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlm
ICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgYXNzZXJ0aW9uIik7Cit9Citub0lu
bGluZShhc3NlcnQpOwordmFyIG8gPSB7CisgICAgdmFsdWVPZjogZnVuY3Rpb24oKSB7IHJldHVy
biB7fTsgfSwKKyAgICB0b1N0cmluZzogZnVuY3Rpb24oKSB7IHJldHVybiB7fTsgfQorfTsKK2Z1
bmN0aW9uIHJlYWQoKSB7CisgICAgcmV0dXJuICJyZWFkIjsKK30KK25vSW5saW5lKHJlYWQpOwor
CitmdW5jdGlvbiBmb28oYSwgYikgeworICAgIHZhciByZXN1bHQgPSBudWxsOworICAgIHZhciB2
YWx1ZSA9IHJlYWQoKTsKKyAgICB0cnkgeworICAgICAgICByZXN1bHQgPSBhID09IGI7CisgICAg
fSBjYXRjaChlKSB7CisgICAgICAgIGFzc2VydCgiIiArIHZhbHVlID09PSAicmVhZCIpOworICAg
IH0KKyAgICByZXR1cm4gdmFsdWU7Cit9Citub0lubGluZShmb28pOworCitmb3IgKHZhciBpID0g
MDsgaSA8IDEwMDA7IGkrKykgeworICAgIGZvbygxMCwgMjApOworICAgIGZvbyh7fSwge30pOwor
ICAgIGZvbygxMCwgMTAuMCk7CisgICAgZm9vKCJoZWxsbyIsICJoZWxsbyIpOworICAgIGZvbyhu
dWxsLCB1bmRlZmluZWQpOworICAgIGZvbyhmYWxzZSwgMCk7Cit9Citmb28obywgImhlbGxvIik7
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2V4Y2VwdGlvbi1kZmct
dGhyb3ctZnJvbS1jYXRjaC1ibG9jay5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2V4Y2VwdGlvbi1kZmctdGhyb3ctZnJvbS1jYXRjaC1ibG9jay5q
cwkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZXhj
ZXB0aW9uLWRmZy10aHJvdy1mcm9tLWNhdGNoLWJsb2NrLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0w
LDAgKzEsNDAgQEAKKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIGFzc2VydChjb25kLCBtKSB7Cisg
ICAgaWYgKCFjb25kKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoImJyb2tlIGFzc2VydGlvbjog
JyIgKyBtICsgIiciKTsKK30KK25vSW5saW5lKGFzc2VydCk7CisKK2Z1bmN0aW9uIGJheihiKSB7
CisgICAgaWYgKGIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmF6Iik7Cit9CisKK2Z1bmN0
aW9uIGJhcihiKSB7CisgICAgdmFyIGV4Y2VwdGlvbiA9IG51bGw7CisgICAgdHJ5IHsKKyAgICAg
ICAgYmF6KGIpOworICAgIH0gY2F0Y2goZSkgeworICAgICAgICBleGNlcHRpb24gPSBlOworICAg
ICAgICBiYXooYik7CisgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgaWYgKGIpIAorICAgICAgICAg
ICAgYXNzZXJ0KGV4Y2VwdGlvbik7CisgICAgfQorfQorCitmdW5jdGlvbiBmb28oYikgeworICAg
IHZhciBleGNlcHRpb24gPSBudWxsOworICAgIHRyeSB7CisgICAgICAgIGJhcihiKTsKKyAgICB9
IGNhdGNoKGUpIHsKKyAgICAgICAgZXhjZXB0aW9uID0gZTsKKyAgICB9CisgICAgaWYgKGIpCisg
ICAgICAgIGFzc2VydChleGNlcHRpb24pOworfQorCitjb25zdCBOVU1fTE9PUFMgPSAxMDAwOwor
Zm9yICh2YXIgaSA9IDA7IGkgPCBOVU1fTE9PUFM7IGkrKykgeworICAgIGZvbyhpID09PSBOVU1f
TE9PUFMgLSAxKTsKK30KSW5kZXg6IExheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9kZmctZ2V0
dGVyLXRocm93LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9k
ZmctZ2V0dGVyLXRocm93LmpzCShyZXZpc2lvbiAxODk1NjEpCisrKyBMYXlvdXRUZXN0cy9qcy9z
Y3JpcHQtdGVzdHMvZGZnLWdldHRlci10aHJvdy5qcwkod29ya2luZyBjb3B5KQpAQCAtMTMsNiAr
MTMsNyBAQCBmdW5jdGlvbiBiYXIobykgewogICAgICAgICByZXR1cm4gIlRocmV3IGV4Y2VwdGlv
bjogIiArIGU7CiAgICAgfQogfQorbm9JbmxpbmUoYmFyKTsKIAogZm9yICh2YXIgaSA9IDA7IGkg
PCAyMDA7ICsraSkgewogICAgIHZhciBvID0gbmV3IE9iamVjdCgpOwo=
</data>
<flag name="commit-queue"
          id="286249"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>261052</attachid>
            <date>2015-09-12 02:28:36 -0700</date>
            <delta_ts>2015-09-14 15:27:39 -0700</delta_ts>
            <desc>Archive of layout-test-results from ews101 for mac-mavericks</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>628933</size>
            <attacher name="Build Bot">buildbot</attacher>
            
              <data encoding="base64">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
YWRlci9jaGlsZC1mcmFtZS1hZGQtYWZ0ZXItYmFjay1mb3J3YXJkLWFjdHVhbC50eHRVVAkAA2Lq
81Vi6vNVdXgLAAEE9QEAAARQAAAAFU07CgIxFOxziim1ULDdThBRsNwLvN28mEA2T5K3LB7D0tZK
vFCuY7YZZpjfRCHBZZoYO3gqOEDSnKKQbTLZyHlTtuZ8vN469GFiC5kVCwUN6Q4nGUk0uOdJEkMF
A2OkGNma3ocC5aINPeNBuawVcRh946xo16szsRKU7nv0TTmJUZY1WbzM0a6LhAsPmRcskm1nTP3U
V/3Wd/2ZP1BLAwQUAAIACABvECxHxz9gE0wBAABcAgAANwAcAGZhc3QvbG9hZGVyL2NoaWxkLWZy
YW1lLWFkZC1hZnRlci1iYWNrLWZvcndhcmQtZGlmZi50eHRVVAkAA2Lq81Vi6vNVdXgLAAEE9QEA
AARQAAAAvVDBTtwwFLz7K4YTVOGt2UMltKrQgrYLVXtA7Kqc38YvJKoTI/tFgc/gyJUT4ofyO423
tOqxp1qW7JFn5s2YiGC/B9+3kuyKle3n2429ld3XRt+Pi77xzt6IF05iPT+GXkklKUVJvddkK05q
fWAn0Zb1xKYqcivEzhFXKpF2XP6gKsSBoyN5uJdSxc30QU1RFP89AJfas9+PXy5B8+NTFPPjj1gu
DVpuOuzVINScMEfo+i6bT7BzXuJR+mDoX3mXAe9jobV0yEFmgCnW51++LbBtWnGYCmHgRpvuLrPR
BW2qx1XoBBqwE5TsvThTbOsmIVdP2Q33HFPWhAplPd1FMaXKL60oQ/luhu2EquB9GDIz1aH3Llsy
rmQXZcAQolsYGPq9DK1zrwUOPx3Qr5+8Zq1h7R98QnQ27cO/Rdfnm40pxpfxaXwdn8c38xNQSwME
FAACAAgAbxAsRxr5LIxqAAAAqAAAADsAHABmYXN0L2xvYWRlci9jaGlsZC1mcmFtZS1hZGQtYWZ0
ZXItYmFjay1mb3J3YXJkLWV4cGVjdGVkLnR4dFVUCQADYurzVWLq81V1eAsAAQT1AQAABFAAAADL
TczMU0grSsxNVdBVyEgsVjBUyM8rzcvJT0wBcvNSclKLNIo1uXKJU+aer5CWX1SeWJSiUJKRmqeQ
lJicraegwMWlCwVcbiAzrBTUbRR1dcHmBSSWZCjo68P5Brq6dkCkjtAS4BgczAUAUEsDBBQAAgAI
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
ZGVyci50eHRVVAkAA2Tq81Vk6vNVdXgLAAEE9QEAAARQAAAArU4xDsJADNv7inygZGC7GSbYQHRO
21SclLtUuZzU/p6DfoHFsmzL9qRpjUIeNQObqQVYovAPAiK+VGrighdywuvwwIHHW3S8067Vn1y8
4ELFcSuCxkWrTS2+va2fdTo1FSRmhjOwcOLsENOq5l1zwkEhQM00tlFXEKX5T+P9Uc/z90X3AVBL
AwQUAAIACABwECxHiR8h/pcAAADAAwAAJwAcAGZhc3QveHNsL3hzbHQtYmFkLWltcG9ydC11cmkt
c3RkZXJyLnR4dFVUCQADZOrzVWTq81V1eAsAAQT1AQAABFAAAADtjzEOwjAMRfeewhcoHtgywwQb
iM5u6opITlwljlRuT6BHYENdLNvf/vrPa1yCkAVNwDlrdjAH4W9xiPhQqZELnsgIz8MNBx4vwfBK
L61252IFZyqGaxHMXLRm387bZP1IUx/iotn6msOh7UBCYjgCC0dOBpvaNcVtLTioicYWwBREafo1
SNJS/fNj0v5EOr/z7rx/xPsGUEsDBBQAAgAIAHEQLEfPj2YOUAAAAKAAAAAkABwAZmFzdC94c2wv
eHNsdC1jb250ZW50VHlwZS1zdGRlcnIudHh0VVQJAANl6vNVZerzVXV4CwABBPUBAAAEUAAAAK3M
sQ3AIAwF0Z4p/gZR2myDwAhLNkaWiTJ+yA5prrtXTCdLDrYBcje/0FgIEB6EEySkNAK2Yq5IPO4s
XLG7CM0cStGt7ssslb+wp4fK8ZEvUEsDBBQAAgAIAHEQLEeBSnetSwAAAKwAAAA0ABwAZmFzdC94
c2wveHNsdC10cmFuc2Zvcm0tdG8tZnJhZ21lbnQtY3Jhc2gtc3RkZXJyLnR4dFVUCQADZerzVWXq
81V1eAsAAQT1AQAABFAAAAC1zLENgDAMRNE+U9wKtGzjwAVZcmxkLOZHomAD6q/3t5inmpSGg5mR
K4YaAVMnFtA46YVbUqUbW3LnUNdXxMBh0cW+juJVbfvl+gBQSwMEFAACAAgAyRAsR4J2ubdgAQAA
agIAABEAHABmdWxsX3Jlc3VsdHMuanNvblVUCQADCevzVQrr81V1eAsAAQT1AQAABFAAAACtkctO
w0AMRX8FeQVSQngsKoVVRcNDFIqalIpV5GYcMurkoRkHWqH+O54UAQvEip3lub7H1zOeTPJ5ki6m
WXr4DkyOHcTvUJPS6Au2WKy/ilA34QobFTreGjquuDb+zVLXWoYYrqbju2cIgDYdFUxKWo/jNJUO
FtyjiCG7vU9mi+xg6O92uwBKdOxd3lq7Juu+y7AwrfuFMk+uZeX0dvbwN+pyPk5vwCNMi4qsNykq
bVRYWqwpRKVCLFlAK5+tbO0bWvUvqYTp1rrrvPj89OQkgKavc0svlpzTbSMpTwPQjcBt3w2eJRpH
e12tRdS8QCxzBrdtz/nwM7nSEgKip9b0NblogoxRskyjJa3uNEfTQZsNnxjAqxxTULLA3rVD50jA
56PRSIw7vSHz6UsNrsyPJSp0eWeJeStTXFQQs+2lX+qNFw6ZPl1Lg+stxGcB9OKe72+E7DPmpfZa
P7o7uvgAUEsDBAoAAAAAAH0QLEcAAAAAAAAAAAAAAAAFABwAaHR0cC9VVAkAA33q81UK6/NVdXgL
AAEE9QEAAARQAAAAUEsDBAoAAAAAAI4QLEcAAAAAAAAAAAAAAAALABwAaHR0cC90ZXN0cy9VVAkA
A5vq81UK6/NVdXgLAAEE9QEAAARQAAAAUEsDBAoAAAAAAI4QLEcAAAAAAAAAAAAAAAAQABwAaHR0
cC90ZXN0cy9taXNjL1VUCQADm+rzVQrr81V1eAsAAQT1AQAABFAAAABQSwMEFAACAAgAjhAsRxU1
NZJ6AAAAvAAAACoAHABodHRwL3Rlc3RzL21pc2MveHNsdC1iYWQtaW1wb3J0LXN0ZGVyci50eHRV
VAkAA5vq81Wb6vNVdXgLAAEE9QEAAARQAAAAjY5BDsMgDATveYU/QCDtoRW/IcRVLBmMjJH6/BLl
A9VeVjuH2SylEScjqYCqohE+xAinWYveb4/XGma2+A4h+EI9e8UuQzN2/+1sbk+Ho9JEzQ2ldW7A
VBGegIwFq8FNl0niXSHCqGmfGhNgScd/uip95PO6lywxLz9QSwMECgAAAAAAgRAsRwAAAAAAAAAA
AAAAABQAHABodHRwL3Rlc3RzL3NlY3VyaXR5L1VUCQADgerzVQrr81V1eAsAAQT1AQAABFAAAABQ
SwMECgAAAAAAfRAsRwAAAAAAAAAAAAAAACoAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRT
ZWN1cml0eVBvbGljeS9VVAkAA33q81UK6/NVdXgLAAEE9QEAAARQAAAAUEsDBBQAAgAIAH0QLEdj
qqxsggAAAKgAAABAABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kv
eHNsLWFsbG93ZWQtc3RkZXJyLnR4dFVUCQADferzVX3q81V1eAsAAQT1AQAABFAAAAAtjUEKwzAM
BO95hV4QO72k+BWFviC4G2JQLCMppf59TSl7WobZzXK2wpsXqQRV0UR7YdDh3lIIy22d48iS7jHG
YMiXFu8hS3VUf/77Q7jkHhQml2ZYMO+M+WNMXCpoJTDOIdAP2AH4NGh6Q21cJ5LKnZY50o7NrzFE
m4Lsak3U8Zq+UEsDBBQAAgAIAH0QLEdjqqxsggAAAKgAAABSABwAaHR0cC90ZXN0cy9zZWN1cml0
eS9jb250ZW50U2VjdXJpdHlQb2xpY3kveHNsLXVuYWZmZWN0ZWQtYnktc3R5bGUtc3JjLTItc3Rk
ZXJyLnR4dFVUCQADferzVX3q81V1eAsAAQT1AQAABFAAAAAtjUEKwzAMBO95hV4QO72k+BWFviC4
G2JQLCMppf59TSl7WobZzXK2wpsXqQRV0UR7YdDh3lIIy22d48iS7jHGYMiXFu8hS3VUf/77Q7jk
HhQml2ZYMO+M+WNMXCpoJTDOIdAP2AH4NGh6Q21cJ5LKnZY50o7NrzFEm4Lsak3U8Zq+UEsDBBQA
AgAIAIEQLEdgS2YQkQAAAPsBAABFABwAaHR0cC90ZXN0cy9zZWN1cml0eS94c3MtREVOSUVELXhz
bC1kb2N1bWVudC1zZWN1cml0eU9yaWdpbi1zdGRlcnIudHh0VVQJAAOB6vNVgerzVXV4CwABBPUB
AAAEUAAAAO2OMQ6DMAxFd07hC4QEllaZYejSngEFUyKZJLKdCm5fOvQGHau/vq/3Qt5KpEljToDM
mT0skRBW1eKt7fpL6851/uqcs4KhctTD7iJmGO+3cTC7kJlzqBsmNV/gwfEZU7tvBBQTQg9I+CFA
9CCUFVGb8+lfyHK6PeREB3StgwUnrYwCEyNILSWz4tyEf+iPQ99QSwMEFAACAAgAQRAsR+qKfEJh
BQAABQ8AAAoAHABodHRwZC5jb25mVVQJAAMJ6vNVAOvzVXV4CwABBPUBAAAEUAAAAK1XbW/bNhD+
rl9BuDCwFZOcuHHnDYEB13GaLEmdWU4DLEkNWqIk1hLJkVQSZ+t++4605RfJEQpsDmCTx+e5Ox6P
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
dM9GK9q8Y1SUvPTd8c4skfR9FtlscKjSG3s7xRn8uXdoeKXYj/MitOV94L7IRgEVH+Hp6xxr9BVr
FKncU3esLKl0DmEN+7sqyxeq7PioaZU7tWa1bD76qEpWyxZZud+wPoYqcqTd829cZ80S1pgqm6yW
7VlLv8qryaZhhfY2WptyvXkPJR9l5t0bXRZZAqtYAUhClwy224r/5XBpHI+XMONYB4dIMDK7I/6W
JbAuG6pQZcuylMqJID6GV3ZZflQla+tTFzgdVNKsk0Hjf+lve9YxqnUu1sBLbF2WOROuZ63eOusB
96z3TM18xpJRPGn2Ku+GVryWKuMgyXOAhc2elG0+Zql4bHd9TrvqgpV+TU47KjbgqftsaIc1ZbTO
I5uPwdV58dWwvEx8WC5M2/CWdps1O1nxRSLTXK5JsaTdZ712Nn+hSSYU9XIipcgGtduNzK1STihr
cvY5mcuq5VJnxbXmvUBd5L2Smn3jJkubLLrKbIhD82RNfUDOnOh4yoz9kqR9z8fg+qy879hYg9b5
aLzmw0I6H4Nrez6nuMN7ZVPPVZ9P7TU9H3rMeia8mV42xB/rkvUJmhUlO7zImnXZ6zobeyz5KEeR
j5Gw2kbnU7gtz5a9zlMZW91QZvNcrF9T1l2+PqHgCTR/6bphCXT70olzs8qqpPaQToY9S8Wa+XWV
DbgWrHonwojUyEXihFV1VZ4nWYOm2lG5w9Kn7vIJ85IPUJc5xmCt/JIavQyuO9YhqylLpi0a1rMp
6z4bk+fjdyQyA/ylU7KATzmRfBVne7L1M3WRTbb3fCK1ydvbfLy0UlnPu2EprGhzQbiKFUNdnxMF
HWuq00grY/S2xYnVc/UOc4oPyWcZw3hlrF2SNfXLiqXtHVV8bB1JnTfGFG8RdVl1U7ElGSSkzpj6
DR8KUzuKUFglWdTZVGrFZkPrbKSianhJQoyhMIgslgWKlQV5w6Dg3f42yxo9/3G9ST4nEqJseKbS
2VRVxUbz6zJnxJ1YfKkyTyMsXxSbOEeZKs7iq1vLnA/c8VFLndVzijWZK7XJnSTrHk8sifX5n+br
mHWTq5ps2Bhz0Wet9YL1/Jtsrqrn07gbCZjCWMm74KrIxcNa3jTQ+cglm2yqutxD86nQss/bvKyq
aovcoVltU/bZTAKr5cpsPKviY/l7CndYTDf5wLbmawdVl6040nySS1dZVVXw6rnJ17GwyeMqn4Rl
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
AARQAAAAUEsBAh4DFAACAAgAbxAsR5cQDh+dAAAAwQAAADkAGAAAAAAAAQAAAKSBWzkBAGZhc3Qv
bG9hZGVyL2NoaWxkLWZyYW1lLWFkZC1hZnRlci1iYWNrLWZvcndhcmQtYWN0dWFsLnR4dFVUBQAD
YurzVXV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAG8QLEfHP2ATTAEAAFwCAAA3ABgAAAAAAAEA
AACkgWs6AQBmYXN0L2xvYWRlci9jaGlsZC1mcmFtZS1hZGQtYWZ0ZXItYmFjay1mb3J3YXJkLWRp
ZmYudHh0VVQFAANi6vNVdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAbxAsRxr5LIxqAAAAqAAA
ADsAGAAAAAAAAQAAAKSBKDwBAGZhc3QvbG9hZGVyL2NoaWxkLWZyYW1lLWFkZC1hZnRlci1iYWNr
LWZvcndhcmQtZXhwZWN0ZWQudHh0VVQFAANi6vNVdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA
bxAsR7NCxSa7CAAAKiAAAD8AGAAAAAAAAQAAAKSBBz0BAGZhc3QvbG9hZGVyL2NoaWxkLWZyYW1l
LWFkZC1hZnRlci1iYWNrLWZvcndhcmQtcHJldHR5LWRpZmYuaHRtbFVUBQADYurzVXV4CwABBPUB
AAAEUAAAAFBLAQIeAwoAAAAAAHAQLEcAAAAAAAAAAAAAAAAKABgAAAAAAAAAEADtQTtGAQBmYXN0
L3RleHQvVVQFAANk6vNVdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAcBAsR/o1zDo7AQAAlgMA
ACQAGAAAAAAAAQAAAKSBf0YBAGZhc3QvdGV4dC9mb250LXdlaWdodHMtemgtc3RkZXJyLnR4dFVU
BQADZOrzVXV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAAI0QLEcAAAAAAAAAAAAAAAANABgAAAAA
AAAAEADtQRhIAQBmYXN0L3dvcmtlcnMvVVQFAAOZ6vNVdXgLAAEE9QEAAARQAAAAUEsBAh4DFAAC
AAgAyBAsR/PmFrAyQgAAB2UBACcAGAAAAAAAAQAAAKSBX0gBAGZhc3Qvd29ya2Vycy93b3JrZXIt
Y2xvc2UtY3Jhc2gtbG9nLnR4dFVUBQADB+vzVXV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAAHEQ
LEcAAAAAAAAAAAAAAAAJABgAAAAAAAAAEADtQfKKAQBmYXN0L3hzbC9VVAUAA2Xq81V1eAsAAQT1
AQAABFAAAABQSwECHgMUAAIACABwECxHcv1l8oUAAADpAAAAJQAYAAAAAAABAAAApIE1iwEAZmFz
dC94c2wvdHJhbnNmb3JtLXhoci1kb2Mtc3RkZXJyLnR4dFVUBQADZOrzVXV4CwABBPUBAAAEUAAA
AFBLAQIeAxQAAgAIAHAQLEeJHyH+lwAAAMADAAAnABgAAAAAAAEAAACkgRmMAQBmYXN0L3hzbC94
c2x0LWJhZC1pbXBvcnQtdXJpLXN0ZGVyci50eHRVVAUAA2Tq81V1eAsAAQT1AQAABFAAAABQSwEC
HgMUAAIACABxECxHz49mDlAAAACgAAAAJAAYAAAAAAABAAAApIERjQEAZmFzdC94c2wveHNsdC1j
b250ZW50VHlwZS1zdGRlcnIudHh0VVQFAANl6vNVdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA
cRAsR4FKd61LAAAArAAAADQAGAAAAAAAAQAAAKSBv40BAGZhc3QveHNsL3hzbHQtdHJhbnNmb3Jt
LXRvLWZyYWdtZW50LWNyYXNoLXN0ZGVyci50eHRVVAUAA2Xq81V1eAsAAQT1AQAABFAAAABQSwEC
HgMUAAIACADJECxHgna5t2ABAABqAgAAEQAYAAAAAAABAAAApIF4jgEAZnVsbF9yZXN1bHRzLmpz
b25VVAUAAwnr81V1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAAB9ECxHAAAAAAAAAAAAAAAABQAY
AAAAAAAAABAA7UEjkAEAaHR0cC9VVAUAA33q81V1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAACO
ECxHAAAAAAAAAAAAAAAACwAYAAAAAAAAABAA7UFikAEAaHR0cC90ZXN0cy9VVAUAA5vq81V1eAsA
AQT1AQAABFAAAABQSwECHgMKAAAAAACOECxHAAAAAAAAAAAAAAAAEAAYAAAAAAAAABAA7UGnkAEA
aHR0cC90ZXN0cy9taXNjL1VUBQADm+rzVXV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAI4QLEcV
NTWSegAAALwAAAAqABgAAAAAAAEAAACkgfGQAQBodHRwL3Rlc3RzL21pc2MveHNsdC1iYWQtaW1w
b3J0LXN0ZGVyci50eHRVVAUAA5vq81V1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAACBECxHAAAA
AAAAAAAAAAAAFAAYAAAAAAAAABAA7UHPkQEAaHR0cC90ZXN0cy9zZWN1cml0eS9VVAUAA4Hq81V1
eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAAB9ECxHAAAAAAAAAAAAAAAAKgAYAAAAAAAAABAA7UEd
kgEAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvVVQFAAN96vNVdXgL
AAEE9QEAAARQAAAAUEsBAh4DFAACAAgAfRAsR2OqrGyCAAAAqAAAAEAAGAAAAAAAAQAAAKSBgZIB
AGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3hzbC1hbGxvd2VkLXN0
ZGVyci50eHRVVAUAA33q81V1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACAB9ECxHY6qsbIIAAACo
AAAAUgAYAAAAAAABAAAApIF9kwEAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQ
b2xpY3kveHNsLXVuYWZmZWN0ZWQtYnktc3R5bGUtc3JjLTItc3RkZXJyLnR4dFVUBQADferzVXV4
CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIAIEQLEdgS2YQkQAAAPsBAABFABgAAAAAAAEAAACkgYuU
AQBodHRwL3Rlc3RzL3NlY3VyaXR5L3hzcy1ERU5JRUQteHNsLWRvY3VtZW50LXNlY3VyaXR5T3Jp
Z2luLXN0ZGVyci50eHRVVAUAA4Hq81V1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACABBECxH6op8
QmEFAAAFDwAACgAYAAAAAAABAAAApIGblQEAaHR0cGQuY29uZlVUBQADCerzVXV4CwABBPUBAAAE
UAAAAFBLAQIeAwoAAAAAALYQLEcAAAAAAAAAAAAAAAAGABgAAAAAAAAAEADtQUCbAQBtZWRpYS9V
VAUAA+jq81V1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAAC2ECxHAAAAAAAAAAAAAAAADAAYAAAA
AAAAABAA7UGAmwEAbWVkaWEvdHJhY2svVVQFAAPo6vNVdXgLAAEE9QEAAARQAAAAUEsBAh4DFAAC
AAgAthAsR2mU0Y3wAAAAdwEAACoAGAAAAAAAAQAAAKSBxpsBAG1lZGlhL3RyYWNrL3RyYWNrLWlu
LWJhbmQtc3R5bGUtYWN0dWFsLnR4dFVUBQAD6OrzVXV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAI
ALYQLEcNf/iEnAEAAP4CAAAoABgAAAAAAAEAAACkgRqdAQBtZWRpYS90cmFjay90cmFjay1pbi1i
YW5kLXN0eWxlLWRpZmYudHh0VVQFAAPo6vNVdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAthAs
Rwz65Oo2AQAAMwIAACwAGAAAAAAAAQAAAKSBGJ8BAG1lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQt
c3R5bGUtZXhwZWN0ZWQudHh0VVQFAAPo6vNVdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAthAs
RwZw1+XSCAAA1yIAADAAGAAAAAAAAQAAAKSBtKABAG1lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQt
c3R5bGUtcHJldHR5LWRpZmYuaHRtbFVUBQAD6OrzVXV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAI
AIMQLEczqQgASgIAAIMLAAArABgAAAAAAAEAAACkgfCpAQBweXdlYnNvY2tldC53cy5sb2ctMTJT
ZXAyMDE1LTAyMDIwMi1lcnIudHh0VVQFAAOF6vNVdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgA
gxAsRyzhA+wJAQAAjwIAACsAGAAAAAAAAQAAAKSBn6wBAHB5d2Vic29ja2V0LndzLmxvZy0xMlNl
cDIwMTUtMDIwMjAyLW91dC50eHRVVAUAA4Xq81V1eAsAAQT1AQAABFAAAABQSwECHgMUAAIACADJ
ECxH5HxFo54mAADbpAAADAAYAAAAAAABAAAApIENrgEAcmVzdWx0cy5odG1sVVQFAAMJ6/NVdXgL
AAEE9QEAAARQAAAAUEsBAh4DCgAAAAAAxhAsRwAAAAAAAAAAAAAAAAgAGAAAAAAAAAAQAO1B8dQB
AHJldHJpZXMvVVQFAAMD6/NVdXgLAAEE9QEAAARQAAAAUEsBAh4DFAACAAgAyRAsR9DEi8EkFAcA
S8EoAAoAGAAAAAAAAQAAAKSBM9UBAHN0YXRzLmpzb25VVAUAAwnr81V1eAsAAQT1AQAABFAAAABQ
SwECHgMKAAAAAAC4ECxHAAAAAAAAAAAAAAAABAAYAAAAAAAAABAA7UGb6QgAc3ZnL1VUBQAD7Orz
VXV4CwABBPUBAAAEUAAAAFBLAQIeAwoAAAAAALgQLEcAAAAAAAAAAAAAAAALABgAAAAAAAAAEADt
QdnpCABzdmcvY3VzdG9tL1VUBQAD7OrzVXV4CwABBPUBAAAEUAAAAFBLAQIeAxQAAgAIALgQLEd3
30j9fgAAAI0AAAAkABgAAAAAAAEAAACkgR7qCABzdmcvY3VzdG9tL3plcm8tZGFzaGFycmF5LXN0
ZGVyci50eHRVVAUAA+zq81V1eAsAAQT1AQAABFAAAABQSwECHgMKAAAAAACpECxHAAAAAAAAAAAA
AAAACwAYAAAAAAAAABAA7UH66ggAc3ZnL3N0cm9rZS9VVAUAA83q81V1eAsAAQT1AQAABFAAAABQ
SwECHgMUAAIACACpECxHczjy/H4AAACNAAAAJQAYAAAAAAABAAAApIE/6wgAc3ZnL3N0cm9rZS96
ZXJvLXdpZHRoLWhhbmctc3RkZXJyLnR4dFVUBQADzerzVXV4CwABBPUBAAAEUAAAAFBLAQIeAxQA
AgAIAMMQLEc6TgHzhZQAAARzDwAZABgAAAAAAAAAAACkgRzsCAB3cHR3a19wcm9jZXNzX2xvZy5v
dXQudHh0VVQFAAP+6vNVdXgLAAEE9QEAAARQAAAAUEsFBgAAAAA+AD4AuxcAAPSACQAAAA==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261141</attachid>
            <date>2015-09-14 15:27:39 -0700</date>
            <delta_ts>2015-09-15 14:18:09 -0700</delta_ts>
            <desc>patch</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>61389</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDE4OTc0NCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMTgzLDYgKzE4Myw3IEBAIHNldChKYXZhU2NyaXB0Q29yZV9TT1VSQ0VTCiAgICAgZGZnL0RG
R0ZpeHVwUGhhc2UuY3BwCiAgICAgZGZnL0RGR0ZsdXNoRm9ybWF0LmNwcAogICAgIGRmZy9ERkdG
bHVzaGVkQXQuY3BwCisgICAgZGZnL0RGR0ZsdXNoTGl2ZUNhdGNoVmFyaWFibGVzSW5zZXJ0aW9u
UGhhc2UuY3BwCiAgICAgZGZnL0RGR0Zyb3plblZhbHVlLmNwcAogICAgIGRmZy9ERkdGdW5jdGlv
bldoaXRlbGlzdC5jcHAKICAgICBkZmcvREZHR3JhcGguY3BwCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9q
L0phdmFTY3JpcHRDb3JlLnZjeHByb2oJKHJldmlzaW9uIDE4OTc0NCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oJ
KHdvcmtpbmcgY29weSkKQEAgLTQxOSw2ICs0MTksNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVk
ZT0iLi5cZGZnXERGR0ZpeHVwUGhhc2UuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5cZGZnXERGR0ZsdXNoZWRBdC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxk
ZmdcREZHRmx1c2hGb3JtYXQuY3BwIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZGZn
XERGR0ZsdXNoTGl2ZUNhdGNoVmFyaWFibGVzSW5zZXJ0aW9uUGhhc2UuY3BwIiAvPgogICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5cZGZnXERGR0Zyb3plblZhbHVlLmNwcCIgLz4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXGRmZ1xERkdGdW5jdGlvbldoaXRlbGlzdC5jcHAiIC8+CiAgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxkZmdcREZHR3JhcGguY3BwIiAvPgpAQCAtMTE0Niw2ICsx
MTQ3LDcgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRmZ1xERkdGaXh1cFBoYXNlLmgi
IC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkZmdcREZHRmx1c2hlZEF0LmgiIC8+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkZmdcREZHRmx1c2hGb3JtYXQuaCIgLz4KKyAgICA8
Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRmZ1xERkdGbHVzaExpdmVDYXRjaFZhcmlhYmxlc0luc2Vy
dGlvblBoYXNlLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkZmdcREZHRm9yQWxs
S2lsbHMuaCIgLz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRmZ1xERkdGUFJJbmZvLmgi
IC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkZmdcREZHRnJvemVuVmFsdWUuaCIgLz4K
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFT
Y3JpcHRDb3JlLnZjeHByb2ouZmlsdGVycwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRl
cnMJKHJldmlzaW9uIDE4OTc0NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0
Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmlsdGVycwkod29ya2luZyBjb3B5
KQpAQCAtMTIzNiw2ICsxMjM2LDkgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRmZ1xE
RkdGbHVzaEZvcm1hdC5jcHAiPgogICAgICAgPEZpbHRlcj5kZmc8L0ZpbHRlcj4KICAgICA8L0Ns
Q29tcGlsZT4KKyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRmZ1xERkdGbHVzaExpdmVDYXRj
aFZhcmlhYmxlc0luc2VydGlvblBoYXNlLmNwcCI+CisgICAgICA8RmlsdGVyPmRmZzwvRmlsdGVy
PgorICAgIDwvQ2xDb21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZGZnXERGR0Z1
bmN0aW9uV2hpdGVsaXN0LmNwcCI+CiAgICAgICA8RmlsdGVyPmRmZzwvRmlsdGVyPgogICAgIDwv
Q2xDb21waWxlPgpAQCAtMzY5NCw2ICszNjk3LDkgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9
Ii4uXGRmZ1xERkdGbHVzaEZvcm1hdC5oIj4KICAgICAgIDxGaWx0ZXI+ZGZnPC9GaWx0ZXI+CiAg
ICAgPC9DbEluY2x1ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkZmdcREZHRmx1c2hM
aXZlQ2F0Y2hWYXJpYWJsZXNJbnNlcnRpb25QaGFzZS5oIj4KKyAgICAgIDxGaWx0ZXI+ZGZnPC9G
aWx0ZXI+CisgICAgPC9DbEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkZmdc
REZHRlBSSW5mby5oIj4KICAgICAgIDxGaWx0ZXI+ZGZnPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1
ZGU+CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTg5NzQ0KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oJKHdvcmtpbmcgY29weSkKQEAgLTEwMjksNiArMTAyOSw4IEBACiAJCTc5NjQ2NTZB
MUI5NTJGRjAwMDMwNTlFRSAvKiBHZXRQdXRJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTY0NjU2ODFCOTUyRkYwMDAzMDU5RUUgLyogR2V0UHV0
SW5mby5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CTc5N0UwN0E5MUI4RkNGQjkwMDg0MDBCQSAvKiBKU0dsb2JhbExleGljYWxFbnZpcm9ubWVudC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTdFMDdB
NzFCOEZDRkI5MDA4NDAwQkEgLyogSlNHbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQuY3BwICovOyB9
OwogCQk3OTdFMDdBQTFCOEZDRkI5MDA4NDAwQkEgLyogSlNHbG9iYWxMZXhpY2FsRW52aXJvbm1l
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5N0Uw
N0E4MUI4RkNGQjkwMDg0MDBCQSAvKiBKU0dsb2JhbExleGljYWxFbnZpcm9ubWVudC5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTc5QzRCMTVEMUJB
MjE1OEYwMEZENTkyRSAvKiBERkdGbHVzaExpdmVDYXRjaFZhcmlhYmxlc0luc2VydGlvblBoYXNl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5QzRC
MTVCMUJBMjE1OEYwMEZENTkyRSAvKiBERkdGbHVzaExpdmVDYXRjaFZhcmlhYmxlc0luc2VydGlv
blBoYXNlLmNwcCAqLzsgfTsKKwkJNzlDNEIxNUUxQkEyMTU4RjAwRkQ1OTJFIC8qIERGR0ZsdXNo
TGl2ZUNhdGNoVmFyaWFibGVzSW5zZXJ0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5QzRCMTVDMUJBMjE1OEYwMEZENTkyRSAvKiBERkdG
bHVzaExpdmVDYXRjaFZhcmlhYmxlc0luc2VydGlvblBoYXNlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzlFRTBCRkYxQjRBRkI4NTAwMDM4NUM5
IC8qIFZhcmlhYmxlRW52aXJvbm1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNzlFRTBCRkQxQjRBRkI4NTAwMDM4NUM5IC8qIFZhcmlhYmxlRW52
aXJvbm1lbnQuY3BwICovOyB9OwogCQk3OUVFMEMwMDFCNEFGQjg1MDAwMzg1QzkgLyogVmFyaWFi
bGVFbnZpcm9ubWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNzlFRTBCRkUxQjRBRkI4NTAwMDM4NUM5IC8qIFZhcmlhYmxlRW52aXJvbm1lbnQuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3OUY4RkMx
RTFCOUZFRDBGMDBDQTY2QUIgLyogREZHTWF4aW1hbEZsdXNoSW5zZXJ0aW9uUGhhc2UuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzlGOEZDMUMxQjlG
RUQwRjAwQ0E2NkFCIC8qIERGR01heGltYWxGbHVzaEluc2VydGlvblBoYXNlLmNwcCAqLzsgfTsK
QEAgLTI4NTgsNiArMjg2MCw4IEBACiAJCTc5NjQ2NTY4MUI5NTJGRjAwMDMwNTlFRSAvKiBHZXRQ
dXRJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdldFB1dEluZm8uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzk3RTA3QTcxQjhGQ0ZCOTAwODQwMEJBIC8q
IEpTR2xvYmFsTGV4aWNhbEVudmlyb25tZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IEpTR2xvYmFsTGV4aWNhbEVudmlyb25tZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNzk3RTA3QTgxQjhGQ0ZCOTAwODQwMEJBIC8qIEpTR2xvYmFsTGV4
aWNhbEVudmlyb25tZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2xv
YmFsTGV4aWNhbEVudmlyb25tZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5
QzRCMTVCMUJBMjE1OEYwMEZENTkyRSAvKiBERkdGbHVzaExpdmVDYXRjaFZhcmlhYmxlc0luc2Vy
dGlvblBoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0Zs
dXNoTGl2ZUNhdGNoVmFyaWFibGVzSW5zZXJ0aW9uUGhhc2UuY3BwOyBwYXRoID0gZGZnL0RGR0Zs
dXNoTGl2ZUNhdGNoVmFyaWFibGVzSW5zZXJ0aW9uUGhhc2UuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk3OUM0QjE1QzFCQTIxNThGMDBGRDU5MkUgLyogREZHRmx1c2hMaXZlQ2F0
Y2hWYXJpYWJsZXNJbnNlcnRpb25QaGFzZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBERkdGbHVzaExpdmVDYXRjaFZhcmlhYmxlc0luc2VydGlvblBoYXNlLmg7IHBhdGggPSBk
ZmcvREZHRmx1c2hMaXZlQ2F0Y2hWYXJpYWJsZXNJbnNlcnRpb25QaGFzZS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk3OUVFMEJGRDFCNEFGQjg1MDAwMzg1QzkgLyogVmFyaWFibGVF
bnZpcm9ubWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBWYXJp
YWJsZUVudmlyb25tZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzlFRTBC
RkUxQjRBRkI4NTAwMDM4NUM5IC8qIFZhcmlhYmxlRW52aXJvbm1lbnQuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gVmFyaWFibGVFbnZpcm9ubWVudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3OUY4RkMxQzFCOUZFRDBGMDBDQTY2QUIgLyogREZHTWF4aW1hbEZs
dXNoSW5zZXJ0aW9uUGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1l
ID0gREZHTWF4aW1hbEZsdXNoSW5zZXJ0aW9uUGhhc2UuY3BwOyBwYXRoID0gZGZnL0RGR01heGlt
YWxGbHVzaEluc2VydGlvblBoYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTUyMjEsNiArNTIyNSw4IEBACiAJCQkJMEY5RDMzOTUxN0ZGQzRFNjAwNzNDMkJDIC8qIERGR0Zs
dXNoZWRBdC5oICovLAogCQkJCUE3RDg5Q0U4MTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdGbHVzaEZv
cm1hdC5jcHAgKi8sCiAJCQkJQTdEODlDRTkxN0EwQjhDQzAwNzczQUQ4IC8qIERGR0ZsdXNoRm9y
bWF0LmggKi8sCisJCQkJNzlDNEIxNUIxQkEyMTU4RjAwRkQ1OTJFIC8qIERGR0ZsdXNoTGl2ZUNh
dGNoVmFyaWFibGVzSW5zZXJ0aW9uUGhhc2UuY3BwICovLAorCQkJCTc5QzRCMTVDMUJBMjE1OEYw
MEZENTkyRSAvKiBERkdGbHVzaExpdmVDYXRjaFZhcmlhYmxlc0luc2VydGlvblBoYXNlLmggKi8s
CiAJCQkJMEYyREQ4MTAxQUIzRDhCRTAwQkJCOEU4IC8qIERGR0ZvckFsbEtpbGxzLmggKi8sCiAJ
CQkJMEY2OUNDODYxOTNBQzYwQTAwNDU3NTlFIC8qIERGR0Zyb3plblZhbHVlLmNwcCAqLywKIAkJ
CQkwRjY5Q0M4NzE5M0FDNjBBMDA0NTc1OUUgLyogREZHRnJvemVuVmFsdWUuaCAqLywKQEAgLTU5
MTIsNiArNTkxOCw3IEBACiAJCQkJQTFBMDA5QzExODMxQTI2RTAwQ0Y4NzExIC8qIEFSTTY0QXNz
ZW1ibGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjg5OEYzMjFCMjc2ODlGMDA4M0EzM0MgLyog
REZHSW50ZWdlclJhbmdlT3B0aW1pemF0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTg2
RDNCMkM0MTAxNTZCREUwMDI4NjVFNyAvKiBBUk1Bc3NlbWJsZXIuaCBpbiBIZWFkZXJzICovLAor
CQkJCTc5QzRCMTVFMUJBMjE1OEYwMEZENTkyRSAvKiBERkdGbHVzaExpdmVDYXRjaFZhcmlhYmxl
c0luc2VydGlvblBoYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3OUY4RkMxRjFCOUZFRDBGMDBD
QTY2QUIgLyogREZHTWF4aW1hbEZsdXNoSW5zZXJ0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICovLAog
CQkJCTk5RjFBNzAxMUI5OEZCRUMwMDQ2M0IyNiAvKiBJbnNwZWN0b3JGcm9udGVuZFJvdXRlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNzk2NDY1NkExQjk1MkZGMDAwMzA1OUVFIC8qIEdldFB1dElu
Zm8uaCBpbiBIZWFkZXJzICovLApAQCAtNzk4NCw2ICs3OTkxLDcgQEAKIAkJCQlBMTU4N0Q3MTFC
NERDMTQxMDBENjk4NDkgLyogSW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBlLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTBGMkI2NzBBMTdCNkI1QUIwMEE3QUUzRiAvKiBUeXBlZEFycmF5VHlwZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk1MkM5NTJCOTE5QTI4QTFDMDA2OUIzODYgLyogVHlwZVBy
b2ZpbGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTc5QzRCMTVEMUJBMjE1OEYwMEZENTkyRSAv
KiBERkdGbHVzaExpdmVDYXRjaFZhcmlhYmxlc0luc2VydGlvblBoYXNlLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTBGRjQyNzRBMTU4RUJFOTEwMDRDQjlGRiAvKiB1ZGlzODYuYyBpbiBTb3VyY2Vz
ICovLAogCQkJCTBGRjQyNzQwMTU4RUJFOEIwMDRDQjlGRiAvKiB1ZGlzODZfZGVjb2RlLmMgaW4g
U291cmNlcyAqLywKIAkJCQkwRkY0Mjc0MzE1OEVCRTkxMDA0Q0I5RkYgLyogdWRpczg2X2lucHV0
LmMgaW4gU291cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9D
b2RlQmxvY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Q29kZUJsb2NrLmgJKHJldmlzaW9uIDE4OTc0NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9Db2RlQmxvY2suaAkod29ya2luZyBjb3B5KQpAQCAtOTE2LDYgKzkxNiwxOCBAQCBw
dWJsaWM6CiAgICAgICAgIEV2YWxDb2RlQ2FjaGUgbV9ldmFsQ29kZUNhY2hlOwogICAgIH07CiAK
KyAgICB2b2lkIGNsZWFyRXhjZXB0aW9uSGFuZGxlcnMoKQorICAgIHsKKyAgICAgICAgaWYgKG1f
cmFyZURhdGEpCisgICAgICAgICAgICBtX3JhcmVEYXRhLT5tX2V4Y2VwdGlvbkhhbmRsZXJzLmNs
ZWFyKCk7CisgICAgfQorCisgICAgdm9pZCBhcHBlbmRFeGNlcHRpb25IYW5kbGVyKGNvbnN0IEhh
bmRsZXJJbmZvJiBoYW5kbGVyKQorICAgIHsKKyAgICAgICAgY3JlYXRlUmFyZURhdGFJZk5lY2Vz
c2FyeSgpOyAvLyBXZSBtYXkgYmUgaGFuZGxpbmcgdGhlIGV4Y2VwdGlvbiBvZiBhbiBpbmxpbmVk
IGNhbGwgZnJhbWUuCisgICAgICAgIG1fcmFyZURhdGEtPm1fZXhjZXB0aW9uSGFuZGxlcnMuYXBw
ZW5kKGhhbmRsZXIpOworICAgIH0KKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCB2aXNp
dFdlYWtSZWZlcmVuY2VzKFNsb3RWaXNpdG9yJikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lk
IGZpbmFsaXplVW5jb25kaXRpb25hbGx5KCkgb3ZlcnJpZGU7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUHJlY2lzZUp1bXBUYXJnZXRzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJlY2lzZUp1bXBUYXJnZXRzLmNwcAkocmV2
aXNpb24gMTg5NzQ0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ByZWNpc2VK
dW1wVGFyZ2V0cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkzLDkgKzkzLDEyIEBAIHZvaWQgY29t
cHV0ZVByZWNpc2VKdW1wVGFyZ2V0cyhDb2RlQmxvY2sKICAgICBpZiAoIWNvZGVCbG9jay0+bnVt
YmVyT2ZKdW1wVGFyZ2V0cygpKQogICAgICAgICByZXR1cm47CiAgICAgCi0gICAgZm9yICh1bnNp
Z25lZCBpID0gY29kZUJsb2NrLT5udW1iZXJPZkV4Y2VwdGlvbkhhbmRsZXJzKCk7IGktLTspCisg
ICAgZm9yICh1bnNpZ25lZCBpID0gY29kZUJsb2NrLT5udW1iZXJPZkV4Y2VwdGlvbkhhbmRsZXJz
KCk7IGktLTspIHsKICAgICAgICAgb3V0LmFwcGVuZChjb2RlQmxvY2stPmV4Y2VwdGlvbkhhbmRs
ZXIoaSkudGFyZ2V0KTsKLSAgICAKKyAgICAgICAgb3V0LmFwcGVuZChjb2RlQmxvY2stPmV4Y2Vw
dGlvbkhhbmRsZXIoaSkuc3RhcnQpOworICAgICAgICBvdXQuYXBwZW5kKGNvZGVCbG9jay0+ZXhj
ZXB0aW9uSGFuZGxlcihpKS5lbmQpOworICAgIH0KKwogICAgIEludGVycHJldGVyKiBpbnRlcnBy
ZXRlciA9IGNvZGVCbG9jay0+dm0oKS0+aW50ZXJwcmV0ZXI7CiAgICAgSW5zdHJ1Y3Rpb24qIGlu
c3RydWN0aW9uc0JlZ2luID0gY29kZUJsb2NrLT5pbnN0cnVjdGlvbnMoKS5iZWdpbigpOwogICAg
IHVuc2lnbmVkIGluc3RydWN0aW9uQ291bnQgPSBjb2RlQmxvY2stPmluc3RydWN0aW9ucygpLnNp
emUoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQ
YXJzZXIuY3BwCShyZXZpc2lvbiAxODk3NDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDMzLDcgKzQzMyw2IEBA
IHByaXZhdGU6CiAgICAgICAgIG1fY3VycmVudEJsb2NrLT52YXJpYWJsZXNBdFRhaWwubG9jYWwo
bG9jYWwpID0gbm9kZTsKICAgICAgICAgcmV0dXJuIG5vZGU7CiAgICAgfQotCiAgICAgTm9kZSog
c2V0TG9jYWwoY29uc3QgQ29kZU9yaWdpbiYgc2VtYW50aWNPcmlnaW4sIFZpcnR1YWxSZWdpc3Rl
ciBvcGVyYW5kLCBOb2RlKiB2YWx1ZSwgU2V0TW9kZSBzZXRNb2RlID0gTm9ybWFsU2V0KQogICAg
IHsKICAgICAgICAgQ29kZU9yaWdpbiBvbGRTZW1hbnRpY09yaWdpbiA9IG1fY3VycmVudFNlbWFu
dGljT3JpZ2luOwpAQCAtMzc4Miw2ICszNzgxLDEwIEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBh
cnNlQmxvY2sodW5zaWduZWQKICAgICAgICAgICAgIGZsdXNoRm9yVGVybWluYWwoKTsKICAgICAg
ICAgICAgIGFkZFRvR3JhcGgoVW5yZWFjaGFibGUpOwogICAgICAgICAgICAgTEFTVF9PUENPREUo
b3BfdGhyb3dfc3RhdGljX2Vycm9yKTsKKworICAgICAgICBjYXNlIG9wX2NhdGNoOgorICAgICAg
ICAgICAgbV9ncmFwaC5tX2hhc0V4Y2VwdGlvbkhhbmRsZXJzID0gdHJ1ZTsKKyAgICAgICAgICAg
IE5FWFRfT1BDT0RFKG9wX2NhdGNoKTsKICAgICAgICAgICAgIAogICAgICAgICBjYXNlIG9wX2Nh
bGw6CiAgICAgICAgICAgICBoYW5kbGVDYWxsKGN1cnJlbnRJbnN0cnVjdGlvbiwgQ2FsbCwgQ29k
ZUZvckNhbGwpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRp
ZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJp
bGl0aWVzLmNwcAkocmV2aXNpb24gMTg5NzQ0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdDYXBhYmlsaXRpZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTcsNiArMjE3LDcgQEAg
Q2FwYWJpbGl0eUxldmVsIGNhcGFiaWxpdHlMZXZlbChPcGNvZGVJRAogICAgIGNhc2Ugb3BfbmV3
X2Fycm93X2Z1bmNfZXhwOgogICAgIGNhc2Ugb3BfY3JlYXRlX2xleGljYWxfZW52aXJvbm1lbnQ6
CiAgICAgY2FzZSBvcF9nZXRfcGFyZW50X3Njb3BlOgorICAgIGNhc2Ugb3BfY2F0Y2g6CiAgICAg
ICAgIHJldHVybiBDYW5Db21waWxlQW5kSW5saW5lOwogCiAgICAgY2FzZSBvcF9wdXRfdG9fc2Nv
cGU6IHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tbW9uRGF0YS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb25EYXRhLmNw
cAkocmV2aXNpb24gMTg5NzQ0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21t
b25EYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTcsNiArNTcsMTIgQEAgQ2FsbFNpdGVJbmRl
eCBDb21tb25EYXRhOjphZGRDb2RlT3JpZ2luKAogICAgIHJldHVybiBDYWxsU2l0ZUluZGV4KGlu
ZGV4KTsKIH0KIAorQ2FsbFNpdGVJbmRleCBDb21tb25EYXRhOjpsYXN0Q2FsbFNpdGUoKSBjb25z
dAoreworICAgIEFTU0VSVChjb2RlT3JpZ2lucy5zaXplKCkpOworICAgIHJldHVybiBDYWxsU2l0
ZUluZGV4KGNvZGVPcmlnaW5zLnNpemUoKSAtIDEpOworfQorCiB2b2lkIENvbW1vbkRhdGE6OnNo
cmlua1RvRml0KCkKIHsKICAgICBjb2RlT3JpZ2lucy5zaHJpbmtUb0ZpdCgpOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb25EYXRhLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb25EYXRhLmgJKHJldmlzaW9uIDE4OTc0NCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tbW9uRGF0YS5oCSh3b3JraW5nIGNv
cHkpCkBAIC04MCw2ICs4MCw3IEBAIHB1YmxpYzoKICAgICAKICAgICB2b2lkIG5vdGlmeUNvbXBp
bGluZ1N0cnVjdHVyZVRyYW5zaXRpb24oUGxhbiYsIENvZGVCbG9jayosIE5vZGUqKTsKICAgICBD
YWxsU2l0ZUluZGV4IGFkZENvZGVPcmlnaW4oQ29kZU9yaWdpbik7CisgICAgQ2FsbFNpdGVJbmRl
eCBsYXN0Q2FsbFNpdGUoKSBjb25zdDsKICAgICAKICAgICB2b2lkIHNocmlua1RvRml0KCk7CiAg
ICAgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZsdXNoTGl2ZUNhdGNoVmFy
aWFibGVzSW5zZXJ0aW9uUGhhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHRmx1c2hMaXZlQ2F0Y2hWYXJpYWJsZXNJbnNlcnRpb25QaGFzZS5jcHAJKHJl
dmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZsdXNoTGl2ZUNhdGNo
VmFyaWFibGVzSW5zZXJ0aW9uUGhhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTg0
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJERkdGbHVzaExpdmVDYXRjaFZhcmlhYmxlc0luc2Vy
dGlvblBoYXNlLmgiCisKKyNpZiBFTkFCTEUoREZHX0pJVCkKKworI2luY2x1ZGUgIkRGR0Jhc2lj
QmxvY2tJbmxpbmVzLmgiCisjaW5jbHVkZSAiREZHR3JhcGguaCIKKyNpbmNsdWRlICJERkdJbnNl
cnRpb25TZXQuaCIKKyNpbmNsdWRlICJERkdQaGFzZS5oIgorI2luY2x1ZGUgIkZ1bGxCeXRlY29k
ZUxpdmVuZXNzLmgiCisjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgorCituYW1lc3BhY2UgSlNDIHsg
bmFtZXNwYWNlIERGRyB7CisKK2NsYXNzIEZsdXNoTGl2ZUNhdGNoVmFyaWFibGVzSW5zZXJ0aW9u
UGhhc2UgOiBwdWJsaWMgUGhhc2UgeworcHVibGljOgorICAgIEZsdXNoTGl2ZUNhdGNoVmFyaWFi
bGVzSW5zZXJ0aW9uUGhhc2UoR3JhcGgmIGdyYXBoKQorICAgICAgICA6IFBoYXNlKGdyYXBoLCAi
Zmx1c2ggbGl2ZSBjYXRjaCB2YXJpYWJsZXMgaW5zZXJ0aW9uIHBoYXNlIikKKyAgICB7CisgICAg
fQorCisgICAgYm9vbCBydW4oKQorICAgIHsKKyAgICAgICAgaWYgKCFtX2dyYXBoLm1faGFzRXhj
ZXB0aW9uSGFuZGxlcnMpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgICBERkdf
QVNTRVJUKG1fZ3JhcGgsIG51bGxwdHIsIG1fZ3JhcGgubV9mb3JtID09IExvYWRTdG9yZSk7CisK
KyAgICAgICAgbV9jdXJyZW50QmxvY2tMaXZlbmVzcy5yZXNpemUobV9ncmFwaC5ibG9jaygwKS0+
dmFyaWFibGVzQXRUYWlsLm51bWJlck9mTG9jYWxzKCkpOworCisgICAgICAgIEluc2VydGlvblNl
dCBpbnNlcnRpb25TZXQobV9ncmFwaCk7CisgICAgICAgIGZvciAoQmFzaWNCbG9jayogYmxvY2sg
OiBtX2dyYXBoLmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkpIHsKKyAgICAgICAgICAgIGhhbmRsZUJs
b2NrKGJsb2NrLCBpbnNlcnRpb25TZXQpOworICAgICAgICAgICAgaW5zZXJ0aW9uU2V0LmV4ZWN1
dGUoYmxvY2spOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisg
ICAgYm9vbCB3aWxsQ2F0Y2hFeGNlcHRpb24oQ29kZU9yaWdpbiBvcmlnaW4pCisgICAgeworICAg
ICAgICB1bnNpZ25lZCBieXRlY29kZUluZGV4VG9DaGVjayA9IG9yaWdpbi5ieXRlY29kZUluZGV4
OworICAgICAgICBib29sIHdpbGxDYXRjaEV4Y2VwdGlvbiA9IGZhbHNlOworICAgICAgICBtX2N1
cnJlbnRCbG9ja0xpdmVuZXNzLmNsZWFyQWxsKCk7CisKKyAgICAgICAgYXV0byB1cGRhdGVMaXZl
bmVzcyA9IFsmXSAodW5zaWduZWQgYnl0ZWNvZGVJbmRleCwgSW5saW5lQ2FsbEZyYW1lKiBpbmxp
bmVGcmFtZSkgeworICAgICAgICAgICAgbV9ncmFwaC5mb3JBbGxMb2NhbHNMaXZlSW5CeXRlY29k
ZShDb2RlT3JpZ2luKGJ5dGVjb2RlSW5kZXgsIGlubGluZUZyYW1lKSwgWyZdIChWaXJ0dWFsUmVn
aXN0ZXIgb3BlcmFuZCkgeworICAgICAgICAgICAgICAgIG1fY3VycmVudEJsb2NrTGl2ZW5lc3Mu
c2V0KG9wZXJhbmQudG9Mb2NhbCgpLCB0cnVlKTsgCisgICAgICAgICAgICB9KTsKKyAgICAgICAg
fTsKKworICAgICAgICB3aGlsZSAoMSkgeworICAgICAgICAgICAgSW5saW5lQ2FsbEZyYW1lKiBp
bmxpbmVDYWxsRnJhbWUgPSBvcmlnaW4uaW5saW5lQ2FsbEZyYW1lOworICAgICAgICAgICAgQ29k
ZUJsb2NrKiBjb2RlQmxvY2sgPSBtX2dyYXBoLmJhc2VsaW5lQ29kZUJsb2NrRm9yKGlubGluZUNh
bGxGcmFtZSk7CisgICAgICAgICAgICBpZiAoSGFuZGxlckluZm8qIGhhbmRsZXIgPSBjb2RlQmxv
Y2stPmhhbmRsZXJGb3JCeXRlY29kZU9mZnNldChieXRlY29kZUluZGV4VG9DaGVjaykpIHsKKyAg
ICAgICAgICAgICAgICB3aWxsQ2F0Y2hFeGNlcHRpb24gPSB0cnVlOworICAgICAgICAgICAgICAg
IHVwZGF0ZUxpdmVuZXNzKGhhbmRsZXItPnRhcmdldCwgaW5saW5lQ2FsbEZyYW1lKTsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYg
KCFpbmxpbmVDYWxsRnJhbWUpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
ICAgICAgICBieXRlY29kZUluZGV4VG9DaGVjayA9IGlubGluZUNhbGxGcmFtZS0+Y2FsbGVyLmJ5
dGVjb2RlSW5kZXg7CisgICAgICAgICAgICBvcmlnaW4gPSBpbmxpbmVDYWxsRnJhbWUtPmNhbGxl
cjsKKyAgICAgICAgfQorICAgIH0KKworICAgIHZvaWQgaGFuZGxlQmxvY2soQmFzaWNCbG9jayog
YmxvY2ssIEluc2VydGlvblNldCYgaW5zZXJ0aW9uU2V0KQorICAgIHsKKyAgICAgICAgLy8gQmVj
YXVzZSBwcmVjaXNlIGp1bXAgdGFyZ2V0cyBlbnN1cmVzIHRoYXQgdGhlIHN0YXJ0IG9mIGEgInRy
eSIgYmxvY2sgaXMgaXRzCisgICAgICAgIC8vIG93biBiYXNpYyBibG9jaywgd2Ugd2lsbCBuZXZl
ciBoYXZlIHR3byAidHJ5IiBzdGF0ZW1lbnRzIGluIHRoZSBzYW1lIERGRworICAgICAgICAvLyBi
YXNpYyBibG9jay4gVGhlcmVmb3JlLCBjaGVja2luZyB0aGUgZmlyc3Qgbm9kZSBpbiB0aGUgYmxv
Y2sgaXMgc3VmZmljaWVudCAKKyAgICAgICAgLy8gdG8gY2hlY2tpbmcgaWYgd2UncmUgaW4gYSB0
cnkgYmxvY2suCisgICAgICAgIGJvb2wgd2lsbENhdGNoRXhjZXB0aW9uID0gdGhpcy0+d2lsbENh
dGNoRXhjZXB0aW9uKGJsb2NrLT5hdCgwKS0+b3JpZ2luLnNlbWFudGljKTsKKyAgICAgICAgaWYg
KCF3aWxsQ2F0Y2hFeGNlcHRpb24pCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgT3Bl
cmFuZHM8VmFyaWFibGVBY2Nlc3NEYXRhKj4gY3VycmVudEJsb2NrQWNjZXNzRGF0YShibG9jay0+
dmFyaWFibGVzQXRUYWlsLm51bWJlck9mQXJndW1lbnRzKCksIGJsb2NrLT52YXJpYWJsZXNBdFRh
aWwubnVtYmVyT2ZMb2NhbHMoKSwgbnVsbHB0cik7CisgICAgICAgIEhhc2hTZXQ8SW5saW5lQ2Fs
bEZyYW1lKj4gc2VlbklubGluZUNhbGxGcmFtZXM7CisKKyAgICAgICAgeworICAgICAgICAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGJsb2NrLT5zaXplKCk7IGkrKykgeworICAgICAgICAg
ICAgICAgIE5vZGUqIG5vZGUgPSBibG9jay0+YXQoaSk7CisgICAgICAgICAgICAgICAgYm9vbCBp
c1ByaW1vcmRpYWxTZXRBcmd1bWVudCA9IG5vZGUtPm9wKCkgPT0gU2V0QXJndW1lbnQgJiYgbm9k
ZS0+bG9jYWwoKS5pc0FyZ3VtZW50KCkgJiYgbm9kZSA9PSBtX2dyYXBoLm1fYXJndW1lbnRzW25v
ZGUtPmxvY2FsKCkudG9Bcmd1bWVudCgpXTsKKyAgICAgICAgICAgICAgICBJbmxpbmVDYWxsRnJh
bWUqIGlubGluZUNhbGxGcmFtZSA9IG5vZGUtPm9yaWdpbi5zZW1hbnRpYy5pbmxpbmVDYWxsRnJh
bWU7CisgICAgICAgICAgICAgICAgaWYgKGlubGluZUNhbGxGcmFtZSkKKyAgICAgICAgICAgICAg
ICAgICAgc2VlbklubGluZUNhbGxGcmFtZXMuYWRkKGlubGluZUNhbGxGcmFtZSk7CisKKyAgICAg
ICAgICAgICAgICBpZiAobm9kZS0+b3AoKSA9PSBTZXRMb2NhbCB8fCAobm9kZS0+b3AoKSA9PSBT
ZXRBcmd1bWVudCAmJiAhaXNQcmltb3JkaWFsU2V0QXJndW1lbnQpKSB7CisgICAgICAgICAgICAg
ICAgICAgIFZpcnR1YWxSZWdpc3RlciBvcGVyYW5kID0gbm9kZS0+bG9jYWwoKTsKKworICAgICAg
ICAgICAgICAgICAgICBpbnQgc3RhY2tPZmZzZXQgPSBpbmxpbmVDYWxsRnJhbWUgPyBpbmxpbmVD
YWxsRnJhbWUtPnN0YWNrT2Zmc2V0IDogMDsKKyAgICAgICAgICAgICAgICAgICAgaWYgKChvcGVy
YW5kLmlzTG9jYWwoKSAmJiBtX2N1cnJlbnRCbG9ja0xpdmVuZXNzLmdldChvcGVyYW5kLnRvTG9j
YWwoKSkpCisgICAgICAgICAgICAgICAgICAgICAgICB8fCAob3BlcmFuZC5vZmZzZXQoKSA9PSBz
dGFja09mZnNldCArIENhbGxGcmFtZTo6dGhpc0FyZ3VtZW50T2Zmc2V0KCkpKSB7CisKKyAgICAg
ICAgICAgICAgICAgICAgICAgIFZhcmlhYmxlQWNjZXNzRGF0YSogZmx1c2hBY2Nlc3NEYXRhID0g
Y3VycmVudEJsb2NrQWNjZXNzRGF0YS5vcGVyYW5kKG9wZXJhbmQpOworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYgKCFmbHVzaEFjY2Vzc0RhdGEpCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgZmx1c2hBY2Nlc3NEYXRhID0gbmV3VmFyaWFibGVBY2Nlc3NEYXRhKG9wZXJhbmQpOworCisg
ICAgICAgICAgICAgICAgICAgICAgICBpbnNlcnRpb25TZXQuaW5zZXJ0Tm9kZShpLCBTcGVjTm9u
ZSwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmx1c2gsIG5vZGUtPm9yaWdpbiwgT3BJ
bmZvKGZsdXNoQWNjZXNzRGF0YSkpOworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAg
ICAgICAgfQorCisgICAgICAgICAgICAgICAgaWYgKG5vZGUtPmhhc1ZhcmlhYmxlQWNjZXNzRGF0
YShtX2dyYXBoKSkKKyAgICAgICAgICAgICAgICAgICAgY3VycmVudEJsb2NrQWNjZXNzRGF0YS5v
cGVyYW5kKG5vZGUtPmxvY2FsKCkpID0gbm9kZS0+dmFyaWFibGVBY2Nlc3NEYXRhKCk7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICAvLyBGbHVzaCBldmVyeXRoaW5nIGF0IHRo
ZSBlbmQgb2YgdGhlIGJsb2NrLgorICAgICAgICAvLyBGSVhNRTogSSB0aGluayB0aGlzIHdpbGwg
b25seSBiZSBuZWNlc3NhcnkgaWYgd2UgaGF2ZSBhbnkgc3VjY2Vzc29yCisgICAgICAgIC8vIGJs
b2NrcyB3aG8gYXJlbid0IGluc2lkZSB0aGlzICJ0cnkiIHN0YXRlbWVudC4gSWYgYWxsIG91ciBz
dWNjZXNzb3IncworICAgICAgICAvLyBhcmUgaW4gdGhpcyB0cnkgc3RhdGVtZW50LCB0aGV5IHdp
bGwgaGF2ZSBGbHVzaGVzIGZvciBhbnkgbGl2ZSAiY2F0Y2giCisgICAgICAgIC8vIHZhcmlhYmxl
cy4KKyAgICAgICAgeworICAgICAgICAgICAgTm9kZU9yaWdpbiBvcmlnaW4gPSBibG9jay0+YXQo
YmxvY2stPnNpemUoKSAtIDEpLT5vcmlnaW47CisgICAgICAgICAgICBhdXRvIGluc2VydEZsdXNo
QXRFbmQgPSBbJl0gKFZpcnR1YWxSZWdpc3RlciBvcGVyYW5kLCBib29sIGFsd2F5c0ZsdXNoKSB7
CisgICAgICAgICAgICAgICAgaWYgKChvcGVyYW5kLmlzTG9jYWwoKSAmJiBtX2N1cnJlbnRCbG9j
a0xpdmVuZXNzLmdldChvcGVyYW5kLnRvTG9jYWwoKSkpIAorICAgICAgICAgICAgICAgICAgICB8
fCBvcGVyYW5kLmlzQXJndW1lbnQoKQorICAgICAgICAgICAgICAgICAgICB8fCBhbHdheXNGbHVz
aCkgeworICAgICAgICAgICAgICAgICAgICBWYXJpYWJsZUFjY2Vzc0RhdGEqIGFjY2Vzc0RhdGEg
PSBjdXJyZW50QmxvY2tBY2Nlc3NEYXRhLm9wZXJhbmQob3BlcmFuZCk7CisgICAgICAgICAgICAg
ICAgICAgIGlmICghYWNjZXNzRGF0YSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc0Rh
dGEgPSBuZXdWYXJpYWJsZUFjY2Vzc0RhdGEob3BlcmFuZCk7CisKKyAgICAgICAgICAgICAgICAg
ICAgY3VycmVudEJsb2NrQWNjZXNzRGF0YS5vcGVyYW5kKG9wZXJhbmQpID0gYWNjZXNzRGF0YTsK
KworICAgICAgICAgICAgICAgICAgICBpbnNlcnRpb25TZXQuaW5zZXJ0Tm9kZShibG9jay0+c2l6
ZSgpLCBTcGVjTm9uZSwgCisgICAgICAgICAgICAgICAgICAgICAgICBGbHVzaCwgb3JpZ2luLCBP
cEluZm8oYWNjZXNzRGF0YSkpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH07Cisg
ICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGxvY2FsID0gMDsgbG9jYWwgPCBibG9jay0+dmFyaWFi
bGVzQXRUYWlsLm51bWJlck9mTG9jYWxzKCk7IGxvY2FsKyspCisgICAgICAgICAgICAgICAgaW5z
ZXJ0Rmx1c2hBdEVuZCh2aXJ0dWFsUmVnaXN0ZXJGb3JMb2NhbChsb2NhbCksIGZhbHNlKTsKKyAg
ICAgICAgICAgIGZvciAoSW5saW5lQ2FsbEZyYW1lKiBpbmxpbmVDYWxsRnJhbWUgOiBzZWVuSW5s
aW5lQ2FsbEZyYW1lcykKKyAgICAgICAgICAgICAgICBpbnNlcnRGbHVzaEF0RW5kKFZpcnR1YWxS
ZWdpc3RlcihpbmxpbmVDYWxsRnJhbWUtPnN0YWNrT2Zmc2V0ICsgQ2FsbEZyYW1lOjp0aGlzQXJn
dW1lbnRPZmZzZXQoKSksIHRydWUpOworICAgICAgICAgICAgaW5zZXJ0Rmx1c2hBdEVuZChWaXJ0
dWFsUmVnaXN0ZXIoQ2FsbEZyYW1lOjp0aGlzQXJndW1lbnRPZmZzZXQoKSksIHRydWUpOworICAg
ICAgICB9CisgICAgfQorCisgICAgVmFyaWFibGVBY2Nlc3NEYXRhKiBuZXdWYXJpYWJsZUFjY2Vz
c0RhdGEoVmlydHVhbFJlZ2lzdGVyIG9wZXJhbmQpCisgICAgeworICAgICAgICBBU1NFUlQoIW9w
ZXJhbmQuaXNDb25zdGFudCgpKTsKKyAgICAgICAgCisgICAgICAgIG1fZ3JhcGgubV92YXJpYWJs
ZUFjY2Vzc0RhdGEuYXBwZW5kKFZhcmlhYmxlQWNjZXNzRGF0YShvcGVyYW5kKSk7CisgICAgICAg
IHJldHVybiAmbV9ncmFwaC5tX3ZhcmlhYmxlQWNjZXNzRGF0YS5sYXN0KCk7CisgICAgfQorCisg
ICAgRmFzdEJpdFZlY3RvciBtX2N1cnJlbnRCbG9ja0xpdmVuZXNzOworfTsKKworYm9vbCBwZXJm
b3JtRmx1c2hMaXZlQ2F0Y2hWYXJpYWJsZXNJbnNlcnRpb25QaGFzZShHcmFwaCYgZ3JhcGgpCit7
CisgICAgU2FtcGxpbmdSZWdpb24gc2FtcGxpbmdSZWdpb24oIkRGRyBGbHVzaCBMaXZlIENhdGNo
IFZhcmlhYmxlcyBJbnNlcnRpb24gUGhhc2UiKTsKKyAgICByZXR1cm4gcnVuUGhhc2U8Rmx1c2hM
aXZlQ2F0Y2hWYXJpYWJsZXNJbnNlcnRpb25QaGFzZT4oZ3JhcGgpOworfQorCit9IH0gLy8gbmFt
ZXNwYWNlIEpTQzo6REZHCisKKyNlbmRpZiAvLyBFTkFCTEUoREZHX0pJVCkKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRmx1c2hMaXZlQ2F0Y2hWYXJpYWJsZXNJbnNlcnRpb25Q
aGFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRmx1c2hM
aXZlQ2F0Y2hWYXJpYWJsZXNJbnNlcnRpb25QaGFzZS5oCShyZXZpc2lvbiAwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGbHVzaExpdmVDYXRjaFZhcmlhYmxlc0luc2VydGlvblBo
YXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVmIERGR0ZsdXNoTGl2ZUNhdGNoVmFy
aWFibGVzSW5zZXJ0aW9uUGhhc2VfaAorI2RlZmluZSBERkdGbHVzaExpdmVDYXRjaFZhcmlhYmxl
c0luc2VydGlvblBoYXNlX2ggCisKKyNpZiBFTkFCTEUoREZHX0pJVCkKKworbmFtZXNwYWNlIEpT
QyB7IG5hbWVzcGFjZSBERkcgeworCitjbGFzcyBHcmFwaDsKKworLy8gRklYTUU6IGNvbW1lbnQg
aGVyZS4KK2Jvb2wgcGVyZm9ybUZsdXNoTGl2ZUNhdGNoVmFyaWFibGVzSW5zZXJ0aW9uUGhhc2Uo
R3JhcGgmKTsKKworfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkRGRworCisjZW5kaWYgLy8gRU5BQkxF
KERGR19KSVQpCisKKyNlbmRpZiAvLyBERkdGbHVzaExpdmVDYXRjaFZhcmlhYmxlc0luc2VydGlv
blBoYXNlX2gKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmgJKHJldmlzaW9u
IDE4OTc0NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguaAkod29ya2lu
ZyBjb3B5KQpAQCAtODc1LDYgKzg3NSw3IEBAIHB1YmxpYzoKICAgICBQbGFuU3RhZ2UgbV9wbGFu
U3RhZ2UgeyBQbGFuU3RhZ2U6OkluaXRpYWwgfTsKICAgICBSZWZDb3VudFN0YXRlIG1fcmVmQ291
bnRTdGF0ZTsKICAgICBib29sIG1faGFzRGVidWdnZXJFbmFibGVkOworICAgIGJvb2wgbV9oYXNF
eGNlcHRpb25IYW5kbGVycyB7IGZhbHNlIH07CiBwcml2YXRlOgogICAgIAogICAgIHZvaWQgaGFu
ZGxlU3VjY2Vzc29yKFZlY3RvcjxCYXNpY0Jsb2NrKiwgMTY+JiB3b3JrbGlzdCwgQmFzaWNCbG9j
ayosIEJhc2ljQmxvY2sqIHN1Y2Nlc3Nvcik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0pJVENvbXBpbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0pJVENvbXBpbGVyLmNwcAkocmV2aXNpb24gMTg5NzQ0KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21waWxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTg1
LDEwICs4NSwyMyBAQCB2b2lkIEpJVENvbXBpbGVyOjpsaW5rT1NSRXhpdHMoKQogICAgICAgICAg
ICAgZmFpbHVyZUp1bXBzLmxpbmsodGhpcyk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGlu
Zm8ubV9yZXBsYWNlbWVudERlc3RpbmF0aW9uID0gbGFiZWwoKTsKKworICAgICAgICBpZiAoZXhp
dC5tX3dpbGxBcnJpdmVBdE9TUkV4aXRGcm9tR2VuZXJpY1Vud2luZCkgeworICAgICAgICAgICAg
Ly8gV2UgYXJlIGFjdGluZyBhcyBhIGRlZmFjdG8gb3BfY2F0Y2ggYmVjYXVzZSB3ZSBhcnJpdmUg
aGVyZSBmcm9tIGdlbmVyaWNVbndpbmQoKS4KKyAgICAgICAgICAgIC8vIFNvLCB3ZSBtdXN0IHJl
c3RvcmUgb3VyIGNhbGwgZnJhbWUgYW5kIHN0YWNrIHBvaW50ZXIuCisgICAgICAgICAgICBsb2Fk
UHRyKHZtKCktPmFkZHJlc3NPZkNhbGxGcmFtZUZvclRocm93KCksIEdQUkluZm86OmNhbGxGcmFt
ZVJlZ2lzdGVyKTsKKyAgICAgICAgICAgIGFkZFB0cihUcnVzdGVkSW1tMzIoZ3JhcGgoKS5zdGFj
a1BvaW50ZXJPZmZzZXQoKSAqIHNpemVvZihSZWdpc3RlcikpLCBHUFJJbmZvOjpjYWxsRnJhbWVS
ZWdpc3Rlciwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOworICAgICAgICAgICAgLy9yZXN0b3JlQ2Fs
bGVlU2F2ZXNGcm9tVk1DYWxsZWVTYXZlc0J1ZmZlcigpOworICAgICAgICB9IGVsc2UgaWYgKGV4
aXQubV9pc0V4Y2VwdGlvbkhhbmRsZXIpIHsKKyAgICAgICAgICAgIEFTU0VSVCghZXhpdC5tX3dp
bGxBcnJpdmVBdE9TUkV4aXRGcm9tR2VuZXJpY1Vud2luZCk7CisgICAgICAgICAgICBjb3B5Q2Fs
bGVlU2F2ZXNUb1ZNQ2FsbGVlU2F2ZXNCdWZmZXIoKTsKKyAgICAgICAgfQorCiAgICAgICAgIGpp
dEFzc2VydEhhc1ZhbGlkQ2FsbEZyYW1lKCk7CiAgICAgICAgIHN0b3JlMzIoVHJ1c3RlZEltbTMy
KGkpLCAmdm0oKS0+b3NyRXhpdEluZGV4KTsKICAgICAgICAgZXhpdC5zZXRQYXRjaGFibGVDb2Rl
T2Zmc2V0KHBhdGNoYWJsZUp1bXAoKSk7CiAgICAgfQorCiB9CiAKIHZvaWQgSklUQ29tcGlsZXI6
OmNvbXBpbGVFbnRyeSgpCkBAIC0yODMsOSArMjk2LDI3IEBAIHZvaWQgSklUQ29tcGlsZXI6Omxp
bmsoTGlua0J1ZmZlciYgbGlua0IKICAgICAgICAgfQogICAgIH0gZWxzZQogICAgICAgICBBU1NF
UlQoIW1fZXhpdFNpdGVMYWJlbHMuc2l6ZSgpKTsKLSAgICAKKwogICAgIG1faml0Q29kZS0+Y29t
bW9uLmNvbXBpbGF0aW9uID0gbV9ncmFwaC5jb21waWxhdGlvbigpOwogICAgIAorICAgIC8vIExp
bmsgbmV3IERGRyBleGNlcHRpb24gaGFuZGxlcnMgYW5kIHJlbW92ZSBiYXNlbGluZSBKSVQgaGFu
ZGxlcnMuCisgICAgbV9jb2RlQmxvY2stPmNsZWFyRXhjZXB0aW9uSGFuZGxlcnMoKTsKKyAgICBm
b3IgKHVuc2lnbmVkICBpID0gMDsgaSA8IG1fZXhjZXB0aW9uT1NSRXhpdENhbGxTaXRlcy5zaXpl
KCk7IGkrKykgeworICAgICAgICBPU1JFeGl0Q29tcGlsYXRpb25JbmZvJiBpbmZvID0gbV9leGNl
cHRpb25PU1JFeGl0Q2FsbFNpdGVzW2ldLmV4aXRJbmZvOworICAgICAgICBpZiAoaW5mby5tX3Jl
cGxhY2VtZW50RGVzdGluYXRpb24uaXNTZXQoKSkgeworICAgICAgICAgICAgLy8gSWYgdGhpcyBp
cyBpcyAqbm90KiBzZXQsIGl0IG1lYW5zIHRoYXQgd2UgYWxyZWFkeSBqdW1wZWQgdG8gdGhlIE9T
UiBleGl0IGluIHB1cmUgZ2VuZXJhdGVkIGNvbnRyb2wgZmxvdy4KKyAgICAgICAgICAgIC8vIGku
ZSwgd2UgZXhwbGljaXRseSBlbWl0dGVkIGFuIGV4Y2VwdGlvbkNoZWNrIHRoYXQgd2Uga25vdyB3
aWxsIGJlIGNhdWdodCBpbiB0aGlzIG1hY2hpbmUgZnJhbWUuCisgICAgICAgICAgICAvLyBJZiB0
aGlzICppcyBzZXQqLCBpdCBtZWFucyB3ZSB3aWxsIGJlIGxhbmRpbmcgYXQgdGhpcyBjb2RlIGxv
Y2F0aW9uIGZyb20gZ2VuZXJpY1Vud2luZCBmcm9tIGFuCisgICAgICAgICAgICAvLyBleGNlcHRp
b24gdGhyb3duIGluIGEgY2hpbGQgY2FsbCBmcmFtZS4KKyAgICAgICAgICAgIENvZGVMb2NhdGlv
bkxhYmVsIGNhdGNoTGFiZWwgPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2YoaW5mby5tX3JlcGxhY2Vt
ZW50RGVzdGluYXRpb24pOworICAgICAgICAgICAgSGFuZGxlckluZm8gbmV3RXhjZXB0aW9uSGFu
ZGxlciA9IG1fZXhjZXB0aW9uT1NSRXhpdENhbGxTaXRlc1tpXS5iYXNlbGluZUV4Y2VwdGlvbkhh
bmRsZXI7CisgICAgICAgICAgICBDYWxsU2l0ZUluZGV4IGNhbGxTaXRlID0gbV9leGNlcHRpb25P
U1JFeGl0Q2FsbFNpdGVzW2ldLmNhbGxTaXRlSW5kZXg7CisgICAgICAgICAgICBuZXdFeGNlcHRp
b25IYW5kbGVyLnN0YXJ0ID0gY2FsbFNpdGUuYml0cygpOworICAgICAgICAgICAgbmV3RXhjZXB0
aW9uSGFuZGxlci5lbmQgPSBjYWxsU2l0ZS5iaXRzKCkgKyAxOworICAgICAgICAgICAgbmV3RXhj
ZXB0aW9uSGFuZGxlci5uYXRpdmVDb2RlID0gY2F0Y2hMYWJlbDsKKyAgICAgICAgICAgIG1fY29k
ZUJsb2NrLT5hcHBlbmRFeGNlcHRpb25IYW5kbGVyKG5ld0V4Y2VwdGlvbkhhbmRsZXIpOworICAg
ICAgICB9CisgICAgfQogfQogCiB2b2lkIEpJVENvbXBpbGVyOjpjb21waWxlKCkKQEAgLTMzNyw3
ICszNjgsNyBAQCB2b2lkIEpJVENvbXBpbGVyOjpjb21waWxlKCkKICAgICAKICAgICBsaW5rKCps
aW5rQnVmZmVyKTsKICAgICBtX3NwZWN1bGF0aXZlLT5saW5rT1NSRW50cmllcygqbGlua0J1ZmZl
cik7Ci0gICAgCisKICAgICBtX2ppdENvZGUtPnNocmlua1RvRml0KCk7CiAgICAgY29kZUJsb2Nr
KCktPnNocmlua1RvRml0KENvZGVCbG9jazo6TGF0ZVNocmluayk7CiAKQEAgLTUyMiw2ICs1NTMs
NjYgQEAgdm9pZCBKSVRDb21waWxlcjo6bm90aWNlT1NSRW50cnkoQmFzaWNCbAogICAgIGVudHJ5
LT5tX3Jlc2h1ZmZsaW5ncy5zaHJpbmtUb0ZpdCgpOwogfQogCit2b2lkIEpJVENvbXBpbGVyOjph
cHBlbmRFeGNlcHRpb25IYW5kbGluZ09TUkV4aXQodW5zaWduZWQgZXZlbnRTdHJlYW1JbmRleCwg
Q29kZU9yaWdpbiBvcENhdGNoT3JpZ2luLCBIYW5kbGVySW5mbyogZXhjZXB0aW9uSGFuZGxlciwg
Q2FsbFNpdGVJbmRleCBjYWxsU2l0ZSwgTWFjcm9Bc3NlbWJsZXI6Okp1bXBMaXN0IGp1bXBzVG9G
YWlsKQoreworICAgIE9TUkV4aXQgZXhpdChVbmNvdW50YWJsZSwgSlNWYWx1ZVJlZ3MoKSwgZ3Jh
cGgoKS5tZXRob2RPZkdldHRpbmdBVmFsdWVQcm9maWxlRm9yKG51bGxwdHIpLCBtX3NwZWN1bGF0
aXZlLmdldCgpLCBldmVudFN0cmVhbUluZGV4KTsKKyAgICBleGl0Lm1fd2lsbEFycml2ZUF0T1NS
RXhpdEZyb21HZW5lcmljVW53aW5kID0ganVtcHNUb0ZhaWwuZW1wdHkoKTsgLy8gSWYganVtcHMg
YXJlIGVtcHR5LCB3ZSdyZSBnb2luZyB0byBqdW1wIGhlcmUgZnJvbSBnZW5lcmljVW53aW5kIGZy
b20gYSBjaGlsZCBjYWxsIGZyYW1lLgorICAgIGV4aXQubV9pc0V4Y2VwdGlvbkhhbmRsZXIgPSB0
cnVlOworICAgIGV4aXQubV9jb2RlT3JpZ2luID0gb3BDYXRjaE9yaWdpbjsKKyAgICBPU1JFeGl0
Q29tcGlsYXRpb25JbmZvJiBleGl0SW5mbyA9IGFwcGVuZEV4aXRJbmZvKGp1bXBzVG9GYWlsKTsK
KyAgICBqaXRDb2RlKCktPmFwcGVuZE9TUkV4aXQoZXhpdCk7CisgICAgbV9leGNlcHRpb25PU1JF
eGl0Q2FsbFNpdGVzLmFwcGVuZChFeGNlcHRpb25IYW5kbGVyRm9yT1NSRXhpdCB7IGV4aXRJbmZv
LCAqZXhjZXB0aW9uSGFuZGxlciwgY2FsbFNpdGUgfSk7Cit9CisKK2Jvb2wgSklUQ29tcGlsZXI6
OndpbGxDYXRjaEV4Y2VwdGlvbkluTWFjaGluZUZyYW1lKENvZGVPcmlnaW4gY29kZU9yaWdpbiwg
Q29kZU9yaWdpbiYgb3BDYXRjaE9yaWdpbk91dCwgSGFuZGxlckluZm8qJiBjYXRjaEhhbmRsZXJP
dXQpCit7CisgICAgdW5zaWduZWQgYnl0ZWNvZGVJbmRleFRvQ2hlY2sgPSBjb2RlT3JpZ2luLmJ5
dGVjb2RlSW5kZXg7CisgICAgd2hpbGUgKDEpIHsKKyAgICAgICAgSW5saW5lQ2FsbEZyYW1lKiBp
bmxpbmVDYWxsRnJhbWUgPSBjb2RlT3JpZ2luLmlubGluZUNhbGxGcmFtZTsKKyAgICAgICAgQ29k
ZUJsb2NrKiBjb2RlQmxvY2sgPSBtX2dyYXBoLmJhc2VsaW5lQ29kZUJsb2NrRm9yKGlubGluZUNh
bGxGcmFtZSk7CisgICAgICAgIGlmIChIYW5kbGVySW5mbyogaGFuZGxlciA9IGNvZGVCbG9jay0+
aGFuZGxlckZvckJ5dGVjb2RlT2Zmc2V0KGJ5dGVjb2RlSW5kZXhUb0NoZWNrKSkgeworICAgICAg
ICAgICAgb3BDYXRjaE9yaWdpbk91dCA9IENvZGVPcmlnaW4oaGFuZGxlci0+dGFyZ2V0LCBpbmxp
bmVDYWxsRnJhbWUpOworICAgICAgICAgICAgY2F0Y2hIYW5kbGVyT3V0ID0gaGFuZGxlcjsKKyAg
ICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisKKyAgICAgICAgaWYgKCFpbmxpbmVD
YWxsRnJhbWUpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgYnl0ZWNvZGVJ
bmRleFRvQ2hlY2sgPSBpbmxpbmVDYWxsRnJhbWUtPmNhbGxlci5ieXRlY29kZUluZGV4OworICAg
ICAgICBjb2RlT3JpZ2luID0gY29kZU9yaWdpbi5pbmxpbmVDYWxsRnJhbWUtPmNhbGxlcjsKKyAg
ICB9CisKKyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOworfQorCit2b2lkIEpJVENv
bXBpbGVyOjpleGNlcHRpb25DaGVjaygpCit7CisgICAgQ29kZU9yaWdpbiBvcENhdGNoT3JpZ2lu
OworICAgIEhhbmRsZXJJbmZvKiBleGNlcHRpb25IYW5kbGVyOworICAgIC8vIEZJWE1FOiB3cml0
ZSBhIGNvbW1lbnQgb24gd2h5IHdlIHVzZSBvcmlnaW4uZm9yRXhpdCBhbmQgbm90IG9yaWdpbi5z
ZW1hbnRpYy4KKyAgICBib29sIHdpbGxDYXRjaEV4Y2VwdGlvbiA9IHdpbGxDYXRjaEV4Y2VwdGlv
bkluTWFjaGluZUZyYW1lKG1fc3BlY3VsYXRpdmUtPm1fY3VycmVudE5vZGUtPm9yaWdpbi5mb3JF
eGl0LCBvcENhdGNoT3JpZ2luLCBleGNlcHRpb25IYW5kbGVyKTsgCisgICAgaWYgKHdpbGxDYXRj
aEV4Y2VwdGlvbikgeworICAgICAgICB1bnNpZ25lZCBzdHJlYW1JbmRleCA9IG1fc3BlY3VsYXRp
dmUtPm1fb3V0T2ZMaW5lU3RyZWFtSW5kZXggIT0gVUlOVF9NQVggPyBtX3NwZWN1bGF0aXZlLT5t
X291dE9mTGluZVN0cmVhbUluZGV4IDogbV9zcGVjdWxhdGl2ZS0+bV9zdHJlYW0tPnNpemUoKTsK
KyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgaGFkRXhjZXB0aW9uID0gZW1pdE5vblBhdGNo
YWJsZUV4Y2VwdGlvbkNoZWNrKCk7CisgICAgICAgIC8vIFdlIGFzc3VtZSBoZXJlIHRoYXQgdGhp
cyBpcyBjYWxsZWQgYWZ0ZXIgY2FsbE9wZWFydGlvbigpL2FwcGVuZENhbGwoKSBpcyBjYWxsZWQu
CisgICAgICAgIC8vIFdlIHNob3VsZCBwcm9iYWJseSBtYWtlIHRoYXQgZXhwbGljaXQgaW4gdGhl
IG5hbWUsIGxpa2UgY2hlY2tFeGVwdGlvbkFmdGVyQ2FsbCgpLgorICAgICAgICBhcHBlbmRFeGNl
cHRpb25IYW5kbGluZ09TUkV4aXQoc3RyZWFtSW5kZXgsIG9wQ2F0Y2hPcmlnaW4sIGV4Y2VwdGlv
bkhhbmRsZXIsIG1faml0Q29kZS0+Y29tbW9uLmxhc3RDYWxsU2l0ZSgpLCBoYWRFeGNlcHRpb24p
OworICAgIH0gZWxzZQorICAgICAgICBtX2V4Y2VwdGlvbkNoZWNrcy5hcHBlbmQoZW1pdEV4Y2Vw
dGlvbkNoZWNrKCkpOworfQorCitDYWxsU2l0ZUluZGV4IEpJVENvbXBpbGVyOjpyZWNvcmRDYWxs
U2l0ZUFuZEdlbmVyYXRlRXhjZXB0aW9uSGFuZGxpbmdPU1JFeGl0SWZOZWVkZWQoY29uc3QgQ29k
ZU9yaWdpbiYgY2FsbFNpdGVDb2RlT3JpZ2luLCB1bnNpZ25lZCBldmVudFN0cmVhbUluZGV4KQor
eworICAgIENvZGVPcmlnaW4gb3BDYXRjaE9yaWdpbjsKKyAgICBIYW5kbGVySW5mbyogZXhjZXB0
aW9uSGFuZGxlcjsKKyAgICBib29sIHdpbGxDYXRjaEV4Y2VwdGlvbiA9IHdpbGxDYXRjaEV4Y2Vw
dGlvbkluTWFjaGluZUZyYW1lKGNhbGxTaXRlQ29kZU9yaWdpbiwgb3BDYXRjaE9yaWdpbiwgZXhj
ZXB0aW9uSGFuZGxlcik7CisgICAgQ2FsbFNpdGVJbmRleCBjYWxsU2l0ZSA9IGFkZENhbGxTaXRl
KGNhbGxTaXRlQ29kZU9yaWdpbik7CisgICAgaWYgKHdpbGxDYXRjaEV4Y2VwdGlvbikKKyAgICAg
ICAgYXBwZW5kRXhjZXB0aW9uSGFuZGxpbmdPU1JFeGl0KGV2ZW50U3RyZWFtSW5kZXgsIG9wQ2F0
Y2hPcmlnaW4sIGV4Y2VwdGlvbkhhbmRsZXIsIGNhbGxTaXRlKTsKKyAgICByZXR1cm4gY2FsbFNp
dGU7Cit9CisKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpERkcKIAogI2VuZGlmIC8vIEVOQUJMRShE
RkdfSklUKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21waWxlci5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29tcGlsZXIu
aAkocmV2aXNpb24gMTg5NzQ0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRD
b21waWxlci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiREZH
UmVnaXN0ZXJCYW5rLmgiCiAjaW5jbHVkZSAiRlBSSW5mby5oIgogI2luY2x1ZGUgIkdQUkluZm8u
aCIKKyNpbmNsdWRlICJIYW5kbGVySW5mby5oIgogI2luY2x1ZGUgIkpJVENvZGUuaCIKICNpbmNs
dWRlICJKSVRJbmxpbmVDYWNoZUdlbmVyYXRvci5oIgogI2luY2x1ZGUgIkxpbmtCdWZmZXIuaCIK
QEAgLTE1OCw2ICsxNTksMTEgQEAgcHVibGljOgogICAgIHZvaWQgZW1pdFN0b3JlQ29kZU9yaWdp
bihDb2RlT3JpZ2luIGNvZGVPcmlnaW4pCiAgICAgewogICAgICAgICBDYWxsU2l0ZUluZGV4IGNh
bGxTaXRlID0gYWRkQ2FsbFNpdGUoY29kZU9yaWdpbik7CisgICAgICAgIGVtaXRTdG9yZUNhbGxT
aXRlSW5kZXgoY2FsbFNpdGUpOworICAgIH0KKworICAgIHZvaWQgZW1pdFN0b3JlQ2FsbFNpdGVJ
bmRleChDYWxsU2l0ZUluZGV4IGNhbGxTaXRlKQorICAgIHsKICAgICAgICAgc3RvcmUzMihUcnVz
dGVkSW1tMzIoY2FsbFNpdGUuYml0cygpKSwgdGFnRm9yKHN0YXRpY19jYXN0PFZpcnR1YWxSZWdp
c3Rlcj4oSlNTdGFjazo6QXJndW1lbnRDb3VudCkpKTsKICAgICB9CiAKQEAgLTE2OSwxMCArMTc1
LDcgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gZnVuY3Rpb25DYWxsOwogICAgIH0KICAgICAK
LSAgICB2b2lkIGV4Y2VwdGlvbkNoZWNrKCkKLSAgICB7Ci0gICAgICAgIG1fZXhjZXB0aW9uQ2hl
Y2tzLmFwcGVuZChlbWl0RXhjZXB0aW9uQ2hlY2soKSk7Ci0gICAgfQorICAgIHZvaWQgZXhjZXB0
aW9uQ2hlY2soKTsKIAogICAgIHZvaWQgZXhjZXB0aW9uQ2hlY2tXaXRoQ2FsbEZyYW1lUm9sbGJh
Y2soKQogICAgIHsKQEAgLTI2MCw2ICsyNjMsOCBAQCBwdWJsaWM6CiAgICAgCiAgICAgVmVjdG9y
PExhYmVsPiYgYmxvY2tIZWFkcygpIHsgcmV0dXJuIG1fYmxvY2tIZWFkczsgfQogCisgICAgQ2Fs
bFNpdGVJbmRleCByZWNvcmRDYWxsU2l0ZUFuZEdlbmVyYXRlRXhjZXB0aW9uSGFuZGxpbmdPU1JF
eGl0SWZOZWVkZWQoY29uc3QgQ29kZU9yaWdpbiYsIHVuc2lnbmVkIGV2ZW50U3RyZWFtSW5kZXgp
OworCiBwcml2YXRlOgogICAgIGZyaWVuZCBjbGFzcyBPU1JFeGl0SnVtcFBsYWNlaG9sZGVyOwog
ICAgIApAQCAtMjczLDcgKzI3OCwxMCBAQCBwcml2YXRlOgogICAgIHZvaWQgY29tcGlsZUV4Y2Vw
dGlvbkhhbmRsZXJzKCk7CiAgICAgdm9pZCBsaW5rT1NSRXhpdHMoKTsKICAgICB2b2lkIGRpc2Fz
c2VtYmxlKExpbmtCdWZmZXImKTsKLSAgICAKKworICAgIGJvb2wgd2lsbENhdGNoRXhjZXB0aW9u
SW5NYWNoaW5lRnJhbWUoQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBDb2RlT3JpZ2luJiBvcENhdGNo
T3JpZ2luT3V0LCBIYW5kbGVySW5mbyomIGNhdGNoSGFuZGxlck91dCk7CisgICAgdm9pZCBhcHBl
bmRFeGNlcHRpb25IYW5kbGluZ09TUkV4aXQodW5zaWduZWQgZXZlbnRTdHJlYW1JbmRleCwgQ29k
ZU9yaWdpbiwgSGFuZGxlckluZm8qIGV4Y2VwdGlvbkhhbmRsZXIsIENhbGxTaXRlSW5kZXgsIE1h
Y3JvQXNzZW1ibGVyOjpKdW1wTGlzdCBqdW1wc1RvRmFpbCA9IE1hY3JvQXNzZW1ibGVyOjpKdW1w
TGlzdCgpKTsKKwogICAgIC8vIFRoZSBkYXRhZmxvdyBncmFwaCBjdXJyZW50bHkgYmVpbmcgZ2Vu
ZXJhdGVkLgogICAgIEdyYXBoJiBtX2dyYXBoOwogCkBAIC0zMTEsNiArMzE5LDEzIEBAIHByaXZh
dGU6CiAgICAgU2VnbWVudGVkVmVjdG9yPE9TUkV4aXRDb21waWxhdGlvbkluZm8sIDQ+IG1fZXhp
dENvbXBpbGF0aW9uSW5mbzsKICAgICBWZWN0b3I8VmVjdG9yPExhYmVsPj4gbV9leGl0U2l0ZUxh
YmVsczsKICAgICAKKyAgICBzdHJ1Y3QgRXhjZXB0aW9uSGFuZGxlckZvck9TUkV4aXQgeworICAg
ICAgICBPU1JFeGl0Q29tcGlsYXRpb25JbmZvJiBleGl0SW5mbzsKKyAgICAgICAgSGFuZGxlcklu
Zm8gYmFzZWxpbmVFeGNlcHRpb25IYW5kbGVyOworICAgICAgICBDYWxsU2l0ZUluZGV4IGNhbGxT
aXRlSW5kZXg7CisgICAgfTsKKyAgICBWZWN0b3I8RXhjZXB0aW9uSGFuZGxlckZvck9TUkV4aXQ+
IG1fZXhjZXB0aW9uT1NSRXhpdENhbGxTaXRlczsKKyAgICAKICAgICBDYWxsIG1fY2FsbEFyaXR5
Rml4dXA7CiAgICAgTGFiZWwgbV9hcml0eUNoZWNrOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxTcGVj
dWxhdGl2ZUpJVD4gbV9zcGVjdWxhdGl2ZTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHT1NSRXhpdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdPU1JFeGl0LmNwcAkocmV2aXNpb24gMTg5NzQ0KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdPU1JFeGl0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzAsNiArMzAsNyBAQAog
CiAjaW5jbHVkZSAiQXNzZW1ibHlIZWxwZXJzLmgiCiAjaW5jbHVkZSAiREZHR3JhcGguaCIKKyNp
bmNsdWRlICJERkdNYXlFeGl0LmgiCiAjaW5jbHVkZSAiREZHU3BlY3VsYXRpdmVKSVQuaCIKICNp
bmNsdWRlICJKU0NJbmxpbmVzLmgiCiAKQEAgLTQyLDggKzQzLDE1IEBAIE9TUkV4aXQ6Ok9TUkV4
aXQoRXhpdEtpbmQga2luZCwgSlNWYWx1ZVMKICAgICAsIG1fcGF0Y2hhYmxlQ29kZU9mZnNldCgw
KQogICAgICwgbV9yZWNvdmVyeUluZGV4KHJlY292ZXJ5SW5kZXgpCiAgICAgLCBtX3N0cmVhbUlu
ZGV4KHN0cmVhbUluZGV4KQorICAgICwgbV93aWxsQXJyaXZlQXRPU1JFeGl0RnJvbUdlbmVyaWNV
bndpbmQoZmFsc2UpCisgICAgLCBtX2lzRXhjZXB0aW9uSGFuZGxlcihmYWxzZSkKIHsKLSAgICBE
RkdfQVNTRVJUKGppdC0+bV9qaXQuZ3JhcGgoKSwgaml0LT5tX2N1cnJlbnROb2RlLCBqaXQtPm1f
b3JpZ2luLmV4aXRPSyk7CisgICAgYm9vbCBjYW5FeGl0ID0gaml0LT5tX29yaWdpbi5leGl0T0s7
CisgICAgaWYgKCFjYW5FeGl0ICYmIGppdC0+bV9jdXJyZW50Tm9kZSkgeworICAgICAgICBFeGl0
TW9kZSBleGl0TW9kZSA9IG1heUV4aXQoaml0LT5tX2ppdC5ncmFwaCgpLCBqaXQtPm1fY3VycmVu
dE5vZGUpOworICAgICAgICBjYW5FeGl0ID0gZXhpdE1vZGUgPT0gRXhpdE1vZGU6OkV4aXRzIHx8
IGV4aXRNb2RlID09IEV4aXRNb2RlOjpFeGl0c0ZvckV4Y2VwdGlvbnM7CisgICAgfQorICAgIERG
R19BU1NFUlQoaml0LT5tX2ppdC5ncmFwaCgpLCBqaXQtPm1fY3VycmVudE5vZGUsIGNhbkV4aXQp
OwogfQogCiB2b2lkIE9TUkV4aXQ6OnNldFBhdGNoYWJsZUNvZGVPZmZzZXQoTWFjcm9Bc3NlbWJs
ZXI6OlBhdGNoYWJsZUp1bXAgY2hlY2spCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR09TUkV4aXQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R09TUkV4aXQuaAkocmV2aXNpb24gMTg5NzQ0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdPU1JFeGl0LmgJKHdvcmtpbmcgY29weSkKQEAgLTkzLDEzICs5MywxNiBAQCBzdHJ1Y3Qg
T1NSRXhpdCA6IHB1YmxpYyBPU1JFeGl0QmFzZSB7CiAgICAgdW5zaWduZWQgbV9wYXRjaGFibGVD
b2RlT2Zmc2V0OwogICAgIAogICAgIHVuc2lnbmVkIG1fcmVjb3ZlcnlJbmRleDsKLSAgICAKKwog
ICAgIHZvaWQgc2V0UGF0Y2hhYmxlQ29kZU9mZnNldChNYWNyb0Fzc2VtYmxlcjo6UGF0Y2hhYmxl
SnVtcCk7CiAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgZ2V0UGF0Y2hhYmxlQ29kZU9mZnNldEFz
SnVtcCgpIGNvbnN0OwogICAgIENvZGVMb2NhdGlvbkp1bXAgY29kZUxvY2F0aW9uRm9yUmVwYXRj
aChDb2RlQmxvY2sqKSBjb25zdDsKICAgICB2b2lkIGNvcnJlY3RKdW1wKExpbmtCdWZmZXImKTsK
IAogICAgIHVuc2lnbmVkIG1fc3RyZWFtSW5kZXg7CisKKyAgICBib29sIG1fd2lsbEFycml2ZUF0
T1NSRXhpdEZyb21HZW5lcmljVW53aW5kIDogMTsKKyAgICBib29sIG1faXNFeGNlcHRpb25IYW5k
bGVyIDogMTsKICAgICAKICAgICB2b2lkIGNvbnNpZGVyQWRkaW5nQXNGcmVxdWVudEV4aXRTaXRl
KENvZGVCbG9jayogcHJvZmlsZWRDb2RlQmxvY2spCiAgICAgewpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXIzMl82NC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXIzMl82NC5jcHAJKHJl
dmlzaW9uIDE4OTc0NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENv
bXBpbGVyMzJfNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zOTQsNyArMzk0LDcgQEAgdm9pZCBP
U1JFeGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0KGNvbnN0IAogICAgIHJlaWZ5SW5saW5lZENhbGxG
cmFtZXMobV9qaXQsIGV4aXQpOwogICAgIAogICAgIC8vIEFuZCBmaW5pc2guCi0gICAgYWRqdXN0
QW5kSnVtcFRvVGFyZ2V0KG1faml0LCBleGl0KTsKKyAgICBhZGp1c3RBbmRKdW1wVG9UYXJnZXQo
bV9qaXQsIGV4aXQsIGV4aXQubV9pc0V4Y2VwdGlvbkhhbmRsZXIpOwogfQogCiB9IH0gLy8gbmFt
ZXNwYWNlIEpTQzo6REZHCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4
aXRDb21waWxlcjY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR09TUkV4aXRDb21waWxlcjY0LmNwcAkocmV2aXNpb24gMTg5NzQ0KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXI2NC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTI0NSw3ICsyNDUsOCBAQCB2b2lkIE9TUkV4aXRDb21waWxlcjo6Y29tcGlsZUV4aXQoY29u
c3QgCiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgIH0KLSAgICAKKworCiAgICAg
Ly8gTmVlZCB0byBlbnN1cmUgdGhhdCB0aGUgc3RhY2sgcG9pbnRlciBhY2NvdW50cyBmb3IgdGhl
IHdvcnN0LWNhc2Ugc3RhY2sgdXNhZ2UgYXQgZXhpdC4gVGhpcwogICAgIC8vIGNvdWxkIHRvYXN0
IHNvbWUgc3RhY2sgdGhhdCB0aGUgREZHIHVzZWQuIFdlIG5lZWQgdG8gZG8gaXQgYmVmb3JlIHN0
b3JpbmcgdG8gc3RhY2sgb2Zmc2V0cwogICAgIC8vIHVzZWQgYnkgYmFzZWxpbmUuCkBAIC0zODQs
NyArMzg1LDcgQEAgdm9pZCBPU1JFeGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0KGNvbnN0IAogICAg
IHJlaWZ5SW5saW5lZENhbGxGcmFtZXMobV9qaXQsIGV4aXQpOwogCiAgICAgLy8gQW5kIGZpbmlz
aC4KLSAgICBhZGp1c3RBbmRKdW1wVG9UYXJnZXQobV9qaXQsIGV4aXQpOworICAgIGFkanVzdEFu
ZEp1bXBUb1RhcmdldChtX2ppdCwgZXhpdCwgZXhpdC5tX2lzRXhjZXB0aW9uSGFuZGxlcik7CiB9
CiAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpERkcKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlci5jcHAJKHJldmlzaW9uIDE4OTc0NCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTE1LDEwICsxMTUsOSBAQCB2b2lkIGNvbXBpbGVPU1JFeGl0KEV4ZWNTdGF0
ZSogZXhlYykKICAgICBTYW1wbGluZ1JlZ2lvbiBzYW1wbGluZ1JlZ2lvbigiREZHIE9TUiBFeGl0
IENvbXBpbGF0aW9uIik7CiAgICAgCiAgICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSBleGVjLT5j
b2RlQmxvY2soKTsKLSAgICAKICAgICBBU1NFUlQoY29kZUJsb2NrKTsKICAgICBBU1NFUlQoY29k
ZUJsb2NrLT5qaXRUeXBlKCkgPT0gSklUQ29kZTo6REZHSklUKTsKLSAgICAKKwogICAgIFZNKiB2
bSA9ICZleGVjLT52bSgpOwogICAgIAogICAgIC8vIEl0J3Mgc29ydCBvZiBwcmVmZXJhYmxlIHRo
YXQgd2UgZG9uJ3QgR0Mgd2hpbGUgaW4gaGVyZS4gQW55d2F5cywgZG9pbmcgc28gd291bGRuJ3QK
QEAgLTEyOCw2ICsxMjcsMTIgQEAgdm9pZCBjb21waWxlT1NSRXhpdChFeGVjU3RhdGUqIGV4ZWMp
CiAgICAgdWludDMyX3QgZXhpdEluZGV4ID0gdm0tPm9zckV4aXRJbmRleDsKICAgICBPU1JFeGl0
JiBleGl0ID0gY29kZUJsb2NrLT5qaXRDb2RlKCktPmRmZygpLT5vc3JFeGl0W2V4aXRJbmRleF07
CiAgICAgCisgICAgaWYgKHZtLT5jYWxsRnJhbWVGb3JUaHJvdykKKyAgICAgICAgQVNTRVJUKGV4
aXQubV93aWxsQXJyaXZlQXRPU1JFeGl0RnJvbUdlbmVyaWNVbndpbmQpOworICAgIGlmIChleGl0
Lm1faXNFeGNlcHRpb25IYW5kbGVyKQorICAgICAgICBBU1NFUlQoISF2bS0+ZXhjZXB0aW9uKCkp
OworICAgICAgICAKKyAgICAKICAgICBwcmVwYXJlQ29kZU9yaWdpbkZvck9TUkV4aXQoZXhlYywg
ZXhpdC5tX2NvZGVPcmlnaW4pOwogICAgIAogICAgIC8vIENvbXB1dGUgdGhlIHZhbHVlIHJlY292
ZXJpZXMuCkBAIC0xNTMsNyArMTU4LDcgQEAgdm9pZCBjb21waWxlT1NSRXhpdChFeGVjU3RhdGUq
IGV4ZWMpCiAgICAgICAgICAgICAgICAgZXhpdC5tX2tpbmQsIGV4aXQubV9raW5kID09IFVuY291
bnRhYmxlSW52YWxpZGF0aW9uKTsKICAgICAgICAgICAgIGppdC5hZGQ2NChDQ2FsbEhlbHBlcnM6
OlRydXN0ZWRJbW0zMigxKSwgQ0NhbGxIZWxwZXJzOjpBYnNvbHV0ZUFkZHJlc3MocHJvZmlsZXJF
eGl0LT5jb3VudGVyQWRkcmVzcygpKSk7CiAgICAgICAgIH0KLSAgICAgICAgCisKICAgICAgICAg
ZXhpdENvbXBpbGVyLmNvbXBpbGVFeGl0KGV4aXQsIG9wZXJhbmRzLCByZWNvdmVyeSk7CiAgICAg
ICAgIAogICAgICAgICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVyKCp2bSwgaml0LCBjb2RlQmxvY2sp
OwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXJDb21t
b24uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhp
dENvbXBpbGVyQ29tbW9uLmNwcAkocmV2aXNpb24gMTg5NzQ0KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0yNDgsNyArMjQ4LDcgQEAgc3RhdGljIHZvaWQgb3NyV3JpdGVCYXJyaWVyKENDYWxsSGVscGVy
cwogfQogI2VuZGlmIC8vIEVOQUJMRShHR0MpCiAKLXZvaWQgYWRqdXN0QW5kSnVtcFRvVGFyZ2V0
KENDYWxsSGVscGVycyYgaml0LCBjb25zdCBPU1JFeGl0QmFzZSYgZXhpdCkKK3ZvaWQgYWRqdXN0
QW5kSnVtcFRvVGFyZ2V0KENDYWxsSGVscGVycyYgaml0LCBjb25zdCBPU1JFeGl0QmFzZSYgZXhp
dCwgYm9vbCBpc0V4aXRpbmdUb09wQ2F0Y2gpCiB7CiAjaWYgRU5BQkxFKEdHQykgCiAgICAgaml0
Lm1vdmUoQXNzZW1ibHlIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGppdC5jb2RlQmxvY2soKS0+b3du
ZXJFeGVjdXRhYmxlKCkpLCBHUFJJbmZvOjphcmd1bWVudEdQUjEpOwpAQCAtMjc3LDYgKzI3Nywx
MCBAQCB2b2lkIGFkanVzdEFuZEp1bXBUb1RhcmdldChDQ2FsbEhlbHBlcnMmCiAgICAgdm9pZCog
anVtcFRhcmdldCA9IGJhc2VsaW5lQ29kZUJsb2NrLT5qaXRDb2RlKCktPmV4ZWN1dGFibGVBZGRy
ZXNzQXRPZmZzZXQobWFwcGluZy0+bV9tYWNoaW5lQ29kZU9mZnNldCk7CiAKICAgICBqaXQuYWRk
UHRyKEFzc2VtYmx5SGVscGVyczo6VHJ1c3RlZEltbTMyKEpJVDo6c3RhY2tQb2ludGVyT2Zmc2V0
Rm9yKGJhc2VsaW5lQ29kZUJsb2NrKSAqIHNpemVvZihSZWdpc3RlcikpLCBHUFJJbmZvOjpjYWxs
RnJhbWVSZWdpc3RlciwgQXNzZW1ibHlIZWxwZXJzOjpzdGFja1BvaW50ZXJSZWdpc3Rlcik7Cisg
ICAgaWYgKGlzRXhpdGluZ1RvT3BDYXRjaCkgeworICAgICAgICAvLyBTaW5jZSB3ZSdyZSBqdW1w
aW5nIHRvIG9wX2NhdGNoLCB3ZSBuZWVkIHRvIHNldCBjYWxsRnJhbWVGb3JUaHJvdy4KKyAgICAg
ICAgaml0LnN0b3JlUHRyKEdQUkluZm86OmNhbGxGcmFtZVJlZ2lzdGVyLCBqaXQudm0oKS0+YWRk
cmVzc09mQ2FsbEZyYW1lRm9yVGhyb3coKSk7CisgICAgfQogICAgIAogICAgIGppdC5tb3ZlKEFz
c2VtYmx5SGVscGVyczo6VHJ1c3RlZEltbVB0cihqdW1wVGFyZ2V0KSwgR1BSSW5mbzo6cmVnVDIp
OwogICAgIGppdC5qdW1wKEdQUkluZm86OnJlZ1QyKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyQ29tbW9uLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uaAkocmV2aXNpb24g
MTg5NzQ0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXJD
b21tb24uaAkod29ya2luZyBjb3B5KQpAQCAtMzUsNyArMzUsNyBAQCBuYW1lc3BhY2UgSlNDIHsg
bmFtZXNwYWNlIERGRyB7CiAKIHZvaWQgaGFuZGxlRXhpdENvdW50cyhDQ2FsbEhlbHBlcnMmLCBj
b25zdCBPU1JFeGl0QmFzZSYpOwogdm9pZCByZWlmeUlubGluZWRDYWxsRnJhbWVzKENDYWxsSGVs
cGVycyYsIGNvbnN0IE9TUkV4aXRCYXNlJik7Ci12b2lkIGFkanVzdEFuZEp1bXBUb1RhcmdldChD
Q2FsbEhlbHBlcnMmLCBjb25zdCBPU1JFeGl0QmFzZSYpOwordm9pZCBhZGp1c3RBbmRKdW1wVG9U
YXJnZXQoQ0NhbGxIZWxwZXJzJiwgY29uc3QgT1NSRXhpdEJhc2UmLCBib29sIGlzRXhpdGluZ1Rv
T3BDYXRjaCk7CiAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpERkcKIApJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1BsYW4uY3BwCShyZXZpc2lvbiAxODk3NDQpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00Miw2ICs0Miw3
IEBACiAjaW5jbHVkZSAiREZHRENFUGhhc2UuaCIKICNpbmNsdWRlICJERkdGYWlsZWRGaW5hbGl6
ZXIuaCIKICNpbmNsdWRlICJERkdGaXh1cFBoYXNlLmgiCisjaW5jbHVkZSAiREZHRmx1c2hMaXZl
Q2F0Y2hWYXJpYWJsZXNJbnNlcnRpb25QaGFzZS5oIgogI2luY2x1ZGUgIkRGR0dyYXBoU2FmZXBv
aW50LmgiCiAjaW5jbHVkZSAiREZHSW50ZWdlckNoZWNrQ29tYmluaW5nUGhhc2UuaCIKICNpbmNs
dWRlICJERkdJbnRlZ2VyUmFuZ2VPcHRpbWl6YXRpb25QaGFzZS5oIgpAQCAtMjU5LDYgKzI2MCw5
IEBAIFBsYW46OkNvbXBpbGF0aW9uUGF0aCBQbGFuOjpjb21waWxlSW5UaHIKICAgICAgICAgZGZn
LmR1bXAoKTsKICAgICB9CiAKKyAgICBwZXJmb3JtRmx1c2hMaXZlQ2F0Y2hWYXJpYWJsZXNJbnNl
cnRpb25QaGFzZShkZmcpOworICAgIC8vZGZnLmR1bXAoKTsKKwogICAgIGlmIChPcHRpb25zOjpl
bmFibGVNYXhpbWFsRmx1c2hJbnNlcnRpb25QaGFzZSgpKQogICAgICAgICBwZXJmb3JtTWF4aW1h
bEZsdXNoSW5zZXJ0aW9uKGRmZyk7CiAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR1Nsb3dQYXRoR2VuZXJhdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTbG93UGF0aEdlbmVyYXRvci5oCShyZXZpc2lvbiAxODk3NDQpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nsb3dQYXRoR2VuZXJhdG9yLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQwLDYgKzQwLDggQEAgY2xhc3MgU2xvd1BhdGhHZW5lcmF0b3IgewogcHVibGlj
OgogICAgIFNsb3dQYXRoR2VuZXJhdG9yKFNwZWN1bGF0aXZlSklUKiBqaXQpCiAgICAgICAgIDog
bV9jdXJyZW50Tm9kZShqaXQtPm1fY3VycmVudE5vZGUpCisgICAgICAgICwgbV9zdHJlYW1JbmRl
eChqaXQtPm1fc3RyZWFtLT5zaXplKCkpCisgICAgICAgICwgbV9vcmlnaW4oaml0LT5tX29yaWdp
bikgCiAgICAgewogICAgIH0KICAgICB2aXJ0dWFsIH5TbG93UGF0aEdlbmVyYXRvcigpIHsgfQpA
QCAtNDcsNyArNDksMTAgQEAgcHVibGljOgogICAgIHsKICAgICAgICAgbV9sYWJlbCA9IGppdC0+
bV9qaXQubGFiZWwoKTsKICAgICAgICAgaml0LT5tX2N1cnJlbnROb2RlID0gbV9jdXJyZW50Tm9k
ZTsKKyAgICAgICAgaml0LT5tX291dE9mTGluZVN0cmVhbUluZGV4ID0gbV9zdHJlYW1JbmRleDsK
KyAgICAgICAgaml0LT5tX29yaWdpbiA9IG1fb3JpZ2luOwogICAgICAgICBnZW5lcmF0ZUludGVy
bmFsKGppdCk7CisgICAgICAgIGppdC0+bV9vdXRPZkxpbmVTdHJlYW1JbmRleCA9IFVJTlRfTUFY
OwogICAgICAgICBpZiAoIUFTU0VSVF9ESVNBQkxFRCkKICAgICAgICAgICAgIGppdC0+bV9qaXQu
YWJvcnRXaXRoUmVhc29uKERGR1Nsb3dQYXRoR2VuZXJhdG9yRmVsbFRocm91Z2gpOwogICAgIH0K
QEAgLTYxLDYgKzY2LDggQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBnZW5lcmF0ZUlu
dGVybmFsKFNwZWN1bGF0aXZlSklUKikgPSAwOwogICAgIE1hY3JvQXNzZW1ibGVyOjpMYWJlbCBt
X2xhYmVsOwogICAgIE5vZGUqIG1fY3VycmVudE5vZGU7CisgICAgdW5zaWduZWQgbV9zdHJlYW1J
bmRleDsKKyAgICBOb2RlT3JpZ2luIG1fb3JpZ2luOwogfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUg
SnVtcFR5cGU+CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklUMzJfNjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQzMl82NC5jcHAJKHJldmlzaW9uIDE4OTc0NCkKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTE4Miw4ICsxODIsOSBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjYWNoZWRHZXRCeUlkKAog
ICAgICAgICBiYXNlUGF5bG9hZEdQUiA9IHJlc3VsdFBheWxvYWRHUFI7CiAgICAgfQogICAgIAor
ICAgIENhbGxTaXRlSW5kZXggY2FsbFNpdGUgPSBtX2ppdC5yZWNvcmRDYWxsU2l0ZUFuZEdlbmVy
YXRlRXhjZXB0aW9uSGFuZGxpbmdPU1JFeGl0SWZOZWVkZWQoY29kZU9yaWdpbiwgbV9zdHJlYW0t
PnNpemUoKSk7CiAgICAgSklUR2V0QnlJZEdlbmVyYXRvciBnZW4oCi0gICAgICAgIG1faml0LmNv
ZGVCbG9jaygpLCBjb2RlT3JpZ2luLCBtX2ppdC5hZGRDYWxsU2l0ZShjb2RlT3JpZ2luKSwgdXNl
ZFJlZ2lzdGVycygpLAorICAgICAgICBtX2ppdC5jb2RlQmxvY2soKSwgY29kZU9yaWdpbiwgY2Fs
bFNpdGUsIHVzZWRSZWdpc3RlcnMoKSwKICAgICAgICAgSlNWYWx1ZVJlZ3MoYmFzZVRhZ0dQUk9y
Tm9uZSwgYmFzZVBheWxvYWRHUFIpLAogICAgICAgICBKU1ZhbHVlUmVncyhyZXN1bHRUYWdHUFIs
IHJlc3VsdFBheWxvYWRHUFIpLCBzcGlsbE1vZGUpOwogICAgIApAQCAtMjE0LDggKzIxNSw5IEBA
IHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNhY2hlZEdldEJ5SWQoCiAKIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OmNhY2hlZFB1dEJ5SWQoQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBHUFJSZWcgYmFzZVBheWxv
YWRHUFIsIEdQUlJlZyB2YWx1ZVRhZ0dQUiwgR1BSUmVnIHZhbHVlUGF5bG9hZEdQUiwgR1BSUmVn
IHNjcmF0Y2hHUFIsIHVuc2lnbmVkIGlkZW50aWZpZXJOdW1iZXIsIFB1dEtpbmQgcHV0S2luZCwg
SklUQ29tcGlsZXI6Okp1bXAgc2xvd1BhdGhUYXJnZXQsIFNwaWxsUmVnaXN0ZXJzTW9kZSBzcGls
bE1vZGUpCiB7CisgICAgQ2FsbFNpdGVJbmRleCBjYWxsU2l0ZSA9IG1faml0LnJlY29yZENhbGxT
aXRlQW5kR2VuZXJhdGVFeGNlcHRpb25IYW5kbGluZ09TUkV4aXRJZk5lZWRlZChjb2RlT3JpZ2lu
LCBtX3N0cmVhbS0+c2l6ZSgpKTsKICAgICBKSVRQdXRCeUlkR2VuZXJhdG9yIGdlbigKLSAgICAg
ICAgbV9qaXQuY29kZUJsb2NrKCksIGNvZGVPcmlnaW4sIG1faml0LmFkZENhbGxTaXRlKGNvZGVP
cmlnaW4pLCB1c2VkUmVnaXN0ZXJzKCksCisgICAgICAgIG1faml0LmNvZGVCbG9jaygpLCBjb2Rl
T3JpZ2luLCBjYWxsU2l0ZSwgdXNlZFJlZ2lzdGVycygpLAogICAgICAgICBKU1ZhbHVlUmVnczo6
cGF5bG9hZE9ubHkoYmFzZVBheWxvYWRHUFIpLCBKU1ZhbHVlUmVncyh2YWx1ZVRhZ0dQUiwgdmFs
dWVQYXlsb2FkR1BSKSwKICAgICAgICAgc2NyYXRjaEdQUiwgc3BpbGxNb2RlLCBtX2ppdC5lY21h
TW9kZUZvcihjb2RlT3JpZ2luKSwgcHV0S2luZCk7CiAgICAgCkBAIC03ODQsNyArNzg2LDggQEAg
dm9pZCBTcGVjdWxhdGl2ZUpJVDo6ZW1pdENhbGwoTm9kZSogbm9kZQogICAgIEpJVENvbXBpbGVy
OjpEYXRhTGFiZWxQdHIgdGFyZ2V0VG9DaGVjazsKICAgICBKSVRDb21waWxlcjo6SnVtcExpc3Qg
c2xvd1BhdGg7CiAKLSAgICBtX2ppdC5lbWl0U3RvcmVDb2RlT3JpZ2luKG5vZGUtPm9yaWdpbi5z
ZW1hbnRpYyk7CisgICAgQ2FsbFNpdGVJbmRleCBjYWxsU2l0ZSA9IG1faml0LnJlY29yZENhbGxT
aXRlQW5kR2VuZXJhdGVFeGNlcHRpb25IYW5kbGluZ09TUkV4aXRJZk5lZWRlZChub2RlLT5vcmln
aW4uc2VtYW50aWMsIG1fc3RyZWFtLT5zaXplKCkpOworICAgIG1faml0LmVtaXRTdG9yZUNhbGxT
aXRlSW5kZXgoY2FsbFNpdGUpOwogICAgIAogICAgIENhbGxMaW5rSW5mbyogaW5mbyA9IG1faml0
LmNvZGVCbG9jaygpLT5hZGRDYWxsTGlua0luZm8oKTsKIApJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCShyZXZpc2lvbiAxODk3
NDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC0xNTMsOCArMTUzLDEwIEBAIEdQUlJlZyBTcGVjdWxhdGl2ZUpJ
VDo6ZmlsbEpTVmFsdWUoRWRnZSAKIAogdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y2FjaGVkR2V0QnlJ
ZChDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIEdQUlJlZyBiYXNlR1BSLCBHUFJSZWcgcmVzdWx0R1BS
LCB1bnNpZ25lZCBpZGVudGlmaWVyTnVtYmVyLCBKSVRDb21waWxlcjo6SnVtcCBzbG93UGF0aFRh
cmdldCwgU3BpbGxSZWdpc3RlcnNNb2RlIHNwaWxsTW9kZSkKIHsKKyAgICBDYWxsU2l0ZUluZGV4
IGNhbGxTaXRlID0gbV9qaXQucmVjb3JkQ2FsbFNpdGVBbmRHZW5lcmF0ZUV4Y2VwdGlvbkhhbmRs
aW5nT1NSRXhpdElmTmVlZGVkKGNvZGVPcmlnaW4sIG1fc3RyZWFtLT5zaXplKCkpOworCiAgICAg
SklUR2V0QnlJZEdlbmVyYXRvciBnZW4oCi0gICAgICAgIG1faml0LmNvZGVCbG9jaygpLCBjb2Rl
T3JpZ2luLCBtX2ppdC5hZGRDYWxsU2l0ZShjb2RlT3JpZ2luKSwgdXNlZFJlZ2lzdGVycygpLCBK
U1ZhbHVlUmVncyhiYXNlR1BSKSwKKyAgICAgICAgbV9qaXQuY29kZUJsb2NrKCksIGNvZGVPcmln
aW4sIGNhbGxTaXRlLCB1c2VkUmVnaXN0ZXJzKCksIEpTVmFsdWVSZWdzKGJhc2VHUFIpLAogICAg
ICAgICBKU1ZhbHVlUmVncyhyZXN1bHRHUFIpLCBzcGlsbE1vZGUpOwogICAgIGdlbi5nZW5lcmF0
ZUZhc3RQYXRoKG1faml0KTsKICAgICAKQEAgLTE3Myw4ICsxNzUsMTAgQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y2FjaGVkR2V0QnlJZChDb2RlTwogCiB2b2lkIFNwZWN1bGF0aXZlSklUOjpjYWNo
ZWRQdXRCeUlkKENvZGVPcmlnaW4gY29kZU9yaWdpbiwgR1BSUmVnIGJhc2VHUFIsIEdQUlJlZyB2
YWx1ZUdQUiwgR1BSUmVnIHNjcmF0Y2hHUFIsIHVuc2lnbmVkIGlkZW50aWZpZXJOdW1iZXIsIFB1
dEtpbmQgcHV0S2luZCwgSklUQ29tcGlsZXI6Okp1bXAgc2xvd1BhdGhUYXJnZXQsIFNwaWxsUmVn
aXN0ZXJzTW9kZSBzcGlsbE1vZGUpCiB7CisgICAgQ2FsbFNpdGVJbmRleCBjYWxsU2l0ZSA9IG1f
aml0LnJlY29yZENhbGxTaXRlQW5kR2VuZXJhdGVFeGNlcHRpb25IYW5kbGluZ09TUkV4aXRJZk5l
ZWRlZChjb2RlT3JpZ2luLCBtX3N0cmVhbS0+c2l6ZSgpKTsKKwogICAgIEpJVFB1dEJ5SWRHZW5l
cmF0b3IgZ2VuKAotICAgICAgICBtX2ppdC5jb2RlQmxvY2soKSwgY29kZU9yaWdpbiwgbV9qaXQu
YWRkQ2FsbFNpdGUoY29kZU9yaWdpbiksIHVzZWRSZWdpc3RlcnMoKSwgSlNWYWx1ZVJlZ3MoYmFz
ZUdQUiksCisgICAgICAgIG1faml0LmNvZGVCbG9jaygpLCBjb2RlT3JpZ2luLCBjYWxsU2l0ZSwg
dXNlZFJlZ2lzdGVycygpLCBKU1ZhbHVlUmVncyhiYXNlR1BSKSwKICAgICAgICAgSlNWYWx1ZVJl
Z3ModmFsdWVHUFIpLCBzY3JhdGNoR1BSLCBzcGlsbE1vZGUsIG1faml0LmVjbWFNb2RlRm9yKGNv
ZGVPcmlnaW4pLCBwdXRLaW5kKTsKIAogICAgIGdlbi5nZW5lcmF0ZUZhc3RQYXRoKG1faml0KTsK
QEAgLTc1Miw3ICs3NTYsOCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjplbWl0Q2FsbChOb2RlKiBu
b2RlCiAgICAgSklUQ29tcGlsZXI6OkRhdGFMYWJlbFB0ciB0YXJnZXRUb0NoZWNrOwogICAgIEpJ
VENvbXBpbGVyOjpKdW1wIHNsb3dQYXRoOwogCi0gICAgbV9qaXQuZW1pdFN0b3JlQ29kZU9yaWdp
bihub2RlLT5vcmlnaW4uc2VtYW50aWMpOworICAgIENhbGxTaXRlSW5kZXggY2FsbFNpdGUgPSBt
X2ppdC5yZWNvcmRDYWxsU2l0ZUFuZEdlbmVyYXRlRXhjZXB0aW9uSGFuZGxpbmdPU1JFeGl0SWZO
ZWVkZWQobm9kZS0+b3JpZ2luLnNlbWFudGljLCBtX3N0cmVhbS0+c2l6ZSgpKTsKKyAgICBtX2pp
dC5lbWl0U3RvcmVDYWxsU2l0ZUluZGV4KGNhbGxTaXRlKTsKICAgICAKICAgICBDYWxsTGlua0lu
Zm8qIGNhbGxMaW5rSW5mbyA9IG1faml0LmNvZGVCbG9jaygpLT5hZGRDYWxsTGlua0luZm8oKTsK
ICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklULmgJKHJldmlzaW9uIDE4OTc0NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQuaAkod29ya2luZyBjb3B5KQpAQCAtMjQ3Niw2ICsyNDc2LDcgQEAgcHVi
bGljOgogICAgIAogICAgIFZlY3RvcjxzdGQ6OnVuaXF1ZV9wdHI8U2xvd1BhdGhHZW5lcmF0b3I+
LCA4PiBtX3Nsb3dQYXRoR2VuZXJhdG9yczsKICAgICBWZWN0b3I8U2lsZW50UmVnaXN0ZXJTYXZl
UGxhbj4gbV9wbGFuczsKKyAgICB1bnNpZ25lZCBtX291dE9mTGluZVN0cmVhbUluZGV4IHsgVUlO
VF9NQVggfTsKIH07CiAKIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdUaWVy
VXBDaGVja0luamVjdGlvblBoYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR1RpZXJVcENoZWNrSW5qZWN0aW9uUGhhc2UuY3BwCShyZXZpc2lvbiAxODk3
NDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1RpZXJVcENoZWNrSW5qZWN0aW9u
UGhhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Miw2ICs1Miw5IEBAIHB1YmxpYzoKICAgICAg
ICAgCiAgICAgICAgIGlmIChtX2dyYXBoLm1fcHJvZmlsZWRCbG9jay0+bV9kaWRGYWlsRlRMQ29t
cGlsYXRpb24pCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAgICAgaWYgKG1fZ3Jh
cGgubV9oYXNFeGNlcHRpb25IYW5kbGVycykKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAg
ICAgICAgCiAjaWYgRU5BQkxFKEZUTF9KSVQpCiAgICAgICAgIEZUTDo6Q2FwYWJpbGl0eUxldmVs
IGxldmVsID0gRlRMOjpjYW5Db21waWxlKG1fZ3JhcGgpOwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExPU1JFeGl0Q29tcGlsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMT1NSRXhpdENvbXBpbGVyLmNwcAkocmV2aXNpb24gMTg5NzQ0
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPU1JFeGl0Q29tcGlsZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC01MTYsNyArNTE2LDcgQEAgc3RhdGljIHZvaWQgY29tcGlsZVN0dWIo
CiAgICAgCiAgICAgaGFuZGxlRXhpdENvdW50cyhqaXQsIGV4aXQpOwogICAgIHJlaWZ5SW5saW5l
ZENhbGxGcmFtZXMoaml0LCBleGl0KTsKLSAgICBhZGp1c3RBbmRKdW1wVG9UYXJnZXQoaml0LCBl
eGl0KTsKKyAgICBhZGp1c3RBbmRKdW1wVG9UYXJnZXQoaml0LCBleGl0LCBmYWxzZSk7CiAgICAg
CiAgICAgTGlua0J1ZmZlciBwYXRjaEJ1ZmZlcigqdm0sIGppdCwgY29kZUJsb2NrKTsKICAgICBl
eGl0Lm1fY29kZSA9IEZJTkFMSVpFX0NPREVfSUYoCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaW50ZXJwcmV0ZXIvSW50ZXJwcmV0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAJKHJldmlzaW9uIDE4OTc0NCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTY0MSwxMCArNjQxLDIxIEBAIHB1YmxpYzoKIAogICAgIFN0YWNrVmlz
aXRvcjo6U3RhdHVzIG9wZXJhdG9yKCkoU3RhY2tWaXNpdG9yJiB2aXNpdG9yKQogICAgIHsKKyAg
ICAgICAgdmlzaXRvci51bndpbmRUb01hY2hpbmVDb2RlQmxvY2tGcmFtZSgpOwogICAgICAgICBW
TSYgdm0gPSBtX2NhbGxGcmFtZS0+dm0oKTsKICAgICAgICAgbV9jYWxsRnJhbWUgPSB2aXNpdG9y
LT5jYWxsRnJhbWUoKTsKICAgICAgICAgbV9jb2RlQmxvY2sgPSB2aXNpdG9yLT5jb2RlQmxvY2so
KTsKLSAgICAgICAgdW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQgPSB2aXNpdG9yLT5ieXRlY29kZU9m
ZnNldCgpOworCisjaWYgVVNFKEpTVkFMVUUzMl82NCkKKyAgICAgICAgLy8gRklYTUU6IGJldHRl
ciBuYW1lIGZvciBieXRlY29kZSBvZmZzZXQuCisgICAgICAgIHVuc2lnbmVkIGJ5dGVjb2RlT2Zm
c2V0OworICAgICAgICBpZiAobV9jb2RlQmxvY2stPmppdFR5cGUoKSAhPSBKSVRDb2RlOjpERkdK
SVQpCisgICAgICAgICAgICBieXRlY29kZU9mZnNldCA9IG1fY2FsbEZyYW1lLT5ieXRlY29kZU9m
ZnNldCgpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBieXRlY29kZU9mZnNldCA9IG1fY2Fs
bEZyYW1lLT5jYWxsU2l0ZUluZGV4KCkuYml0cygpOworI2Vsc2UKKyAgICAgICAgdW5zaWduZWQg
Ynl0ZWNvZGVPZmZzZXQgPSBtX2NhbGxGcmFtZS0+Y2FsbFNpdGVJbmRleCgpLmJpdHMoKTsgLy8g
RklYTUU6IG5vdCB0cnVlIG9uIDMyLWJpdCBhbmQgYWxzbyBubyBsb25nZXIganVzdCBhIGJ5dGVj
b2RlT2Zmc2V0LgorI2VuZGlmCiAKICAgICAgICAgaWYgKG1faXNUZXJtaW5hdGlvbiB8fCAhKG1f
aGFuZGxlciA9IChtX2NvZGVCbG9jayAmJiAhaXNXZWJBc3NlbWJseUV4ZWN1dGFibGUobV9jb2Rl
QmxvY2stPm93bmVyRXhlY3V0YWJsZSgpKSkgPyBtX2NvZGVCbG9jay0+aGFuZGxlckZvckJ5dGVj
b2RlT2Zmc2V0KGJ5dGVjb2RlT2Zmc2V0KSA6IG51bGxwdHIpKSB7CiAgICAgICAgICAgICBpZiAo
IXVud2luZENhbGxGcmFtZSh2aXNpdG9yKSkgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL1N0YWNrVmlzaXRvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ludGVycHJldGVyL1N0YWNrVmlzaXRvci5jcHAJKHJldmlzaW9uIDE4OTc0NCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9TdGFja1Zpc2l0b3IuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC02OSw2ICs2OSwxNCBAQCB2b2lkIFN0YWNrVmlzaXRvcjo6Z290b05l
eHRGcmFtZSgpCiAgICAgcmVhZEZyYW1lKG1fZnJhbWUuY2FsbGVyRnJhbWUoKSk7CiB9CiAKK0Nv
ZGVCbG9jayogU3RhY2tWaXNpdG9yOjp1bndpbmRUb01hY2hpbmVDb2RlQmxvY2tGcmFtZSgpCit7
CisgICAgd2hpbGUgKG1fZnJhbWUuaXNJbmxpbmVkRnJhbWUoKSkKKyAgICAgICAgZ290b05leHRG
cmFtZSgpOworICAgIENvZGVCbG9jayogcmVzdWx0ID0gbV9mcmFtZS5jb2RlQmxvY2soKTsKKyAg
ICByZXR1cm4gcmVzdWx0OworfQorCiB2b2lkIFN0YWNrVmlzaXRvcjo6cmVhZEZyYW1lKENhbGxG
cmFtZSogY2FsbEZyYW1lKQogewogICAgIGlmICghY2FsbEZyYW1lKSB7CkluZGV4OiBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9yLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1N0YWNrVmlzaXRvci5oCShyZXZpc2lv
biAxODk3NDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3RhY2tWaXNp
dG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTEzMSw2ICsxMzEsNyBAQCBwdWJsaWM6CiAKICAgICBG
cmFtZSYgb3BlcmF0b3IqKCkgeyByZXR1cm4gbV9mcmFtZTsgfQogICAgIEFMV0FZU19JTkxJTkUg
RnJhbWUqIG9wZXJhdG9yLT4oKSB7IHJldHVybiAmbV9mcmFtZTsgfQorICAgIENvZGVCbG9jayog
dW53aW5kVG9NYWNoaW5lQ29kZUJsb2NrRnJhbWUoKTsKIAogcHJpdmF0ZToKICAgICBKU19FWFBP
UlRfUFJJVkFURSBTdGFja1Zpc2l0b3IoQ2FsbEZyYW1lKiBzdGFydEZyYW1lKTsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVscGVycy5jcHAJKHJldmlzaW9u
IDE4OTc0NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1ibHlIZWxwZXJzLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjczLDYgKzI3MywyMCBAQCBBc3NlbWJseUhlbHBlcnM6Okp1
bXAgQXNzZW1ibHlIZWxwZXJzOjplCiAgICAgcmV0dXJuIHJlYWxKdW1wLm1fanVtcDsKIH0KIAor
QXNzZW1ibHlIZWxwZXJzOjpKdW1wIEFzc2VtYmx5SGVscGVyczo6ZW1pdE5vblBhdGNoYWJsZUV4
Y2VwdGlvbkNoZWNrKCkKK3sKKyAgICBjYWxsRXhjZXB0aW9uRnV6eigpOworCisgICAgSnVtcCBy
ZXN1bHQ7CisjaWYgVVNFKEpTVkFMVUU2NCkKKyAgICByZXN1bHQgPSBicmFuY2hUZXN0NjQoTm9u
WmVybywgQWJzb2x1dGVBZGRyZXNzKHZtKCktPmFkZHJlc3NPZkV4Y2VwdGlvbigpKSk7CisjZWxp
ZiBVU0UoSlNWQUxVRTMyXzY0KQorICAgIHJlc3VsdCA9IGJyYW5jaDMyKE5vdEVxdWFsLCBBYnNv
bHV0ZUFkZHJlc3Modm0oKS0+YWRkcmVzc09mRXhjZXB0aW9uKCkpLCBUcnVzdGVkSW1tMzIoMCkp
OworI2VuZGlmCisgICAgCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKwogdm9pZCBBc3NlbWJseUhl
bHBlcnM6OmVtaXRTdG9yZVN0cnVjdHVyZVdpdGhUeXBlSW5mbyhBc3NlbWJseUhlbHBlcnMmIGpp
dCwgVHJ1c3RlZEltbVB0ciBzdHJ1Y3R1cmUsIFJlZ2lzdGVySUQgZGVzdCkKIHsKICAgICBjb25z
dCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZVB0ciA9IHN0YXRpY19jYXN0PGNvbnN0IFN0cnVjdHVyZSo+
KHN0cnVjdHVyZS5tX3ZhbHVlKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNz
ZW1ibHlIZWxwZXJzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9B
c3NlbWJseUhlbHBlcnMuaAkocmV2aXNpb24gMTg5NzQ0KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuaAkod29ya2luZyBjb3B5KQpAQCAtMTAyMSw2ICsxMDIx
LDcgQEAgcHVibGljOgogICAgIGVudW0gRXhjZXB0aW9uSnVtcFdpZHRoIHsgTm9ybWFsSnVtcFdp
ZHRoLCBGYXJKdW1wV2lkdGggfTsKICAgICBKdW1wIGVtaXRFeGNlcHRpb25DaGVjaygKICAgICAg
ICAgRXhjZXB0aW9uQ2hlY2tLaW5kID0gTm9ybWFsRXhjZXB0aW9uQ2hlY2ssIEV4Y2VwdGlvbkp1
bXBXaWR0aCA9IE5vcm1hbEp1bXBXaWR0aCk7CisgICAgSnVtcCBlbWl0Tm9uUGF0Y2hhYmxlRXhj
ZXB0aW9uQ2hlY2soKTsKIAogI2lmIEVOQUJMRShTQU1QTElOR19DT1VOVEVSUykKICAgICBzdGF0
aWMgdm9pZCBlbWl0Q291bnQoTWFjcm9Bc3NlbWJsZXImIGppdCwgQWJzdHJhY3RTYW1wbGluZ0Nv
dW50ZXImIGNvdW50ZXIsIGludDMyX3QgaW5jcmVtZW50ID0gMSkKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklURXhjZXB0aW9ucy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRFeGNlcHRpb25zLmNwcAkocmV2aXNpb24gMTg5NzQ0KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRFeGNlcHRpb25zLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNTQsNyArNTQsMTQgQEAgdm9pZCBnZW5lcmljVW53aW5kKFZNKiB2bSwgRXhlY1N0YXRl
KiBjYQogICAgIHZvaWQqIGNhdGNoUm91dGluZTsKICAgICBJbnN0cnVjdGlvbiogY2F0Y2hQQ0Zv
ckludGVycHJldGVyID0gMDsKICAgICBpZiAoaGFuZGxlcikgewotICAgICAgICBjYXRjaFBDRm9y
SW50ZXJwcmV0ZXIgPSAmY2FsbEZyYW1lLT5jb2RlQmxvY2soKS0+aW5zdHJ1Y3Rpb25zKClbaGFu
ZGxlci0+dGFyZ2V0XTsKKyAgICAgICAgLy8gaGFuZGxlci0+dGFyZ2V0IGlzIG1lYW5pbmdsZXNz
IGZvciBnZXR0aW5nIGEgY29kZSBvZmZzZXQgd2hlbiBjYXRjaGluZworICAgICAgICAvLyB0aGUg
ZXhjZXB0aW9uIGluIGEgREZHIGZyYW1lLiBUaGlzIGJ5dGVjb2RlIHRhcmdldCBvZmZzZXQgY291
bGQgYmUKKyAgICAgICAgLy8gc29tZXRoaW5nIHRoYXQncyBpbiBhbiBpbmxpbmVkIGZyYW1lLCB3
aGljaCBtZWFucyBhbiBhcnJheSBhY2Nlc3MKKyAgICAgICAgLy8gd2l0aCB0aGlzIGJ5dGVjb2Rl
IG9mZnNldCBpbiB0aGUgbWFjaGluZSBmcmFtZSBpcyB1dHRlcmx5IG1lYW5pbmdsZXNzCisgICAg
ICAgIC8vIGFuZCBjYW4gY2F1c2UgYW4gb3ZlcmZsb3cuIE9TUiBleGl0IHByb3Blcmx5IGV4aXRz
IHRvIGhhbmRsZXItPnRhcmdldAorICAgICAgICAvLyBpbiB0aGUgcHJvcGVyIGZyYW1lLgorICAg
ICAgICBpZiAoY2FsbEZyYW1lLT5jb2RlQmxvY2soKS0+aml0VHlwZSgpICE9IEpJVENvZGU6OkRG
R0pJVCkKKyAgICAgICAgICAgIGNhdGNoUENGb3JJbnRlcnByZXRlciA9ICZjYWxsRnJhbWUtPmNv
ZGVCbG9jaygpLT5pbnN0cnVjdGlvbnMoKVtoYW5kbGVyLT50YXJnZXRdOwogI2lmIEVOQUJMRShK
SVQpCiAgICAgICAgIGNhdGNoUm91dGluZSA9IGhhbmRsZXItPm5hdGl2ZUNvZGUuZXhlY3V0YWJs
ZUFkZHJlc3MoKTsKICNlbHNlCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9w
Y29kZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bj
b2Rlcy5jcHAJKHJldmlzaW9uIDE4OTc0NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUT3Bjb2Rlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUwMSw2ICs1MDEsNyBAQCB2b2lkIEpJ
VDo6ZW1pdF9vcF9jYXRjaChJbnN0cnVjdGlvbiogY3VyCiAKICAgICBtb3ZlKFRydXN0ZWRJbW1Q
dHIobV92bSksIHJlZ1QzKTsKICAgICBsb2FkNjQoQWRkcmVzcyhyZWdUMywgVk06OmNhbGxGcmFt
ZUZvclRocm93T2Zmc2V0KCkpLCBjYWxsRnJhbWVSZWdpc3Rlcik7CisgICAgc3RvcmVQdHIoVHJ1
c3RlZEltbVB0cihudWxscHRyKSwgQWRkcmVzcyhyZWdUMywgVk06OmNhbGxGcmFtZUZvclRocm93
T2Zmc2V0KCkpKTsKIAogICAgIGFkZFB0cihUcnVzdGVkSW1tMzIoc3RhY2tQb2ludGVyT2Zmc2V0
Rm9yKGNvZGVCbG9jaygpKSAqIHNpemVvZihSZWdpc3RlcikpLCBjYWxsRnJhbWVSZWdpc3Rlciwg
c3RhY2tQb2ludGVyUmVnaXN0ZXIpOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxp
bnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjY0LmFzbQkocmV2aXNpb24gMTg5NzQ0
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5h
c20JKHdvcmtpbmcgY29weSkKQEAgLTI3Niw2ICsyNzYsNyBAQCBfaGFuZGxlVW5jYXVnaHRFeGNl
cHRpb246CiAgICAgbG9hZHAgTWFya2VkQmxvY2s6Om1fd2Vha1NldCArIFdlYWtTZXQ6Om1fdm1b
dDNdLCB0MwogICAgIHJlc3RvcmVDYWxsZWVTYXZlc0Zyb21WTUNhbGxlZVNhdmVzQnVmZmVyKHQz
LCB0MCkKICAgICBsb2FkcCBWTTo6Y2FsbEZyYW1lRm9yVGhyb3dbdDNdLCBjZnIKKyAgICBzdG9y
ZXAgMCwgVk06OmNhbGxGcmFtZUZvclRocm93W3QzXQogCiAgICAgbG9hZHAgQ2FsbGVyRnJhbWVb
Y2ZyXSwgY2ZyCiAgICAgdm1FbnRyeVJlY29yZChjZnIsIHQyKQpAQCAtMTc1OSw2ICsxNzYwLDcg
QEAgX2xsaW50X29wX2NhdGNoOgogICAgIGxvYWRwIE1hcmtlZEJsb2NrOjptX3dlYWtTZXQgKyBX
ZWFrU2V0OjptX3ZtW3QzXSwgdDMKICAgICByZXN0b3JlQ2FsbGVlU2F2ZXNGcm9tVk1DYWxsZWVT
YXZlc0J1ZmZlcih0MywgdDApCiAgICAgbG9hZHAgVk06OmNhbGxGcmFtZUZvclRocm93W3QzXSwg
Y2ZyCisgICAgc3RvcmVwIDAsIFZNOjpjYWxsRnJhbWVGb3JUaHJvd1t0M10KICAgICByZXN0b3Jl
U3RhY2tQb2ludGVyQWZ0ZXJDYWxsKCkKIAogICAgIGxvYWRwIENvZGVCbG9ja1tjZnJdLCBQQgpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCShyZXZpc2lvbiAxODk3NDQpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9WTS5oCSh3b3JraW5nIGNvcHkpCkBAIC00MTEs
NiArNDExLDggQEAgcHVibGljOgogICAgICAgICBtX2xhc3RFeGNlcHRpb24gPSBleGNlcHRpb247
CiAgICAgfQogCisgICAgRXhlY1N0YXRlKiogYWRkcmVzc09mQ2FsbEZyYW1lRm9yVGhyb3coKSB7
IHJldHVybiAmY2FsbEZyYW1lRm9yVGhyb3c7IH0KKwogICAgIEV4Y2VwdGlvbiogZXhjZXB0aW9u
KCkgY29uc3QgeyByZXR1cm4gbV9leGNlcHRpb247IH0KICAgICBKU0NlbGwqKiBhZGRyZXNzT2ZF
eGNlcHRpb24oKSB7IHJldHVybiByZWludGVycHJldF9jYXN0PEpTQ2VsbCoqPigmbV9leGNlcHRp
b24pOyB9CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZGZnLWV4
Y2VwdGlvbi10cnktY2F0Y2gtaW4tY29uc3RydWN0b3Itd2l0aC1pbmxpbmVkLXRocm93LmpzCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZGZnLWV4Y2Vw
dGlvbi10cnktY2F0Y2gtaW4tY29uc3RydWN0b3Itd2l0aC1pbmxpbmVkLXRocm93LmpzCShyZXZp
c2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9kZmctZXhjZXB0
aW9uLXRyeS1jYXRjaC1pbi1jb25zdHJ1Y3Rvci13aXRoLWlubGluZWQtdGhyb3cuanMJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwzNyBAQAorZnVuY3Rpb24gZigpIHsKKyAgICByZXR1cm4gMjA7
IAorfQorbm9JbmxpbmUoZik7CisKK2Z1bmN0aW9uIGJhcihiKSB7IAorICAgIGlmIChiKQorICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoImJsYWghIik7Cit9CisvLyBGSVhNRTogYWRkIHRoaXMgc2Ft
ZSB0aGluZyBidXQgaW5saW5lZCB3aXRoaW4gaXRzZWxmLgorZnVuY3Rpb24gRm9vKGIsIGMpIHsK
KyAgICB0cnkgeworICAgICAgICB0aGlzLnZhbHVlID0gYmFyKGIpOworICAgICAgICB0aGlzLmJh
ciA9IG5ldyBCYXIoYiwgYyk7CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIHRoaXMudmFsdWUg
PSBlLnRvU3RyaW5nKCk7CisgICAgfQorCisgICAgZih0aGlzLnZhbHVlLCBiLCBjKTsKK30KK25v
SW5saW5lKEZvbyk7CisKK2Z1bmN0aW9uIEJhcihiLCBjKSB7CisgICAgdHJ5IHsKKyAgICAgICAg
dGhpcy52YWx1ZSA9IGJhcihiKTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgdGhpcy52YWx1
ZSA9IGUudG9TdHJpbmcoKTsKKyAgICB9CisKKyAgICBmKHRoaXMudmFsdWUsIGIsIGMpOworfQor
Citmb3IgKHZhciBpID0gMTsgaSA8IDEwMDA7IGkrKykgeworICAgIGxldCB2YWx1ZSA9IG5ldyBG
b28oaSAlIDMgPT09IDAsIGkgJSAzID09PSAwID8gaSA6IGkgKyAwLjI0ICsgTmFOKTsKKyAgICBp
ZiAoaSAlIDMgPT09IDAgJiYgdmFsdWUudmFsdWUgIT09ICAiRXJyb3I6IGJsYWghIikKKyAgICAg
ICAgdGhyb3cgbmV3IEVycm9yKCJiYWQgdmFsdWU6ICIgKyB2YWx1ZS52YWx1ZSk7Cit9CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2VzNi1mb3Itb2YtbG9vcC1leGNl
cHRpb24uanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9lczYtZm9yLW9mLWxvb3AtZXhjZXB0aW9uLmpzCShyZXZpc2lvbiAwKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9lczYtZm9yLW9mLWxvb3AtZXhjZXB0aW9uLmpzCSh3
b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMjkgQEAKK2Z1bmN0aW9uIGFzc2VydChjb25kKSB7Cisg
ICAgaWYgKCFjb25kKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoImJyb2tlIGFzc2VydGlvbiIp
OworfQorbm9JbmxpbmUoYXNzZXJ0KTsKKworZnVuY3Rpb24gc2hvdWxkVGhyb3dJbnZhbGlkQ29u
c3RBc3NpZ25tZW50KGYpIHsKKyAgICB2YXIgdGhyZXcgPSBmYWxzZTsKKyAgICB0cnkgeworICAg
ICAgICBmKCk7CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIC8vcHJpbnQoZSk7CisgICAgICAg
IGlmIChlLm5hbWUuaW5kZXhPZigiVHlwZUVycm9yIikgIT09IC0xICYmIGUubWVzc2FnZS5pbmRl
eE9mKCJyZWFkb25seSIpICE9PSAtMSkKKyAgICAgICAgICAgIHRocmV3ID0gdHJ1ZTsKKyAgICB9
CisgICAgYXNzZXJ0KHRocmV3KTsKK30KK25vSW5saW5lKHNob3VsZFRocm93SW52YWxpZENvbnN0
QXNzaWdubWVudCk7CisKK2Z1bmN0aW9uIGJheigpe30KK25vSW5saW5lKGJheik7CisKK2Z1bmN0
aW9uIGZvbygpIHsKKyAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgWzEsMiwzXSkgeworICAgICAgICBp
dGVtID0gMjA7CisgICAgfQorfQorZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwOyBpKyspCisgICAg
c2hvdWxkVGhyb3dJbnZhbGlkQ29uc3RBc3NpZ25tZW50KGZvbyk7CkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2V4Y2VwdGlvbi1kZmctaW5saW5lZC1mcmFtZS1ub3Qt
c3RyaWN0LWVxdWFsLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0
cy9zdHJlc3MvZXhjZXB0aW9uLWRmZy1pbmxpbmVkLWZyYW1lLW5vdC1zdHJpY3QtZXF1YWwuanMJ
KHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2V4Y2Vw
dGlvbi1kZmctaW5saW5lZC1mcmFtZS1ub3Qtc3RyaWN0LWVxdWFsLmpzCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMzkgQEAKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBhc3NlcnRpb24iKTsKK30KK25vSW5saW5lKGFzc2Vy
dCk7Cit2YXIgbyA9IHsKKyAgICB2YWx1ZU9mOiBmdW5jdGlvbigpIHsgcmV0dXJuIHt9OyB9LAor
ICAgIHRvU3RyaW5nOiBmdW5jdGlvbigpIHsgcmV0dXJuIHt9OyB9Cit9OworZnVuY3Rpb24gcmVh
ZCgpIHsKKyAgICByZXR1cm4gInJlYWQiOworfQorbm9JbmxpbmUocmVhZCk7CisKK2Z1bmN0aW9u
IGJhcihhLCBiKSB7CisgICAgcmV0dXJuIGEgPT0gYjsKK30KKworZnVuY3Rpb24gZm9vKGEsIGIp
IHsKKyAgICB2YXIgcmVzdWx0ID0gbnVsbDsKKyAgICB2YXIgdmFsdWUgPSByZWFkKCk7CisgICAg
dHJ5IHsKKyAgICAgICAgcmVzdWx0ID0gYmFyKGEsIGIpOworICAgIH0gY2F0Y2goZSkgeworICAg
ICAgICBhc3NlcnQoIiIgKyB2YWx1ZSA9PT0gInJlYWQiKTsKKyAgICB9CisgICAgcmV0dXJuIHZh
bHVlOworfQorbm9JbmxpbmUoZm9vKTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwOyBpKysp
IHsKKyAgICBmb28oMTAsIDIwKTsKKyAgICBmb28oe30sIHt9KTsKKyAgICBmb28oMTAsIDEwLjAp
OworICAgIGZvbygiaGVsbG8iLCAiaGVsbG8iKTsKKyAgICBmb28obnVsbCwgdW5kZWZpbmVkKTsK
KyAgICBmb28oZmFsc2UsIDApOworfQorZm9vKG8sICJoZWxsbyIpOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9leGNlcHRpb24tZGZnLW5vdC1zdHJpY3QtZXF1YWwu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9leGNl
cHRpb24tZGZnLW5vdC1zdHJpY3QtZXF1YWwuanMJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2V4Y2VwdGlvbi1kZmctbm90LXN0cmljdC1lcXVhbC5q
cwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDcxIEBACis7KGZ1bmN0aW9uICgpIHsKK2Z1bmN0
aW9uIGZvbyhhLCBiKSB7CisgICAgdmFyIHJlc3VsdCA9IG51bGw7CisgICAgdHJ5IHsKKyAgICAg
ICAgcmVzdWx0ID0gYSA9PSBiOworICAgIH0gY2F0Y2goZSkgeworICAgIH0KK30KK25vSW5saW5l
KGZvbyk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDsgaSsrKSB7CisgICAgZm9vKDEwLCAy
MCk7CisgICAgZm9vKHt9LCB7fSk7CisgICAgZm9vKDEwLCAxMC4wKTsKKyAgICBmb28oImhlbGxv
IiwgImhlbGxvIik7CisgICAgZm9vKG51bGwsIHVuZGVmaW5lZCk7CisgICAgZm9vKGZhbHNlLCAw
KTsKK30KKwordmFyIG8gPSB7CisgICAgdmFsdWVPZjogZnVuY3Rpb24oKSB7IHJldHVybiB7fTsg
fSwKKyAgICB0b1N0cmluZzogZnVuY3Rpb24oKSB7IHJldHVybiB7fTsgfQorfTsKK2ZvbyhvLCAi
aGVsbG8iKTsKK30pKCk7CisKKworZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisg
ICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGFzc2VydGlvbiIpOworfQorbm9JbmxpbmUoYXNz
ZXJ0KTsKKworCis7KGZ1bmN0aW9uKCkgeworCit2YXIgX3Nob3VsZERvU29tZXRoaW5nSW5GaW5h
bGx5ID0gZmFsc2U7CitmdW5jdGlvbiBzaG91bGREb1NvbWV0aGluZ0luRmluYWxseSgpIHsgcmV0
dXJuIF9zaG91bGREb1NvbWV0aGluZ0luRmluYWxseTsgfQorbm9JbmxpbmUoc2hvdWxkRG9Tb21l
dGhpbmdJbkZpbmFsbHkpOworCitmdW5jdGlvbiBmb28oYSwgYikgeworICAgIHZhciByZXN1bHQg
PSBudWxsOworICAgIHRyeSB7CisgICAgICAgIHJlc3VsdCA9IGEgPT0gYjsKKyAgICB9IGZpbmFs
bHkgeworICAgICAgICBpZiAoc2hvdWxkRG9Tb21ldGhpbmdJbkZpbmFsbHkoKSkKKyAgICAgICAg
ICAgIGFzc2VydChyZXN1bHQgPT09IG51bGwpOworICAgIH0KKyAgICByZXR1cm4gcmVzdWx0Owor
fQorbm9JbmxpbmUoZm9vKTsKKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwOyBpKyspIHsKKyAg
ICBmb28oMTAsIDIwKTsKKyAgICBmb28oe30sIHt9KTsKKyAgICBmb28oMTAsIDEwLjApOworICAg
IGZvbygiaGVsbG8iLCAiaGVsbG8iKTsKKyAgICBmb28obnVsbCwgdW5kZWZpbmVkKTsKKyAgICBm
b28oZmFsc2UsIDApOworfQorCit2YXIgbyA9IHsKKyAgICB2YWx1ZU9mOiBmdW5jdGlvbigpIHsg
cmV0dXJuIHt9OyB9LAorICAgIHRvU3RyaW5nOiBmdW5jdGlvbigpIHsgcmV0dXJuIHt9OyB9Cit9
OwordHJ5IHsKKyAgICBfc2hvdWxkRG9Tb21ldGhpbmdJbkZpbmFsbHkgPSB0cnVlOworICAgIGZv
byhvLCAiaGVsbG8iKTsKK30gY2F0Y2goZSkge30KKworfSkoKTsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZXhjZXB0aW9uLWRmZy1vcGVyYXRpb24tcmVhZC12YWx1
ZS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2V4
Y2VwdGlvbi1kZmctb3BlcmF0aW9uLXJlYWQtdmFsdWUuanMJKHJldmlzaW9uIDApCisrKyBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2V4Y2VwdGlvbi1kZmctb3BlcmF0aW9uLXJl
YWQtdmFsdWUuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwzNSBAQAorZnVuY3Rpb24gYXNz
ZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIGFzc2Vy
dGlvbiIpOworfQorbm9JbmxpbmUoYXNzZXJ0KTsKK3ZhciBvID0geworICAgIHZhbHVlT2Y6IGZ1
bmN0aW9uKCkgeyByZXR1cm4ge307IH0sCisgICAgdG9TdHJpbmc6IGZ1bmN0aW9uKCkgeyByZXR1
cm4ge307IH0KK307CitmdW5jdGlvbiByZWFkKCkgeworICAgIHJldHVybiAicmVhZCI7Cit9Citu
b0lubGluZShyZWFkKTsKKworZnVuY3Rpb24gZm9vKGEsIGIpIHsKKyAgICB2YXIgcmVzdWx0ID0g
bnVsbDsKKyAgICB2YXIgdmFsdWUgPSByZWFkKCk7CisgICAgdHJ5IHsKKyAgICAgICAgcmVzdWx0
ID0gYSA9PSBiOworICAgIH0gY2F0Y2goZSkgeworICAgICAgICBhc3NlcnQoIiIgKyB2YWx1ZSA9
PT0gInJlYWQiKTsKKyAgICB9CisgICAgcmV0dXJuIHZhbHVlOworfQorbm9JbmxpbmUoZm9vKTsK
KworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwOyBpKyspIHsKKyAgICBmb28oMTAsIDIwKTsKKyAg
ICBmb28oe30sIHt9KTsKKyAgICBmb28oMTAsIDEwLjApOworICAgIGZvbygiaGVsbG8iLCAiaGVs
bG8iKTsKKyAgICBmb28obnVsbCwgdW5kZWZpbmVkKTsKKyAgICBmb28oZmFsc2UsIDApOworfQor
Zm9vKG8sICJoZWxsbyIpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVz
cy9leGNlcHRpb24tZGZnLXRocm93LWZyb20tY2F0Y2gtYmxvY2suanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9leGNlcHRpb24tZGZnLXRocm93LWZy
b20tY2F0Y2gtYmxvY2suanMJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2V4Y2VwdGlvbi1kZmctdGhyb3ctZnJvbS1jYXRjaC1ibG9jay5qcwkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDQwIEBACisidXNlIHN0cmljdCI7CitmdW5jdGlvbiBhc3Nl
cnQoY29uZCwgbSkgeworICAgIGlmICghY29uZCkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJi
cm9rZSBhc3NlcnRpb246ICciICsgbSArICInIik7Cit9Citub0lubGluZShhc3NlcnQpOworCitm
dW5jdGlvbiBiYXooYikgeworICAgIGlmIChiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJh
eiIpOworfQorCitmdW5jdGlvbiBiYXIoYikgeworICAgIHZhciBleGNlcHRpb24gPSBudWxsOwor
ICAgIHRyeSB7CisgICAgICAgIGJheihiKTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgZXhj
ZXB0aW9uID0gZTsKKyAgICAgICAgYmF6KGIpOworICAgIH0gZmluYWxseSB7CisgICAgICAgIGlm
IChiKSAKKyAgICAgICAgICAgIGFzc2VydChleGNlcHRpb24pOworICAgIH0KK30KKworZnVuY3Rp
b24gZm9vKGIpIHsKKyAgICB2YXIgZXhjZXB0aW9uID0gbnVsbDsKKyAgICB0cnkgeworICAgICAg
ICBiYXIoYik7CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIGV4Y2VwdGlvbiA9IGU7CisgICAg
fQorICAgIGlmIChiKQorICAgICAgICBhc3NlcnQoZXhjZXB0aW9uKTsKK30KKworY29uc3QgTlVN
X0xPT1BTID0gMTAwMDsKK2ZvciAodmFyIGkgPSAwOyBpIDwgTlVNX0xPT1BTOyBpKyspIHsKKyAg
ICBmb28oaSA9PT0gTlVNX0xPT1BTIC0gMSk7Cit9CkluZGV4OiBMYXlvdXRUZXN0cy9qcy9zY3Jp
cHQtdGVzdHMvZGZnLWdldHRlci10aHJvdy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9q
cy9zY3JpcHQtdGVzdHMvZGZnLWdldHRlci10aHJvdy5qcwkocmV2aXNpb24gMTg5NzQ0KQorKysg
TGF5b3V0VGVzdHMvanMvc2NyaXB0LXRlc3RzL2RmZy1nZXR0ZXItdGhyb3cuanMJKHdvcmtpbmcg
Y29weSkKQEAgLTEzLDYgKzEzLDcgQEAgZnVuY3Rpb24gYmFyKG8pIHsKICAgICAgICAgcmV0dXJu
ICJUaHJldyBleGNlcHRpb246ICIgKyBlOwogICAgIH0KIH0KK25vSW5saW5lKGJhcik7CiAKIGZv
ciAodmFyIGkgPSAwOyBpIDwgMjAwOyArK2kpIHsKICAgICB2YXIgbyA9IG5ldyBPYmplY3QoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261236</attachid>
            <date>2015-09-15 14:18:09 -0700</date>
            <delta_ts>2015-09-18 15:47:22 -0700</delta_ts>
            <desc>patch</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>171350</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDE4OTgxNykK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzLnR4dAkod29ya2luZyBjb3B5KQpA
QCAtMTg1LDYgKzE4NSw3IEBAIHNldChKYXZhU2NyaXB0Q29yZV9TT1VSQ0VTCiAgICAgZGZnL0RG
R0ZpeHVwUGhhc2UuY3BwCiAgICAgZGZnL0RGR0ZsdXNoRm9ybWF0LmNwcAogICAgIGRmZy9ERkdG
bHVzaGVkQXQuY3BwCisgICAgZGZnL0RGR0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9uUGhh
c2UuY3BwCiAgICAgZGZnL0RGR0Zyb3plblZhbHVlLmNwcAogICAgIGRmZy9ERkdGdW5jdGlvbldo
aXRlbGlzdC5jcHAKICAgICBkZmcvREZHR3JhcGguY3BwCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0ph
dmFTY3JpcHRDb3JlLnZjeHByb2oJKHJldmlzaW9uIDE4OTgxNykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2oJKHdv
cmtpbmcgY29weSkKQEAgLTQyMSw2ICs0MjEsNyBAQAogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0i
Li5cZGZnXERGR0ZpeHVwUGhhc2UuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5c
ZGZnXERGR0ZsdXNoZWRBdC5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxkZmdc
REZHRmx1c2hGb3JtYXQuY3BwIiAvPgorICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZGZnXERG
R0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9uUGhhc2UuY3BwIiAvPgogICAgIDxDbENvbXBp
bGUgSW5jbHVkZT0iLi5cZGZnXERGR0Zyb3plblZhbHVlLmNwcCIgLz4KICAgICA8Q2xDb21waWxl
IEluY2x1ZGU9Ii4uXGRmZ1xERkdGdW5jdGlvbldoaXRlbGlzdC5jcHAiIC8+CiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxkZmdcREZHR3JhcGguY3BwIiAvPgpAQCAtMTE1MCw2ICsxMTUxLDcg
QEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRmZ1xERkdGaXh1cFBoYXNlLmgiIC8+CiAg
ICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkZmdcREZHRmx1c2hlZEF0LmgiIC8+CiAgICAgPENs
SW5jbHVkZSBJbmNsdWRlPSIuLlxkZmdcREZHRmx1c2hGb3JtYXQuaCIgLz4KKyAgICA8Q2xJbmNs
dWRlIEluY2x1ZGU9Ii4uXGRmZ1xERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNl
LmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkZmdcREZHRm9yQWxsS2lsbHMuaCIg
Lz4KICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRmZ1xERkdGUFJJbmZvLmgiIC8+CiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkZmdcREZHRnJvemVuVmFsdWUuaCIgLz4KSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3JpcHRDb3Jl
LnZjeHByb2ouZmlsdGVycwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2
YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRlcnMJKHJldmlz
aW9uIDE4OTgxNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS52Y3hw
cm9qL0phdmFTY3JpcHRDb3JlLnZjeHByb2ouZmlsdGVycwkod29ya2luZyBjb3B5KQpAQCAtMTI0
Miw2ICsxMjQyLDkgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRmZ1xERkdGbHVzaEZv
cm1hdC5jcHAiPgogICAgICAgPEZpbHRlcj5kZmc8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4K
KyAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRmZ1xERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNl
cnZhdGlvblBoYXNlLmNwcCI+CisgICAgICA8RmlsdGVyPmRmZzwvRmlsdGVyPgorICAgIDwvQ2xD
b21waWxlPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZGZnXERGR0Z1bmN0aW9uV2hpdGVs
aXN0LmNwcCI+CiAgICAgICA8RmlsdGVyPmRmZzwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpA
QCAtMzcwNiw2ICszNzA5LDkgQEAKICAgICA8Q2xJbmNsdWRlIEluY2x1ZGU9Ii4uXGRmZ1xERkdG
bHVzaEZvcm1hdC5oIj4KICAgICAgIDxGaWx0ZXI+ZGZnPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1
ZGU+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkZmdcREZHTGl2ZUNhdGNoVmFyaWFibGVQ
cmVzZXJ2YXRpb25QaGFzZS5oIj4KKyAgICAgIDxGaWx0ZXI+ZGZnPC9GaWx0ZXI+CisgICAgPC9D
bEluY2x1ZGU+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkZmdcREZHRlBSSW5mby5oIj4K
ICAgICAgIDxGaWx0ZXI+ZGZnPC9GaWx0ZXI+CiAgICAgPC9DbEluY2x1ZGU+CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagkocmV2aXNpb24gMTg5ODE3KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtp
bmcgY29weSkKQEAgLTEwMzMsNiArMTAzMyw4IEBACiAJCTc5NjQ2NTZBMUI5NTJGRjAwMDMwNTlF
RSAvKiBHZXRQdXRJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3OTY0NjU2ODFCOTUyRkYwMDAzMDU5RUUgLyogR2V0UHV0SW5mby5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5N0UwN0E5MUI4RkNG
QjkwMDg0MDBCQSAvKiBKU0dsb2JhbExleGljYWxFbnZpcm9ubWVudC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OTdFMDdBNzFCOEZDRkI5MDA4NDAw
QkEgLyogSlNHbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQuY3BwICovOyB9OwogCQk3OTdFMDdBQTFC
OEZDRkI5MDA4NDAwQkEgLyogSlNHbG9iYWxMZXhpY2FsRW52aXJvbm1lbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5N0UwN0E4MUI4RkNGQjkwMDg0
MDBCQSAvKiBKU0dsb2JhbExleGljYWxFbnZpcm9ubWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTc5QzRCMTVEMUJBMjE1OEYwMEZENTkyRSAv
KiBERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5QzRCMTVCMUJBMjE1OEYwMEZENTky
RSAvKiBERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlLmNwcCAqLzsgfTsKKwkJ
NzlDNEIxNUUxQkEyMTU4RjAwRkQ1OTJFIC8qIERGR0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0
aW9uUGhhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDc5QzRCMTVDMUJBMjE1OEYwMEZENTkyRSAvKiBERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZh
dGlvblBoYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNzlFRTBCRkYxQjRBRkI4NTAwMDM4NUM5IC8qIFZhcmlhYmxlRW52aXJvbm1lbnQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzlFRTBCRkQx
QjRBRkI4NTAwMDM4NUM5IC8qIFZhcmlhYmxlRW52aXJvbm1lbnQuY3BwICovOyB9OwogCQk3OUVF
MEMwMDFCNEFGQjg1MDAwMzg1QzkgLyogVmFyaWFibGVFbnZpcm9ubWVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzlFRTBCRkUxQjRBRkI4NTAwMDM4
NUM5IC8qIFZhcmlhYmxlRW52aXJvbm1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwogCQk3OUY4RkMxRTFCOUZFRDBGMDBDQTY2QUIgLyogREZHTWF4
aW1hbEZsdXNoSW5zZXJ0aW9uUGhhc2UuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNzlGOEZDMUMxQjlGRUQwRjAwQ0E2NkFCIC8qIERGR01heGltYWxG
bHVzaEluc2VydGlvblBoYXNlLmNwcCAqLzsgfTsKQEAgLTI4NjYsNiArMjg2OCw4IEBACiAJCTc5
NjQ2NTY4MUI5NTJGRjAwMDMwNTlFRSAvKiBHZXRQdXRJbmZvLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEdldFB1dEluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNzk3RTA3QTcxQjhGQ0ZCOTAwODQwMEJBIC8qIEpTR2xvYmFsTGV4aWNhbEVudmlyb25tZW50
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTR2xvYmFsTGV4aWNh
bEVudmlyb25tZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzk3RTA3QTgx
QjhGQ0ZCOTAwODQwMEJBIC8qIEpTR2xvYmFsTGV4aWNhbEVudmlyb25tZW50LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTR2xvYmFsTGV4aWNhbEVudmlyb25tZW50Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTc5QzRCMTVCMUJBMjE1OEYwMEZENTkyRSAvKiBE
RkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9uUGhh
c2UuY3BwOyBwYXRoID0gZGZnL0RGR0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9uUGhhc2Uu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3OUM0QjE1QzFCQTIxNThGMDBGRDU5
MkUgLyogREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IG5hbWUgPSBERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBo
YXNlLmg7IHBhdGggPSBkZmcvREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OUVFMEJGRDFCNEFGQjg1MDAwMzg1Qzkg
LyogVmFyaWFibGVFbnZpcm9ubWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBWYXJpYWJsZUVudmlyb25tZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNzlFRTBCRkUxQjRBRkI4NTAwMDM4NUM5IC8qIFZhcmlhYmxlRW52aXJvbm1lbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVmFyaWFibGVFbnZpcm9ubWVudC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3OUY4RkMxQzFCOUZFRDBGMDBDQTY2QUIgLyog
REZHTWF4aW1hbEZsdXNoSW5zZXJ0aW9uUGhhc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gREZHTWF4aW1hbEZsdXNoSW5zZXJ0aW9uUGhhc2UuY3BwOyBwYXRoID0g
ZGZnL0RGR01heGltYWxGbHVzaEluc2VydGlvblBoYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTUyMjksNiArNTIzMyw4IEBACiAJCQkJMEY5RDMzOTUxN0ZGQzRFNjAwNzND
MkJDIC8qIERGR0ZsdXNoZWRBdC5oICovLAogCQkJCUE3RDg5Q0U4MTdBMEI4Q0MwMDc3M0FEOCAv
KiBERkdGbHVzaEZvcm1hdC5jcHAgKi8sCiAJCQkJQTdEODlDRTkxN0EwQjhDQzAwNzczQUQ4IC8q
IERGR0ZsdXNoRm9ybWF0LmggKi8sCisJCQkJNzlDNEIxNUIxQkEyMTU4RjAwRkQ1OTJFIC8qIERG
R0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9uUGhhc2UuY3BwICovLAorCQkJCTc5QzRCMTVD
MUJBMjE1OEYwMEZENTkyRSAvKiBERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNl
LmggKi8sCiAJCQkJMEYyREQ4MTAxQUIzRDhCRTAwQkJCOEU4IC8qIERGR0ZvckFsbEtpbGxzLmgg
Ki8sCiAJCQkJMEY2OUNDODYxOTNBQzYwQTAwNDU3NTlFIC8qIERGR0Zyb3plblZhbHVlLmNwcCAq
LywKIAkJCQkwRjY5Q0M4NzE5M0FDNjBBMDA0NTc1OUUgLyogREZHRnJvemVuVmFsdWUuaCAqLywK
QEAgLTU5MjQsNiArNTkzMCw3IEBACiAJCQkJQTFBMDA5QzExODMxQTI2RTAwQ0Y4NzExIC8qIEFS
TTY0QXNzZW1ibGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwRjg5OEYzMjFCMjc2ODlGMDA4M0Ez
M0MgLyogREZHSW50ZWdlclJhbmdlT3B0aW1pemF0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICovLAog
CQkJCTg2RDNCMkM0MTAxNTZCREUwMDI4NjVFNyAvKiBBUk1Bc3NlbWJsZXIuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTc5QzRCMTVFMUJBMjE1OEYwMEZENTkyRSAvKiBERkdMaXZlQ2F0Y2hWYXJpYWJs
ZVByZXNlcnZhdGlvblBoYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk3OUY4RkMxRjFCOUZFRDBG
MDBDQTY2QUIgLyogREZHTWF4aW1hbEZsdXNoSW5zZXJ0aW9uUGhhc2UuaCBpbiBIZWFkZXJzICov
LAogCQkJCTk5RjFBNzAxMUI5OEZCRUMwMDQ2M0IyNiAvKiBJbnNwZWN0b3JGcm9udGVuZFJvdXRl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzk2NDY1NkExQjk1MkZGMDAwMzA1OUVFIC8qIEdldFB1
dEluZm8uaCBpbiBIZWFkZXJzICovLApAQCAtODAwMCw2ICs4MDA3LDcgQEAKIAkJCQlBMTU4N0Q3
MTFCNERDMTQxMDBENjk4NDkgLyogSW50bERhdGVUaW1lRm9ybWF0UHJvdG90eXBlLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTBGMkI2NzBBMTdCNkI1QUIwMEE3QUUzRiAvKiBUeXBlZEFycmF5VHlw
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MkM5NTJCOTE5QTI4QTFDMDA2OUIzODYgLyogVHlw
ZVByb2ZpbGVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTc5QzRCMTVEMUJBMjE1OEYwMEZENTky
RSAvKiBERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTBGRjQyNzRBMTU4RUJFOTEwMDRDQjlGRiAvKiB1ZGlzODYuYyBpbiBTb3VyY2Vz
ICovLAogCQkJCTBGRjQyNzQwMTU4RUJFOEIwMDRDQjlGRiAvKiB1ZGlzODZfZGVjb2RlLmMgaW4g
U291cmNlcyAqLywKIAkJCQkwRkY0Mjc0MzE1OEVCRTkxMDA0Q0I5RkYgLyogdWRpczg2X2lucHV0
LmMgaW4gU291cmNlcyAqLywKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9D
b2RlQmxvY2suaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUv
Q29kZUJsb2NrLmgJKHJldmlzaW9uIDE4OTgxNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
eXRlY29kZS9Db2RlQmxvY2suaAkod29ya2luZyBjb3B5KQpAQCAtOTE2LDYgKzkxNiwxOCBAQCBw
dWJsaWM6CiAgICAgICAgIEV2YWxDb2RlQ2FjaGUgbV9ldmFsQ29kZUNhY2hlOwogICAgIH07CiAK
KyAgICB2b2lkIGNsZWFyRXhjZXB0aW9uSGFuZGxlcnMoKQorICAgIHsKKyAgICAgICAgaWYgKG1f
cmFyZURhdGEpCisgICAgICAgICAgICBtX3JhcmVEYXRhLT5tX2V4Y2VwdGlvbkhhbmRsZXJzLmNs
ZWFyKCk7CisgICAgfQorCisgICAgdm9pZCBhcHBlbmRFeGNlcHRpb25IYW5kbGVyKGNvbnN0IEhh
bmRsZXJJbmZvJiBoYW5kbGVyKQorICAgIHsKKyAgICAgICAgY3JlYXRlUmFyZURhdGFJZk5lY2Vz
c2FyeSgpOyAvLyBXZSBtYXkgYmUgaGFuZGxpbmcgdGhlIGV4Y2VwdGlvbiBvZiBhbiBpbmxpbmVk
IGNhbGwgZnJhbWUuCisgICAgICAgIG1fcmFyZURhdGEtPm1fZXhjZXB0aW9uSGFuZGxlcnMuYXBw
ZW5kKGhhbmRsZXIpOworICAgIH0KKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCB2aXNp
dFdlYWtSZWZlcmVuY2VzKFNsb3RWaXNpdG9yJikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lk
IGZpbmFsaXplVW5jb25kaXRpb25hbGx5KCkgb3ZlcnJpZGU7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvUHJlY2lzZUp1bXBUYXJnZXRzLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJlY2lzZUp1bXBUYXJnZXRzLmNwcAkocmV2
aXNpb24gMTg5ODE3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ByZWNpc2VK
dW1wVGFyZ2V0cy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTkzLDkgKzkzLDEyIEBAIHZvaWQgY29t
cHV0ZVByZWNpc2VKdW1wVGFyZ2V0cyhDb2RlQmxvY2sKICAgICBpZiAoIWNvZGVCbG9jay0+bnVt
YmVyT2ZKdW1wVGFyZ2V0cygpKQogICAgICAgICByZXR1cm47CiAgICAgCi0gICAgZm9yICh1bnNp
Z25lZCBpID0gY29kZUJsb2NrLT5udW1iZXJPZkV4Y2VwdGlvbkhhbmRsZXJzKCk7IGktLTspCisg
ICAgZm9yICh1bnNpZ25lZCBpID0gY29kZUJsb2NrLT5udW1iZXJPZkV4Y2VwdGlvbkhhbmRsZXJz
KCk7IGktLTspIHsKICAgICAgICAgb3V0LmFwcGVuZChjb2RlQmxvY2stPmV4Y2VwdGlvbkhhbmRs
ZXIoaSkudGFyZ2V0KTsKLSAgICAKKyAgICAgICAgb3V0LmFwcGVuZChjb2RlQmxvY2stPmV4Y2Vw
dGlvbkhhbmRsZXIoaSkuc3RhcnQpOworICAgICAgICBvdXQuYXBwZW5kKGNvZGVCbG9jay0+ZXhj
ZXB0aW9uSGFuZGxlcihpKS5lbmQpOworICAgIH0KKwogICAgIEludGVycHJldGVyKiBpbnRlcnBy
ZXRlciA9IGNvZGVCbG9jay0+dm0oKS0+aW50ZXJwcmV0ZXI7CiAgICAgSW5zdHJ1Y3Rpb24qIGlu
c3RydWN0aW9uc0JlZ2luID0gY29kZUJsb2NrLT5pbnN0cnVjdGlvbnMoKS5iZWdpbigpOwogICAg
IHVuc2lnbmVkIGluc3RydWN0aW9uQ291bnQgPSBjb2RlQmxvY2stPmluc3RydWN0aW9ucygpLnNp
emUoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQ
YXJzZXIuY3BwCShyZXZpc2lvbiAxODk4MTcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDM0LDcgKzQzNCw2IEBA
IHByaXZhdGU6CiAgICAgICAgIG1fY3VycmVudEJsb2NrLT52YXJpYWJsZXNBdFRhaWwubG9jYWwo
bG9jYWwpID0gbm9kZTsKICAgICAgICAgcmV0dXJuIG5vZGU7CiAgICAgfQotCiAgICAgTm9kZSog
c2V0TG9jYWwoY29uc3QgQ29kZU9yaWdpbiYgc2VtYW50aWNPcmlnaW4sIFZpcnR1YWxSZWdpc3Rl
ciBvcGVyYW5kLCBOb2RlKiB2YWx1ZSwgU2V0TW9kZSBzZXRNb2RlID0gTm9ybWFsU2V0KQogICAg
IHsKICAgICAgICAgQ29kZU9yaWdpbiBvbGRTZW1hbnRpY09yaWdpbiA9IG1fY3VycmVudFNlbWFu
dGljT3JpZ2luOwpAQCAtMzc4MCw2ICszNzc5LDEwIEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBh
cnNlQmxvY2sodW5zaWduZWQKICAgICAgICAgICAgIGZsdXNoRm9yVGVybWluYWwoKTsKICAgICAg
ICAgICAgIGFkZFRvR3JhcGgoVW5yZWFjaGFibGUpOwogICAgICAgICAgICAgTEFTVF9PUENPREUo
b3BfdGhyb3dfc3RhdGljX2Vycm9yKTsKKworICAgICAgICBjYXNlIG9wX2NhdGNoOgorICAgICAg
ICAgICAgbV9ncmFwaC5tX2hhc0V4Y2VwdGlvbkhhbmRsZXJzID0gdHJ1ZTsKKyAgICAgICAgICAg
IE5FWFRfT1BDT0RFKG9wX2NhdGNoKTsKICAgICAgICAgICAgIAogICAgICAgICBjYXNlIG9wX2Nh
bGw6CiAgICAgICAgICAgICBoYW5kbGVDYWxsKGN1cnJlbnRJbnN0cnVjdGlvbiwgQ2FsbCwgQ29k
ZUZvckNhbGwpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRp
ZXMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJp
bGl0aWVzLmNwcAkocmV2aXNpb24gMTg5ODE3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdDYXBhYmlsaXRpZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMTEsNiArMjExLDcgQEAg
Q2FwYWJpbGl0eUxldmVsIGNhcGFiaWxpdHlMZXZlbChPcGNvZGVJRAogICAgIGNhc2Ugb3BfbmV3
X2Fycm93X2Z1bmNfZXhwOgogICAgIGNhc2Ugb3BfY3JlYXRlX2xleGljYWxfZW52aXJvbm1lbnQ6
CiAgICAgY2FzZSBvcF9nZXRfcGFyZW50X3Njb3BlOgorICAgIGNhc2Ugb3BfY2F0Y2g6CiAgICAg
ICAgIHJldHVybiBDYW5Db21waWxlQW5kSW5saW5lOwogCiAgICAgY2FzZSBvcF9wdXRfdG9fc2Nv
cGU6IHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tbW9uRGF0YS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb25EYXRhLmNw
cAkocmV2aXNpb24gMTg5ODE3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21t
b25EYXRhLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTcsNiArNTcsMTIgQEAgQ2FsbFNpdGVJbmRl
eCBDb21tb25EYXRhOjphZGRDb2RlT3JpZ2luKAogICAgIHJldHVybiBDYWxsU2l0ZUluZGV4KGlu
ZGV4KTsKIH0KIAorQ2FsbFNpdGVJbmRleCBDb21tb25EYXRhOjpsYXN0Q2FsbFNpdGUoKSBjb25z
dAoreworICAgIEFTU0VSVChjb2RlT3JpZ2lucy5zaXplKCkpOworICAgIHJldHVybiBDYWxsU2l0
ZUluZGV4KGNvZGVPcmlnaW5zLnNpemUoKSAtIDEpOworfQorCiB2b2lkIENvbW1vbkRhdGE6OnNo
cmlua1RvRml0KCkKIHsKICAgICBjb2RlT3JpZ2lucy5zaHJpbmtUb0ZpdCgpOwpJbmRleDogU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb25EYXRhLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb25EYXRhLmgJKHJldmlzaW9uIDE4OTgxNykK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tbW9uRGF0YS5oCSh3b3JraW5nIGNv
cHkpCkBAIC04MCw2ICs4MCw3IEBAIHB1YmxpYzoKICAgICAKICAgICB2b2lkIG5vdGlmeUNvbXBp
bGluZ1N0cnVjdHVyZVRyYW5zaXRpb24oUGxhbiYsIENvZGVCbG9jayosIE5vZGUqKTsKICAgICBD
YWxsU2l0ZUluZGV4IGFkZENvZGVPcmlnaW4oQ29kZU9yaWdpbik7CisgICAgQ2FsbFNpdGVJbmRl
eCBsYXN0Q2FsbFNpdGUoKSBjb25zdDsKICAgICAKICAgICB2b2lkIHNocmlua1RvRml0KCk7CiAg
ICAgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5oCShyZXZpc2lvbiAxODk4
MTcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0dyYXBoLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTg3NSw2ICs4NzUsNyBAQCBwdWJsaWM6CiAgICAgUGxhblN0YWdlIG1fcGxhblN0YWdl
IHsgUGxhblN0YWdlOjpJbml0aWFsIH07CiAgICAgUmVmQ291bnRTdGF0ZSBtX3JlZkNvdW50U3Rh
dGU7CiAgICAgYm9vbCBtX2hhc0RlYnVnZ2VyRW5hYmxlZDsKKyAgICBib29sIG1faGFzRXhjZXB0
aW9uSGFuZGxlcnMgeyBmYWxzZSB9OwogcHJpdmF0ZToKICAgICAKICAgICB2b2lkIGhhbmRsZVN1
Y2Nlc3NvcihWZWN0b3I8QmFzaWNCbG9jayosIDE2PiYgd29ya2xpc3QsIEJhc2ljQmxvY2sqLCBC
YXNpY0Jsb2NrKiBzdWNjZXNzb3IpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdKSVRDb21waWxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdKSVRDb21waWxlci5jcHAJKHJldmlzaW9uIDE4OTgxNykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHSklUQ29tcGlsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NSw2ICs4
NSwxOCBAQCB2b2lkIEpJVENvbXBpbGVyOjpsaW5rT1NSRXhpdHMoKQogICAgICAgICAgICAgZmFp
bHVyZUp1bXBzLmxpbmsodGhpcyk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIGluZm8ubV9y
ZXBsYWNlbWVudERlc3RpbmF0aW9uID0gbGFiZWwoKTsKKworICAgICAgICBpZiAoZXhpdC5tX3dp
bGxBcnJpdmVBdE9TUkV4aXRGcm9tR2VuZXJpY1Vud2luZCkgeworICAgICAgICAgICAgLy8gV2Ug
YXJlIGFjdGluZyBhcyBhIGRlZmFjdG8gb3BfY2F0Y2ggYmVjYXVzZSB3ZSBhcnJpdmUgaGVyZSBm
cm9tIGdlbmVyaWNVbndpbmQoKS4KKyAgICAgICAgICAgIC8vIFNvLCB3ZSBtdXN0IHJlc3RvcmUg
b3VyIGNhbGwgZnJhbWUgYW5kIHN0YWNrIHBvaW50ZXIuCisgICAgICAgICAgICBsb2FkUHRyKHZt
KCktPmFkZHJlc3NPZkNhbGxGcmFtZUZvckNhdGNoKCksIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lz
dGVyKTsKKyAgICAgICAgICAgIGFkZFB0cihUcnVzdGVkSW1tMzIoZ3JhcGgoKS5zdGFja1BvaW50
ZXJPZmZzZXQoKSAqIHNpemVvZihSZWdpc3RlcikpLCBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rl
ciwgc3RhY2tQb2ludGVyUmVnaXN0ZXIpOworICAgICAgICAgICAgcmVzdG9yZUNhbGxlZVNhdmVz
RnJvbVZNQ2FsbGVlU2F2ZXNCdWZmZXIoKTsKKyAgICAgICAgfSBlbHNlIGlmIChleGl0Lm1faXNF
eGNlcHRpb25IYW5kbGVyKSB7CisgICAgICAgICAgICBBU1NFUlQoIWV4aXQubV93aWxsQXJyaXZl
QXRPU1JFeGl0RnJvbUdlbmVyaWNVbndpbmQpOworICAgICAgICAgICAgY29weUNhbGxlZVNhdmVz
VG9WTUNhbGxlZVNhdmVzQnVmZmVyKCk7CisgICAgICAgIH0KKwogICAgICAgICBqaXRBc3NlcnRI
YXNWYWxpZENhbGxGcmFtZSgpOwogICAgICAgICBzdG9yZTMyKFRydXN0ZWRJbW0zMihpKSwgJnZt
KCktPm9zckV4aXRJbmRleCk7CiAgICAgICAgIGV4aXQuc2V0UGF0Y2hhYmxlQ29kZU9mZnNldChw
YXRjaGFibGVKdW1wKCkpOwpAQCAtMjgzLDkgKzI5NSwyNyBAQCB2b2lkIEpJVENvbXBpbGVyOjps
aW5rKExpbmtCdWZmZXImIGxpbmtCCiAgICAgICAgIH0KICAgICB9IGVsc2UKICAgICAgICAgQVNT
RVJUKCFtX2V4aXRTaXRlTGFiZWxzLnNpemUoKSk7Ci0gICAgCisKICAgICBtX2ppdENvZGUtPmNv
bW1vbi5jb21waWxhdGlvbiA9IG1fZ3JhcGguY29tcGlsYXRpb24oKTsKICAgICAKKyAgICAvLyBM
aW5rIG5ldyBERkcgZXhjZXB0aW9uIGhhbmRsZXJzIGFuZCByZW1vdmUgYmFzZWxpbmUgSklUIGhh
bmRsZXJzLgorICAgIG1fY29kZUJsb2NrLT5jbGVhckV4Y2VwdGlvbkhhbmRsZXJzKCk7CisgICAg
Zm9yICh1bnNpZ25lZCAgaSA9IDA7IGkgPCBtX2V4Y2VwdGlvbk9TUkV4aXRDYWxsU2l0ZXMuc2l6
ZSgpOyBpKyspIHsKKyAgICAgICAgT1NSRXhpdENvbXBpbGF0aW9uSW5mbyYgaW5mbyA9IG1fZXhj
ZXB0aW9uT1NSRXhpdENhbGxTaXRlc1tpXS5leGl0SW5mbzsKKyAgICAgICAgaWYgKGluZm8ubV9y
ZXBsYWNlbWVudERlc3RpbmF0aW9uLmlzU2V0KCkpIHsKKyAgICAgICAgICAgIC8vIElmIHRoaXMg
aXMgaXMgKm5vdCogc2V0LCBpdCBtZWFucyB0aGF0IHdlIGFscmVhZHkganVtcGVkIHRvIHRoZSBP
U1IgZXhpdCBpbiBwdXJlIGdlbmVyYXRlZCBjb250cm9sIGZsb3cuCisgICAgICAgICAgICAvLyBp
LmUsIHdlIGV4cGxpY2l0bHkgZW1pdHRlZCBhbiBleGNlcHRpb25DaGVjayB0aGF0IHdlIGtub3cg
d2lsbCBiZSBjYXVnaHQgaW4gdGhpcyBtYWNoaW5lIGZyYW1lLgorICAgICAgICAgICAgLy8gSWYg
dGhpcyAqaXMgc2V0KiwgaXQgbWVhbnMgd2Ugd2lsbCBiZSBsYW5kaW5nIGF0IHRoaXMgY29kZSBs
b2NhdGlvbiBmcm9tIGdlbmVyaWNVbndpbmQgZnJvbSBhbgorICAgICAgICAgICAgLy8gZXhjZXB0
aW9uIHRocm93biBpbiBhIGNoaWxkIGNhbGwgZnJhbWUuCisgICAgICAgICAgICBDb2RlTG9jYXRp
b25MYWJlbCBjYXRjaExhYmVsID0gbGlua0J1ZmZlci5sb2NhdGlvbk9mKGluZm8ubV9yZXBsYWNl
bWVudERlc3RpbmF0aW9uKTsKKyAgICAgICAgICAgIEhhbmRsZXJJbmZvIG5ld0V4Y2VwdGlvbkhh
bmRsZXIgPSBtX2V4Y2VwdGlvbk9TUkV4aXRDYWxsU2l0ZXNbaV0uYmFzZWxpbmVFeGNlcHRpb25I
YW5kbGVyOworICAgICAgICAgICAgQ2FsbFNpdGVJbmRleCBjYWxsU2l0ZSA9IG1fZXhjZXB0aW9u
T1NSRXhpdENhbGxTaXRlc1tpXS5jYWxsU2l0ZUluZGV4OworICAgICAgICAgICAgbmV3RXhjZXB0
aW9uSGFuZGxlci5zdGFydCA9IGNhbGxTaXRlLmJpdHMoKTsKKyAgICAgICAgICAgIG5ld0V4Y2Vw
dGlvbkhhbmRsZXIuZW5kID0gY2FsbFNpdGUuYml0cygpICsgMTsKKyAgICAgICAgICAgIG5ld0V4
Y2VwdGlvbkhhbmRsZXIubmF0aXZlQ29kZSA9IGNhdGNoTGFiZWw7CisgICAgICAgICAgICBtX2Nv
ZGVCbG9jay0+YXBwZW5kRXhjZXB0aW9uSGFuZGxlcihuZXdFeGNlcHRpb25IYW5kbGVyKTsKKyAg
ICAgICAgfQorICAgIH0KIH0KIAogdm9pZCBKSVRDb21waWxlcjo6Y29tcGlsZSgpCkBAIC0zMzcs
NyArMzY3LDcgQEAgdm9pZCBKSVRDb21waWxlcjo6Y29tcGlsZSgpCiAgICAgCiAgICAgbGluaygq
bGlua0J1ZmZlcik7CiAgICAgbV9zcGVjdWxhdGl2ZS0+bGlua09TUkVudHJpZXMoKmxpbmtCdWZm
ZXIpOwotICAgIAorCiAgICAgbV9qaXRDb2RlLT5zaHJpbmtUb0ZpdCgpOwogICAgIGNvZGVCbG9j
aygpLT5zaHJpbmtUb0ZpdChDb2RlQmxvY2s6OkxhdGVTaHJpbmspOwogCkBAIC01MjIsNiArNTUy
LDY2IEBAIHZvaWQgSklUQ29tcGlsZXI6Om5vdGljZU9TUkVudHJ5KEJhc2ljQmwKICAgICBlbnRy
eS0+bV9yZXNodWZmbGluZ3Muc2hyaW5rVG9GaXQoKTsKIH0KIAordm9pZCBKSVRDb21waWxlcjo6
YXBwZW5kRXhjZXB0aW9uSGFuZGxpbmdPU1JFeGl0KHVuc2lnbmVkIGV2ZW50U3RyZWFtSW5kZXgs
IENvZGVPcmlnaW4gb3BDYXRjaE9yaWdpbiwgSGFuZGxlckluZm8qIGV4Y2VwdGlvbkhhbmRsZXIs
IENhbGxTaXRlSW5kZXggY2FsbFNpdGUsIE1hY3JvQXNzZW1ibGVyOjpKdW1wTGlzdCBqdW1wc1Rv
RmFpbCkKK3sKKyAgICBPU1JFeGl0IGV4aXQoVW5jb3VudGFibGUsIEpTVmFsdWVSZWdzKCksIGdy
YXBoKCkubWV0aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmlsZUZvcihudWxscHRyKSwgbV9zcGVjdWxh
dGl2ZS5nZXQoKSwgZXZlbnRTdHJlYW1JbmRleCk7CisgICAgZXhpdC5tX3dpbGxBcnJpdmVBdE9T
UkV4aXRGcm9tR2VuZXJpY1Vud2luZCA9IGp1bXBzVG9GYWlsLmVtcHR5KCk7IC8vIElmIGp1bXBz
IGFyZSBlbXB0eSwgd2UncmUgZ29pbmcgdG8ganVtcCBoZXJlIGZyb20gZ2VuZXJpY1Vud2luZCBm
cm9tIGEgY2hpbGQgY2FsbCBmcmFtZS4KKyAgICBleGl0Lm1faXNFeGNlcHRpb25IYW5kbGVyID0g
dHJ1ZTsKKyAgICBleGl0Lm1fY29kZU9yaWdpbiA9IG9wQ2F0Y2hPcmlnaW47CisgICAgT1NSRXhp
dENvbXBpbGF0aW9uSW5mbyYgZXhpdEluZm8gPSBhcHBlbmRFeGl0SW5mbyhqdW1wc1RvRmFpbCk7
CisgICAgaml0Q29kZSgpLT5hcHBlbmRPU1JFeGl0KGV4aXQpOworICAgIG1fZXhjZXB0aW9uT1NS
RXhpdENhbGxTaXRlcy5hcHBlbmQoRXhjZXB0aW9uSGFuZGxlckZvck9TUkV4aXQgeyBleGl0SW5m
bywgKmV4Y2VwdGlvbkhhbmRsZXIsIGNhbGxTaXRlIH0pOworfQorCitib29sIEpJVENvbXBpbGVy
Ojp3aWxsQ2F0Y2hFeGNlcHRpb25Jbk1hY2hpbmVGcmFtZShDb2RlT3JpZ2luIGNvZGVPcmlnaW4s
IENvZGVPcmlnaW4mIG9wQ2F0Y2hPcmlnaW5PdXQsIEhhbmRsZXJJbmZvKiYgY2F0Y2hIYW5kbGVy
T3V0KQoreworICAgIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXhUb0NoZWNrID0gY29kZU9yaWdpbi5i
eXRlY29kZUluZGV4OworICAgIHdoaWxlICgxKSB7CisgICAgICAgIElubGluZUNhbGxGcmFtZSog
aW5saW5lQ2FsbEZyYW1lID0gY29kZU9yaWdpbi5pbmxpbmVDYWxsRnJhbWU7CisgICAgICAgIENv
ZGVCbG9jayogY29kZUJsb2NrID0gbV9ncmFwaC5iYXNlbGluZUNvZGVCbG9ja0ZvcihpbmxpbmVD
YWxsRnJhbWUpOworICAgICAgICBpZiAoSGFuZGxlckluZm8qIGhhbmRsZXIgPSBjb2RlQmxvY2st
PmhhbmRsZXJGb3JCeXRlY29kZU9mZnNldChieXRlY29kZUluZGV4VG9DaGVjaykpIHsKKyAgICAg
ICAgICAgIG9wQ2F0Y2hPcmlnaW5PdXQgPSBDb2RlT3JpZ2luKGhhbmRsZXItPnRhcmdldCwgaW5s
aW5lQ2FsbEZyYW1lKTsKKyAgICAgICAgICAgIGNhdGNoSGFuZGxlck91dCA9IGhhbmRsZXI7Cisg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIGlmICghaW5saW5l
Q2FsbEZyYW1lKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIGJ5dGVjb2Rl
SW5kZXhUb0NoZWNrID0gaW5saW5lQ2FsbEZyYW1lLT5jYWxsZXIuYnl0ZWNvZGVJbmRleDsKKyAg
ICAgICAgY29kZU9yaWdpbiA9IGNvZGVPcmlnaW4uaW5saW5lQ2FsbEZyYW1lLT5jYWxsZXI7Cisg
ICAgfQorCisgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKK30KKwordm9pZCBKSVRD
b21waWxlcjo6ZXhjZXB0aW9uQ2hlY2soKQoreworICAgIENvZGVPcmlnaW4gb3BDYXRjaE9yaWdp
bjsKKyAgICBIYW5kbGVySW5mbyogZXhjZXB0aW9uSGFuZGxlcjsKKyAgICAvLyBGSVhNRTogd3Jp
dGUgYSBjb21tZW50IG9uIHdoeSB3ZSB1c2Ugb3JpZ2luLmZvckV4aXQgYW5kIG5vdCBvcmlnaW4u
c2VtYW50aWMuCisgICAgYm9vbCB3aWxsQ2F0Y2hFeGNlcHRpb24gPSB3aWxsQ2F0Y2hFeGNlcHRp
b25Jbk1hY2hpbmVGcmFtZShtX3NwZWN1bGF0aXZlLT5tX2N1cnJlbnROb2RlLT5vcmlnaW4uZm9y
RXhpdCwgb3BDYXRjaE9yaWdpbiwgZXhjZXB0aW9uSGFuZGxlcik7IAorICAgIGlmICh3aWxsQ2F0
Y2hFeGNlcHRpb24pIHsKKyAgICAgICAgdW5zaWduZWQgc3RyZWFtSW5kZXggPSBtX3NwZWN1bGF0
aXZlLT5tX291dE9mTGluZVN0cmVhbUluZGV4ICE9IFVJTlRfTUFYID8gbV9zcGVjdWxhdGl2ZS0+
bV9vdXRPZkxpbmVTdHJlYW1JbmRleCA6IG1fc3BlY3VsYXRpdmUtPm1fc3RyZWFtLT5zaXplKCk7
CisgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIGhhZEV4Y2VwdGlvbiA9IGVtaXROb25QYXRj
aGFibGVFeGNlcHRpb25DaGVjaygpOworICAgICAgICAvLyBXZSBhc3N1bWUgaGVyZSB0aGF0IHRo
aXMgaXMgY2FsbGVkIGFmdGVyIGNhbGxPcGVhcnRpb24oKS9hcHBlbmRDYWxsKCkgaXMgY2FsbGVk
LgorICAgICAgICAvLyBXZSBzaG91bGQgcHJvYmFibHkgbWFrZSB0aGF0IGV4cGxpY2l0IGluIHRo
ZSBuYW1lLCBsaWtlIGNoZWNrRXhlcHRpb25BZnRlckNhbGwoKS4KKyAgICAgICAgYXBwZW5kRXhj
ZXB0aW9uSGFuZGxpbmdPU1JFeGl0KHN0cmVhbUluZGV4LCBvcENhdGNoT3JpZ2luLCBleGNlcHRp
b25IYW5kbGVyLCBtX2ppdENvZGUtPmNvbW1vbi5sYXN0Q2FsbFNpdGUoKSwgaGFkRXhjZXB0aW9u
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgbV9leGNlcHRpb25DaGVja3MuYXBwZW5kKGVtaXRFeGNl
cHRpb25DaGVjaygpKTsKK30KKworQ2FsbFNpdGVJbmRleCBKSVRDb21waWxlcjo6cmVjb3JkQ2Fs
bFNpdGVBbmRHZW5lcmF0ZUV4Y2VwdGlvbkhhbmRsaW5nT1NSRXhpdElmTmVlZGVkKGNvbnN0IENv
ZGVPcmlnaW4mIGNhbGxTaXRlQ29kZU9yaWdpbiwgdW5zaWduZWQgZXZlbnRTdHJlYW1JbmRleCkK
K3sKKyAgICBDb2RlT3JpZ2luIG9wQ2F0Y2hPcmlnaW47CisgICAgSGFuZGxlckluZm8qIGV4Y2Vw
dGlvbkhhbmRsZXI7CisgICAgYm9vbCB3aWxsQ2F0Y2hFeGNlcHRpb24gPSB3aWxsQ2F0Y2hFeGNl
cHRpb25Jbk1hY2hpbmVGcmFtZShjYWxsU2l0ZUNvZGVPcmlnaW4sIG9wQ2F0Y2hPcmlnaW4sIGV4
Y2VwdGlvbkhhbmRsZXIpOworICAgIENhbGxTaXRlSW5kZXggY2FsbFNpdGUgPSBhZGRDYWxsU2l0
ZShjYWxsU2l0ZUNvZGVPcmlnaW4pOworICAgIGlmICh3aWxsQ2F0Y2hFeGNlcHRpb24pCisgICAg
ICAgIGFwcGVuZEV4Y2VwdGlvbkhhbmRsaW5nT1NSRXhpdChldmVudFN0cmVhbUluZGV4LCBvcENh
dGNoT3JpZ2luLCBleGNlcHRpb25IYW5kbGVyLCBjYWxsU2l0ZSk7CisgICAgcmV0dXJuIGNhbGxT
aXRlOworfQorCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6REZHCiAKICNlbmRpZiAvLyBFTkFCTEUo
REZHX0pJVCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29tcGlsZXIu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVy
LmgJKHJldmlzaW9uIDE4OTgxNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklU
Q29tcGlsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgIkRG
R1JlZ2lzdGVyQmFuay5oIgogI2luY2x1ZGUgIkZQUkluZm8uaCIKICNpbmNsdWRlICJHUFJJbmZv
LmgiCisjaW5jbHVkZSAiSGFuZGxlckluZm8uaCIKICNpbmNsdWRlICJKSVRDb2RlLmgiCiAjaW5j
bHVkZSAiSklUSW5saW5lQ2FjaGVHZW5lcmF0b3IuaCIKICNpbmNsdWRlICJMaW5rQnVmZmVyLmgi
CkBAIC0xNTgsNiArMTU5LDExIEBAIHB1YmxpYzoKICAgICB2b2lkIGVtaXRTdG9yZUNvZGVPcmln
aW4oQ29kZU9yaWdpbiBjb2RlT3JpZ2luKQogICAgIHsKICAgICAgICAgQ2FsbFNpdGVJbmRleCBj
YWxsU2l0ZSA9IGFkZENhbGxTaXRlKGNvZGVPcmlnaW4pOworICAgICAgICBlbWl0U3RvcmVDYWxs
U2l0ZUluZGV4KGNhbGxTaXRlKTsKKyAgICB9CisKKyAgICB2b2lkIGVtaXRTdG9yZUNhbGxTaXRl
SW5kZXgoQ2FsbFNpdGVJbmRleCBjYWxsU2l0ZSkKKyAgICB7CiAgICAgICAgIHN0b3JlMzIoVHJ1
c3RlZEltbTMyKGNhbGxTaXRlLmJpdHMoKSksIHRhZ0ZvcihzdGF0aWNfY2FzdDxWaXJ0dWFsUmVn
aXN0ZXI+KEpTU3RhY2s6OkFyZ3VtZW50Q291bnQpKSk7CiAgICAgfQogCkBAIC0xNjksMTAgKzE3
NSw3IEBAIHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGZ1bmN0aW9uQ2FsbDsKICAgICB9CiAgICAg
Ci0gICAgdm9pZCBleGNlcHRpb25DaGVjaygpCi0gICAgewotICAgICAgICBtX2V4Y2VwdGlvbkNo
ZWNrcy5hcHBlbmQoZW1pdEV4Y2VwdGlvbkNoZWNrKCkpOwotICAgIH0KKyAgICB2b2lkIGV4Y2Vw
dGlvbkNoZWNrKCk7CiAKICAgICB2b2lkIGV4Y2VwdGlvbkNoZWNrV2l0aENhbGxGcmFtZVJvbGxi
YWNrKCkKICAgICB7CkBAIC0yNjAsNiArMjYzLDggQEAgcHVibGljOgogICAgIAogICAgIFZlY3Rv
cjxMYWJlbD4mIGJsb2NrSGVhZHMoKSB7IHJldHVybiBtX2Jsb2NrSGVhZHM7IH0KIAorICAgIENh
bGxTaXRlSW5kZXggcmVjb3JkQ2FsbFNpdGVBbmRHZW5lcmF0ZUV4Y2VwdGlvbkhhbmRsaW5nT1NS
RXhpdElmTmVlZGVkKGNvbnN0IENvZGVPcmlnaW4mLCB1bnNpZ25lZCBldmVudFN0cmVhbUluZGV4
KTsKKwogcHJpdmF0ZToKICAgICBmcmllbmQgY2xhc3MgT1NSRXhpdEp1bXBQbGFjZWhvbGRlcjsK
ICAgICAKQEAgLTI3Myw3ICsyNzgsMTAgQEAgcHJpdmF0ZToKICAgICB2b2lkIGNvbXBpbGVFeGNl
cHRpb25IYW5kbGVycygpOwogICAgIHZvaWQgbGlua09TUkV4aXRzKCk7CiAgICAgdm9pZCBkaXNh
c3NlbWJsZShMaW5rQnVmZmVyJik7Ci0gICAgCisKKyAgICBib29sIHdpbGxDYXRjaEV4Y2VwdGlv
bkluTWFjaGluZUZyYW1lKENvZGVPcmlnaW4gY29kZU9yaWdpbiwgQ29kZU9yaWdpbiYgb3BDYXRj
aE9yaWdpbk91dCwgSGFuZGxlckluZm8qJiBjYXRjaEhhbmRsZXJPdXQpOworICAgIHZvaWQgYXBw
ZW5kRXhjZXB0aW9uSGFuZGxpbmdPU1JFeGl0KHVuc2lnbmVkIGV2ZW50U3RyZWFtSW5kZXgsIENv
ZGVPcmlnaW4sIEhhbmRsZXJJbmZvKiBleGNlcHRpb25IYW5kbGVyLCBDYWxsU2l0ZUluZGV4LCBN
YWNyb0Fzc2VtYmxlcjo6SnVtcExpc3QganVtcHNUb0ZhaWwgPSBNYWNyb0Fzc2VtYmxlcjo6SnVt
cExpc3QoKSk7CisKICAgICAvLyBUaGUgZGF0YWZsb3cgZ3JhcGggY3VycmVudGx5IGJlaW5nIGdl
bmVyYXRlZC4KICAgICBHcmFwaCYgbV9ncmFwaDsKIApAQCAtMzExLDYgKzMxOSwxMyBAQCBwcml2
YXRlOgogICAgIFNlZ21lbnRlZFZlY3RvcjxPU1JFeGl0Q29tcGlsYXRpb25JbmZvLCA0PiBtX2V4
aXRDb21waWxhdGlvbkluZm87CiAgICAgVmVjdG9yPFZlY3RvcjxMYWJlbD4+IG1fZXhpdFNpdGVM
YWJlbHM7CiAgICAgCisgICAgc3RydWN0IEV4Y2VwdGlvbkhhbmRsZXJGb3JPU1JFeGl0IHsKKyAg
ICAgICAgT1NSRXhpdENvbXBpbGF0aW9uSW5mbyYgZXhpdEluZm87CisgICAgICAgIEhhbmRsZXJJ
bmZvIGJhc2VsaW5lRXhjZXB0aW9uSGFuZGxlcjsKKyAgICAgICAgQ2FsbFNpdGVJbmRleCBjYWxs
U2l0ZUluZGV4OworICAgIH07CisgICAgVmVjdG9yPEV4Y2VwdGlvbkhhbmRsZXJGb3JPU1JFeGl0
PiBtX2V4Y2VwdGlvbk9TUkV4aXRDYWxsU2l0ZXM7CisgICAgCiAgICAgQ2FsbCBtX2NhbGxBcml0
eUZpeHVwOwogICAgIExhYmVsIG1fYXJpdHlDaGVjazsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8U3Bl
Y3VsYXRpdmVKSVQ+IG1fc3BlY3VsYXRpdmU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9uUGhhc2UuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2
YXRpb25QaGFzZS5jcHAJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9uUGhhc2UuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC0wLDAgKzEsMTgyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJERkdMaXZlQ2F0Y2hWYXJp
YWJsZVByZXNlcnZhdGlvblBoYXNlLmgiCisKKyNpZiBFTkFCTEUoREZHX0pJVCkKKworI2luY2x1
ZGUgIkRGR0Jhc2ljQmxvY2tJbmxpbmVzLmgiCisjaW5jbHVkZSAiREZHR3JhcGguaCIKKyNpbmNs
dWRlICJERkdJbnNlcnRpb25TZXQuaCIKKyNpbmNsdWRlICJERkdQaGFzZS5oIgorI2luY2x1ZGUg
IkZ1bGxCeXRlY29kZUxpdmVuZXNzLmgiCisjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgorCituYW1l
c3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CisKK2NsYXNzIEZsdXNoTGl2ZUNhdGNoVmFyaWFi
bGVzSW5zZXJ0aW9uUGhhc2UgOiBwdWJsaWMgUGhhc2UgeworcHVibGljOgorICAgIEZsdXNoTGl2
ZUNhdGNoVmFyaWFibGVzSW5zZXJ0aW9uUGhhc2UoR3JhcGgmIGdyYXBoKQorICAgICAgICA6IFBo
YXNlKGdyYXBoLCAibGl2ZSBjYXRjaCB2YXJpYWJsZSBwcmVzZXJ2YXRpb24gcGhhc2UiKQorICAg
IHsKKyAgICB9CisKKyAgICBib29sIHJ1bigpCisgICAgeworICAgICAgICBpZiAoIW1fZ3JhcGgu
bV9oYXNFeGNlcHRpb25IYW5kbGVycykKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworCisgICAg
ICAgIERGR19BU1NFUlQobV9ncmFwaCwgbnVsbHB0ciwgbV9ncmFwaC5tX2Zvcm0gPT0gTG9hZFN0
b3JlKTsKKworICAgICAgICBtX2N1cnJlbnRCbG9ja0xpdmVuZXNzLnJlc2l6ZShtX2dyYXBoLmJs
b2NrKDApLT52YXJpYWJsZXNBdFRhaWwubnVtYmVyT2ZMb2NhbHMoKSk7CisKKyAgICAgICAgSW5z
ZXJ0aW9uU2V0IGluc2VydGlvblNldChtX2dyYXBoKTsKKyAgICAgICAgZm9yIChCYXNpY0Jsb2Nr
KiBibG9jayA6IG1fZ3JhcGguYmxvY2tzSW5OYXR1cmFsT3JkZXIoKSkgeworICAgICAgICAgICAg
aGFuZGxlQmxvY2soYmxvY2ssIGluc2VydGlvblNldCk7CisgICAgICAgICAgICBpbnNlcnRpb25T
ZXQuZXhlY3V0ZShibG9jayk7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICB9CisKKyAgICBib29sIHdpbGxDYXRjaEV4Y2VwdGlvbihDb2RlT3JpZ2luIG9yaWdpbikKKyAg
ICB7CisgICAgICAgIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXhUb0NoZWNrID0gb3JpZ2luLmJ5dGVj
b2RlSW5kZXg7CisgICAgICAgIG1fY3VycmVudEJsb2NrTGl2ZW5lc3MuY2xlYXJBbGwoKTsKKwor
ICAgICAgICBhdXRvIHVwZGF0ZUxpdmVuZXNzID0gWyZdICh1bnNpZ25lZCBieXRlY29kZUluZGV4
LCBJbmxpbmVDYWxsRnJhbWUqIGlubGluZUZyYW1lKSB7CisgICAgICAgICAgICBtX2dyYXBoLmZv
ckFsbExvY2Fsc0xpdmVJbkJ5dGVjb2RlKENvZGVPcmlnaW4oYnl0ZWNvZGVJbmRleCwgaW5saW5l
RnJhbWUpLCBbJl0gKFZpcnR1YWxSZWdpc3RlciBvcGVyYW5kKSB7CisgICAgICAgICAgICAgICAg
bV9jdXJyZW50QmxvY2tMaXZlbmVzcy5zZXQob3BlcmFuZC50b0xvY2FsKCksIHRydWUpOyAKKyAg
ICAgICAgICAgIH0pOworICAgICAgICB9OworCisgICAgICAgIHdoaWxlICgxKSB7CisgICAgICAg
ICAgICBJbmxpbmVDYWxsRnJhbWUqIGlubGluZUNhbGxGcmFtZSA9IG9yaWdpbi5pbmxpbmVDYWxs
RnJhbWU7CisgICAgICAgICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IG1fZ3JhcGguYmFzZWxp
bmVDb2RlQmxvY2tGb3IoaW5saW5lQ2FsbEZyYW1lKTsKKyAgICAgICAgICAgIGlmIChIYW5kbGVy
SW5mbyogaGFuZGxlciA9IGNvZGVCbG9jay0+aGFuZGxlckZvckJ5dGVjb2RlT2Zmc2V0KGJ5dGVj
b2RlSW5kZXhUb0NoZWNrKSkgeworICAgICAgICAgICAgICAgIHVwZGF0ZUxpdmVuZXNzKGhhbmRs
ZXItPnRhcmdldCwgaW5saW5lQ2FsbEZyYW1lKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1
ZTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKCFpbmxpbmVDYWxsRnJhbWUpCisg
ICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgICAgICBieXRlY29kZUluZGV4
VG9DaGVjayA9IGlubGluZUNhbGxGcmFtZS0+Y2FsbGVyLmJ5dGVjb2RlSW5kZXg7CisgICAgICAg
ICAgICBvcmlnaW4gPSBpbmxpbmVDYWxsRnJhbWUtPmNhbGxlcjsKKyAgICAgICAgfQorICAgIH0K
KworICAgIHZvaWQgaGFuZGxlQmxvY2soQmFzaWNCbG9jayogYmxvY2ssIEluc2VydGlvblNldCYg
aW5zZXJ0aW9uU2V0KQorICAgIHsKKyAgICAgICAgLy8gQmVjYXVzZSBwcmVjaXNlIGp1bXAgdGFy
Z2V0cyBlbnN1cmVzIHRoYXQgdGhlIHN0YXJ0IG9mIGEgInRyeSIgYmxvY2sgaXMgaXRzCisgICAg
ICAgIC8vIG93biBiYXNpYyBibG9jaywgd2Ugd2lsbCBuZXZlciBoYXZlIHR3byAidHJ5IiBzdGF0
ZW1lbnRzIGluIHRoZSBzYW1lIERGRworICAgICAgICAvLyBiYXNpYyBibG9jay4gVGhlcmVmb3Jl
LCBjaGVja2luZyB0aGUgZmlyc3Qgbm9kZSBpbiB0aGUgYmxvY2sgaXMgc3VmZmljaWVudCAKKyAg
ICAgICAgLy8gdG8gY2hlY2tpbmcgaWYgd2UncmUgaW4gYSB0cnkgYmxvY2suCisgICAgICAgIGJv
b2wgd2lsbENhdGNoRXhjZXB0aW9uID0gdGhpcy0+d2lsbENhdGNoRXhjZXB0aW9uKGJsb2NrLT5h
dCgwKS0+b3JpZ2luLnNlbWFudGljKTsKKyAgICAgICAgaWYgKCF3aWxsQ2F0Y2hFeGNlcHRpb24p
CisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgT3BlcmFuZHM8VmFyaWFibGVBY2Nlc3NE
YXRhKj4gY3VycmVudEJsb2NrQWNjZXNzRGF0YShibG9jay0+dmFyaWFibGVzQXRUYWlsLm51bWJl
ck9mQXJndW1lbnRzKCksIGJsb2NrLT52YXJpYWJsZXNBdFRhaWwubnVtYmVyT2ZMb2NhbHMoKSwg
bnVsbHB0cik7CisgICAgICAgIEhhc2hTZXQ8SW5saW5lQ2FsbEZyYW1lKj4gc2VlbklubGluZUNh
bGxGcmFtZXM7CisKKyAgICAgICAgeworICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsg
aSA8IGJsb2NrLT5zaXplKCk7IGkrKykgeworICAgICAgICAgICAgICAgIE5vZGUqIG5vZGUgPSBi
bG9jay0+YXQoaSk7CisgICAgICAgICAgICAgICAgYm9vbCBpc1ByaW1vcmRpYWxTZXRBcmd1bWVu
dCA9IG5vZGUtPm9wKCkgPT0gU2V0QXJndW1lbnQgJiYgbm9kZS0+bG9jYWwoKS5pc0FyZ3VtZW50
KCkgJiYgbm9kZSA9PSBtX2dyYXBoLm1fYXJndW1lbnRzW25vZGUtPmxvY2FsKCkudG9Bcmd1bWVu
dCgpXTsKKyAgICAgICAgICAgICAgICBJbmxpbmVDYWxsRnJhbWUqIGlubGluZUNhbGxGcmFtZSA9
IG5vZGUtPm9yaWdpbi5zZW1hbnRpYy5pbmxpbmVDYWxsRnJhbWU7CisgICAgICAgICAgICAgICAg
aWYgKGlubGluZUNhbGxGcmFtZSkKKyAgICAgICAgICAgICAgICAgICAgc2VlbklubGluZUNhbGxG
cmFtZXMuYWRkKGlubGluZUNhbGxGcmFtZSk7CisKKyAgICAgICAgICAgICAgICBpZiAobm9kZS0+
b3AoKSA9PSBTZXRMb2NhbCB8fCAobm9kZS0+b3AoKSA9PSBTZXRBcmd1bWVudCAmJiAhaXNQcmlt
b3JkaWFsU2V0QXJndW1lbnQpKSB7CisgICAgICAgICAgICAgICAgICAgIFZpcnR1YWxSZWdpc3Rl
ciBvcGVyYW5kID0gbm9kZS0+bG9jYWwoKTsKKworICAgICAgICAgICAgICAgICAgICBpbnQgc3Rh
Y2tPZmZzZXQgPSBpbmxpbmVDYWxsRnJhbWUgPyBpbmxpbmVDYWxsRnJhbWUtPnN0YWNrT2Zmc2V0
IDogMDsKKyAgICAgICAgICAgICAgICAgICAgaWYgKChvcGVyYW5kLmlzTG9jYWwoKSAmJiBtX2N1
cnJlbnRCbG9ja0xpdmVuZXNzLmdldChvcGVyYW5kLnRvTG9jYWwoKSkpCisgICAgICAgICAgICAg
ICAgICAgICAgICB8fCAob3BlcmFuZC5vZmZzZXQoKSA9PSBzdGFja09mZnNldCArIENhbGxGcmFt
ZTo6dGhpc0FyZ3VtZW50T2Zmc2V0KCkpKSB7CisKKyAgICAgICAgICAgICAgICAgICAgICAgIFZh
cmlhYmxlQWNjZXNzRGF0YSogZmx1c2hBY2Nlc3NEYXRhID0gY3VycmVudEJsb2NrQWNjZXNzRGF0
YS5vcGVyYW5kKG9wZXJhbmQpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFmbHVzaEFj
Y2Vzc0RhdGEpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmx1c2hBY2Nlc3NEYXRhID0g
bmV3VmFyaWFibGVBY2Nlc3NEYXRhKG9wZXJhbmQpOworCisgICAgICAgICAgICAgICAgICAgICAg
ICBpbnNlcnRpb25TZXQuaW5zZXJ0Tm9kZShpLCBTcGVjTm9uZSwgCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgRmx1c2gsIG5vZGUtPm9yaWdpbiwgT3BJbmZvKGZsdXNoQWNjZXNzRGF0YSkp
OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICAgICAgaWYgKG5vZGUtPmhhc1ZhcmlhYmxlQWNjZXNzRGF0YShtX2dyYXBoKSkKKyAgICAgICAg
ICAgICAgICAgICAgY3VycmVudEJsb2NrQWNjZXNzRGF0YS5vcGVyYW5kKG5vZGUtPmxvY2FsKCkp
ID0gbm9kZS0+dmFyaWFibGVBY2Nlc3NEYXRhKCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0K
KworICAgICAgICAvLyBGbHVzaCBldmVyeXRoaW5nIGF0IHRoZSBlbmQgb2YgdGhlIGJsb2NrLgor
ICAgICAgICAvLyBGSVhNRTogSSB0aGluayB0aGlzIHdpbGwgb25seSBiZSBuZWNlc3NhcnkgaWYg
d2UgaGF2ZSBhbnkgc3VjY2Vzc29yCisgICAgICAgIC8vIGJsb2NrcyB3aG8gYXJlbid0IGluc2lk
ZSB0aGlzICJ0cnkiIHN0YXRlbWVudC4gSWYgYWxsIG91ciBzdWNjZXNzb3IncworICAgICAgICAv
LyBhcmUgaW4gdGhpcyB0cnkgc3RhdGVtZW50LCB0aGV5IHdpbGwgaGF2ZSBGbHVzaGVzIGZvciBh
bnkgbGl2ZSAiY2F0Y2giCisgICAgICAgIC8vIHZhcmlhYmxlcy4KKyAgICAgICAgeworICAgICAg
ICAgICAgTm9kZU9yaWdpbiBvcmlnaW4gPSBibG9jay0+YXQoYmxvY2stPnNpemUoKSAtIDEpLT5v
cmlnaW47CisgICAgICAgICAgICBhdXRvIGluc2VydEZsdXNoQXRFbmQgPSBbJl0gKFZpcnR1YWxS
ZWdpc3RlciBvcGVyYW5kLCBib29sIGFsd2F5c0ZsdXNoKSB7CisgICAgICAgICAgICAgICAgaWYg
KChvcGVyYW5kLmlzTG9jYWwoKSAmJiBtX2N1cnJlbnRCbG9ja0xpdmVuZXNzLmdldChvcGVyYW5k
LnRvTG9jYWwoKSkpIAorICAgICAgICAgICAgICAgICAgICB8fCBvcGVyYW5kLmlzQXJndW1lbnQo
KQorICAgICAgICAgICAgICAgICAgICB8fCBhbHdheXNGbHVzaCkgeworICAgICAgICAgICAgICAg
ICAgICBWYXJpYWJsZUFjY2Vzc0RhdGEqIGFjY2Vzc0RhdGEgPSBjdXJyZW50QmxvY2tBY2Nlc3NE
YXRhLm9wZXJhbmQob3BlcmFuZCk7CisgICAgICAgICAgICAgICAgICAgIGlmICghYWNjZXNzRGF0
YSkKKyAgICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc0RhdGEgPSBuZXdWYXJpYWJsZUFjY2Vz
c0RhdGEob3BlcmFuZCk7CisKKyAgICAgICAgICAgICAgICAgICAgY3VycmVudEJsb2NrQWNjZXNz
RGF0YS5vcGVyYW5kKG9wZXJhbmQpID0gYWNjZXNzRGF0YTsKKworICAgICAgICAgICAgICAgICAg
ICBpbnNlcnRpb25TZXQuaW5zZXJ0Tm9kZShibG9jay0+c2l6ZSgpLCBTcGVjTm9uZSwgCisgICAg
ICAgICAgICAgICAgICAgICAgICBGbHVzaCwgb3JpZ2luLCBPcEluZm8oYWNjZXNzRGF0YSkpOwor
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgIH07CisgICAgICAgICAgICBmb3IgKHVuc2ln
bmVkIGxvY2FsID0gMDsgbG9jYWwgPCBibG9jay0+dmFyaWFibGVzQXRUYWlsLm51bWJlck9mTG9j
YWxzKCk7IGxvY2FsKyspCisgICAgICAgICAgICAgICAgaW5zZXJ0Rmx1c2hBdEVuZCh2aXJ0dWFs
UmVnaXN0ZXJGb3JMb2NhbChsb2NhbCksIGZhbHNlKTsKKyAgICAgICAgICAgIGZvciAoSW5saW5l
Q2FsbEZyYW1lKiBpbmxpbmVDYWxsRnJhbWUgOiBzZWVuSW5saW5lQ2FsbEZyYW1lcykKKyAgICAg
ICAgICAgICAgICBpbnNlcnRGbHVzaEF0RW5kKFZpcnR1YWxSZWdpc3RlcihpbmxpbmVDYWxsRnJh
bWUtPnN0YWNrT2Zmc2V0ICsgQ2FsbEZyYW1lOjp0aGlzQXJndW1lbnRPZmZzZXQoKSksIHRydWUp
OworICAgICAgICAgICAgaW5zZXJ0Rmx1c2hBdEVuZChWaXJ0dWFsUmVnaXN0ZXIoQ2FsbEZyYW1l
Ojp0aGlzQXJndW1lbnRPZmZzZXQoKSksIHRydWUpOworICAgICAgICB9CisgICAgfQorCisgICAg
VmFyaWFibGVBY2Nlc3NEYXRhKiBuZXdWYXJpYWJsZUFjY2Vzc0RhdGEoVmlydHVhbFJlZ2lzdGVy
IG9wZXJhbmQpCisgICAgeworICAgICAgICBBU1NFUlQoIW9wZXJhbmQuaXNDb25zdGFudCgpKTsK
KyAgICAgICAgCisgICAgICAgIG1fZ3JhcGgubV92YXJpYWJsZUFjY2Vzc0RhdGEuYXBwZW5kKFZh
cmlhYmxlQWNjZXNzRGF0YShvcGVyYW5kKSk7CisgICAgICAgIHJldHVybiAmbV9ncmFwaC5tX3Zh
cmlhYmxlQWNjZXNzRGF0YS5sYXN0KCk7CisgICAgfQorCisgICAgRmFzdEJpdFZlY3RvciBtX2N1
cnJlbnRCbG9ja0xpdmVuZXNzOworfTsKKworYm9vbCBwZXJmb3JtTGl2ZUNhdGNoVmFyaWFibGVQ
cmVzZXJ2YXRpb25QaGFzZShHcmFwaCYgZ3JhcGgpCit7CisgICAgU2FtcGxpbmdSZWdpb24gc2Ft
cGxpbmdSZWdpb24oIkRGRyBMaXZlIENhdGNoIFZhcmlhYmxlcyBQcmVzZXJ2YXRpb24gUGhhc2Ui
KTsKKyAgICByZXR1cm4gcnVuUGhhc2U8Rmx1c2hMaXZlQ2F0Y2hWYXJpYWJsZXNJbnNlcnRpb25Q
aGFzZT4oZ3JhcGgpOworfQorCit9IH0gLy8gbmFtZXNwYWNlIEpTQzo6REZHCisKKyNlbmRpZiAv
LyBFTkFCTEUoREZHX0pJVCkKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTGl2
ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5o
CShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdMaXZlQ2F0Y2hW
YXJpYWJsZVByZXNlcnZhdGlvblBoYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICog
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkK
KyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWZuZGVm
IERGR0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9uUGhhc2VfaAorI2RlZmluZSBERkdMaXZl
Q2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlX2gKKworI2lmIEVOQUJMRShERkdfSklUKQor
CituYW1lc3BhY2UgSlNDIHsgbmFtZXNwYWNlIERGRyB7CisKK2NsYXNzIEdyYXBoOworCisvLyBG
SVhNRTogY29tbWVudCBoZXJlLgorYm9vbCBwZXJmb3JtTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2
YXRpb25QaGFzZShHcmFwaCYpOworCit9IH0gLy8gbmFtZXNwYWNlIEpTQzo6REZHCisKKyNlbmRp
ZiAvLyBFTkFCTEUoREZHX0pJVCkKKworI2VuZGlmIC8vIERGR0xpdmVDYXRjaFZhcmlhYmxlUHJl
c2VydmF0aW9uUGhhc2VfaApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JF
eGl0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4
aXQuY3BwCShyZXZpc2lvbiAxODk4MTcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R09TUkV4aXQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMCw2ICszMCw3IEBACiAKICNpbmNsdWRl
ICJBc3NlbWJseUhlbHBlcnMuaCIKICNpbmNsdWRlICJERkdHcmFwaC5oIgorI2luY2x1ZGUgIkRG
R01heUV4aXQuaCIKICNpbmNsdWRlICJERkdTcGVjdWxhdGl2ZUpJVC5oIgogI2luY2x1ZGUgIkpT
Q0lubGluZXMuaCIKIApAQCAtNDIsOCArNDMsMTUgQEAgT1NSRXhpdDo6T1NSRXhpdChFeGl0S2lu
ZCBraW5kLCBKU1ZhbHVlUwogICAgICwgbV9wYXRjaGFibGVDb2RlT2Zmc2V0KDApCiAgICAgLCBt
X3JlY292ZXJ5SW5kZXgocmVjb3ZlcnlJbmRleCkKICAgICAsIG1fc3RyZWFtSW5kZXgoc3RyZWFt
SW5kZXgpCisgICAgLCBtX3dpbGxBcnJpdmVBdE9TUkV4aXRGcm9tR2VuZXJpY1Vud2luZChmYWxz
ZSkKKyAgICAsIG1faXNFeGNlcHRpb25IYW5kbGVyKGZhbHNlKQogewotICAgIERGR19BU1NFUlQo
aml0LT5tX2ppdC5ncmFwaCgpLCBqaXQtPm1fY3VycmVudE5vZGUsIGppdC0+bV9vcmlnaW4uZXhp
dE9LKTsKKyAgICBib29sIGNhbkV4aXQgPSBqaXQtPm1fb3JpZ2luLmV4aXRPSzsKKyAgICBpZiAo
IWNhbkV4aXQgJiYgaml0LT5tX2N1cnJlbnROb2RlKSB7CisgICAgICAgIEV4aXRNb2RlIGV4aXRN
b2RlID0gbWF5RXhpdChqaXQtPm1faml0LmdyYXBoKCksIGppdC0+bV9jdXJyZW50Tm9kZSk7Cisg
ICAgICAgIGNhbkV4aXQgPSBleGl0TW9kZSA9PSBFeGl0TW9kZTo6RXhpdHMgfHwgZXhpdE1vZGUg
PT0gRXhpdE1vZGU6OkV4aXRzRm9yRXhjZXB0aW9uczsKKyAgICB9CisgICAgREZHX0FTU0VSVChq
aXQtPm1faml0LmdyYXBoKCksIGppdC0+bV9jdXJyZW50Tm9kZSwgY2FuRXhpdCk7CiB9CiAKIHZv
aWQgT1NSRXhpdDo6c2V0UGF0Y2hhYmxlQ29kZU9mZnNldChNYWNyb0Fzc2VtYmxlcjo6UGF0Y2hh
YmxlSnVtcCBjaGVjaykKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhp
dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdC5o
CShyZXZpc2lvbiAxODk4MTcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4
aXQuaAkod29ya2luZyBjb3B5KQpAQCAtOTMsMTMgKzkzLDE2IEBAIHN0cnVjdCBPU1JFeGl0IDog
cHVibGljIE9TUkV4aXRCYXNlIHsKICAgICB1bnNpZ25lZCBtX3BhdGNoYWJsZUNvZGVPZmZzZXQ7
CiAgICAgCiAgICAgdW5zaWduZWQgbV9yZWNvdmVyeUluZGV4OwotICAgIAorCiAgICAgdm9pZCBz
ZXRQYXRjaGFibGVDb2RlT2Zmc2V0KE1hY3JvQXNzZW1ibGVyOjpQYXRjaGFibGVKdW1wKTsKICAg
ICBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBnZXRQYXRjaGFibGVDb2RlT2Zmc2V0QXNKdW1wKCkgY29u
c3Q7CiAgICAgQ29kZUxvY2F0aW9uSnVtcCBjb2RlTG9jYXRpb25Gb3JSZXBhdGNoKENvZGVCbG9j
ayopIGNvbnN0OwogICAgIHZvaWQgY29ycmVjdEp1bXAoTGlua0J1ZmZlciYpOwogCiAgICAgdW5z
aWduZWQgbV9zdHJlYW1JbmRleDsKKworICAgIGJvb2wgbV93aWxsQXJyaXZlQXRPU1JFeGl0RnJv
bUdlbmVyaWNVbndpbmQgOiAxOworICAgIGJvb2wgbV9pc0V4Y2VwdGlvbkhhbmRsZXIgOiAxOwog
ICAgIAogICAgIHZvaWQgY29uc2lkZXJBZGRpbmdBc0ZyZXF1ZW50RXhpdFNpdGUoQ29kZUJsb2Nr
KiBwcm9maWxlZENvZGVCbG9jaykKICAgICB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR09TUkV4aXRDb21waWxlcjMyXzY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlcjMyXzY0LmNwcAkocmV2aXNpb24gMTg5
ODE3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXIzMl82
NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM5NCw3ICszOTQsNyBAQCB2b2lkIE9TUkV4aXRDb21w
aWxlcjo6Y29tcGlsZUV4aXQoY29uc3QgCiAgICAgcmVpZnlJbmxpbmVkQ2FsbEZyYW1lcyhtX2pp
dCwgZXhpdCk7CiAgICAgCiAgICAgLy8gQW5kIGZpbmlzaC4KLSAgICBhZGp1c3RBbmRKdW1wVG9U
YXJnZXQobV9qaXQsIGV4aXQpOworICAgIGFkanVzdEFuZEp1bXBUb1RhcmdldChtX2ppdCwgZXhp
dCwgZXhpdC5tX2lzRXhjZXB0aW9uSGFuZGxlcik7CiB9CiAKIH0gfSAvLyBuYW1lc3BhY2UgSlND
OjpERkcKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVy
NjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhp
dENvbXBpbGVyNjQuY3BwCShyZXZpc2lvbiAxODk4MTcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR09TUkV4aXRDb21waWxlcjY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjQ1LDcg
KzI0NSw4IEBAIHZvaWQgT1NSRXhpdENvbXBpbGVyOjpjb21waWxlRXhpdChjb25zdCAKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICB9CiAgICAgfQotICAgIAorCisKICAgICAvLyBOZWVkIHRv
IGVuc3VyZSB0aGF0IHRoZSBzdGFjayBwb2ludGVyIGFjY291bnRzIGZvciB0aGUgd29yc3QtY2Fz
ZSBzdGFjayB1c2FnZSBhdCBleGl0LiBUaGlzCiAgICAgLy8gY291bGQgdG9hc3Qgc29tZSBzdGFj
ayB0aGF0IHRoZSBERkcgdXNlZC4gV2UgbmVlZCB0byBkbyBpdCBiZWZvcmUgc3RvcmluZyB0byBz
dGFjayBvZmZzZXRzCiAgICAgLy8gdXNlZCBieSBiYXNlbGluZS4KQEAgLTM4NCw3ICszODUsNyBA
QCB2b2lkIE9TUkV4aXRDb21waWxlcjo6Y29tcGlsZUV4aXQoY29uc3QgCiAgICAgcmVpZnlJbmxp
bmVkQ2FsbEZyYW1lcyhtX2ppdCwgZXhpdCk7CiAKICAgICAvLyBBbmQgZmluaXNoLgotICAgIGFk
anVzdEFuZEp1bXBUb1RhcmdldChtX2ppdCwgZXhpdCk7CisgICAgYWRqdXN0QW5kSnVtcFRvVGFy
Z2V0KG1faml0LCBleGl0LCBleGl0Lm1faXNFeGNlcHRpb25IYW5kbGVyKTsKIH0KIAogfSB9IC8v
IG5hbWVzcGFjZSBKU0M6OkRGRwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdP
U1JFeGl0Q29tcGlsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHT1NSRXhpdENvbXBpbGVyLmNwcAkocmV2aXNpb24gMTg5ODE3KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMTUsMTAgKzExNSw5IEBAIHZvaWQgY29tcGlsZU9TUkV4aXQoRXhlY1N0YXRlKiBleGVjKQog
ICAgIFNhbXBsaW5nUmVnaW9uIHNhbXBsaW5nUmVnaW9uKCJERkcgT1NSIEV4aXQgQ29tcGlsYXRp
b24iKTsKICAgICAKICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4ZWMtPmNvZGVCbG9jaygp
OwotICAgIAogICAgIEFTU0VSVChjb2RlQmxvY2spOwogICAgIEFTU0VSVChjb2RlQmxvY2stPmpp
dFR5cGUoKSA9PSBKSVRDb2RlOjpERkdKSVQpOwotICAgIAorCiAgICAgVk0qIHZtID0gJmV4ZWMt
PnZtKCk7CiAgICAgCiAgICAgLy8gSXQncyBzb3J0IG9mIHByZWZlcmFibGUgdGhhdCB3ZSBkb24n
dCBHQyB3aGlsZSBpbiBoZXJlLiBBbnl3YXlzLCBkb2luZyBzbyB3b3VsZG4ndApAQCAtMTI4LDYg
KzEyNywxMiBAQCB2b2lkIGNvbXBpbGVPU1JFeGl0KEV4ZWNTdGF0ZSogZXhlYykKICAgICB1aW50
MzJfdCBleGl0SW5kZXggPSB2bS0+b3NyRXhpdEluZGV4OwogICAgIE9TUkV4aXQmIGV4aXQgPSBj
b2RlQmxvY2stPmppdENvZGUoKS0+ZGZnKCktPm9zckV4aXRbZXhpdEluZGV4XTsKICAgICAKKyAg
ICBpZiAodm0tPmNhbGxGcmFtZUZvckNhdGNoKQorICAgICAgICBBU1NFUlQoZXhpdC5tX3dpbGxB
cnJpdmVBdE9TUkV4aXRGcm9tR2VuZXJpY1Vud2luZCk7CisgICAgaWYgKGV4aXQubV9pc0V4Y2Vw
dGlvbkhhbmRsZXIpCisgICAgICAgIEFTU0VSVCghIXZtLT5leGNlcHRpb24oKSk7CisgICAgICAg
IAorICAgIAogICAgIHByZXBhcmVDb2RlT3JpZ2luRm9yT1NSRXhpdChleGVjLCBleGl0Lm1fY29k
ZU9yaWdpbik7CiAgICAgCiAgICAgLy8gQ29tcHV0ZSB0aGUgdmFsdWUgcmVjb3Zlcmllcy4KQEAg
LTE1Myw3ICsxNTgsNyBAQCB2b2lkIGNvbXBpbGVPU1JFeGl0KEV4ZWNTdGF0ZSogZXhlYykKICAg
ICAgICAgICAgICAgICBleGl0Lm1fa2luZCwgZXhpdC5tX2tpbmQgPT0gVW5jb3VudGFibGVJbnZh
bGlkYXRpb24pOwogICAgICAgICAgICAgaml0LmFkZDY0KENDYWxsSGVscGVyczo6VHJ1c3RlZElt
bTMyKDEpLCBDQ2FsbEhlbHBlcnM6OkFic29sdXRlQWRkcmVzcyhwcm9maWxlckV4aXQtPmNvdW50
ZXJBZGRyZXNzKCkpKTsKICAgICAgICAgfQotICAgICAgICAKKwogICAgICAgICBleGl0Q29tcGls
ZXIuY29tcGlsZUV4aXQoZXhpdCwgb3BlcmFuZHMsIHJlY292ZXJ5KTsKICAgICAgICAgCiAgICAg
ICAgIExpbmtCdWZmZXIgcGF0Y2hCdWZmZXIoKnZtLCBqaXQsIGNvZGVCbG9jayk7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlckNvbW1vbi5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXJD
b21tb24uY3BwCShyZXZpc2lvbiAxODk4MTcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR09TUkV4aXRDb21waWxlckNvbW1vbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI0OCw3ICsy
NDgsNyBAQCBzdGF0aWMgdm9pZCBvc3JXcml0ZUJhcnJpZXIoQ0NhbGxIZWxwZXJzCiB9CiAjZW5k
aWYgLy8gRU5BQkxFKEdHQykKIAotdm9pZCBhZGp1c3RBbmRKdW1wVG9UYXJnZXQoQ0NhbGxIZWxw
ZXJzJiBqaXQsIGNvbnN0IE9TUkV4aXRCYXNlJiBleGl0KQordm9pZCBhZGp1c3RBbmRKdW1wVG9U
YXJnZXQoQ0NhbGxIZWxwZXJzJiBqaXQsIGNvbnN0IE9TUkV4aXRCYXNlJiBleGl0LCBib29sIGlz
RXhpdGluZ1RvT3BDYXRjaCkKIHsKICNpZiBFTkFCTEUoR0dDKSAKICAgICBqaXQubW92ZShBc3Nl
bWJseUhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoaml0LmNvZGVCbG9jaygpLT5vd25lckV4ZWN1dGFi
bGUoKSksIEdQUkluZm86OmFyZ3VtZW50R1BSMSk7CkBAIC0yNzcsNiArMjc3LDEwIEBAIHZvaWQg
YWRqdXN0QW5kSnVtcFRvVGFyZ2V0KENDYWxsSGVscGVycyYKICAgICB2b2lkKiBqdW1wVGFyZ2V0
ID0gYmFzZWxpbmVDb2RlQmxvY2stPmppdENvZGUoKS0+ZXhlY3V0YWJsZUFkZHJlc3NBdE9mZnNl
dChtYXBwaW5nLT5tX21hY2hpbmVDb2RlT2Zmc2V0KTsKIAogICAgIGppdC5hZGRQdHIoQXNzZW1i
bHlIZWxwZXJzOjpUcnVzdGVkSW1tMzIoSklUOjpzdGFja1BvaW50ZXJPZmZzZXRGb3IoYmFzZWxp
bmVDb2RlQmxvY2spICogc2l6ZW9mKFJlZ2lzdGVyKSksIEdQUkluZm86OmNhbGxGcmFtZVJlZ2lz
dGVyLCBBc3NlbWJseUhlbHBlcnM6OnN0YWNrUG9pbnRlclJlZ2lzdGVyKTsKKyAgICBpZiAoaXNF
eGl0aW5nVG9PcENhdGNoKSB7CisgICAgICAgIC8vIFNpbmNlIHdlJ3JlIGp1bXBpbmcgdG8gb3Bf
Y2F0Y2gsIHdlIG5lZWQgdG8gc2V0IGNhbGxGcmFtZUZvckNhdGNoLgorICAgICAgICBqaXQuc3Rv
cmVQdHIoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIGppdC52bSgpLT5hZGRyZXNzT2ZDYWxs
RnJhbWVGb3JDYXRjaCgpKTsKKyAgICB9CiAgICAgCiAgICAgaml0Lm1vdmUoQXNzZW1ibHlIZWxw
ZXJzOjpUcnVzdGVkSW1tUHRyKGp1bXBUYXJnZXQpLCBHUFJJbmZvOjpyZWdUMik7CiAgICAgaml0
Lmp1bXAoR1BSSW5mbzo6cmVnVDIpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdPU1JFeGl0Q29tcGlsZXJDb21tb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlckNvbW1vbi5oCShyZXZpc2lvbiAxODk4MTcpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlckNvbW1vbi5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw3IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2Ug
REZHIHsKIAogdm9pZCBoYW5kbGVFeGl0Q291bnRzKENDYWxsSGVscGVycyYsIGNvbnN0IE9TUkV4
aXRCYXNlJik7CiB2b2lkIHJlaWZ5SW5saW5lZENhbGxGcmFtZXMoQ0NhbGxIZWxwZXJzJiwgY29u
c3QgT1NSRXhpdEJhc2UmKTsKLXZvaWQgYWRqdXN0QW5kSnVtcFRvVGFyZ2V0KENDYWxsSGVscGVy
cyYsIGNvbnN0IE9TUkV4aXRCYXNlJik7Cit2b2lkIGFkanVzdEFuZEp1bXBUb1RhcmdldChDQ2Fs
bEhlbHBlcnMmLCBjb25zdCBPU1JFeGl0QmFzZSYsIGJvb2wgaXNFeGl0aW5nVG9PcENhdGNoKTsK
IAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkRGRwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1BsYW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHUGxhbi5jcHAJKHJldmlzaW9uIDE4OTgxNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHUGxhbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ5LDYgKzQ5LDcgQEAKICNpbmNs
dWRlICJERkdKSVRDb21waWxlci5oIgogI2luY2x1ZGUgIkRGR0xJQ01QaGFzZS5oIgogI2luY2x1
ZGUgIkRGR0xpdmVuZXNzQW5hbHlzaXNQaGFzZS5oIgorI2luY2x1ZGUgIkRGR0xpdmVDYXRjaFZh
cmlhYmxlUHJlc2VydmF0aW9uUGhhc2UuaCIKICNpbmNsdWRlICJERkdMb29wUHJlSGVhZGVyQ3Jl
YXRpb25QaGFzZS5oIgogI2luY2x1ZGUgIkRGR01heGltYWxGbHVzaEluc2VydGlvblBoYXNlLmgi
CiAjaW5jbHVkZSAiREZHTW92SGludFJlbW92YWxQaGFzZS5oIgpAQCAtMjU5LDYgKzI2MCw4IEBA
IFBsYW46OkNvbXBpbGF0aW9uUGF0aCBQbGFuOjpjb21waWxlSW5UaHIKICAgICAgICAgZGZnLmR1
bXAoKTsKICAgICB9CiAKKyAgICBwZXJmb3JtTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25Q
aGFzZShkZmcpOworCiAgICAgaWYgKE9wdGlvbnM6OmVuYWJsZU1heGltYWxGbHVzaEluc2VydGlv
blBoYXNlKCkpCiAgICAgICAgIHBlcmZvcm1NYXhpbWFsRmx1c2hJbnNlcnRpb24oZGZnKTsKICAg
ICAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2xvd1BhdGhHZW5lcmF0b3Iu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nsb3dQYXRoR2Vu
ZXJhdG9yLmgJKHJldmlzaW9uIDE4OTgxNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHU2xvd1BhdGhHZW5lcmF0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQCBj
bGFzcyBTbG93UGF0aEdlbmVyYXRvciB7CiBwdWJsaWM6CiAgICAgU2xvd1BhdGhHZW5lcmF0b3Io
U3BlY3VsYXRpdmVKSVQqIGppdCkKICAgICAgICAgOiBtX2N1cnJlbnROb2RlKGppdC0+bV9jdXJy
ZW50Tm9kZSkKKyAgICAgICAgLCBtX3N0cmVhbUluZGV4KGppdC0+bV9zdHJlYW0tPnNpemUoKSkK
KyAgICAgICAgLCBtX29yaWdpbihqaXQtPm1fb3JpZ2luKSAKICAgICB7CiAgICAgfQogICAgIHZp
cnR1YWwgflNsb3dQYXRoR2VuZXJhdG9yKCkgeyB9CkBAIC00Nyw3ICs0OSwxMCBAQCBwdWJsaWM6
CiAgICAgewogICAgICAgICBtX2xhYmVsID0gaml0LT5tX2ppdC5sYWJlbCgpOwogICAgICAgICBq
aXQtPm1fY3VycmVudE5vZGUgPSBtX2N1cnJlbnROb2RlOworICAgICAgICBqaXQtPm1fb3V0T2ZM
aW5lU3RyZWFtSW5kZXggPSBtX3N0cmVhbUluZGV4OworICAgICAgICBqaXQtPm1fb3JpZ2luID0g
bV9vcmlnaW47CiAgICAgICAgIGdlbmVyYXRlSW50ZXJuYWwoaml0KTsKKyAgICAgICAgaml0LT5t
X291dE9mTGluZVN0cmVhbUluZGV4ID0gVUlOVF9NQVg7CiAgICAgICAgIGlmICghQVNTRVJUX0RJ
U0FCTEVEKQogICAgICAgICAgICAgaml0LT5tX2ppdC5hYm9ydFdpdGhSZWFzb24oREZHU2xvd1Bh
dGhHZW5lcmF0b3JGZWxsVGhyb3VnaCk7CiAgICAgfQpAQCAtNjEsNiArNjYsOCBAQCBwcm90ZWN0
ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGdlbmVyYXRlSW50ZXJuYWwoU3BlY3VsYXRpdmVKSVQqKSA9
IDA7CiAgICAgTWFjcm9Bc3NlbWJsZXI6OkxhYmVsIG1fbGFiZWw7CiAgICAgTm9kZSogbV9jdXJy
ZW50Tm9kZTsKKyAgICB1bnNpZ25lZCBtX3N0cmVhbUluZGV4OworICAgIE5vZGVPcmlnaW4gbV9v
cmlnaW47CiB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBKdW1wVHlwZT4KSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAko
cmV2aXNpb24gMTg5ODE3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVDMyXzY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTgyLDggKzE4Miw5IEBAIHZvaWQg
U3BlY3VsYXRpdmVKSVQ6OmNhY2hlZEdldEJ5SWQoCiAgICAgICAgIGJhc2VQYXlsb2FkR1BSID0g
cmVzdWx0UGF5bG9hZEdQUjsKICAgICB9CiAgICAgCisgICAgQ2FsbFNpdGVJbmRleCBjYWxsU2l0
ZSA9IG1faml0LnJlY29yZENhbGxTaXRlQW5kR2VuZXJhdGVFeGNlcHRpb25IYW5kbGluZ09TUkV4
aXRJZk5lZWRlZChjb2RlT3JpZ2luLCBtX3N0cmVhbS0+c2l6ZSgpKTsKICAgICBKSVRHZXRCeUlk
R2VuZXJhdG9yIGdlbigKLSAgICAgICAgbV9qaXQuY29kZUJsb2NrKCksIGNvZGVPcmlnaW4sIG1f
aml0LmFkZENhbGxTaXRlKGNvZGVPcmlnaW4pLCB1c2VkUmVnaXN0ZXJzKCksCisgICAgICAgIG1f
aml0LmNvZGVCbG9jaygpLCBjb2RlT3JpZ2luLCBjYWxsU2l0ZSwgdXNlZFJlZ2lzdGVycygpLAog
ICAgICAgICBKU1ZhbHVlUmVncyhiYXNlVGFnR1BST3JOb25lLCBiYXNlUGF5bG9hZEdQUiksCiAg
ICAgICAgIEpTVmFsdWVSZWdzKHJlc3VsdFRhZ0dQUiwgcmVzdWx0UGF5bG9hZEdQUiksIHNwaWxs
TW9kZSk7CiAgICAgCkBAIC0yMTQsOCArMjE1LDkgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y2Fj
aGVkR2V0QnlJZCgKIAogdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y2FjaGVkUHV0QnlJZChDb2RlT3Jp
Z2luIGNvZGVPcmlnaW4sIEdQUlJlZyBiYXNlUGF5bG9hZEdQUiwgR1BSUmVnIHZhbHVlVGFnR1BS
LCBHUFJSZWcgdmFsdWVQYXlsb2FkR1BSLCBHUFJSZWcgc2NyYXRjaEdQUiwgdW5zaWduZWQgaWRl
bnRpZmllck51bWJlciwgUHV0S2luZCBwdXRLaW5kLCBKSVRDb21waWxlcjo6SnVtcCBzbG93UGF0
aFRhcmdldCwgU3BpbGxSZWdpc3RlcnNNb2RlIHNwaWxsTW9kZSkKIHsKKyAgICBDYWxsU2l0ZUlu
ZGV4IGNhbGxTaXRlID0gbV9qaXQucmVjb3JkQ2FsbFNpdGVBbmRHZW5lcmF0ZUV4Y2VwdGlvbkhh
bmRsaW5nT1NSRXhpdElmTmVlZGVkKGNvZGVPcmlnaW4sIG1fc3RyZWFtLT5zaXplKCkpOwogICAg
IEpJVFB1dEJ5SWRHZW5lcmF0b3IgZ2VuKAotICAgICAgICBtX2ppdC5jb2RlQmxvY2soKSwgY29k
ZU9yaWdpbiwgbV9qaXQuYWRkQ2FsbFNpdGUoY29kZU9yaWdpbiksIHVzZWRSZWdpc3RlcnMoKSwK
KyAgICAgICAgbV9qaXQuY29kZUJsb2NrKCksIGNvZGVPcmlnaW4sIGNhbGxTaXRlLCB1c2VkUmVn
aXN0ZXJzKCksCiAgICAgICAgIEpTVmFsdWVSZWdzOjpwYXlsb2FkT25seShiYXNlUGF5bG9hZEdQ
UiksIEpTVmFsdWVSZWdzKHZhbHVlVGFnR1BSLCB2YWx1ZVBheWxvYWRHUFIpLAogICAgICAgICBz
Y3JhdGNoR1BSLCBzcGlsbE1vZGUsIG1faml0LmVjbWFNb2RlRm9yKGNvZGVPcmlnaW4pLCBwdXRL
aW5kKTsKICAgICAKQEAgLTc4NCw3ICs3ODYsOCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjplbWl0
Q2FsbChOb2RlKiBub2RlCiAgICAgSklUQ29tcGlsZXI6OkRhdGFMYWJlbFB0ciB0YXJnZXRUb0No
ZWNrOwogICAgIEpJVENvbXBpbGVyOjpKdW1wTGlzdCBzbG93UGF0aDsKIAotICAgIG1faml0LmVt
aXRTdG9yZUNvZGVPcmlnaW4obm9kZS0+b3JpZ2luLnNlbWFudGljKTsKKyAgICBDYWxsU2l0ZUlu
ZGV4IGNhbGxTaXRlID0gbV9qaXQucmVjb3JkQ2FsbFNpdGVBbmRHZW5lcmF0ZUV4Y2VwdGlvbkhh
bmRsaW5nT1NSRXhpdElmTmVlZGVkKG5vZGUtPm9yaWdpbi5zZW1hbnRpYywgbV9zdHJlYW0tPnNp
emUoKSk7CisgICAgbV9qaXQuZW1pdFN0b3JlQ2FsbFNpdGVJbmRleChjYWxsU2l0ZSk7CiAgICAg
CiAgICAgQ2FsbExpbmtJbmZvKiBpbmZvID0gbV9qaXQuY29kZUJsb2NrKCktPmFkZENhbGxMaW5r
SW5mbygpOwogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklUNjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQ2NC5jcHAJKHJldmlzaW9uIDE4OTgxNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1Myw4
ICsxNTMsMTAgQEAgR1BSUmVnIFNwZWN1bGF0aXZlSklUOjpmaWxsSlNWYWx1ZShFZGdlIAogCiB2
b2lkIFNwZWN1bGF0aXZlSklUOjpjYWNoZWRHZXRCeUlkKENvZGVPcmlnaW4gY29kZU9yaWdpbiwg
R1BSUmVnIGJhc2VHUFIsIEdQUlJlZyByZXN1bHRHUFIsIHVuc2lnbmVkIGlkZW50aWZpZXJOdW1i
ZXIsIEpJVENvbXBpbGVyOjpKdW1wIHNsb3dQYXRoVGFyZ2V0LCBTcGlsbFJlZ2lzdGVyc01vZGUg
c3BpbGxNb2RlKQogeworICAgIENhbGxTaXRlSW5kZXggY2FsbFNpdGUgPSBtX2ppdC5yZWNvcmRD
YWxsU2l0ZUFuZEdlbmVyYXRlRXhjZXB0aW9uSGFuZGxpbmdPU1JFeGl0SWZOZWVkZWQoY29kZU9y
aWdpbiwgbV9zdHJlYW0tPnNpemUoKSk7CisKICAgICBKSVRHZXRCeUlkR2VuZXJhdG9yIGdlbigK
LSAgICAgICAgbV9qaXQuY29kZUJsb2NrKCksIGNvZGVPcmlnaW4sIG1faml0LmFkZENhbGxTaXRl
KGNvZGVPcmlnaW4pLCB1c2VkUmVnaXN0ZXJzKCksIEpTVmFsdWVSZWdzKGJhc2VHUFIpLAorICAg
ICAgICBtX2ppdC5jb2RlQmxvY2soKSwgY29kZU9yaWdpbiwgY2FsbFNpdGUsIHVzZWRSZWdpc3Rl
cnMoKSwgSlNWYWx1ZVJlZ3MoYmFzZUdQUiksCiAgICAgICAgIEpTVmFsdWVSZWdzKHJlc3VsdEdQ
UiksIHNwaWxsTW9kZSk7CiAgICAgZ2VuLmdlbmVyYXRlRmFzdFBhdGgobV9qaXQpOwogICAgIApA
QCAtMTczLDggKzE3NSwxMCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjYWNoZWRHZXRCeUlkKENv
ZGVPCiAKIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNhY2hlZFB1dEJ5SWQoQ29kZU9yaWdpbiBjb2Rl
T3JpZ2luLCBHUFJSZWcgYmFzZUdQUiwgR1BSUmVnIHZhbHVlR1BSLCBHUFJSZWcgc2NyYXRjaEdQ
UiwgdW5zaWduZWQgaWRlbnRpZmllck51bWJlciwgUHV0S2luZCBwdXRLaW5kLCBKSVRDb21waWxl
cjo6SnVtcCBzbG93UGF0aFRhcmdldCwgU3BpbGxSZWdpc3RlcnNNb2RlIHNwaWxsTW9kZSkKIHsK
KyAgICBDYWxsU2l0ZUluZGV4IGNhbGxTaXRlID0gbV9qaXQucmVjb3JkQ2FsbFNpdGVBbmRHZW5l
cmF0ZUV4Y2VwdGlvbkhhbmRsaW5nT1NSRXhpdElmTmVlZGVkKGNvZGVPcmlnaW4sIG1fc3RyZWFt
LT5zaXplKCkpOworCiAgICAgSklUUHV0QnlJZEdlbmVyYXRvciBnZW4oCi0gICAgICAgIG1faml0
LmNvZGVCbG9jaygpLCBjb2RlT3JpZ2luLCBtX2ppdC5hZGRDYWxsU2l0ZShjb2RlT3JpZ2luKSwg
dXNlZFJlZ2lzdGVycygpLCBKU1ZhbHVlUmVncyhiYXNlR1BSKSwKKyAgICAgICAgbV9qaXQuY29k
ZUJsb2NrKCksIGNvZGVPcmlnaW4sIGNhbGxTaXRlLCB1c2VkUmVnaXN0ZXJzKCksIEpTVmFsdWVS
ZWdzKGJhc2VHUFIpLAogICAgICAgICBKU1ZhbHVlUmVncyh2YWx1ZUdQUiksIHNjcmF0Y2hHUFIs
IHNwaWxsTW9kZSwgbV9qaXQuZWNtYU1vZGVGb3IoY29kZU9yaWdpbiksIHB1dEtpbmQpOwogCiAg
ICAgZ2VuLmdlbmVyYXRlRmFzdFBhdGgobV9qaXQpOwpAQCAtNzUyLDcgKzc1Niw4IEBAIHZvaWQg
U3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKE5vZGUqIG5vZGUKICAgICBKSVRDb21waWxlcjo6RGF0
YUxhYmVsUHRyIHRhcmdldFRvQ2hlY2s7CiAgICAgSklUQ29tcGlsZXI6Okp1bXAgc2xvd1BhdGg7
CiAKLSAgICBtX2ppdC5lbWl0U3RvcmVDb2RlT3JpZ2luKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyk7
CisgICAgQ2FsbFNpdGVJbmRleCBjYWxsU2l0ZSA9IG1faml0LnJlY29yZENhbGxTaXRlQW5kR2Vu
ZXJhdGVFeGNlcHRpb25IYW5kbGluZ09TUkV4aXRJZk5lZWRlZChub2RlLT5vcmlnaW4uc2VtYW50
aWMsIG1fc3RyZWFtLT5zaXplKCkpOworICAgIG1faml0LmVtaXRTdG9yZUNhbGxTaXRlSW5kZXgo
Y2FsbFNpdGUpOwogICAgIAogICAgIENhbGxMaW5rSW5mbyogY2FsbExpbmtJbmZvID0gbV9qaXQu
Y29kZUJsb2NrKCktPmFkZENhbGxMaW5rSW5mbygpOwogICAgIApJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuaAkocmV2aXNpb24gMTg5ODE3KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yNDc2LDYgKzI0NzYsNyBAQCBwdWJsaWM6CiAgICAgCiAgICAgVmVjdG9yPHN0
ZDo6dW5pcXVlX3B0cjxTbG93UGF0aEdlbmVyYXRvcj4sIDg+IG1fc2xvd1BhdGhHZW5lcmF0b3Jz
OwogICAgIFZlY3RvcjxTaWxlbnRSZWdpc3RlclNhdmVQbGFuPiBtX3BsYW5zOworICAgIHVuc2ln
bmVkIG1fb3V0T2ZMaW5lU3RyZWFtSW5kZXggeyBVSU5UX01BWCB9OwogfTsKIAogCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1RpZXJVcENoZWNrSW5qZWN0aW9uUGhhc2UuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHVGllclVwQ2hlY2tJ
bmplY3Rpb25QaGFzZS5jcHAJKHJldmlzaW9uIDE4OTgxNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHVGllclVwQ2hlY2tJbmplY3Rpb25QaGFzZS5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTUyLDYgKzUyLDkgQEAgcHVibGljOgogICAgICAgICAKICAgICAgICAgaWYgKG1fZ3JhcGgu
bV9wcm9maWxlZEJsb2NrLT5tX2RpZEZhaWxGVExDb21waWxhdGlvbikKICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKKworICAgICAgICBpZiAobV9ncmFwaC5tX2hhc0V4Y2VwdGlvbkhhbmRsZXJz
KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAKICNpZiBFTkFCTEUoRlRMX0pJ
VCkKICAgICAgICAgRlRMOjpDYXBhYmlsaXR5TGV2ZWwgbGV2ZWwgPSBGVEw6OmNhbkNvbXBpbGUo
bV9ncmFwaCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4aXRDb21w
aWxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPU1JF
eGl0Q29tcGlsZXIuY3BwCShyZXZpc2lvbiAxODk4MTcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTE9TUkV4aXRDb21waWxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUxNiw3ICs1
MTYsNyBAQCBzdGF0aWMgdm9pZCBjb21waWxlU3R1YigKICAgICAKICAgICBoYW5kbGVFeGl0Q291
bnRzKGppdCwgZXhpdCk7CiAgICAgcmVpZnlJbmxpbmVkQ2FsbEZyYW1lcyhqaXQsIGV4aXQpOwot
ICAgIGFkanVzdEFuZEp1bXBUb1RhcmdldChqaXQsIGV4aXQpOworICAgIGFkanVzdEFuZEp1bXBU
b1RhcmdldChqaXQsIGV4aXQsIGZhbHNlKTsKICAgICAKICAgICBMaW5rQnVmZmVyIHBhdGNoQnVm
ZmVyKCp2bSwgaml0LCBjb2RlQmxvY2spOwogICAgIGV4aXQubV9jb2RlID0gRklOQUxJWkVfQ09E
RV9JRigKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRl
ci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0lu
dGVycHJldGVyLmNwcAkocmV2aXNpb24gMTg5ODE3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjQxLDEwICs2
NDEsMjEgQEAgcHVibGljOgogCiAgICAgU3RhY2tWaXNpdG9yOjpTdGF0dXMgb3BlcmF0b3IoKShT
dGFja1Zpc2l0b3ImIHZpc2l0b3IpCiAgICAgeworICAgICAgICB2aXNpdG9yLnVud2luZFRvTWFj
aGluZUNvZGVCbG9ja0ZyYW1lKCk7CiAgICAgICAgIFZNJiB2bSA9IG1fY2FsbEZyYW1lLT52bSgp
OwogICAgICAgICBtX2NhbGxGcmFtZSA9IHZpc2l0b3ItPmNhbGxGcmFtZSgpOwogICAgICAgICBt
X2NvZGVCbG9jayA9IHZpc2l0b3ItPmNvZGVCbG9jaygpOwotICAgICAgICB1bnNpZ25lZCBieXRl
Y29kZU9mZnNldCA9IHZpc2l0b3ItPmJ5dGVjb2RlT2Zmc2V0KCk7CisKKyNpZiBVU0UoSlNWQUxV
RTMyXzY0KQorICAgICAgICAvLyBGSVhNRTogYmV0dGVyIG5hbWUgZm9yIGJ5dGVjb2RlIG9mZnNl
dC4KKyAgICAgICAgdW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQ7CisgICAgICAgIGlmIChtX2NvZGVC
bG9jay0+aml0VHlwZSgpICE9IEpJVENvZGU6OkRGR0pJVCkKKyAgICAgICAgICAgIGJ5dGVjb2Rl
T2Zmc2V0ID0gbV9jYWxsRnJhbWUtPmJ5dGVjb2RlT2Zmc2V0KCk7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIGJ5dGVjb2RlT2Zmc2V0ID0gbV9jYWxsRnJhbWUtPmNhbGxTaXRlSW5kZXgoKS5i
aXRzKCk7CisjZWxzZQorICAgICAgICB1bnNpZ25lZCBieXRlY29kZU9mZnNldCA9IG1fY2FsbEZy
YW1lLT5jYWxsU2l0ZUluZGV4KCkuYml0cygpOyAvLyBGSVhNRTogbm90IHRydWUgb24gMzItYml0
IGFuZCBhbHNvIG5vIGxvbmdlciBqdXN0IGEgYnl0ZWNvZGVPZmZzZXQuCisjZW5kaWYKIAogICAg
ICAgICBpZiAobV9pc1Rlcm1pbmF0aW9uIHx8ICEobV9oYW5kbGVyID0gKG1fY29kZUJsb2NrICYm
ICFpc1dlYkFzc2VtYmx5RXhlY3V0YWJsZShtX2NvZGVCbG9jay0+b3duZXJFeGVjdXRhYmxlKCkp
KSA/IG1fY29kZUJsb2NrLT5oYW5kbGVyRm9yQnl0ZWNvZGVPZmZzZXQoYnl0ZWNvZGVPZmZzZXQp
IDogbnVsbHB0cikpIHsKICAgICAgICAgICAgIGlmICghdW53aW5kQ2FsbEZyYW1lKHZpc2l0b3Ip
KSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3RhY2tWaXNpdG9y
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJwcmV0ZXIvU3Rh
Y2tWaXNpdG9yLmNwcAkocmV2aXNpb24gMTg5ODE3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ludGVycHJldGVyL1N0YWNrVmlzaXRvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTY5LDYgKzY5
LDE0IEBAIHZvaWQgU3RhY2tWaXNpdG9yOjpnb3RvTmV4dEZyYW1lKCkKICAgICByZWFkRnJhbWUo
bV9mcmFtZS5jYWxsZXJGcmFtZSgpKTsKIH0KIAorQ29kZUJsb2NrKiBTdGFja1Zpc2l0b3I6OnVu
d2luZFRvTWFjaGluZUNvZGVCbG9ja0ZyYW1lKCkKK3sKKyAgICB3aGlsZSAobV9mcmFtZS5pc0lu
bGluZWRGcmFtZSgpKQorICAgICAgICBnb3RvTmV4dEZyYW1lKCk7CisgICAgQ29kZUJsb2NrKiBy
ZXN1bHQgPSBtX2ZyYW1lLmNvZGVCbG9jaygpOworICAgIHJldHVybiByZXN1bHQ7Cit9CisKIHZv
aWQgU3RhY2tWaXNpdG9yOjpyZWFkRnJhbWUoQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCiB7CiAgICAg
aWYgKCFjYWxsRnJhbWUpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRl
ci9TdGFja1Zpc2l0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50
ZXJwcmV0ZXIvU3RhY2tWaXNpdG9yLmgJKHJldmlzaW9uIDE4OTgxNykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pbnRlcnByZXRlci9TdGFja1Zpc2l0b3IuaAkod29ya2luZyBjb3B5KQpAQCAt
MTMxLDYgKzEzMSw3IEBAIHB1YmxpYzoKIAogICAgIEZyYW1lJiBvcGVyYXRvciooKSB7IHJldHVy
biBtX2ZyYW1lOyB9CiAgICAgQUxXQVlTX0lOTElORSBGcmFtZSogb3BlcmF0b3ItPigpIHsgcmV0
dXJuICZtX2ZyYW1lOyB9CisgICAgQ29kZUJsb2NrKiB1bndpbmRUb01hY2hpbmVDb2RlQmxvY2tG
cmFtZSgpOwogCiBwcml2YXRlOgogICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0YWNrVmlzaXRvcihD
YWxsRnJhbWUqIHN0YXJ0RnJhbWUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9B
c3NlbWJseUhlbHBlcnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvQXNzZW1ibHlIZWxwZXJzLmNwcAkocmV2aXNpb24gMTg5ODE3KQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzMs
NiArMjczLDIwIEBAIEFzc2VtYmx5SGVscGVyczo6SnVtcCBBc3NlbWJseUhlbHBlcnM6OmUKICAg
ICByZXR1cm4gcmVhbEp1bXAubV9qdW1wOwogfQogCitBc3NlbWJseUhlbHBlcnM6Okp1bXAgQXNz
ZW1ibHlIZWxwZXJzOjplbWl0Tm9uUGF0Y2hhYmxlRXhjZXB0aW9uQ2hlY2soKQoreworICAgIGNh
bGxFeGNlcHRpb25GdXp6KCk7CisKKyAgICBKdW1wIHJlc3VsdDsKKyNpZiBVU0UoSlNWQUxVRTY0
KQorICAgIHJlc3VsdCA9IGJyYW5jaFRlc3Q2NChOb25aZXJvLCBBYnNvbHV0ZUFkZHJlc3Modm0o
KS0+YWRkcmVzc09mRXhjZXB0aW9uKCkpKTsKKyNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAg
cmVzdWx0ID0gYnJhbmNoMzIoTm90RXF1YWwsIEFic29sdXRlQWRkcmVzcyh2bSgpLT5hZGRyZXNz
T2ZFeGNlcHRpb24oKSksIFRydXN0ZWRJbW0zMigwKSk7CisjZW5kaWYKKyAgICAKKyAgICByZXR1
cm4gcmVzdWx0OworfQorCiB2b2lkIEFzc2VtYmx5SGVscGVyczo6ZW1pdFN0b3JlU3RydWN0dXJl
V2l0aFR5cGVJbmZvKEFzc2VtYmx5SGVscGVycyYgaml0LCBUcnVzdGVkSW1tUHRyIHN0cnVjdHVy
ZSwgUmVnaXN0ZXJJRCBkZXN0KQogewogICAgIGNvbnN0IFN0cnVjdHVyZSogc3RydWN0dXJlUHRy
ID0gc3RhdGljX2Nhc3Q8Y29uc3QgU3RydWN0dXJlKj4oc3RydWN0dXJlLm1fdmFsdWUpOwpJbmRl
eDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVscGVycy5oCShyZXZpc2lv
biAxODk4MTcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVscGVycy5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xMDIxLDYgKzEwMjEsNyBAQCBwdWJsaWM6CiAgICAgZW51bSBF
eGNlcHRpb25KdW1wV2lkdGggeyBOb3JtYWxKdW1wV2lkdGgsIEZhckp1bXBXaWR0aCB9OwogICAg
IEp1bXAgZW1pdEV4Y2VwdGlvbkNoZWNrKAogICAgICAgICBFeGNlcHRpb25DaGVja0tpbmQgPSBO
b3JtYWxFeGNlcHRpb25DaGVjaywgRXhjZXB0aW9uSnVtcFdpZHRoID0gTm9ybWFsSnVtcFdpZHRo
KTsKKyAgICBKdW1wIGVtaXROb25QYXRjaGFibGVFeGNlcHRpb25DaGVjaygpOwogCiAjaWYgRU5B
QkxFKFNBTVBMSU5HX0NPVU5URVJTKQogICAgIHN0YXRpYyB2b2lkIGVtaXRDb3VudChNYWNyb0Fz
c2VtYmxlciYgaml0LCBBYnN0cmFjdFNhbXBsaW5nQ291bnRlciYgY291bnRlciwgaW50MzJfdCBp
bmNyZW1lbnQgPSAxKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRFeGNlcHRp
b25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVEV4Y2Vw
dGlvbnMuY3BwCShyZXZpc2lvbiAxODk4MTcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0
L0pJVEV4Y2VwdGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NCw3ICs1NCwxNCBAQCB2b2lk
IGdlbmVyaWNVbndpbmQoVk0qIHZtLCBFeGVjU3RhdGUqIGNhCiAgICAgdm9pZCogY2F0Y2hSb3V0
aW5lOwogICAgIEluc3RydWN0aW9uKiBjYXRjaFBDRm9ySW50ZXJwcmV0ZXIgPSAwOwogICAgIGlm
IChoYW5kbGVyKSB7Ci0gICAgICAgIGNhdGNoUENGb3JJbnRlcnByZXRlciA9ICZjYWxsRnJhbWUt
PmNvZGVCbG9jaygpLT5pbnN0cnVjdGlvbnMoKVtoYW5kbGVyLT50YXJnZXRdOworICAgICAgICAv
LyBoYW5kbGVyLT50YXJnZXQgaXMgbWVhbmluZ2xlc3MgZm9yIGdldHRpbmcgYSBjb2RlIG9mZnNl
dCB3aGVuIGNhdGNoaW5nCisgICAgICAgIC8vIHRoZSBleGNlcHRpb24gaW4gYSBERkcgZnJhbWUu
IFRoaXMgYnl0ZWNvZGUgdGFyZ2V0IG9mZnNldCBjb3VsZCBiZQorICAgICAgICAvLyBzb21ldGhp
bmcgdGhhdCdzIGluIGFuIGlubGluZWQgZnJhbWUsIHdoaWNoIG1lYW5zIGFuIGFycmF5IGFjY2Vz
cworICAgICAgICAvLyB3aXRoIHRoaXMgYnl0ZWNvZGUgb2Zmc2V0IGluIHRoZSBtYWNoaW5lIGZy
YW1lIGlzIHV0dGVybHkgbWVhbmluZ2xlc3MKKyAgICAgICAgLy8gYW5kIGNhbiBjYXVzZSBhbiBv
dmVyZmxvdy4gT1NSIGV4aXQgcHJvcGVybHkgZXhpdHMgdG8gaGFuZGxlci0+dGFyZ2V0CisgICAg
ICAgIC8vIGluIHRoZSBwcm9wZXIgZnJhbWUuCisgICAgICAgIGlmIChjYWxsRnJhbWUtPmNvZGVC
bG9jaygpLT5qaXRUeXBlKCkgIT0gSklUQ29kZTo6REZHSklUKQorICAgICAgICAgICAgY2F0Y2hQ
Q0ZvckludGVycHJldGVyID0gJmNhbGxGcmFtZS0+Y29kZUJsb2NrKCktPmluc3RydWN0aW9ucygp
W2hhbmRsZXItPnRhcmdldF07CiAjaWYgRU5BQkxFKEpJVCkKICAgICAgICAgY2F0Y2hSb3V0aW5l
ID0gaGFuZGxlci0+bmF0aXZlQ29kZS5leGVjdXRhYmxlQWRkcmVzcygpOwogI2Vsc2UKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkocmV2aXNpb24gMTg5ODE3
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtNTAxLDYgKzUwMSw3IEBAIHZvaWQgSklUOjplbWl0X29wX2NhdGNoKEluc3RydWN0
aW9uKiBjdXIKIAogICAgIG1vdmUoVHJ1c3RlZEltbVB0cihtX3ZtKSwgcmVnVDMpOwogICAgIGxv
YWQ2NChBZGRyZXNzKHJlZ1QzLCBWTTo6Y2FsbEZyYW1lRm9yQ2F0Y2hPZmZzZXQoKSksIGNhbGxG
cmFtZVJlZ2lzdGVyKTsKKyAgICBzdG9yZVB0cihUcnVzdGVkSW1tUHRyKG51bGxwdHIpLCBBZGRy
ZXNzKHJlZ1QzLCBWTTo6Y2FsbEZyYW1lRm9yQ2F0Y2hPZmZzZXQoKSkpOwogCiAgICAgYWRkUHRy
KFRydXN0ZWRJbW0zMihzdGFja1BvaW50ZXJPZmZzZXRGb3IoY29kZUJsb2NrKCkpICogc2l6ZW9m
KFJlZ2lzdGVyKSksIGNhbGxGcmFtZVJlZ2lzdGVyLCBzdGFja1BvaW50ZXJSZWdpc3Rlcik7CiAK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJf
NjQuYXNtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyMzJfNjQuYXNtCShyZXZpc2lvbiAxODk4MTcpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFzbQkod29ya2luZyBjb3B5
KQpAQCAtMzA0LDYgKzMwNCw3IEBAIF9oYW5kbGVVbmNhdWdodEV4Y2VwdGlvbjoKICAgICBsb2Fk
cCBNYXJrZWRCbG9jazo6bV93ZWFrU2V0ICsgV2Vha1NldDo6bV92bVt0M10sIHQzCiAgICAgcmVz
dG9yZUNhbGxlZVNhdmVzRnJvbVZNQ2FsbGVlU2F2ZXNCdWZmZXIodDMsIHQwKQogICAgIGxvYWRw
IFZNOjpjYWxsRnJhbWVGb3JDYXRjaFt0M10sIGNmcgorICAgIHN0b3JlcCAwLCBWTTo6Y2FsbEZy
YW1lRm9yQ2F0Y2hbdDNdCiAKICAgICBsb2FkcCBDYWxsZXJGcmFtZVtjZnJdLCBjZnIKIApAQCAt
MTgzNyw2ICsxODM4LDcgQEAgX2xsaW50X29wX2NhdGNoOgogICAgIGxvYWRwIE1hcmtlZEJsb2Nr
OjptX3dlYWtTZXQgKyBXZWFrU2V0OjptX3ZtW3QzXSwgdDMKICAgICByZXN0b3JlQ2FsbGVlU2F2
ZXNGcm9tVk1DYWxsZWVTYXZlc0J1ZmZlcih0MywgdDApCiAgICAgbG9hZHAgVk06OmNhbGxGcmFt
ZUZvckNhdGNoW3QzXSwgY2ZyCisgICAgc3RvcmVwIDAsIFZNOjpjYWxsRnJhbWVGb3JDYXRjaFt0
M10KICAgICByZXN0b3JlU3RhY2tQb2ludGVyQWZ0ZXJDYWxsKCkKIAogICAgIGxvYWRpIFZNOjp0
YXJnZXRJbnRlcnByZXRlclBDRm9yVGhyb3dbdDNdLCBQQwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20JKHJldmlz
aW9uIDE4OTgxNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZlbEludGVy
cHJldGVyNjQuYXNtCSh3b3JraW5nIGNvcHkpCkBAIC0yNzYsNiArMjc2LDcgQEAgX2hhbmRsZVVu
Y2F1Z2h0RXhjZXB0aW9uOgogICAgIGxvYWRwIE1hcmtlZEJsb2NrOjptX3dlYWtTZXQgKyBXZWFr
U2V0OjptX3ZtW3QzXSwgdDMKICAgICByZXN0b3JlQ2FsbGVlU2F2ZXNGcm9tVk1DYWxsZWVTYXZl
c0J1ZmZlcih0MywgdDApCiAgICAgbG9hZHAgVk06OmNhbGxGcmFtZUZvckNhdGNoW3QzXSwgY2Zy
CisgICAgc3RvcmVwIDAsIFZNOjpjYWxsRnJhbWVGb3JDYXRjaFt0M10KIAogICAgIGxvYWRwIENh
bGxlckZyYW1lW2Nmcl0sIGNmcgogICAgIHZtRW50cnlSZWNvcmQoY2ZyLCB0MikKQEAgLTE3MjMs
NiArMTcyNCw3IEBAIF9sbGludF9vcF9jYXRjaDoKICAgICBsb2FkcCBNYXJrZWRCbG9jazo6bV93
ZWFrU2V0ICsgV2Vha1NldDo6bV92bVt0M10sIHQzCiAgICAgcmVzdG9yZUNhbGxlZVNhdmVzRnJv
bVZNQ2FsbGVlU2F2ZXNCdWZmZXIodDMsIHQwKQogICAgIGxvYWRwIFZNOjpjYWxsRnJhbWVGb3JD
YXRjaFt0M10sIGNmcgorICAgIHN0b3JlcCAwLCBWTTo6Y2FsbEZyYW1lRm9yQ2F0Y2hbdDNdCiAg
ICAgcmVzdG9yZVN0YWNrUG9pbnRlckFmdGVyQ2FsbCgpCiAKICAgICBsb2FkcCBDb2RlQmxvY2tb
Y2ZyXSwgUEIKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL1ZNLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAkocmV2aXNpb24gMTg5
ODE3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvVk0uaAkod29ya2luZyBjb3B5
KQpAQCAtNDExLDYgKzQxMSw4IEBAIHB1YmxpYzoKICAgICAgICAgbV9sYXN0RXhjZXB0aW9uID0g
ZXhjZXB0aW9uOwogICAgIH0KIAorICAgIEV4ZWNTdGF0ZSoqIGFkZHJlc3NPZkNhbGxGcmFtZUZv
ckNhdGNoKCkgeyByZXR1cm4gJmNhbGxGcmFtZUZvckNhdGNoOyB9CisKICAgICBFeGNlcHRpb24q
IGV4Y2VwdGlvbigpIGNvbnN0IHsgcmV0dXJuIG1fZXhjZXB0aW9uOyB9CiAgICAgSlNDZWxsKiog
YWRkcmVzc09mRXhjZXB0aW9uKCkgeyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdDxKU0NlbGwqKj4o
Jm1fZXhjZXB0aW9uKTsgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3Ry
ZXNzL2RmZy1leGNlcHRpb24tdHJ5LWNhdGNoLWluLWNvbnN0cnVjdG9yLXdpdGgtaW5saW5lZC10
aHJvdy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNz
L2RmZy1leGNlcHRpb24tdHJ5LWNhdGNoLWluLWNvbnN0cnVjdG9yLXdpdGgtaW5saW5lZC10aHJv
dy5qcwkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
ZGZnLWV4Y2VwdGlvbi10cnktY2F0Y2gtaW4tY29uc3RydWN0b3Itd2l0aC1pbmxpbmVkLXRocm93
LmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzcgQEAKK2Z1bmN0aW9uIGYoKSB7CisgICAg
cmV0dXJuIDIwOyAKK30KK25vSW5saW5lKGYpOworCitmdW5jdGlvbiBiYXIoYikgeyAKKyAgICBp
ZiAoYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJibGFoISIpOworfQorLy8gRklYTUU6IGFk
ZCB0aGlzIHNhbWUgdGhpbmcgYnV0IGlubGluZWQgd2l0aGluIGl0c2VsZi4KK2Z1bmN0aW9uIEZv
byhiLCBjKSB7CisgICAgdHJ5IHsKKyAgICAgICAgdGhpcy52YWx1ZSA9IGJhcihiKTsKKyAgICAg
ICAgdGhpcy5iYXIgPSBuZXcgQmFyKGIsIGMpOworICAgIH0gY2F0Y2goZSkgeworICAgICAgICB0
aGlzLnZhbHVlID0gZS50b1N0cmluZygpOworICAgIH0KKworICAgIGYodGhpcy52YWx1ZSwgYiwg
Yyk7Cit9Citub0lubGluZShGb28pOworCitmdW5jdGlvbiBCYXIoYiwgYykgeworICAgIHRyeSB7
CisgICAgICAgIHRoaXMudmFsdWUgPSBiYXIoYik7CisgICAgfSBjYXRjaChlKSB7CisgICAgICAg
IHRoaXMudmFsdWUgPSBlLnRvU3RyaW5nKCk7CisgICAgfQorCisgICAgZih0aGlzLnZhbHVlLCBi
LCBjKTsKK30KKworZm9yICh2YXIgaSA9IDE7IGkgPCAxMDAwOyBpKyspIHsKKyAgICBsZXQgdmFs
dWUgPSBuZXcgRm9vKGkgJSAzID09PSAwLCBpICUgMyA9PT0gMCA/IGkgOiBpICsgMC4yNCArIE5h
Tik7CisgICAgaWYgKGkgJSAzID09PSAwICYmIHZhbHVlLnZhbHVlICE9PSAgIkVycm9yOiBibGFo
ISIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiYmFkIHZhbHVlOiAiICsgdmFsdWUudmFsdWUp
OworfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9lczYtZm9yLW9m
LWxvb3AtZXhjZXB0aW9uLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvZXM2LWZvci1vZi1sb29wLWV4Y2VwdGlvbi5qcwkocmV2aXNpb24gMCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZXM2LWZvci1vZi1sb29wLWV4Y2Vw
dGlvbi5qcwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDI5IEBACitmdW5jdGlvbiBhc3NlcnQo
Y29uZCkgeworICAgIGlmICghY29uZCkKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJicm9rZSBh
c3NlcnRpb24iKTsKK30KK25vSW5saW5lKGFzc2VydCk7CisKK2Z1bmN0aW9uIHNob3VsZFRocm93
SW52YWxpZENvbnN0QXNzaWdubWVudChmKSB7CisgICAgdmFyIHRocmV3ID0gZmFsc2U7CisgICAg
dHJ5IHsKKyAgICAgICAgZigpOworICAgIH0gY2F0Y2goZSkgeworICAgICAgICAvL3ByaW50KGUp
OworICAgICAgICBpZiAoZS5uYW1lLmluZGV4T2YoIlR5cGVFcnJvciIpICE9PSAtMSAmJiBlLm1l
c3NhZ2UuaW5kZXhPZigicmVhZG9ubHkiKSAhPT0gLTEpCisgICAgICAgICAgICB0aHJldyA9IHRy
dWU7CisgICAgfQorICAgIGFzc2VydCh0aHJldyk7Cit9Citub0lubGluZShzaG91bGRUaHJvd0lu
dmFsaWRDb25zdEFzc2lnbm1lbnQpOworCitmdW5jdGlvbiBiYXooKXt9Citub0lubGluZShiYXop
OworCitmdW5jdGlvbiBmb28oKSB7CisgICAgZm9yIChjb25zdCBpdGVtIG9mIFsxLDIsM10pIHsK
KyAgICAgICAgaXRlbSA9IDIwOworICAgIH0KK30KK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDsg
aSsrKQorICAgIHNob3VsZFRocm93SW52YWxpZENvbnN0QXNzaWdubWVudChmb28pOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9leGNlcHRpb24tZGZnLWlubGluZWQt
ZnJhbWUtbm90LXN0cmljdC1lcXVhbC5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvdGVzdHMvc3RyZXNzL2V4Y2VwdGlvbi1kZmctaW5saW5lZC1mcmFtZS1ub3Qtc3RyaWN0
LWVxdWFsLmpzCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0
cmVzcy9leGNlcHRpb24tZGZnLWlubGluZWQtZnJhbWUtbm90LXN0cmljdC1lcXVhbC5qcwkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDM5IEBACitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlm
ICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgYXNzZXJ0aW9uIik7Cit9Citub0lu
bGluZShhc3NlcnQpOwordmFyIG8gPSB7CisgICAgdmFsdWVPZjogZnVuY3Rpb24oKSB7IHJldHVy
biB7fTsgfSwKKyAgICB0b1N0cmluZzogZnVuY3Rpb24oKSB7IHJldHVybiB7fTsgfQorfTsKK2Z1
bmN0aW9uIHJlYWQoKSB7CisgICAgcmV0dXJuICJyZWFkIjsKK30KK25vSW5saW5lKHJlYWQpOwor
CitmdW5jdGlvbiBiYXIoYSwgYikgeworICAgIHJldHVybiBhID09IGI7Cit9CisKK2Z1bmN0aW9u
IGZvbyhhLCBiKSB7CisgICAgdmFyIHJlc3VsdCA9IG51bGw7CisgICAgdmFyIHZhbHVlID0gcmVh
ZCgpOworICAgIHRyeSB7CisgICAgICAgIHJlc3VsdCA9IGJhcihhLCBiKTsKKyAgICB9IGNhdGNo
KGUpIHsKKyAgICAgICAgYXNzZXJ0KCIiICsgdmFsdWUgPT09ICJyZWFkIik7CisgICAgfQorICAg
IHJldHVybiB2YWx1ZTsKK30KK25vSW5saW5lKGZvbyk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwg
MTAwMDsgaSsrKSB7CisgICAgZm9vKDEwLCAyMCk7CisgICAgZm9vKHt9LCB7fSk7CisgICAgZm9v
KDEwLCAxMC4wKTsKKyAgICBmb28oImhlbGxvIiwgImhlbGxvIik7CisgICAgZm9vKG51bGwsIHVu
ZGVmaW5lZCk7CisgICAgZm9vKGZhbHNlLCAwKTsKK30KK2ZvbyhvLCAiaGVsbG8iKTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZXhjZXB0aW9uLWRmZy1ub3Qtc3Ry
aWN0LWVxdWFsLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9z
dHJlc3MvZXhjZXB0aW9uLWRmZy1ub3Qtc3RyaWN0LWVxdWFsLmpzCShyZXZpc2lvbiAwKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9leGNlcHRpb24tZGZnLW5vdC1zdHJp
Y3QtZXF1YWwuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw3MSBAQAorOyhmdW5jdGlvbiAo
KSB7CitmdW5jdGlvbiBmb28oYSwgYikgeworICAgIHZhciByZXN1bHQgPSBudWxsOworICAgIHRy
eSB7CisgICAgICAgIHJlc3VsdCA9IGEgPT0gYjsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICB9Cit9
Citub0lubGluZShmb28pOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDA7IGkrKykgeworICAg
IGZvbygxMCwgMjApOworICAgIGZvbyh7fSwge30pOworICAgIGZvbygxMCwgMTAuMCk7CisgICAg
Zm9vKCJoZWxsbyIsICJoZWxsbyIpOworICAgIGZvbyhudWxsLCB1bmRlZmluZWQpOworICAgIGZv
byhmYWxzZSwgMCk7Cit9CisKK3ZhciBvID0geworICAgIHZhbHVlT2Y6IGZ1bmN0aW9uKCkgeyBy
ZXR1cm4ge307IH0sCisgICAgdG9TdHJpbmc6IGZ1bmN0aW9uKCkgeyByZXR1cm4ge307IH0KK307
Citmb28obywgImhlbGxvIik7Cit9KSgpOworCisKK2Z1bmN0aW9uIGFzc2VydChiKSB7CisgICAg
aWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoIkJhZCBhc3NlcnRpb24iKTsKK30KK25v
SW5saW5lKGFzc2VydCk7CisKKworOyhmdW5jdGlvbigpIHsKKwordmFyIF9zaG91bGREb1NvbWV0
aGluZ0luRmluYWxseSA9IGZhbHNlOworZnVuY3Rpb24gc2hvdWxkRG9Tb21ldGhpbmdJbkZpbmFs
bHkoKSB7IHJldHVybiBfc2hvdWxkRG9Tb21ldGhpbmdJbkZpbmFsbHk7IH0KK25vSW5saW5lKHNo
b3VsZERvU29tZXRoaW5nSW5GaW5hbGx5KTsKKworZnVuY3Rpb24gZm9vKGEsIGIpIHsKKyAgICB2
YXIgcmVzdWx0ID0gbnVsbDsKKyAgICB0cnkgeworICAgICAgICByZXN1bHQgPSBhID09IGI7Cisg
ICAgfSBmaW5hbGx5IHsKKyAgICAgICAgaWYgKHNob3VsZERvU29tZXRoaW5nSW5GaW5hbGx5KCkp
CisgICAgICAgICAgICBhc3NlcnQocmVzdWx0ID09PSBudWxsKTsKKyAgICB9CisgICAgcmV0dXJu
IHJlc3VsdDsKK30KK25vSW5saW5lKGZvbyk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDsg
aSsrKSB7CisgICAgZm9vKDEwLCAyMCk7CisgICAgZm9vKHt9LCB7fSk7CisgICAgZm9vKDEwLCAx
MC4wKTsKKyAgICBmb28oImhlbGxvIiwgImhlbGxvIik7CisgICAgZm9vKG51bGwsIHVuZGVmaW5l
ZCk7CisgICAgZm9vKGZhbHNlLCAwKTsKK30KKwordmFyIG8gPSB7CisgICAgdmFsdWVPZjogZnVu
Y3Rpb24oKSB7IHJldHVybiB7fTsgfSwKKyAgICB0b1N0cmluZzogZnVuY3Rpb24oKSB7IHJldHVy
biB7fTsgfQorfTsKK3RyeSB7CisgICAgX3Nob3VsZERvU29tZXRoaW5nSW5GaW5hbGx5ID0gdHJ1
ZTsKKyAgICBmb28obywgImhlbGxvIik7Cit9IGNhdGNoKGUpIHt9CisKK30pKCk7CkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2V4Y2VwdGlvbi1kZmctb3BlcmF0aW9u
LXJlYWQtdmFsdWUuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3Rz
L3N0cmVzcy9leGNlcHRpb24tZGZnLW9wZXJhdGlvbi1yZWFkLXZhbHVlLmpzCShyZXZpc2lvbiAw
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9leGNlcHRpb24tZGZnLW9w
ZXJhdGlvbi1yZWFkLXZhbHVlLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMzUgQEAKK2Z1
bmN0aW9uIGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkJhZCBhc3NlcnRpb24iKTsKK30KK25vSW5saW5lKGFzc2VydCk7Cit2YXIgbyA9IHsKKyAgICB2
YWx1ZU9mOiBmdW5jdGlvbigpIHsgcmV0dXJuIHt9OyB9LAorICAgIHRvU3RyaW5nOiBmdW5jdGlv
bigpIHsgcmV0dXJuIHt9OyB9Cit9OworZnVuY3Rpb24gcmVhZCgpIHsKKyAgICByZXR1cm4gInJl
YWQiOworfQorbm9JbmxpbmUocmVhZCk7CisKK2Z1bmN0aW9uIGZvbyhhLCBiKSB7CisgICAgdmFy
IHJlc3VsdCA9IG51bGw7CisgICAgdmFyIHZhbHVlID0gcmVhZCgpOworICAgIHRyeSB7CisgICAg
ICAgIHJlc3VsdCA9IGEgPT0gYjsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgYXNzZXJ0KCIi
ICsgdmFsdWUgPT09ICJyZWFkIik7CisgICAgfQorICAgIHJldHVybiB2YWx1ZTsKK30KK25vSW5s
aW5lKGZvbyk7CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDsgaSsrKSB7CisgICAgZm9vKDEw
LCAyMCk7CisgICAgZm9vKHt9LCB7fSk7CisgICAgZm9vKDEwLCAxMC4wKTsKKyAgICBmb28oImhl
bGxvIiwgImhlbGxvIik7CisgICAgZm9vKG51bGwsIHVuZGVmaW5lZCk7CisgICAgZm9vKGZhbHNl
LCAwKTsKK30KK2ZvbyhvLCAiaGVsbG8iKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvZXhjZXB0aW9uLWRmZy10aHJvdy1mcm9tLWNhdGNoLWJsb2NrLmpzCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZXhjZXB0aW9uLWRm
Zy10aHJvdy1mcm9tLWNhdGNoLWJsb2NrLmpzCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFT
Y3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9leGNlcHRpb24tZGZnLXRocm93LWZyb20tY2F0Y2gtYmxv
Y2suanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MCBAQAorInVzZSBzdHJpY3QiOworZnVu
Y3Rpb24gYXNzZXJ0KGNvbmQsIG0pIHsKKyAgICBpZiAoIWNvbmQpCisgICAgICAgIHRocm93IG5l
dyBFcnJvcigiYnJva2UgYXNzZXJ0aW9uOiAnIiArIG0gKyAiJyIpOworfQorbm9JbmxpbmUoYXNz
ZXJ0KTsKKworZnVuY3Rpb24gYmF6KGIpIHsKKyAgICBpZiAoYikKKyAgICAgICAgdGhyb3cgbmV3
IEVycm9yKCJCYXoiKTsKK30KKworZnVuY3Rpb24gYmFyKGIpIHsKKyAgICB2YXIgZXhjZXB0aW9u
ID0gbnVsbDsKKyAgICB0cnkgeworICAgICAgICBiYXooYik7CisgICAgfSBjYXRjaChlKSB7Cisg
ICAgICAgIGV4Y2VwdGlvbiA9IGU7CisgICAgICAgIGJheihiKTsKKyAgICB9IGZpbmFsbHkgewor
ICAgICAgICBpZiAoYikgCisgICAgICAgICAgICBhc3NlcnQoZXhjZXB0aW9uKTsKKyAgICB9Cit9
CisKK2Z1bmN0aW9uIGZvbyhiKSB7CisgICAgdmFyIGV4Y2VwdGlvbiA9IG51bGw7CisgICAgdHJ5
IHsKKyAgICAgICAgYmFyKGIpOworICAgIH0gY2F0Y2goZSkgeworICAgICAgICBleGNlcHRpb24g
PSBlOworICAgIH0KKyAgICBpZiAoYikKKyAgICAgICAgYXNzZXJ0KGV4Y2VwdGlvbik7Cit9CisK
K2NvbnN0IE5VTV9MT09QUyA9IDEwMDA7Citmb3IgKHZhciBpID0gMDsgaSA8IE5VTV9MT09QUzsg
aSsrKSB7CisgICAgZm9vKGkgPT09IE5VTV9MT09QUyAtIDEpOworfQpJbmRleDogTGF5b3V0VGVz
dHMvanMvcmVncmVzcy9yYXl0cmFjZS13aXRoLWVtcHR5LXRyeS1jYXRjaC1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvanMvcmVncmVzcy9yYXl0cmFjZS13aXRoLWVtcHR5
LXRyeS1jYXRjaC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9qcy9y
ZWdyZXNzL3JheXRyYWNlLXdpdGgtZW1wdHktdHJ5LWNhdGNoLWV4cGVjdGVkLnR4dAkod29ya2lu
ZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACitKU1JlZ3Jlc3MvcmF5dHJhY2Utd2l0aC1lbXB0eS10
cnktY2F0Y2gKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBt
ZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgbm8gZXhjZXB0
aW9uIHRocm93bgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKSW5kZXg6IExheW91dFRlc3RzL2pzL3JlZ3Jlc3MvcmF5dHJhY2Utd2l0aC1lbXB0eS10
cnktY2F0Y2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3JheXRy
YWNlLXdpdGgtZW1wdHktdHJ5LWNhdGNoLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9qcy9yZWdyZXNzL3JheXRyYWNlLXdpdGgtZW1wdHktdHJ5LWNhdGNoLmh0bWwJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9E
VEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vcmVzb3VyY2VzL3JlZ3Jlc3MtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSJzY3JpcHQtdGVzdHMvcmF5dHJhY2Utd2l0aC1lbXB0eS10cnktY2F0Y2guanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9yZWdyZXNzLXBvc3QuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvanMvcmVncmVzcy9yYXl0cmFj
ZS13aXRoLXRyeS1jYXRjaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
anMvcmVncmVzcy9yYXl0cmFjZS13aXRoLXRyeS1jYXRjaC1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3JheXRyYWNlLXdpdGgtdHJ5LWNhdGNoLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACitKU1JlZ3Jlc3MvcmF5
dHJhY2Utd2l0aC10cnktY2F0Y2gKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1Mgbm8gZXhjZXB0aW9uIHRocm93bgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2pzL3JlZ3Jlc3MvcmF5dHJhY2Ut
d2l0aC10cnktY2F0Y2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9qcy9yZWdyZXNz
L3JheXRyYWNlLXdpdGgtdHJ5LWNhdGNoLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0
cy9qcy9yZWdyZXNzL3JheXRyYWNlLXdpdGgtdHJ5LWNhdGNoLmh0bWwJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRN
TC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vcmVzb3VyY2VzL3JlZ3Jlc3MtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzY3Jp
cHQtdGVzdHMvcmF5dHJhY2Utd2l0aC10cnktY2F0Y2guanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9yZWdyZXNzLXBvc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvanMvcmVncmVzcy92OC1yYXl0cmFjZS13aXRoLWVt
cHR5LXRyeS1jYXRjaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvanMv
cmVncmVzcy92OC1yYXl0cmFjZS13aXRoLWVtcHR5LXRyeS1jYXRjaC1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3Y4LXJheXRyYWNlLXdpdGgtZW1w
dHktdHJ5LWNhdGNoLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBA
CitKU1JlZ3Jlc3MvdjgtcmF5dHJhY2Utd2l0aC1lbXB0eS10cnktY2F0Y2gKKworT24gc3VjY2Vz
cywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkg
IlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgbm8gZXhjZXB0aW9uIHRocm93bgorUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRl
c3RzL2pzL3JlZ3Jlc3MvdjgtcmF5dHJhY2Utd2l0aC1lbXB0eS10cnktY2F0Y2guaHRtbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3Y4LXJheXRyYWNlLXdpdGgtZW1wdHkt
dHJ5LWNhdGNoLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3Y4
LXJheXRyYWNlLXdpdGgtZW1wdHktdHJ5LWNhdGNoLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAs
MCArMSwxMiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4i
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1w
cmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVz
b3VyY2VzL3JlZ3Jlc3MtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVz
dHMvdjgtcmF5dHJhY2Utd2l0aC1lbXB0eS10cnktY2F0Y2guanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9yZWdyZXNzLXBvc3QuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5
PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvanMvcmVncmVzcy92OC1yYXl0cmFjZS13aXRo
LXRyeS1jYXRjaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvanMvcmVn
cmVzcy92OC1yYXl0cmFjZS13aXRoLXRyeS1jYXRjaC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3Y4LXJheXRyYWNlLXdpdGgtdHJ5LWNhdGNoLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACitKU1JlZ3Jlc3Mvdjgt
cmF5dHJhY2Utd2l0aC10cnktY2F0Y2gKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2Vy
aWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisK
K1BBU1Mgbm8gZXhjZXB0aW9uIHRocm93bgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2pzL3JlZ3Jlc3MvdjgtcmF5
dHJhY2Utd2l0aC10cnktY2F0Y2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9qcy9y
ZWdyZXNzL3Y4LXJheXRyYWNlLXdpdGgtdHJ5LWNhdGNoLmh0bWwJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9qcy9yZWdyZXNzL3Y4LXJheXRyYWNlLXdpdGgtdHJ5LWNhdGNoLmh0bWwJKHdv
cmtpbmcgY29weSkKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9J
RVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9y
ZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3JlZ3Jlc3MtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSJzY3JpcHQtdGVzdHMvdjgtcmF5dHJhY2Utd2l0aC10cnktY2F0Y2guanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9yZWdyZXNzLXBvc3QuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3Jp
cHQtdGVzdHMvcmF5dHJhY2Utd2l0aC1lbXB0eS10cnktY2F0Y2guanMKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvcmF5dHJhY2Utd2l0aC1lbXB0eS10
cnktY2F0Y2guanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3Njcmlw
dC10ZXN0cy9yYXl0cmFjZS13aXRoLWVtcHR5LXRyeS1jYXRjaC5qcwkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDUyOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNyBBcHBsZSBJbmMuICBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
CisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4g
CisgKi8KKworCitmdW5jdGlvbiBjcmVhdGVWZWN0b3IoeCx5LHopIHsKKyAgICB0cnkgeworICAg
ICAgICByZXR1cm4gbmV3IEFycmF5KHgseSx6KTsKKyAgICB9IGNhdGNoKGUpIHsgfQorfQorCitm
dW5jdGlvbiBzcXJMZW5ndGhWZWN0b3Ioc2VsZikgeworICAgIHRyeSB7CisgICAgICAgIHJldHVy
biBzZWxmWzBdICogc2VsZlswXSArIHNlbGZbMV0gKiBzZWxmWzFdICsgc2VsZlsyXSAqIHNlbGZb
Ml07CisgICAgfSBjYXRjaChlKSB7IH0KK30KKworZnVuY3Rpb24gbGVuZ3RoVmVjdG9yKHNlbGYp
IHsKKyAgICB0cnkgeworICAgICAgICByZXR1cm4gTWF0aC5zcXJ0KHNlbGZbMF0gKiBzZWxmWzBd
ICsgc2VsZlsxXSAqIHNlbGZbMV0gKyBzZWxmWzJdICogc2VsZlsyXSk7CisgICAgfSBjYXRjaChl
KSB7IH0KK30KKworZnVuY3Rpb24gYWRkVmVjdG9yKHNlbGYsIHYpIHsKKyAgICB0cnkgeworICAg
ICAgICBzZWxmWzBdICs9IHZbMF07CisgICAgICAgIHNlbGZbMV0gKz0gdlsxXTsKKyAgICB9IGNh
dGNoKGUpIHsgfQorCisgICAgc2VsZlsyXSArPSB2WzJdOworICAgIHJldHVybiBzZWxmOworfQor
CitmdW5jdGlvbiBzdWJWZWN0b3Ioc2VsZiwgdikgeworICAgIHRyeSB7CisgICAgICAgIHNlbGZb
MF0gLT0gdlswXTsKKyAgICAgICAgc2VsZlsxXSAtPSB2WzFdOworICAgIH0gY2F0Y2goZSkgeyAK
KyAgICB9CisgICAgc2VsZlsyXSAtPSB2WzJdOworICAgIHJldHVybiBzZWxmOworfQorCitmdW5j
dGlvbiBzY2FsZVZlY3RvcihzZWxmLCBzY2FsZSkgeworICAgIHRyeSB7CisgICAgICAgIHNlbGZb
MF0gKj0gc2NhbGU7CisgICAgICAgIHNlbGZbMV0gKj0gc2NhbGU7CisgICAgfSBjYXRjaChlKSB7
IH0KKyAgICBzZWxmWzJdICo9IHNjYWxlOworICAgIHJldHVybiBzZWxmOworfQorCitmdW5jdGlv
biBub3JtYWxpc2VWZWN0b3Ioc2VsZikgeworICAgIHZhciBsZW4gPSBNYXRoLnNxcnQoc2VsZlsw
XSAqIHNlbGZbMF0gKyBzZWxmWzFdICogc2VsZlsxXSArIHNlbGZbMl0gKiBzZWxmWzJdKTsKKyAg
ICB0cnkgeworICAgICAgICBzZWxmWzBdIC89IGxlbjsKKyAgICAgICAgc2VsZlsxXSAvPSBsZW47
CisgICAgfSBjYXRjaChlKSB7IH0KKyAgICBzZWxmWzJdIC89IGxlbjsKKyAgICByZXR1cm4gc2Vs
ZjsKK30KKworZnVuY3Rpb24gYWRkKHYxLCB2MikgeworICAgIHRyeSB7CisgICAgICAgIHJldHVy
biBuZXcgQXJyYXkodjFbMF0gKyB2MlswXSwgdjFbMV0gKyB2MlsxXSwgdjFbMl0gKyB2MlsyXSk7
CisgICAgfSBjYXRjaChlKSB7IH0KK30KKworZnVuY3Rpb24gc3ViKHYxLCB2MikgeworICAgIHRy
eSB7CisgICAgICAgIHJldHVybiBuZXcgQXJyYXkodjFbMF0gLSB2MlswXSwgdjFbMV0gLSB2Mlsx
XSwgdjFbMl0gLSB2MlsyXSk7CisgICAgfSBjYXRjaChlKSB7IH0KK30KKworZnVuY3Rpb24gc2Nh
bGV2KHYxLCB2MikgeworICAgIHRyeSB7CisgICAgICAgIHJldHVybiBuZXcgQXJyYXkodjFbMF0g
KiB2MlswXSwgdjFbMV0gKiB2MlsxXSwgdjFbMl0gKiB2MlsyXSk7CisgICAgfSBjYXRjaChlKSB7
IH0KK30KKworZnVuY3Rpb24gZG90KHYxLCB2MikgeworICAgIHRyeSB7CisgICAgICAgIHJldHVy
biB2MVswXSAqIHYyWzBdICsgdjFbMV0gKiB2MlsxXSArIHYxWzJdICogdjJbMl07CisgICAgfSBj
YXRjaChlKSB7IH0KK30KKworZnVuY3Rpb24gc2NhbGUodiwgc2NhbGUpIHsKKyAgICB0cnkgewor
ICAgICAgICByZXR1cm4gW3ZbMF0gKiBzY2FsZSwgdlsxXSAqIHNjYWxlLCB2WzJdICogc2NhbGVd
OworICAgIH0gY2F0Y2goZSkgeyB9Cit9CisKK2Z1bmN0aW9uIGNyb3NzKHYxLCB2MikgeworICAg
IHRyeSB7CisgICAgICAgIHJldHVybiBbdjFbMV0gKiB2MlsyXSAtIHYxWzJdICogdjJbMV0sIAor
ICAgICAgICAgICAgICAgIHYxWzJdICogdjJbMF0gLSB2MVswXSAqIHYyWzJdLAorICAgICAgICAg
ICAgICAgIHYxWzBdICogdjJbMV0gLSB2MVsxXSAqIHYyWzBdXTsKKyAgICB9IGNhdGNoKGUpIHsg
fQorCit9CisKK2Z1bmN0aW9uIG5vcm1hbGlzZSh2KSB7CisgICAgdmFyIGxlbiA9IGxlbmd0aFZl
Y3Rvcih2KTsKKyAgICB0cnkgeworICAgIH0gY2F0Y2goZSkgeyB9CisgICAgcmV0dXJuIFt2WzBd
IC8gbGVuLCB2WzFdIC8gbGVuLCB2WzJdIC8gbGVuXTsKK30KKworZnVuY3Rpb24gdHJhbnNmb3Jt
TWF0cml4KHNlbGYsIHYpIHsKKyAgICB0cnkgeworICAgICAgICB2YXIgdmFscyA9IHNlbGY7Cisg
ICAgICAgIHZhciB4ICA9IHZhbHNbMF0gKiB2WzBdICsgdmFsc1sxXSAqIHZbMV0gKyB2YWxzWzJd
ICogdlsyXSArIHZhbHNbM107CisgICAgICAgIHZhciB5ICA9IHZhbHNbNF0gKiB2WzBdICsgdmFs
c1s1XSAqIHZbMV0gKyB2YWxzWzZdICogdlsyXSArIHZhbHNbN107CisgICAgfSBjYXRjaChlKSB7
IH0KKyAgICB2YXIgeiAgPSB2YWxzWzhdICogdlswXSArIHZhbHNbOV0gKiB2WzFdICsgdmFsc1sx
MF0gKiB2WzJdICsgdmFsc1sxMV07CisgICAgcmV0dXJuIFt4LCB5LCB6XTsKK30KKworZnVuY3Rp
b24gaW52ZXJ0TWF0cml4KHNlbGYpIHsKKyAgICB0cnkgeworICAgICAgICB2YXIgdGVtcCA9IG5l
dyBBcnJheSgxNik7CisgICAgICAgIHZhciB0eCA9IC1zZWxmWzNdOworICAgICAgICB2YXIgdHkg
PSAtc2VsZls3XTsKKyAgICAgICAgdmFyIHR6ID0gLXNlbGZbMTFdOworICAgICAgICBmb3IgKGgg
PSAwOyBoIDwgMzsgaCsrKSAKKyAgICAgICAgICAgIGZvciAodiA9IDA7IHYgPCAzOyB2KyspIAor
ICAgICAgICAgICAgICAgIHRlbXBbaCArIHYgKiA0XSA9IHNlbGZbdiArIGggKiA0XTsKKyAgICB9
IGNhdGNoKGUpIHsgfQorICAgIHRyeSB7CisgICAgICAgIGZvciAoaSA9IDA7IGkgPCAxMTsgaSsr
KQorICAgICAgICAgICAgc2VsZltpXSA9IHRlbXBbaV07CisgICAgICAgIHNlbGZbM10gPSB0eCAq
IHNlbGZbMF0gKyB0eSAqIHNlbGZbMV0gKyB0eiAqIHNlbGZbMl07CisgICAgICAgIHNlbGZbN10g
PSB0eCAqIHNlbGZbNF0gKyB0eSAqIHNlbGZbNV0gKyB0eiAqIHNlbGZbNl07CisgICAgICAgIHNl
bGZbMTFdID0gdHggKiBzZWxmWzhdICsgdHkgKiBzZWxmWzldICsgdHogKiBzZWxmWzEwXTsKKyAg
ICB9IGNhdGNoKGUpIHsgfQorICAgIHJldHVybiBzZWxmOworfQorCisKKy8vIFRyaWFuZ2xlIGlu
dGVyc2VjdGlvbiB1c2luZyBiYXJ5Y2VudHJpYyBjb29yZCBtZXRob2QKK2Z1bmN0aW9uIFRyaWFu
Z2xlKHAxLCBwMiwgcDMpIHsKKyAgICB0cnkgeworICAgICAgICB2YXIgZWRnZTEgPSBzdWIocDMs
IHAxKTsKKyAgICAgICAgdmFyIGVkZ2UyID0gc3ViKHAyLCBwMSk7CisgICAgICAgIHZhciBub3Jt
YWwgPSBjcm9zcyhlZGdlMSwgZWRnZTIpOworICAgICAgICBpZiAoTWF0aC5hYnMobm9ybWFsWzBd
KSA+IE1hdGguYWJzKG5vcm1hbFsxXSkpCisgICAgICAgICAgICBpZiAoTWF0aC5hYnMobm9ybWFs
WzBdKSA+IE1hdGguYWJzKG5vcm1hbFsyXSkpCisgICAgICAgICAgICAgICAgdGhpcy5heGlzID0g
MDsgCisgICAgICAgICAgICBlbHNlIAorICAgICAgICAgICAgICAgIHRoaXMuYXhpcyA9IDI7Cisg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgIGlmIChNYXRoLmFicyhub3JtYWxbMV0pID4gTWF0aC5h
YnMobm9ybWFsWzJdKSkgCisgICAgICAgICAgICAgICAgdGhpcy5heGlzID0gMTsKKyAgICAgICAg
ICAgIGVsc2UgCisgICAgICAgICAgICAgICAgdGhpcy5heGlzID0gMjsKKyAgICAgICAgdmFyIHUg
PSAodGhpcy5heGlzICsgMSkgJSAzOworICAgICAgICB2YXIgdiA9ICh0aGlzLmF4aXMgKyAyKSAl
IDM7CisgICAgICAgIHZhciB1MSA9IGVkZ2UxW3VdOworICAgICAgICB2YXIgdjEgPSBlZGdlMVt2
XTsKKyAgICAgICAgCisgICAgICAgIHZhciB1MiA9IGVkZ2UyW3VdOworICAgICAgICB2YXIgdjIg
PSBlZGdlMlt2XTsKKyAgICAgICAgdGhpcy5ub3JtYWwgPSBub3JtYWxpc2Uobm9ybWFsKTsKKyAg
ICAgICAgdGhpcy5udSA9IG5vcm1hbFt1XSAvIG5vcm1hbFt0aGlzLmF4aXNdOworICAgICAgICB0
aGlzLm52ID0gbm9ybWFsW3ZdIC8gbm9ybWFsW3RoaXMuYXhpc107CisgICAgICAgIHRoaXMubmQg
PSBkb3Qobm9ybWFsLCBwMSkgLyBub3JtYWxbdGhpcy5heGlzXTsKKyAgICAgICAgdmFyIGRldCA9
IHUxICogdjIgLSB2MSAqIHUyOworICAgICAgICB0aGlzLmV1ID0gcDFbdV07CisgICAgICAgIHRo
aXMuZXYgPSBwMVt2XTsgCisgICAgICAgIHRoaXMubnUxID0gdTEgLyBkZXQ7CisgICAgICAgIHRo
aXMubnYxID0gLXYxIC8gZGV0OworICAgICAgICB0aGlzLm51MiA9IHYyIC8gZGV0OworICAgICAg
ICB0aGlzLm52MiA9IC11MiAvIGRldDsgCisgICAgICAgIHRoaXMubWF0ZXJpYWwgPSBbMC43LCAw
LjcsIDAuN107CisgICAgfSBjYXRjaChlKSB7IH0KK30KKworVHJpYW5nbGUucHJvdG90eXBlLmlu
dGVyc2VjdCA9IGZ1bmN0aW9uKG9yaWcsIGRpciwgbmVhciwgZmFyKSB7CisgICAgdHJ5IHsKKyAg
ICAgICAgdmFyIHUgPSAodGhpcy5heGlzICsgMSkgJSAzOworICAgICAgICB2YXIgdiA9ICh0aGlz
LmF4aXMgKyAyKSAlIDM7CisgICAgICAgIHZhciBkID0gZGlyW3RoaXMuYXhpc10gKyB0aGlzLm51
ICogZGlyW3VdICsgdGhpcy5udiAqIGRpclt2XTsKKyAgICAgICAgdmFyIHQgPSAodGhpcy5uZCAt
IG9yaWdbdGhpcy5heGlzXSAtIHRoaXMubnUgKiBvcmlnW3VdIC0gdGhpcy5udiAqIG9yaWdbdl0p
IC8gZDsKKyAgICB9IGNhdGNoKGUpIHsgfQorICAgIGlmICh0IDwgbmVhciB8fCB0ID4gZmFyKQor
ICAgICAgICByZXR1cm4gbnVsbDsKKyAgICB0cnkgeworICAgICAgICB2YXIgUHUgPSBvcmlnW3Vd
ICsgdCAqIGRpclt1XSAtIHRoaXMuZXU7CisgICAgICAgIHZhciBQdiA9IG9yaWdbdl0gKyB0ICog
ZGlyW3ZdIC0gdGhpcy5ldjsKKyAgICAgICAgdmFyIGEyID0gUHYgKiB0aGlzLm51MSArIFB1ICog
dGhpcy5udjE7CisgICAgfSBjYXRjaChlKSB7IH0KKyAgICBpZiAoYTIgPCAwKSAKKyAgICAgICAg
cmV0dXJuIG51bGw7CisgICAgdHJ5IHsKKyAgICAgICAgdmFyIGEzID0gUHUgKiB0aGlzLm51MiAr
IFB2ICogdGhpcy5udjI7CisgICAgfSBjYXRjaChlKSB7IH0KKyAgICBpZiAoYTMgPCAwKSAKKyAg
ICAgICAgcmV0dXJuIG51bGw7CisKKyAgICBpZiAoKGEyICsgYTMpID4gMSkgCisgICAgICAgIHJl
dHVybiBudWxsOworICAgIHJldHVybiB0OworfQorCitmdW5jdGlvbiBTY2VuZShhX3RyaWFuZ2xl
cykgeworICAgIHRyeSB7CisgICAgICAgIHRoaXMudHJpYW5nbGVzID0gYV90cmlhbmdsZXM7Cisg
ICAgICAgIHRoaXMubGlnaHRzID0gW107CisgICAgICAgIHRoaXMuYW1iaWVudCA9IFswLDAsMF07
CisgICAgICAgIHRoaXMuYmFja2dyb3VuZCA9IFswLjgsMC44LDFdOworICAgIH0gY2F0Y2goZSkg
eyB9Cit9Cit2YXIgemVybyA9IG5ldyBBcnJheSgwLDAsMCk7CisKK1NjZW5lLnByb3RvdHlwZS5p
bnRlcnNlY3QgPSBmdW5jdGlvbihvcmlnaW4sIGRpciwgbmVhciwgZmFyKSB7CisgICAgdmFyIGNs
b3Nlc3QgPSBudWxsOworICAgIGZvciAoaSA9IDA7IGkgPCB0aGlzLnRyaWFuZ2xlcy5sZW5ndGg7
IGkrKykgeworICAgICAgICB0cnkgeworICAgICAgICAgICAgdmFyIHRyaWFuZ2xlID0gdGhpcy50
cmlhbmdsZXNbaV07ICAgCisgICAgICAgICAgICB2YXIgZCA9IHRyaWFuZ2xlLmludGVyc2VjdChv
cmlnaW4sIGRpciwgbmVhciwgZmFyKTsKKyAgICAgICAgICAgIGlmIChkID09IG51bGwgfHwgZCA+
IGZhciB8fCBkIDwgbmVhcikKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAg
IGZhciA9IGQ7CisgICAgICAgICAgICBjbG9zZXN0ID0gdHJpYW5nbGU7CisgICAgICAgIH0gY2F0
Y2goZSkgeyB9CisgICAgfQorICAgIAorICAgIGlmICghY2xvc2VzdCkKKyAgICAgICAgcmV0dXJu
IFt0aGlzLmJhY2tncm91bmRbMF0sdGhpcy5iYWNrZ3JvdW5kWzFdLHRoaXMuYmFja2dyb3VuZFsy
XV07CisgICAgICAgIAorICAgIHRyeSB7CisgICAgICAgIHZhciBub3JtYWwgPSBjbG9zZXN0Lm5v
cm1hbDsKKyAgICAgICAgdmFyIGhpdCA9IGFkZChvcmlnaW4sIHNjYWxlKGRpciwgZmFyKSk7IAor
ICAgICAgICBpZiAoZG90KGRpciwgbm9ybWFsKSA+IDApCisgICAgICAgICAgICBub3JtYWwgPSBb
LW5vcm1hbFswXSwgLW5vcm1hbFsxXSwgLW5vcm1hbFsyXV07CisgICAgICAgIAorICAgICAgICB2
YXIgY29sb3VyID0gbnVsbDsKKyAgICAgICAgaWYgKGNsb3Nlc3Quc2hhZGVyKSB7CisgICAgICAg
ICAgICBjb2xvdXIgPSBjbG9zZXN0LnNoYWRlcihjbG9zZXN0LCBoaXQsIGRpcik7CisgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICBjb2xvdXIgPSBjbG9zZXN0Lm1hdGVyaWFsOworICAgICAg
ICB9CisgICAgfSBjYXRjaChlKSB7IH0KKyAgICAKKyAgICAvLyBkbyByZWZsZWN0aW9uCisgICAg
dmFyIHJlZmxlY3RlZCA9IG51bGw7CisgICAgaWYgKGNvbG91ci5yZWZsZWN0aW9uID4gMC4wMDEp
IHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciByZWZsZWN0aW9uID0gYWRkVmVjdG9y
KHNjYWxlKG5vcm1hbCwgLTIqZG90KGRpciwgbm9ybWFsKSksIGRpcik7CisgICAgICAgICAgICBy
ZWZsZWN0ZWQgPSB0aGlzLmludGVyc2VjdChoaXQsIHJlZmxlY3Rpb24sIDAuMDAwMSwgMTAwMDAw
MCk7CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgICAgIGlmIChjb2xvdXIucmVmbGVjdGlv
biA+PSAwLjk5OTk5OSkKKyAgICAgICAgICAgIHJldHVybiByZWZsZWN0ZWQ7CisgICAgfQorICAg
IAorICAgIHZhciBsID0gW3RoaXMuYW1iaWVudFswXSwgdGhpcy5hbWJpZW50WzFdLCB0aGlzLmFt
YmllbnRbMl1dOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5saWdodHMubGVuZ3RoOyBp
KyspIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciBsaWdodCA9IHRoaXMubGlnaHRz
W2ldOworICAgICAgICAgICAgdmFyIHRvTGlnaHQgPSBzdWIobGlnaHQsIGhpdCk7CisgICAgICAg
ICAgICB2YXIgZGlzdGFuY2UgPSBsZW5ndGhWZWN0b3IodG9MaWdodCk7CisgICAgICAgICAgICBz
Y2FsZVZlY3Rvcih0b0xpZ2h0LCAxLjAvZGlzdGFuY2UpOworICAgICAgICAgICAgZGlzdGFuY2Ug
LT0gMC4wMDAxOworICAgICAgICAgICAgaWYgKHRoaXMuYmxvY2tlZChoaXQsIHRvTGlnaHQsIGRp
c3RhbmNlKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIHZhciBubCA9
IGRvdChub3JtYWwsIHRvTGlnaHQpOworICAgICAgICAgICAgaWYgKG5sID4gMCkKKyAgICAgICAg
ICAgICAgICBhZGRWZWN0b3IobCwgc2NhbGUobGlnaHQuY29sb3VyLCBubCkpOworICAgICAgICB9
IGNhdGNoKGUpIHsgfQorICAgIH0KKyAgICB0cnkgeworICAgICAgICBsID0gc2NhbGV2KGwsIGNv
bG91cik7CisgICAgICAgIGlmIChyZWZsZWN0ZWQpIHsKKyAgICAgICAgICAgIGwgPSBhZGRWZWN0
b3Ioc2NhbGVWZWN0b3IobCwgMSAtIGNvbG91ci5yZWZsZWN0aW9uKSwgc2NhbGVWZWN0b3IocmVm
bGVjdGVkLCBjb2xvdXIucmVmbGVjdGlvbikpOworICAgICAgICB9CisgICAgfSBjYXRjaChlKSB7
IH0KKyAgICByZXR1cm4gbDsKK30KKworU2NlbmUucHJvdG90eXBlLmJsb2NrZWQgPSBmdW5jdGlv
bihPLCBELCBmYXIpIHsKKyAgICB2YXIgbmVhciA9IDAuMDAwMTsKKyAgICB2YXIgY2xvc2VzdCA9
IG51bGw7CisgICAgZm9yIChpID0gMDsgaSA8IHRoaXMudHJpYW5nbGVzLmxlbmd0aDsgaSsrKSB7
CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB2YXIgdHJpYW5nbGUgPSB0aGlzLnRyaWFuZ2xl
c1tpXTsgICAKKyAgICAgICAgICAgIHZhciBkID0gdHJpYW5nbGUuaW50ZXJzZWN0KE8sIEQsIG5l
YXIsIGZhcik7CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgICAgIGlmIChkID09IG51bGwg
fHwgZCA+IGZhciB8fCBkIDwgbmVhcikKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIGZhbHNlOworfQorCisKKy8vIHRo
aXMgY2FtZXJhIGNvZGUgaXMgZnJvbSBub3RlcyBpIG1hZGUgYWdlcyBhZ28sIGl0IGlzIGZyb20g
KnNvbWV3aGVyZSogLS0gaSBjYW5ub3QgcmVtZW1iZXIgd2hlcmUKKy8vIHRoYXQgc29tZXdoZXJl
IGlzCitmdW5jdGlvbiBDYW1lcmEob3JpZ2luLCBsb29rYXQsIHVwKSB7CisgICAgdHJ5IHsKKyAg
ICAgICAgdmFyIHpheGlzID0gbm9ybWFsaXNlVmVjdG9yKHN1YlZlY3Rvcihsb29rYXQsIG9yaWdp
bikpOworICAgICAgICB2YXIgeGF4aXMgPSBub3JtYWxpc2VWZWN0b3IoY3Jvc3ModXAsIHpheGlz
KSk7CisgICAgICAgIHZhciB5YXhpcyA9IG5vcm1hbGlzZVZlY3Rvcihjcm9zcyh4YXhpcywgc3Vi
VmVjdG9yKFswLDAsMF0sIHpheGlzKSkpOworICAgICAgICB2YXIgbSA9IG5ldyBBcnJheSgxNik7
CisgICAgICAgIG1bMF0gPSB4YXhpc1swXTsgbVsxXSA9IHhheGlzWzFdOyBtWzJdID0geGF4aXNb
Ml07CisgICAgICAgIG1bNF0gPSB5YXhpc1swXTsgbVs1XSA9IHlheGlzWzFdOyBtWzZdID0geWF4
aXNbMl07CisgICAgICAgIG1bOF0gPSB6YXhpc1swXTsgbVs5XSA9IHpheGlzWzFdOyBtWzEwXSA9
IHpheGlzWzJdOworICAgICAgICBpbnZlcnRNYXRyaXgobSk7CisgICAgICAgIG1bM10gPSAwOyBt
WzddID0gMDsgbVsxMV0gPSAwOworICAgICAgICB0aGlzLm9yaWdpbiA9IG9yaWdpbjsKKyAgICAg
ICAgdGhpcy5kaXJlY3Rpb25zID0gbmV3IEFycmF5KDQpOworICAgICAgICB0aGlzLmRpcmVjdGlv
bnNbMF0gPSBub3JtYWxpc2UoWy0wLjcsICAwLjcsIDFdKTsKKyAgICAgICAgdGhpcy5kaXJlY3Rp
b25zWzFdID0gbm9ybWFsaXNlKFsgMC43LCAgMC43LCAxXSk7CisgICAgICAgIHRoaXMuZGlyZWN0
aW9uc1syXSA9IG5vcm1hbGlzZShbIDAuNywgLTAuNywgMV0pOworICAgICAgICB0aGlzLmRpcmVj
dGlvbnNbM10gPSBub3JtYWxpc2UoWy0wLjcsIC0wLjcsIDFdKTsKKyAgICAgICAgdGhpcy5kaXJl
Y3Rpb25zWzBdID0gdHJhbnNmb3JtTWF0cml4KG0sIHRoaXMuZGlyZWN0aW9uc1swXSk7CisgICAg
ICAgIHRoaXMuZGlyZWN0aW9uc1sxXSA9IHRyYW5zZm9ybU1hdHJpeChtLCB0aGlzLmRpcmVjdGlv
bnNbMV0pOworICAgICAgICB0aGlzLmRpcmVjdGlvbnNbMl0gPSB0cmFuc2Zvcm1NYXRyaXgobSwg
dGhpcy5kaXJlY3Rpb25zWzJdKTsKKyAgICAgICAgdGhpcy5kaXJlY3Rpb25zWzNdID0gdHJhbnNm
b3JtTWF0cml4KG0sIHRoaXMuZGlyZWN0aW9uc1szXSk7CisKKyAgICB9IGNhdGNoKGUpIHsgfQor
fQorCitDYW1lcmEucHJvdG90eXBlLmdlbmVyYXRlUmF5UGFpciA9IGZ1bmN0aW9uKHkpIHsKKyAg
ICB0cnkgeworICAgICAgICByYXlzID0gbmV3IEFycmF5KG5ldyBPYmplY3QoKSwgbmV3IE9iamVj
dCgpKTsKKyAgICAgICAgcmF5c1swXS5vcmlnaW4gPSB0aGlzLm9yaWdpbjsKKyAgICAgICAgcmF5
c1sxXS5vcmlnaW4gPSB0aGlzLm9yaWdpbjsKKyAgICAgICAgcmF5c1swXS5kaXIgPSBhZGRWZWN0
b3Ioc2NhbGUodGhpcy5kaXJlY3Rpb25zWzBdLCB5KSwgc2NhbGUodGhpcy5kaXJlY3Rpb25zWzNd
LCAxIC0geSkpOworICAgICAgICByYXlzWzFdLmRpciA9IGFkZFZlY3RvcihzY2FsZSh0aGlzLmRp
cmVjdGlvbnNbMV0sIHkpLCBzY2FsZSh0aGlzLmRpcmVjdGlvbnNbMl0sIDEgLSB5KSk7CisgICAg
fSBjYXRjaChlKSB7IH0KKyAgICByZXR1cm4gcmF5czsKK30KKworZnVuY3Rpb24gcmVuZGVyUm93
cyhjYW1lcmEsIHNjZW5lLCBwaXhlbHMsIHdpZHRoLCBoZWlnaHQsIHN0YXJ0eSwgc3RvcHkpIHsK
KyAgICBmb3IgKHZhciB5ID0gc3RhcnR5OyB5IDwgc3RvcHk7IHkrKykgeworICAgICAgICB2YXIg
cmF5cyA9IGNhbWVyYS5nZW5lcmF0ZVJheVBhaXIoeSAvIGhlaWdodCk7CisgICAgICAgIGZvciAo
dmFyIHggPSAwOyB4IDwgd2lkdGg7IHgrKykgeworICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICB2YXIgeHAgPSB4IC8gd2lkdGg7CisgICAgICAgICAgICAgICAgdmFyIG9yaWdpbiA9
IGFkZFZlY3RvcihzY2FsZShyYXlzWzBdLm9yaWdpbiwgeHApLCBzY2FsZShyYXlzWzFdLm9yaWdp
biwgMSAtIHhwKSk7CisgICAgICAgICAgICAgICAgdmFyIGRpciA9IG5vcm1hbGlzZVZlY3Rvcihh
ZGRWZWN0b3Ioc2NhbGUocmF5c1swXS5kaXIsIHhwKSwgc2NhbGUocmF5c1sxXS5kaXIsIDEgLSB4
cCkpKTsKKyAgICAgICAgICAgICAgICB2YXIgbCA9IHNjZW5lLmludGVyc2VjdChvcmlnaW4sIGRp
cik7CisgICAgICAgICAgICAgICAgcGl4ZWxzW3ldW3hdID0gbDsKKyAgICAgICAgICAgIH0gY2F0
Y2goZSkgeyB9CisgICAgICAgIH0KKyAgICB9Cit9CisKK0NhbWVyYS5wcm90b3R5cGUucmVuZGVy
ID0gZnVuY3Rpb24oc2NlbmUsIHBpeGVscywgd2lkdGgsIGhlaWdodCkgeworICAgIHRyeSB7Cisg
ICAgICAgIHZhciBjYW0gPSB0aGlzOworICAgICAgICB2YXIgcm93ID0gMDsKKyAgICAgICAgcmVu
ZGVyUm93cyhjYW0sIHNjZW5lLCBwaXhlbHMsIHdpZHRoLCBoZWlnaHQsIDAsIGhlaWdodCk7Cisg
ICAgfSBjYXRjaChlKSB7IH0KK30KKworCisKK2Z1bmN0aW9uIHJheXRyYWNlU2NlbmUoKQorewor
ICAgIHRyeSB7CisgICAgICAgIHZhciBzdGFydERhdGUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTsK
KyAgICAgICAgdmFyIG51bVRyaWFuZ2xlcyA9IDIgKiA2OworICAgICAgICB2YXIgdHJpYW5nbGVz
ID0gbmV3IEFycmF5KCk7Ly9udW1UcmlhbmdsZXMpOworICAgICAgICB2YXIgdGZsID0gY3JlYXRl
VmVjdG9yKC0xMCwgIDEwLCAtMTApOworICAgICAgICB2YXIgdGZyID0gY3JlYXRlVmVjdG9yKCAx
MCwgIDEwLCAtMTApOworICAgICAgICB2YXIgdGJsID0gY3JlYXRlVmVjdG9yKC0xMCwgIDEwLCAg
MTApOworICAgICAgICB2YXIgdGJyID0gY3JlYXRlVmVjdG9yKCAxMCwgIDEwLCAgMTApOworICAg
ICAgICB2YXIgYmZsID0gY3JlYXRlVmVjdG9yKC0xMCwgLTEwLCAtMTApOworICAgICAgICB2YXIg
YmZyID0gY3JlYXRlVmVjdG9yKCAxMCwgLTEwLCAtMTApOworICAgICAgICB2YXIgYmJsID0gY3Jl
YXRlVmVjdG9yKC0xMCwgLTEwLCAgMTApOworICAgICAgICB2YXIgYmJyID0gY3JlYXRlVmVjdG9y
KCAxMCwgLTEwLCAgMTApOworICAgICAgICAKKyAgICAgICAgLy8gY3ViZSEhIQorICAgICAgICAv
LyBmcm9udAorICAgICAgICB2YXIgaSA9IDA7CisgICAgICAgIAorICAgICAgICB0cmlhbmdsZXNb
aSsrXSA9IG5ldyBUcmlhbmdsZSh0ZmwsIHRmciwgYmZyKTsKKyAgICAgICAgdHJpYW5nbGVzW2kr
K10gPSBuZXcgVHJpYW5nbGUodGZsLCBiZnIsIGJmbCk7CisgICAgICAgIC8vIGJhY2sKKyAgICAg
ICAgdHJpYW5nbGVzW2krK10gPSBuZXcgVHJpYW5nbGUodGJsLCB0YnIsIGJicik7CisgICAgICAg
IHRyaWFuZ2xlc1tpKytdID0gbmV3IFRyaWFuZ2xlKHRibCwgYmJyLCBiYmwpOworICAgICAgICAv
LyAgICAgICAgdHJpYW5nbGVzW2ktMV0ubWF0ZXJpYWwgPSBbMC43LDAuMiwwLjJdOworICAgICAg
ICAvLyAgICAgICAgICAgIHRyaWFuZ2xlc1tpLTFdLm1hdGVyaWFsLnJlZmxlY3Rpb24gPSAwLjg7
CisgICAgICAgIC8vIGxlZnQKKyAgICAgICAgdHJpYW5nbGVzW2krK10gPSBuZXcgVHJpYW5nbGUo
dGJsLCB0ZmwsIGJibCk7CisgICAgICAgIC8vICAgICAgICAgICAgdHJpYW5nbGVzW2ktMV0ucmVm
bGVjdGlvbiA9IDAuNjsKKyAgICAgICAgdHJpYW5nbGVzW2krK10gPSBuZXcgVHJpYW5nbGUodGZs
LCBiZmwsIGJibCk7CisgICAgICAgIC8vICAgICAgICAgICAgdHJpYW5nbGVzW2ktMV0ucmVmbGVj
dGlvbiA9IDAuNjsKKyAgICAgICAgLy8gcmlnaHQKKyAgICAgICAgdHJpYW5nbGVzW2krK10gPSBu
ZXcgVHJpYW5nbGUodGJyLCB0ZnIsIGJicik7CisgICAgICAgIHRyaWFuZ2xlc1tpKytdID0gbmV3
IFRyaWFuZ2xlKHRmciwgYmZyLCBiYnIpOworICAgICAgICAvLyB0b3AKKyAgICAgICAgdHJpYW5n
bGVzW2krK10gPSBuZXcgVHJpYW5nbGUodGJsLCB0YnIsIHRmcik7CisgICAgICAgIHRyaWFuZ2xl
c1tpKytdID0gbmV3IFRyaWFuZ2xlKHRibCwgdGZyLCB0ZmwpOworICAgICAgICAvLyBib3R0b20K
KyAgICAgICAgdHJpYW5nbGVzW2krK10gPSBuZXcgVHJpYW5nbGUoYmJsLCBiYnIsIGJmcik7Cisg
ICAgICAgIHRyaWFuZ2xlc1tpKytdID0gbmV3IFRyaWFuZ2xlKGJibCwgYmZyLCBiZmwpOworICAg
ICAgICAKKyAgICAgICAgLy9GbG9vciEhISEKKyAgICAgICAgdmFyIGdyZWVuID0gY3JlYXRlVmVj
dG9yKDAuMCwgMC40LCAwLjApOworICAgICAgICB2YXIgZ3JleSA9IGNyZWF0ZVZlY3RvcigwLjQs
IDAuNCwgMC40KTsKKyAgICAgICAgZ3JleS5yZWZsZWN0aW9uID0gMS4wOworCisgICAgfSBjYXRj
aChlKSB7IH0KKyAgICB2YXIgZmxvb3JTaGFkZXIgPSBmdW5jdGlvbih0cmksIHBvcywgdmlldykg
eworICAgICAgICB0cnkgeworICAgICAgICAgICAgdmFyIHggPSAoKHBvc1swXS8zMikgJSAyICsg
MikgJSAyOworICAgICAgICAgICAgdmFyIHogPSAoKHBvc1syXS8zMiArIDAuMykgJSAyICsgMikg
JSAyOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgICAgICB0cnkgeworICAgICAgICAgICAg
aWYgKHggPCAxICE9IHogPCAxKSB7CisgICAgICAgICAgICAgICAgLy9pbiB0aGUgcmVhbCB3b3Js
ZCB3ZSB1c2UgdGhlIGZyZXNuZWwgdGVybS4uLgorICAgICAgICAgICAgICAgIC8vICAgIHZhciBh
bmdsZSA9IDEtZG90KHZpZXcsIHRyaS5ub3JtYWwpOworICAgICAgICAgICAgICAgIC8vICAgYW5n
bGUgKj0gYW5nbGU7CisgICAgICAgICAgICAgICAgLy8gIGFuZ2xlICo9IGFuZ2xlOworICAgICAg
ICAgICAgICAgIC8vIGFuZ2xlICo9IGFuZ2xlOworICAgICAgICAgICAgICAgIC8vZ3JleS5yZWZs
ZWN0aW9uID0gYW5nbGU7CisgICAgICAgICAgICAgICAgcmV0dXJuIGdyZXk7CisgICAgICAgICAg
ICB9IGVsc2UgCisgICAgICAgICAgICAgICAgcmV0dXJuIGdyZWVuOworICAgICAgICB9IGNhdGNo
KGUpIHsgfQorICAgIH0KKyAgICB2YXIgZmZsID0gY3JlYXRlVmVjdG9yKC0xMDAwLCAtMzAsIC0x
MDAwKTsKKyAgICB2YXIgZmZyID0gY3JlYXRlVmVjdG9yKCAxMDAwLCAtMzAsIC0xMDAwKTsKKyAg
ICB2YXIgZmJsID0gY3JlYXRlVmVjdG9yKC0xMDAwLCAtMzAsICAxMDAwKTsKKyAgICB2YXIgZmJy
ID0gY3JlYXRlVmVjdG9yKCAxMDAwLCAtMzAsICAxMDAwKTsKKyAgICB0cmlhbmdsZXNbaSsrXSA9
IG5ldyBUcmlhbmdsZShmYmwsIGZiciwgZmZyKTsKKyAgICB0cmlhbmdsZXNbaS0xXS5zaGFkZXIg
PSBmbG9vclNoYWRlcjsKKyAgICB0cmlhbmdsZXNbaSsrXSA9IG5ldyBUcmlhbmdsZShmYmwsIGZm
ciwgZmZsKTsKKyAgICB0cmlhbmdsZXNbaS0xXS5zaGFkZXIgPSBmbG9vclNoYWRlcjsKKyAgICAK
KyAgICB2YXIgX3NjZW5lID0gbmV3IFNjZW5lKHRyaWFuZ2xlcyk7CisgICAgX3NjZW5lLmxpZ2h0
c1swXSA9IGNyZWF0ZVZlY3RvcigyMCwgMzgsIC0yMik7CisgICAgX3NjZW5lLmxpZ2h0c1swXS5j
b2xvdXIgPSBjcmVhdGVWZWN0b3IoMC43LCAwLjMsIDAuMyk7CisgICAgX3NjZW5lLmxpZ2h0c1sx
XSA9IGNyZWF0ZVZlY3RvcigtMjMsIDQwLCAxNyk7CisgICAgX3NjZW5lLmxpZ2h0c1sxXS5jb2xv
dXIgPSBjcmVhdGVWZWN0b3IoMC43LCAwLjMsIDAuMyk7CisgICAgX3NjZW5lLmxpZ2h0c1syXSA9
IGNyZWF0ZVZlY3RvcigyMywgMjAsIDE3KTsKKyAgICBfc2NlbmUubGlnaHRzWzJdLmNvbG91ciA9
IGNyZWF0ZVZlY3RvcigwLjcsIDAuNywgMC43KTsKKyAgICBfc2NlbmUuYW1iaWVudCA9IGNyZWF0
ZVZlY3RvcigwLjEsIDAuMSwgMC4xKTsKKyAgICAvLyAgX3NjZW5lLmJhY2tncm91bmQgPSBjcmVh
dGVWZWN0b3IoMC43LCAwLjcsIDEuMCk7CisgICAgCisgICAgdmFyIHNpemUgPSAzMDsKKyAgICB2
YXIgcGl4ZWxzID0gbmV3IEFycmF5KCk7CisgICAgZm9yICh2YXIgeSA9IDA7IHkgPCBzaXplOyB5
KyspIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHBpeGVsc1t5XSA9IG5ldyBBcnJheSgp
OworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgICAgICBmb3IgKHZhciB4ID0gMDsgeCA8IHNp
emU7IHgrKykgeworICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICBwaXhlbHNbeV1b
eF0gPSAwOworICAgICAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICAgICAgfQorICAgIH0KKwor
ICAgIHRyeSB7CisgICAgICAgIHZhciBfY2FtZXJhID0gbmV3IENhbWVyYShjcmVhdGVWZWN0b3Io
LTQwLCA0MCwgNDApLCBjcmVhdGVWZWN0b3IoMCwgMCwgMCksIGNyZWF0ZVZlY3RvcigwLCAxLCAw
KSk7CisgICAgICAgIF9jYW1lcmEucmVuZGVyKF9zY2VuZSwgcGl4ZWxzLCBzaXplLCBzaXplKTsK
KyAgICB9IGNhdGNoKGUpe30KKworICAgIHJldHVybiBwaXhlbHM7Cit9CisKK2Z1bmN0aW9uIGFy
cmF5VG9DYW52YXNDb21tYW5kcyhwaXhlbHMpCit7CisgICAgdmFyIHMgPSAnPGNhbnZhcyBpZD0i
cmVuZGVyQ2FudmFzIiB3aWR0aD0iMzBweCIgaGVpZ2h0PSIzMHB4Ij48L2NhbnZhcz48c2NyJyAr
ICdpcHQ+XG52YXIgcGl4ZWxzID0gWyc7CisgICAgdmFyIHNpemUgPSAzMDsKKyAgICBmb3IgKHZh
ciB5ID0gMDsgeSA8IHNpemU7IHkrKykgeworICAgICAgICBzICs9ICJbIjsKKyAgICAgICAgZm9y
ICh2YXIgeCA9IDA7IHggPCBzaXplOyB4KyspIHsKKyAgICAgICAgICAgIHMgKz0gIlsiICsgcGl4
ZWxzW3ldW3hdICsgIl0sIjsKKyAgICAgICAgfQorICAgICAgICBzKz0gIl0sIjsKKyAgICB9Cisg
ICAgcyArPSAnXTtcbiAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJl
bmRlckNhbnZhcyIpLmdldENvbnRleHQoIjJkIik7XG5cCitcblwKK1xuXAorICAgIHZhciBzaXpl
ID0gMzA7XG5cCisgICAgY2FudmFzLmZpbGxTdHlsZSA9ICJyZWQiO1xuXAorICAgIGNhbnZhcy5m
aWxsUmVjdCgwLCAwLCBzaXplLCBzaXplKTtcblwKKyAgICBjYW52YXMuc2NhbGUoMSwgLTEpO1xu
XAorICAgIGNhbnZhcy50cmFuc2xhdGUoMCwgLXNpemUpO1xuXAorXG5cCisgICAgaWYgKCFjYW52
YXMuc2V0RmlsbENvbG9yKVxuXAorICAgICAgICBjYW52YXMuc2V0RmlsbENvbG9yID0gZnVuY3Rp
b24ociwgZywgYiwgYSkge1xuXAorICAgICAgICAgICAgdGhpcy5maWxsU3R5bGUgPSAicmdiKCIr
W01hdGguZmxvb3IociAqIDI1NSksIE1hdGguZmxvb3IoZyAqIDI1NSksIE1hdGguZmxvb3IoYiAq
IDI1NSldKyIpIjtcblwKKyAgICB9XG5cCitcblwKK2ZvciAodmFyIHkgPSAwOyB5IDwgc2l6ZTsg
eSsrKSB7XG5cCisgIGZvciAodmFyIHggPSAwOyB4IDwgc2l6ZTsgeCsrKSB7XG5cCisgICAgdmFy
IGwgPSBwaXhlbHNbeV1beF07XG5cCisgICAgY2FudmFzLnNldEZpbGxDb2xvcihsWzBdLCBsWzFd
LCBsWzJdLCAxKTtcblwKKyAgICBjYW52YXMuZmlsbFJlY3QoeCwgeSwgMSwgMSk7XG5cCisgIH1c
blwKK308L3NjcicgKyAnaXB0Pic7CisKKyAgICByZXR1cm4gczsKK30KKwordGVzdE91dHB1dCA9
IGFycmF5VG9DYW52YXNDb21tYW5kcyhyYXl0cmFjZVNjZW5lKCkpOworCit2YXIgZXhwZWN0ZWRM
ZW5ndGggPSAyMDk3MDsKKworaWYgKHRlc3RPdXRwdXQubGVuZ3RoICE9IGV4cGVjdGVkTGVuZ3Ro
KQorICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogZXhwZWN0ZWQgbGVuZ3RoICIgKyBleHBl
Y3RlZExlbmd0aCArICIgYnV0IGdvdCAiICsgdGVzdE91dHB1dC5sZW5ndGg7CisKSW5kZXg6IExh
eW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL3JheXRyYWNlLXdpdGgtdHJ5LWNhdGNo
LmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL3Jh
eXRyYWNlLXdpdGgtdHJ5LWNhdGNoLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvanMv
cmVncmVzcy9zY3JpcHQtdGVzdHMvcmF5dHJhY2Utd2l0aC10cnktY2F0Y2guanMJKHdvcmtpbmcg
Y29weSkKQEAgLTAsMCArMSw1NjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcgQXBwbGUg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorICovCisKK2xldCBfX2V4Y2VwdGlvbkNvdW50ZXIgPSAwOworZnVuY3Rpb24gcmFu
ZG9tRXhjZXB0aW9uKCkgeworICAgIF9fZXhjZXB0aW9uQ291bnRlcisrOworICAgIGlmIChfX2V4
Y2VwdGlvbkNvdW50ZXIgJSA1MDAgPT09IDApIHsKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJy
YW5kbyIpOworICAgIH0KK30KK25vSW5saW5lKHJhbmRvbUV4Y2VwdGlvbik7CisKKworZnVuY3Rp
b24gY3JlYXRlVmVjdG9yKHgseSx6KSB7CisgICAgdHJ5IHsKKyAgICAgICAgcmV0dXJuIG5ldyBB
cnJheSh4LHkseik7CisgICAgfSBjYXRjaChlKSB7IH0KK30KKworZnVuY3Rpb24gc3FyTGVuZ3Ro
VmVjdG9yKHNlbGYpIHsKKyAgICB0cnkgeworICAgICAgICByZXR1cm4gc2VsZlswXSAqIHNlbGZb
MF0gKyBzZWxmWzFdICogc2VsZlsxXSArIHNlbGZbMl0gKiBzZWxmWzJdOworICAgIH0gY2F0Y2go
ZSkgeyB9Cit9CisKK2Z1bmN0aW9uIGxlbmd0aFZlY3RvcihzZWxmKSB7CisgICAgdHJ5IHsKKyAg
ICAgICAgcmV0dXJuIE1hdGguc3FydChzZWxmWzBdICogc2VsZlswXSArIHNlbGZbMV0gKiBzZWxm
WzFdICsgc2VsZlsyXSAqIHNlbGZbMl0pOworICAgIH0gY2F0Y2goZSkgeyB9Cit9CisKK2Z1bmN0
aW9uIGFkZFZlY3RvcihzZWxmLCB2KSB7CisgICAgdHJ5IHsKKyAgICAgICAgc2VsZlswXSArPSB2
WzBdOworICAgICAgICBzZWxmWzFdICs9IHZbMV07CisgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigp
OworICAgIH0gY2F0Y2goZSkgeyB9CisKKyAgICBzZWxmWzJdICs9IHZbMl07CisgICAgcmV0dXJu
IHNlbGY7Cit9CisKK2Z1bmN0aW9uIHN1YlZlY3RvcihzZWxmLCB2KSB7CisgICAgdHJ5IHsKKyAg
ICAgICAgc2VsZlswXSAtPSB2WzBdOworICAgICAgICBzZWxmWzFdIC09IHZbMV07CisgICAgICAg
IHJhbmRvbUV4Y2VwdGlvbigpOworICAgIH0gY2F0Y2goZSkgeyAKKyAgICB9CisgICAgc2VsZlsy
XSAtPSB2WzJdOworICAgIHJldHVybiBzZWxmOworfQorCitmdW5jdGlvbiBzY2FsZVZlY3Rvcihz
ZWxmLCBzY2FsZSkgeworICAgIHRyeSB7CisgICAgICAgIHNlbGZbMF0gKj0gc2NhbGU7CisgICAg
ICAgIHNlbGZbMV0gKj0gc2NhbGU7CisgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgIH0g
Y2F0Y2goZSkgeyB9CisgICAgc2VsZlsyXSAqPSBzY2FsZTsKKyAgICByZXR1cm4gc2VsZjsKK30K
KworZnVuY3Rpb24gbm9ybWFsaXNlVmVjdG9yKHNlbGYpIHsKKyAgICB2YXIgbGVuID0gTWF0aC5z
cXJ0KHNlbGZbMF0gKiBzZWxmWzBdICsgc2VsZlsxXSAqIHNlbGZbMV0gKyBzZWxmWzJdICogc2Vs
ZlsyXSk7CisgICAgdHJ5IHsKKyAgICAgICAgc2VsZlswXSAvPSBsZW47CisgICAgICAgIHNlbGZb
MV0gLz0gbGVuOworICAgICAgICByYW5kb21FeGNlcHRpb24oKTsKKyAgICB9IGNhdGNoKGUpIHsg
fQorICAgIHNlbGZbMl0gLz0gbGVuOworICAgIHJldHVybiBzZWxmOworfQorCitmdW5jdGlvbiBh
ZGQodjEsIHYyKSB7CisgICAgdHJ5IHsKKyAgICAgICAgcmV0dXJuIG5ldyBBcnJheSh2MVswXSAr
IHYyWzBdLCB2MVsxXSArIHYyWzFdLCB2MVsyXSArIHYyWzJdKTsKKyAgICB9IGNhdGNoKGUpIHsg
fQorfQorCitmdW5jdGlvbiBzdWIodjEsIHYyKSB7CisgICAgdHJ5IHsKKyAgICAgICAgcmV0dXJu
IG5ldyBBcnJheSh2MVswXSAtIHYyWzBdLCB2MVsxXSAtIHYyWzFdLCB2MVsyXSAtIHYyWzJdKTsK
KyAgICB9IGNhdGNoKGUpIHsgfQorfQorCitmdW5jdGlvbiBzY2FsZXYodjEsIHYyKSB7CisgICAg
dHJ5IHsKKyAgICAgICAgcmV0dXJuIG5ldyBBcnJheSh2MVswXSAqIHYyWzBdLCB2MVsxXSAqIHYy
WzFdLCB2MVsyXSAqIHYyWzJdKTsKKyAgICB9IGNhdGNoKGUpIHsgfQorfQorCitmdW5jdGlvbiBk
b3QodjEsIHYyKSB7CisgICAgdHJ5IHsKKyAgICAgICAgcmV0dXJuIHYxWzBdICogdjJbMF0gKyB2
MVsxXSAqIHYyWzFdICsgdjFbMl0gKiB2MlsyXTsKKyAgICB9IGNhdGNoKGUpIHsgfQorfQorCitm
dW5jdGlvbiBzY2FsZSh2LCBzY2FsZSkgeworICAgIHRyeSB7CisgICAgICAgIHJldHVybiBbdlsw
XSAqIHNjYWxlLCB2WzFdICogc2NhbGUsIHZbMl0gKiBzY2FsZV07CisgICAgfSBjYXRjaChlKSB7
IH0KK30KKworZnVuY3Rpb24gY3Jvc3ModjEsIHYyKSB7CisgICAgdHJ5IHsKKyAgICAgICAgcmV0
dXJuIFt2MVsxXSAqIHYyWzJdIC0gdjFbMl0gKiB2MlsxXSwgCisgICAgICAgICAgICAgICAgdjFb
Ml0gKiB2MlswXSAtIHYxWzBdICogdjJbMl0sCisgICAgICAgICAgICAgICAgdjFbMF0gKiB2Mlsx
XSAtIHYxWzFdICogdjJbMF1dOworICAgIH0gY2F0Y2goZSkgeyB9CisKK30KKworZnVuY3Rpb24g
bm9ybWFsaXNlKHYpIHsKKyAgICB2YXIgbGVuID0gbGVuZ3RoVmVjdG9yKHYpOworICAgIHRyeSB7
CisgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgIH0gY2F0Y2goZSkgeyB9CisgICAgcmV0
dXJuIFt2WzBdIC8gbGVuLCB2WzFdIC8gbGVuLCB2WzJdIC8gbGVuXTsKK30KKworZnVuY3Rpb24g
dHJhbnNmb3JtTWF0cml4KHNlbGYsIHYpIHsKKyAgICB0cnkgeworICAgICAgICB2YXIgdmFscyA9
IHNlbGY7CisgICAgICAgIHZhciB4ICA9IHZhbHNbMF0gKiB2WzBdICsgdmFsc1sxXSAqIHZbMV0g
KyB2YWxzWzJdICogdlsyXSArIHZhbHNbM107CisgICAgICAgIHZhciB5ICA9IHZhbHNbNF0gKiB2
WzBdICsgdmFsc1s1XSAqIHZbMV0gKyB2YWxzWzZdICogdlsyXSArIHZhbHNbN107CisgICAgICAg
IHJhbmRvbUV4Y2VwdGlvbigpOworICAgIH0gY2F0Y2goZSkgeyB9CisgICAgdmFyIHogID0gdmFs
c1s4XSAqIHZbMF0gKyB2YWxzWzldICogdlsxXSArIHZhbHNbMTBdICogdlsyXSArIHZhbHNbMTFd
OworICAgIHJldHVybiBbeCwgeSwgel07Cit9CisKK2Z1bmN0aW9uIGludmVydE1hdHJpeChzZWxm
KSB7CisgICAgdHJ5IHsKKyAgICAgICAgdmFyIHRlbXAgPSBuZXcgQXJyYXkoMTYpOworICAgICAg
ICB2YXIgdHggPSAtc2VsZlszXTsKKyAgICAgICAgdmFyIHR5ID0gLXNlbGZbN107CisgICAgICAg
IHZhciB0eiA9IC1zZWxmWzExXTsKKyAgICAgICAgZm9yIChoID0gMDsgaCA8IDM7IGgrKykgCisg
ICAgICAgICAgICBmb3IgKHYgPSAwOyB2IDwgMzsgdisrKSAKKyAgICAgICAgICAgICAgICB0ZW1w
W2ggKyB2ICogNF0gPSBzZWxmW3YgKyBoICogNF07CisgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigp
OworICAgIH0gY2F0Y2goZSkgeyB9CisgICAgdHJ5IHsKKyAgICAgICAgZm9yIChpID0gMDsgaSA8
IDExOyBpKyspCisgICAgICAgICAgICBzZWxmW2ldID0gdGVtcFtpXTsKKyAgICAgICAgc2VsZlsz
XSA9IHR4ICogc2VsZlswXSArIHR5ICogc2VsZlsxXSArIHR6ICogc2VsZlsyXTsKKyAgICAgICAg
c2VsZls3XSA9IHR4ICogc2VsZls0XSArIHR5ICogc2VsZls1XSArIHR6ICogc2VsZls2XTsKKyAg
ICAgICAgc2VsZlsxMV0gPSB0eCAqIHNlbGZbOF0gKyB0eSAqIHNlbGZbOV0gKyB0eiAqIHNlbGZb
MTBdOworICAgICAgICByYW5kb21FeGNlcHRpb24oKTsKKyAgICB9IGNhdGNoKGUpIHsgfQorICAg
IHJldHVybiBzZWxmOworfQorCisKKy8vIFRyaWFuZ2xlIGludGVyc2VjdGlvbiB1c2luZyBiYXJ5
Y2VudHJpYyBjb29yZCBtZXRob2QKK2Z1bmN0aW9uIFRyaWFuZ2xlKHAxLCBwMiwgcDMpIHsKKyAg
ICB0cnkgeworICAgICAgICB2YXIgZWRnZTEgPSBzdWIocDMsIHAxKTsKKyAgICAgICAgdmFyIGVk
Z2UyID0gc3ViKHAyLCBwMSk7CisgICAgICAgIHZhciBub3JtYWwgPSBjcm9zcyhlZGdlMSwgZWRn
ZTIpOworICAgICAgICBpZiAoTWF0aC5hYnMobm9ybWFsWzBdKSA+IE1hdGguYWJzKG5vcm1hbFsx
XSkpCisgICAgICAgICAgICBpZiAoTWF0aC5hYnMobm9ybWFsWzBdKSA+IE1hdGguYWJzKG5vcm1h
bFsyXSkpCisgICAgICAgICAgICAgICAgdGhpcy5heGlzID0gMDsgCisgICAgICAgICAgICBlbHNl
IAorICAgICAgICAgICAgICAgIHRoaXMuYXhpcyA9IDI7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIGlmIChNYXRoLmFicyhub3JtYWxbMV0pID4gTWF0aC5hYnMobm9ybWFsWzJdKSkgCisgICAg
ICAgICAgICAgICAgdGhpcy5heGlzID0gMTsKKyAgICAgICAgICAgIGVsc2UgCisgICAgICAgICAg
ICAgICAgdGhpcy5heGlzID0gMjsKKyAgICAgICAgdmFyIHUgPSAodGhpcy5heGlzICsgMSkgJSAz
OworICAgICAgICB2YXIgdiA9ICh0aGlzLmF4aXMgKyAyKSAlIDM7CisgICAgICAgIHZhciB1MSA9
IGVkZ2UxW3VdOworICAgICAgICB2YXIgdjEgPSBlZGdlMVt2XTsKKyAgICAgICAgCisgICAgICAg
IHZhciB1MiA9IGVkZ2UyW3VdOworICAgICAgICB2YXIgdjIgPSBlZGdlMlt2XTsKKyAgICAgICAg
dGhpcy5ub3JtYWwgPSBub3JtYWxpc2Uobm9ybWFsKTsKKyAgICAgICAgdGhpcy5udSA9IG5vcm1h
bFt1XSAvIG5vcm1hbFt0aGlzLmF4aXNdOworICAgICAgICB0aGlzLm52ID0gbm9ybWFsW3ZdIC8g
bm9ybWFsW3RoaXMuYXhpc107CisgICAgICAgIHRoaXMubmQgPSBkb3Qobm9ybWFsLCBwMSkgLyBu
b3JtYWxbdGhpcy5heGlzXTsKKyAgICAgICAgdmFyIGRldCA9IHUxICogdjIgLSB2MSAqIHUyOwor
ICAgICAgICB0aGlzLmV1ID0gcDFbdV07CisgICAgICAgIHRoaXMuZXYgPSBwMVt2XTsgCisgICAg
ICAgIHRoaXMubnUxID0gdTEgLyBkZXQ7CisgICAgICAgIHRoaXMubnYxID0gLXYxIC8gZGV0Owor
ICAgICAgICB0aGlzLm51MiA9IHYyIC8gZGV0OworICAgICAgICB0aGlzLm52MiA9IC11MiAvIGRl
dDsgCisgICAgICAgIHRoaXMubWF0ZXJpYWwgPSBbMC43LCAwLjcsIDAuN107CisgICAgICAgIHJh
bmRvbUV4Y2VwdGlvbigpOworICAgIH0gY2F0Y2goZSkgeyB9Cit9CisKK1RyaWFuZ2xlLnByb3Rv
dHlwZS5pbnRlcnNlY3QgPSBmdW5jdGlvbihvcmlnLCBkaXIsIG5lYXIsIGZhcikgeworICAgIHRy
eSB7CisgICAgICAgIHZhciB1ID0gKHRoaXMuYXhpcyArIDEpICUgMzsKKyAgICAgICAgdmFyIHYg
PSAodGhpcy5heGlzICsgMikgJSAzOworICAgICAgICB2YXIgZCA9IGRpclt0aGlzLmF4aXNdICsg
dGhpcy5udSAqIGRpclt1XSArIHRoaXMubnYgKiBkaXJbdl07CisgICAgICAgIHZhciB0ID0gKHRo
aXMubmQgLSBvcmlnW3RoaXMuYXhpc10gLSB0aGlzLm51ICogb3JpZ1t1XSAtIHRoaXMubnYgKiBv
cmlnW3ZdKSAvIGQ7CisgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgIH0gY2F0Y2goZSkg
eyB9CisgICAgaWYgKHQgPCBuZWFyIHx8IHQgPiBmYXIpCisgICAgICAgIHJldHVybiBudWxsOwor
ICAgIHRyeSB7CisgICAgICAgIHZhciBQdSA9IG9yaWdbdV0gKyB0ICogZGlyW3VdIC0gdGhpcy5l
dTsKKyAgICAgICAgdmFyIFB2ID0gb3JpZ1t2XSArIHQgKiBkaXJbdl0gLSB0aGlzLmV2OworICAg
ICAgICB2YXIgYTIgPSBQdiAqIHRoaXMubnUxICsgUHUgKiB0aGlzLm52MTsKKyAgICAgICAgcmFu
ZG9tRXhjZXB0aW9uKCk7CisgICAgfSBjYXRjaChlKSB7IH0KKyAgICBpZiAoYTIgPCAwKSAKKyAg
ICAgICAgcmV0dXJuIG51bGw7CisgICAgdHJ5IHsKKyAgICAgICAgdmFyIGEzID0gUHUgKiB0aGlz
Lm51MiArIFB2ICogdGhpcy5udjI7CisgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgIH0g
Y2F0Y2goZSkgeyB9CisgICAgaWYgKGEzIDwgMCkgCisgICAgICAgIHJldHVybiBudWxsOworCisg
ICAgaWYgKChhMiArIGEzKSA+IDEpIAorICAgICAgICByZXR1cm4gbnVsbDsKKyAgICByZXR1cm4g
dDsKK30KKworZnVuY3Rpb24gU2NlbmUoYV90cmlhbmdsZXMpIHsKKyAgICB0cnkgeworICAgICAg
ICB0aGlzLnRyaWFuZ2xlcyA9IGFfdHJpYW5nbGVzOworICAgICAgICB0aGlzLmxpZ2h0cyA9IFtd
OworICAgICAgICB0aGlzLmFtYmllbnQgPSBbMCwwLDBdOworICAgICAgICB0aGlzLmJhY2tncm91
bmQgPSBbMC44LDAuOCwxXTsKKyAgICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7CisgICAgfSBjYXRj
aChlKSB7IH0KK30KK3ZhciB6ZXJvID0gbmV3IEFycmF5KDAsMCwwKTsKKworU2NlbmUucHJvdG90
eXBlLmludGVyc2VjdCA9IGZ1bmN0aW9uKG9yaWdpbiwgZGlyLCBuZWFyLCBmYXIpIHsKKyAgICB2
YXIgY2xvc2VzdCA9IG51bGw7CisgICAgZm9yIChpID0gMDsgaSA8IHRoaXMudHJpYW5nbGVzLmxl
bmd0aDsgaSsrKSB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB2YXIgdHJpYW5nbGUgPSB0
aGlzLnRyaWFuZ2xlc1tpXTsgICAKKyAgICAgICAgICAgIHZhciBkID0gdHJpYW5nbGUuaW50ZXJz
ZWN0KG9yaWdpbiwgZGlyLCBuZWFyLCBmYXIpOworICAgICAgICAgICAgaWYgKGQgPT0gbnVsbCB8
fCBkID4gZmFyIHx8IGQgPCBuZWFyKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAg
ICAgICAgZmFyID0gZDsKKyAgICAgICAgICAgIGNsb3Nlc3QgPSB0cmlhbmdsZTsKKyAgICAgICAg
ICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0KKyAg
ICAKKyAgICBpZiAoIWNsb3Nlc3QpCisgICAgICAgIHJldHVybiBbdGhpcy5iYWNrZ3JvdW5kWzBd
LHRoaXMuYmFja2dyb3VuZFsxXSx0aGlzLmJhY2tncm91bmRbMl1dOworICAgICAgICAKKyAgICB0
cnkgeworICAgICAgICB2YXIgbm9ybWFsID0gY2xvc2VzdC5ub3JtYWw7CisgICAgICAgIHZhciBo
aXQgPSBhZGQob3JpZ2luLCBzY2FsZShkaXIsIGZhcikpOyAKKyAgICAgICAgaWYgKGRvdChkaXIs
IG5vcm1hbCkgPiAwKQorICAgICAgICAgICAgbm9ybWFsID0gWy1ub3JtYWxbMF0sIC1ub3JtYWxb
MV0sIC1ub3JtYWxbMl1dOworICAgICAgICAKKyAgICAgICAgdmFyIGNvbG91ciA9IG51bGw7Cisg
ICAgICAgIGlmIChjbG9zZXN0LnNoYWRlcikgeworICAgICAgICAgICAgY29sb3VyID0gY2xvc2Vz
dC5zaGFkZXIoY2xvc2VzdCwgaGl0LCBkaXIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgY29sb3VyID0gY2xvc2VzdC5tYXRlcmlhbDsKKyAgICAgICAgfQorICAgICAgICByYW5kb21F
eGNlcHRpb24oKTsKKyAgICB9IGNhdGNoKGUpIHsgfQorICAgIAorICAgIC8vIGRvIHJlZmxlY3Rp
b24KKyAgICB2YXIgcmVmbGVjdGVkID0gbnVsbDsKKyAgICBpZiAoY29sb3VyLnJlZmxlY3Rpb24g
PiAwLjAwMSkgeworICAgICAgICB0cnkgeworICAgICAgICAgICAgdmFyIHJlZmxlY3Rpb24gPSBh
ZGRWZWN0b3Ioc2NhbGUobm9ybWFsLCAtMipkb3QoZGlyLCBub3JtYWwpKSwgZGlyKTsKKyAgICAg
ICAgICAgIHJlZmxlY3RlZCA9IHRoaXMuaW50ZXJzZWN0KGhpdCwgcmVmbGVjdGlvbiwgMC4wMDAx
LCAxMDAwMDAwKTsKKyAgICAgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgICAgICB9IGNh
dGNoKGUpIHsgfQorICAgICAgICBpZiAoY29sb3VyLnJlZmxlY3Rpb24gPj0gMC45OTk5OTkpCisg
ICAgICAgICAgICByZXR1cm4gcmVmbGVjdGVkOworICAgIH0KKyAgICAKKyAgICB2YXIgbCA9IFt0
aGlzLmFtYmllbnRbMF0sIHRoaXMuYW1iaWVudFsxXSwgdGhpcy5hbWJpZW50WzJdXTsKKyAgICBm
b3IgKHZhciBpID0gMDsgaSA8IHRoaXMubGlnaHRzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgIHRy
eSB7CisgICAgICAgICAgICB2YXIgbGlnaHQgPSB0aGlzLmxpZ2h0c1tpXTsKKyAgICAgICAgICAg
IHZhciB0b0xpZ2h0ID0gc3ViKGxpZ2h0LCBoaXQpOworICAgICAgICAgICAgdmFyIGRpc3RhbmNl
ID0gbGVuZ3RoVmVjdG9yKHRvTGlnaHQpOworICAgICAgICAgICAgc2NhbGVWZWN0b3IodG9MaWdo
dCwgMS4wL2Rpc3RhbmNlKTsKKyAgICAgICAgICAgIGRpc3RhbmNlIC09IDAuMDAwMTsKKyAgICAg
ICAgICAgIGlmICh0aGlzLmJsb2NrZWQoaGl0LCB0b0xpZ2h0LCBkaXN0YW5jZSkpCisgICAgICAg
ICAgICAgICAgY29udGludWU7CisgICAgICAgICAgICB2YXIgbmwgPSBkb3Qobm9ybWFsLCB0b0xp
Z2h0KTsKKyAgICAgICAgICAgIGlmIChubCA+IDApCisgICAgICAgICAgICAgICAgYWRkVmVjdG9y
KGwsIHNjYWxlKGxpZ2h0LmNvbG91ciwgbmwpKTsKKyAgICAgICAgICAgIHJhbmRvbUV4Y2VwdGlv
bigpOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0KKyAgICB0cnkgeworICAgICAgICBs
ID0gc2NhbGV2KGwsIGNvbG91cik7CisgICAgICAgIGlmIChyZWZsZWN0ZWQpIHsKKyAgICAgICAg
ICAgIGwgPSBhZGRWZWN0b3Ioc2NhbGVWZWN0b3IobCwgMSAtIGNvbG91ci5yZWZsZWN0aW9uKSwg
c2NhbGVWZWN0b3IocmVmbGVjdGVkLCBjb2xvdXIucmVmbGVjdGlvbikpOworICAgICAgICB9Cisg
ICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgIH0gY2F0Y2goZSkgeyB9CisgICAgcmV0dXJu
IGw7Cit9CisKK1NjZW5lLnByb3RvdHlwZS5ibG9ja2VkID0gZnVuY3Rpb24oTywgRCwgZmFyKSB7
CisgICAgdmFyIG5lYXIgPSAwLjAwMDE7CisgICAgdmFyIGNsb3Nlc3QgPSBudWxsOworICAgIGZv
ciAoaSA9IDA7IGkgPCB0aGlzLnRyaWFuZ2xlcy5sZW5ndGg7IGkrKykgeworICAgICAgICB0cnkg
eworICAgICAgICAgICAgdmFyIHRyaWFuZ2xlID0gdGhpcy50cmlhbmdsZXNbaV07ICAgCisgICAg
ICAgICAgICB2YXIgZCA9IHRyaWFuZ2xlLmludGVyc2VjdChPLCBELCBuZWFyLCBmYXIpOworICAg
ICAgICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAg
ICAgIGlmIChkID09IG51bGwgfHwgZCA+IGZhciB8fCBkIDwgbmVhcikKKyAgICAgICAgICAgIGNv
bnRpbnVlOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIGZh
bHNlOworfQorCisKKy8vIHRoaXMgY2FtZXJhIGNvZGUgaXMgZnJvbSBub3RlcyBpIG1hZGUgYWdl
cyBhZ28sIGl0IGlzIGZyb20gKnNvbWV3aGVyZSogLS0gaSBjYW5ub3QgcmVtZW1iZXIgd2hlcmUK
Ky8vIHRoYXQgc29tZXdoZXJlIGlzCitmdW5jdGlvbiBDYW1lcmEob3JpZ2luLCBsb29rYXQsIHVw
KSB7CisgICAgdHJ5IHsKKyAgICAgICAgdmFyIHpheGlzID0gbm9ybWFsaXNlVmVjdG9yKHN1YlZl
Y3Rvcihsb29rYXQsIG9yaWdpbikpOworICAgICAgICB2YXIgeGF4aXMgPSBub3JtYWxpc2VWZWN0
b3IoY3Jvc3ModXAsIHpheGlzKSk7CisgICAgICAgIHZhciB5YXhpcyA9IG5vcm1hbGlzZVZlY3Rv
cihjcm9zcyh4YXhpcywgc3ViVmVjdG9yKFswLDAsMF0sIHpheGlzKSkpOworICAgICAgICB2YXIg
bSA9IG5ldyBBcnJheSgxNik7CisgICAgICAgIG1bMF0gPSB4YXhpc1swXTsgbVsxXSA9IHhheGlz
WzFdOyBtWzJdID0geGF4aXNbMl07CisgICAgICAgIG1bNF0gPSB5YXhpc1swXTsgbVs1XSA9IHlh
eGlzWzFdOyBtWzZdID0geWF4aXNbMl07CisgICAgICAgIG1bOF0gPSB6YXhpc1swXTsgbVs5XSA9
IHpheGlzWzFdOyBtWzEwXSA9IHpheGlzWzJdOworICAgICAgICBpbnZlcnRNYXRyaXgobSk7Cisg
ICAgICAgIG1bM10gPSAwOyBtWzddID0gMDsgbVsxMV0gPSAwOworICAgICAgICB0aGlzLm9yaWdp
biA9IG9yaWdpbjsKKyAgICAgICAgdGhpcy5kaXJlY3Rpb25zID0gbmV3IEFycmF5KDQpOworICAg
ICAgICB0aGlzLmRpcmVjdGlvbnNbMF0gPSBub3JtYWxpc2UoWy0wLjcsICAwLjcsIDFdKTsKKyAg
ICAgICAgdGhpcy5kaXJlY3Rpb25zWzFdID0gbm9ybWFsaXNlKFsgMC43LCAgMC43LCAxXSk7Cisg
ICAgICAgIHRoaXMuZGlyZWN0aW9uc1syXSA9IG5vcm1hbGlzZShbIDAuNywgLTAuNywgMV0pOwor
ICAgICAgICB0aGlzLmRpcmVjdGlvbnNbM10gPSBub3JtYWxpc2UoWy0wLjcsIC0wLjcsIDFdKTsK
KyAgICAgICAgdGhpcy5kaXJlY3Rpb25zWzBdID0gdHJhbnNmb3JtTWF0cml4KG0sIHRoaXMuZGly
ZWN0aW9uc1swXSk7CisgICAgICAgIHRoaXMuZGlyZWN0aW9uc1sxXSA9IHRyYW5zZm9ybU1hdHJp
eChtLCB0aGlzLmRpcmVjdGlvbnNbMV0pOworICAgICAgICB0aGlzLmRpcmVjdGlvbnNbMl0gPSB0
cmFuc2Zvcm1NYXRyaXgobSwgdGhpcy5kaXJlY3Rpb25zWzJdKTsKKyAgICAgICAgdGhpcy5kaXJl
Y3Rpb25zWzNdID0gdHJhbnNmb3JtTWF0cml4KG0sIHRoaXMuZGlyZWN0aW9uc1szXSk7CisKKyAg
ICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7CisgICAgfSBjYXRjaChlKSB7IH0KK30KKworQ2FtZXJh
LnByb3RvdHlwZS5nZW5lcmF0ZVJheVBhaXIgPSBmdW5jdGlvbih5KSB7CisgICAgdHJ5IHsKKyAg
ICAgICAgcmF5cyA9IG5ldyBBcnJheShuZXcgT2JqZWN0KCksIG5ldyBPYmplY3QoKSk7CisgICAg
ICAgIHJheXNbMF0ub3JpZ2luID0gdGhpcy5vcmlnaW47CisgICAgICAgIHJheXNbMV0ub3JpZ2lu
ID0gdGhpcy5vcmlnaW47CisgICAgICAgIHJheXNbMF0uZGlyID0gYWRkVmVjdG9yKHNjYWxlKHRo
aXMuZGlyZWN0aW9uc1swXSwgeSksIHNjYWxlKHRoaXMuZGlyZWN0aW9uc1szXSwgMSAtIHkpKTsK
KyAgICAgICAgcmF5c1sxXS5kaXIgPSBhZGRWZWN0b3Ioc2NhbGUodGhpcy5kaXJlY3Rpb25zWzFd
LCB5KSwgc2NhbGUodGhpcy5kaXJlY3Rpb25zWzJdLCAxIC0geSkpOworICAgICAgICByYW5kb21F
eGNlcHRpb24oKTsKKyAgICB9IGNhdGNoKGUpIHsgfQorICAgIHJldHVybiByYXlzOworfQorCitm
dW5jdGlvbiByZW5kZXJSb3dzKGNhbWVyYSwgc2NlbmUsIHBpeGVscywgd2lkdGgsIGhlaWdodCwg
c3RhcnR5LCBzdG9weSkgeworICAgIGZvciAodmFyIHkgPSBzdGFydHk7IHkgPCBzdG9weTsgeSsr
KSB7CisgICAgICAgIHZhciByYXlzID0gY2FtZXJhLmdlbmVyYXRlUmF5UGFpcih5IC8gaGVpZ2h0
KTsKKyAgICAgICAgZm9yICh2YXIgeCA9IDA7IHggPCB3aWR0aDsgeCsrKSB7CisgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgIHZhciB4cCA9IHggLyB3aWR0aDsKKyAgICAgICAgICAg
ICAgICB2YXIgb3JpZ2luID0gYWRkVmVjdG9yKHNjYWxlKHJheXNbMF0ub3JpZ2luLCB4cCksIHNj
YWxlKHJheXNbMV0ub3JpZ2luLCAxIC0geHApKTsKKyAgICAgICAgICAgICAgICB2YXIgZGlyID0g
bm9ybWFsaXNlVmVjdG9yKGFkZFZlY3RvcihzY2FsZShyYXlzWzBdLmRpciwgeHApLCBzY2FsZShy
YXlzWzFdLmRpciwgMSAtIHhwKSkpOworICAgICAgICAgICAgICAgIHZhciBsID0gc2NlbmUuaW50
ZXJzZWN0KG9yaWdpbiwgZGlyKTsKKyAgICAgICAgICAgICAgICBwaXhlbHNbeV1beF0gPSBsOwor
ICAgICAgICAgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgICAgICAgICAgfSBjYXRjaChl
KSB7IH0KKyAgICAgICAgfQorICAgIH0KK30KKworQ2FtZXJhLnByb3RvdHlwZS5yZW5kZXIgPSBm
dW5jdGlvbihzY2VuZSwgcGl4ZWxzLCB3aWR0aCwgaGVpZ2h0KSB7CisgICAgdHJ5IHsKKyAgICAg
ICAgdmFyIGNhbSA9IHRoaXM7CisgICAgICAgIHZhciByb3cgPSAwOworICAgICAgICByZW5kZXJS
b3dzKGNhbSwgc2NlbmUsIHBpeGVscywgd2lkdGgsIGhlaWdodCwgMCwgaGVpZ2h0KTsKKyAgICAg
ICAgcmFuZG9tRXhjZXB0aW9uKCk7CisgICAgfSBjYXRjaChlKSB7IH0KK30KKworCisKK2Z1bmN0
aW9uIHJheXRyYWNlU2NlbmUoKQoreworICAgIHRyeSB7CisgICAgICAgIHZhciBzdGFydERhdGUg
PSBuZXcgRGF0ZSgpLmdldFRpbWUoKTsKKyAgICAgICAgdmFyIG51bVRyaWFuZ2xlcyA9IDIgKiA2
OworICAgICAgICB2YXIgdHJpYW5nbGVzID0gbmV3IEFycmF5KCk7Ly9udW1UcmlhbmdsZXMpOwor
ICAgICAgICB2YXIgdGZsID0gY3JlYXRlVmVjdG9yKC0xMCwgIDEwLCAtMTApOworICAgICAgICB2
YXIgdGZyID0gY3JlYXRlVmVjdG9yKCAxMCwgIDEwLCAtMTApOworICAgICAgICB2YXIgdGJsID0g
Y3JlYXRlVmVjdG9yKC0xMCwgIDEwLCAgMTApOworICAgICAgICB2YXIgdGJyID0gY3JlYXRlVmVj
dG9yKCAxMCwgIDEwLCAgMTApOworICAgICAgICB2YXIgYmZsID0gY3JlYXRlVmVjdG9yKC0xMCwg
LTEwLCAtMTApOworICAgICAgICB2YXIgYmZyID0gY3JlYXRlVmVjdG9yKCAxMCwgLTEwLCAtMTAp
OworICAgICAgICB2YXIgYmJsID0gY3JlYXRlVmVjdG9yKC0xMCwgLTEwLCAgMTApOworICAgICAg
ICB2YXIgYmJyID0gY3JlYXRlVmVjdG9yKCAxMCwgLTEwLCAgMTApOworICAgICAgICAKKyAgICAg
ICAgLy8gY3ViZSEhIQorICAgICAgICAvLyBmcm9udAorICAgICAgICB2YXIgaSA9IDA7CisgICAg
ICAgIAorICAgICAgICB0cmlhbmdsZXNbaSsrXSA9IG5ldyBUcmlhbmdsZSh0ZmwsIHRmciwgYmZy
KTsKKyAgICAgICAgdHJpYW5nbGVzW2krK10gPSBuZXcgVHJpYW5nbGUodGZsLCBiZnIsIGJmbCk7
CisgICAgICAgIC8vIGJhY2sKKyAgICAgICAgdHJpYW5nbGVzW2krK10gPSBuZXcgVHJpYW5nbGUo
dGJsLCB0YnIsIGJicik7CisgICAgICAgIHRyaWFuZ2xlc1tpKytdID0gbmV3IFRyaWFuZ2xlKHRi
bCwgYmJyLCBiYmwpOworICAgICAgICAvLyAgICAgICAgdHJpYW5nbGVzW2ktMV0ubWF0ZXJpYWwg
PSBbMC43LDAuMiwwLjJdOworICAgICAgICAvLyAgICAgICAgICAgIHRyaWFuZ2xlc1tpLTFdLm1h
dGVyaWFsLnJlZmxlY3Rpb24gPSAwLjg7CisgICAgICAgIC8vIGxlZnQKKyAgICAgICAgdHJpYW5n
bGVzW2krK10gPSBuZXcgVHJpYW5nbGUodGJsLCB0ZmwsIGJibCk7CisgICAgICAgIC8vICAgICAg
ICAgICAgdHJpYW5nbGVzW2ktMV0ucmVmbGVjdGlvbiA9IDAuNjsKKyAgICAgICAgdHJpYW5nbGVz
W2krK10gPSBuZXcgVHJpYW5nbGUodGZsLCBiZmwsIGJibCk7CisgICAgICAgIC8vICAgICAgICAg
ICAgdHJpYW5nbGVzW2ktMV0ucmVmbGVjdGlvbiA9IDAuNjsKKyAgICAgICAgLy8gcmlnaHQKKyAg
ICAgICAgdHJpYW5nbGVzW2krK10gPSBuZXcgVHJpYW5nbGUodGJyLCB0ZnIsIGJicik7CisgICAg
ICAgIHRyaWFuZ2xlc1tpKytdID0gbmV3IFRyaWFuZ2xlKHRmciwgYmZyLCBiYnIpOworICAgICAg
ICAvLyB0b3AKKyAgICAgICAgdHJpYW5nbGVzW2krK10gPSBuZXcgVHJpYW5nbGUodGJsLCB0YnIs
IHRmcik7CisgICAgICAgIHRyaWFuZ2xlc1tpKytdID0gbmV3IFRyaWFuZ2xlKHRibCwgdGZyLCB0
ZmwpOworICAgICAgICAvLyBib3R0b20KKyAgICAgICAgdHJpYW5nbGVzW2krK10gPSBuZXcgVHJp
YW5nbGUoYmJsLCBiYnIsIGJmcik7CisgICAgICAgIHRyaWFuZ2xlc1tpKytdID0gbmV3IFRyaWFu
Z2xlKGJibCwgYmZyLCBiZmwpOworICAgICAgICAKKyAgICAgICAgLy9GbG9vciEhISEKKyAgICAg
ICAgdmFyIGdyZWVuID0gY3JlYXRlVmVjdG9yKDAuMCwgMC40LCAwLjApOworICAgICAgICB2YXIg
Z3JleSA9IGNyZWF0ZVZlY3RvcigwLjQsIDAuNCwgMC40KTsKKyAgICAgICAgZ3JleS5yZWZsZWN0
aW9uID0gMS4wOworCisgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgIH0gY2F0Y2goZSkg
eyB9CisgICAgdmFyIGZsb29yU2hhZGVyID0gZnVuY3Rpb24odHJpLCBwb3MsIHZpZXcpIHsKKyAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciB4ID0gKChwb3NbMF0vMzIpICUgMiArIDIpICUg
MjsKKyAgICAgICAgICAgIHZhciB6ID0gKChwb3NbMl0vMzIgKyAwLjMpICUgMiArIDIpICUgMjsK
KyAgICAgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgICAgICB9IGNhdGNoKGUpIHsgfQor
ICAgICAgICB0cnkgeworICAgICAgICAgICAgaWYgKHggPCAxICE9IHogPCAxKSB7CisgICAgICAg
ICAgICAgICAgLy9pbiB0aGUgcmVhbCB3b3JsZCB3ZSB1c2UgdGhlIGZyZXNuZWwgdGVybS4uLgor
ICAgICAgICAgICAgICAgIC8vICAgIHZhciBhbmdsZSA9IDEtZG90KHZpZXcsIHRyaS5ub3JtYWwp
OworICAgICAgICAgICAgICAgIC8vICAgYW5nbGUgKj0gYW5nbGU7CisgICAgICAgICAgICAgICAg
Ly8gIGFuZ2xlICo9IGFuZ2xlOworICAgICAgICAgICAgICAgIC8vIGFuZ2xlICo9IGFuZ2xlOwor
ICAgICAgICAgICAgICAgIC8vZ3JleS5yZWZsZWN0aW9uID0gYW5nbGU7CisgICAgICAgICAgICAg
ICAgcmV0dXJuIGdyZXk7CisgICAgICAgICAgICB9IGVsc2UgCisgICAgICAgICAgICAgICAgcmV0
dXJuIGdyZWVuOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0KKyAgICB2YXIgZmZsID0g
Y3JlYXRlVmVjdG9yKC0xMDAwLCAtMzAsIC0xMDAwKTsKKyAgICB2YXIgZmZyID0gY3JlYXRlVmVj
dG9yKCAxMDAwLCAtMzAsIC0xMDAwKTsKKyAgICB2YXIgZmJsID0gY3JlYXRlVmVjdG9yKC0xMDAw
LCAtMzAsICAxMDAwKTsKKyAgICB2YXIgZmJyID0gY3JlYXRlVmVjdG9yKCAxMDAwLCAtMzAsICAx
MDAwKTsKKyAgICB0cmlhbmdsZXNbaSsrXSA9IG5ldyBUcmlhbmdsZShmYmwsIGZiciwgZmZyKTsK
KyAgICB0cmlhbmdsZXNbaS0xXS5zaGFkZXIgPSBmbG9vclNoYWRlcjsKKyAgICB0cmlhbmdsZXNb
aSsrXSA9IG5ldyBUcmlhbmdsZShmYmwsIGZmciwgZmZsKTsKKyAgICB0cmlhbmdsZXNbaS0xXS5z
aGFkZXIgPSBmbG9vclNoYWRlcjsKKyAgICAKKyAgICB2YXIgX3NjZW5lID0gbmV3IFNjZW5lKHRy
aWFuZ2xlcyk7CisgICAgX3NjZW5lLmxpZ2h0c1swXSA9IGNyZWF0ZVZlY3RvcigyMCwgMzgsIC0y
Mik7CisgICAgX3NjZW5lLmxpZ2h0c1swXS5jb2xvdXIgPSBjcmVhdGVWZWN0b3IoMC43LCAwLjMs
IDAuMyk7CisgICAgX3NjZW5lLmxpZ2h0c1sxXSA9IGNyZWF0ZVZlY3RvcigtMjMsIDQwLCAxNyk7
CisgICAgX3NjZW5lLmxpZ2h0c1sxXS5jb2xvdXIgPSBjcmVhdGVWZWN0b3IoMC43LCAwLjMsIDAu
Myk7CisgICAgX3NjZW5lLmxpZ2h0c1syXSA9IGNyZWF0ZVZlY3RvcigyMywgMjAsIDE3KTsKKyAg
ICBfc2NlbmUubGlnaHRzWzJdLmNvbG91ciA9IGNyZWF0ZVZlY3RvcigwLjcsIDAuNywgMC43KTsK
KyAgICBfc2NlbmUuYW1iaWVudCA9IGNyZWF0ZVZlY3RvcigwLjEsIDAuMSwgMC4xKTsKKyAgICAv
LyAgX3NjZW5lLmJhY2tncm91bmQgPSBjcmVhdGVWZWN0b3IoMC43LCAwLjcsIDEuMCk7CisgICAg
CisgICAgdmFyIHNpemUgPSAzMDsKKyAgICB2YXIgcGl4ZWxzID0gbmV3IEFycmF5KCk7CisgICAg
Zm9yICh2YXIgeSA9IDA7IHkgPCBzaXplOyB5KyspIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgIHBpeGVsc1t5XSA9IG5ldyBBcnJheSgpOworICAgICAgICAgICAgcmFuZG9tRXhjZXB0aW9u
KCk7CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgICAgIGZvciAodmFyIHggPSAwOyB4IDwg
c2l6ZTsgeCsrKSB7CisgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgIHBpeGVsc1t5
XVt4XSA9IDA7CisgICAgICAgICAgICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7CisgICAgICAgICAg
ICB9IGNhdGNoKGUpIHsgfQorICAgICAgICB9CisgICAgfQorCisgICAgdHJ5IHsKKyAgICAgICAg
dmFyIF9jYW1lcmEgPSBuZXcgQ2FtZXJhKGNyZWF0ZVZlY3RvcigtNDAsIDQwLCA0MCksIGNyZWF0
ZVZlY3RvcigwLCAwLCAwKSwgY3JlYXRlVmVjdG9yKDAsIDEsIDApKTsKKyAgICAgICAgX2NhbWVy
YS5yZW5kZXIoX3NjZW5lLCBwaXhlbHMsIHNpemUsIHNpemUpOworICAgICAgICByYW5kb21FeGNl
cHRpb24oKTsKKyAgICB9IGNhdGNoKGUpe30KKworICAgIHJldHVybiBwaXhlbHM7Cit9CisKK2Z1
bmN0aW9uIGFycmF5VG9DYW52YXNDb21tYW5kcyhwaXhlbHMpCit7CisgICAgdmFyIHMgPSAnPGNh
bnZhcyBpZD0icmVuZGVyQ2FudmFzIiB3aWR0aD0iMzBweCIgaGVpZ2h0PSIzMHB4Ij48L2NhbnZh
cz48c2NyJyArICdpcHQ+XG52YXIgcGl4ZWxzID0gWyc7CisgICAgdmFyIHNpemUgPSAzMDsKKyAg
ICBmb3IgKHZhciB5ID0gMDsgeSA8IHNpemU7IHkrKykgeworICAgICAgICBzICs9ICJbIjsKKyAg
ICAgICAgZm9yICh2YXIgeCA9IDA7IHggPCBzaXplOyB4KyspIHsKKyAgICAgICAgICAgIHMgKz0g
IlsiICsgcGl4ZWxzW3ldW3hdICsgIl0sIjsKKyAgICAgICAgfQorICAgICAgICBzKz0gIl0sIjsK
KyAgICB9CisgICAgcyArPSAnXTtcbiAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInJlbmRlckNhbnZhcyIpLmdldENvbnRleHQoIjJkIik7XG5cCitcblwKK1xuXAorICAg
IHZhciBzaXplID0gMzA7XG5cCisgICAgY2FudmFzLmZpbGxTdHlsZSA9ICJyZWQiO1xuXAorICAg
IGNhbnZhcy5maWxsUmVjdCgwLCAwLCBzaXplLCBzaXplKTtcblwKKyAgICBjYW52YXMuc2NhbGUo
MSwgLTEpO1xuXAorICAgIGNhbnZhcy50cmFuc2xhdGUoMCwgLXNpemUpO1xuXAorXG5cCisgICAg
aWYgKCFjYW52YXMuc2V0RmlsbENvbG9yKVxuXAorICAgICAgICBjYW52YXMuc2V0RmlsbENvbG9y
ID0gZnVuY3Rpb24ociwgZywgYiwgYSkge1xuXAorICAgICAgICAgICAgdGhpcy5maWxsU3R5bGUg
PSAicmdiKCIrW01hdGguZmxvb3IociAqIDI1NSksIE1hdGguZmxvb3IoZyAqIDI1NSksIE1hdGgu
Zmxvb3IoYiAqIDI1NSldKyIpIjtcblwKKyAgICB9XG5cCitcblwKK2ZvciAodmFyIHkgPSAwOyB5
IDwgc2l6ZTsgeSsrKSB7XG5cCisgIGZvciAodmFyIHggPSAwOyB4IDwgc2l6ZTsgeCsrKSB7XG5c
CisgICAgdmFyIGwgPSBwaXhlbHNbeV1beF07XG5cCisgICAgY2FudmFzLnNldEZpbGxDb2xvcihs
WzBdLCBsWzFdLCBsWzJdLCAxKTtcblwKKyAgICBjYW52YXMuZmlsbFJlY3QoeCwgeSwgMSwgMSk7
XG5cCisgIH1cblwKK308L3NjcicgKyAnaXB0Pic7CisKKyAgICByZXR1cm4gczsKK30KKwordGVz
dE91dHB1dCA9IGFycmF5VG9DYW52YXNDb21tYW5kcyhyYXl0cmFjZVNjZW5lKCkpOworCit2YXIg
ZXhwZWN0ZWRMZW5ndGggPSAyMDk3MDsKKworaWYgKHRlc3RPdXRwdXQubGVuZ3RoICE9IGV4cGVj
dGVkTGVuZ3RoKQorICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogZXhwZWN0ZWQgbGVuZ3Ro
ICIgKyBleHBlY3RlZExlbmd0aCArICIgYnV0IGdvdCAiICsgdGVzdE91dHB1dC5sZW5ndGg7CisK
SW5kZXg6IExheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL3Y4LXJheXRyYWNlLXdp
dGgtZW1wdHktdHJ5LWNhdGNoLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2pzL3JlZ3Jl
c3Mvc2NyaXB0LXRlc3RzL3Y4LXJheXRyYWNlLXdpdGgtZW1wdHktdHJ5LWNhdGNoLmpzCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvdjgtcmF5dHJh
Y2Utd2l0aC1lbXB0eS10cnktY2F0Y2guanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMDQ4
IEBACisvLyBUaGUgcmF5IHRyYWNlciBjb2RlIGluIHRoaXMgZmlsZSBpcyB3cml0dGVuIGJ5IEFk
YW0gQnVybWlzdGVyLiBJdAorLy8gaXMgYXZhaWxhYmxlIGluIGl0cyBvcmlnaW5hbCBmb3JtIGZy
b206CisvLworLy8gICBodHRwOi8vbGFicy5mbG9nLm56LmNvL3JheXRyYWNlci8KKy8vCisvLyBJ
dCBoYXMgYmVlbiBtb2RpZmllZCBzbGlnaHRseSBieSBHb29nbGUgdG8gd29yayBhcyBhIHN0YW5k
YWxvbmUKKy8vIGJlbmNobWFyaywgYnV0IHRoZSBhbGwgdGhlIGNvbXB1dGF0aW9uYWwgY29kZSBy
ZW1haW5zCisvLyB1bnRvdWNoZWQuIFRoaXMgZmlsZSBhbHNvIGNvbnRhaW5zIGEgY29weSBvZiBw
YXJ0cyBvZiB0aGUgUHJvdG90eXBlCisvLyBKYXZhU2NyaXB0IGZyYW1ld29yayB3aGljaCBpcyB1
c2VkIGJ5IHRoZSByYXkgdHJhY2VyLgorCisvLyBWYXJpYWJsZSB1c2VkIHRvIGhvbGQgYSBudW1i
ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byB2ZXJpZnkgdGhhdAorLy8gdGhlIHNjZW5lIHdhcyByYXkg
dHJhY2VkIGNvcnJlY3RseS4KK3ZhciBjaGVja051bWJlcjsKKworCisvLyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisvLyBUaGUgZm9sbG93aW5nIGlzIGEgY29weSBvZiBw
YXJ0cyBvZiB0aGUgUHJvdG90eXBlIEphdmFTY3JpcHQgbGlicmFyeToKKworLy8gUHJvdG90eXBl
IEphdmFTY3JpcHQgZnJhbWV3b3JrLCB2ZXJzaW9uIDEuNS4wCisvLyAoYykgMjAwNS0yMDA3IFNh
bSBTdGVwaGVuc29uCisvLworLy8gUHJvdG90eXBlIGlzIGZyZWVseSBkaXN0cmlidXRhYmxlIHVu
ZGVyIHRoZSB0ZXJtcyBvZiBhbiBNSVQtc3R5bGUgbGljZW5zZS4KKy8vIEZvciBkZXRhaWxzLCBz
ZWUgdGhlIFByb3RvdHlwZSB3ZWIgc2l0ZTogaHR0cDovL3Byb3RvdHlwZS5jb25pby5uZXQvCisK
K3ZhciBDbGFzcyA9IHsKKyAgICBjcmVhdGU6IGZ1bmN0aW9uKCkgeworICAgICAgICByZXR1cm4g
ZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgIHRoaXMuaW5p
dGlhbGl6ZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpOworICAgICAgICAgICAgfSBjYXRjaChlKSB7
IH0KKyAgICAgICAgfQorICAgIH0KK307CisKKworT2JqZWN0LmV4dGVuZCA9IGZ1bmN0aW9uKGRl
c3RpbmF0aW9uLCBzb3VyY2UpIHsKKyAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBzb3VyY2UpIHsK
KyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIGRlc3RpbmF0aW9uW3Byb3BlcnR5XSA9IHNvdXJj
ZVtwcm9wZXJ0eV07CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgfQorICAgIHJldHVybiBk
ZXN0aW5hdGlvbjsKK307CisKKworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLyAtLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0KKworLy8gVGhlIHJlc3Qgb2YgdGhpcyBmaWxlIGlzIHRoZSBhY3R1YWwgcmF5IHRyYWNlciB3
cml0dGVuIGJ5IEFkYW0KKy8vIEJ1cm1pc3Rlci4gSXQncyBhIGNvbmNhdGVuYXRpb24gb2YgdGhl
IGZvbGxvd2luZyBmaWxlczoKKy8vCisvLyAgIGZsb2cvY29sb3IuanMKKy8vICAgZmxvZy9saWdo
dC5qcworLy8gICBmbG9nL3ZlY3Rvci5qcworLy8gICBmbG9nL3JheS5qcworLy8gICBmbG9nL3Nj
ZW5lLmpzCisvLyAgIGZsb2cvbWF0ZXJpYWwvYmFzZW1hdGVyaWFsLmpzCisvLyAgIGZsb2cvbWF0
ZXJpYWwvc29saWQuanMKKy8vICAgZmxvZy9tYXRlcmlhbC9jaGVzc2JvYXJkLmpzCisvLyAgIGZs
b2cvc2hhcGUvYmFzZXNoYXBlLmpzCisvLyAgIGZsb2cvc2hhcGUvc3BoZXJlLmpzCisvLyAgIGZs
b2cvc2hhcGUvcGxhbmUuanMKKy8vICAgZmxvZy9pbnRlcnNlY3Rpb25pbmZvLmpzCisvLyAgIGZs
b2cvY2FtZXJhLmpzCisvLyAgIGZsb2cvYmFja2dyb3VuZC5qcworLy8gICBmbG9nL2VuZ2luZS5q
cworCisKKy8qIEZha2UgYSBGbG9nLiogbmFtZXNwYWNlICovCitpZih0eXBlb2YoRmxvZykgPT0g
J3VuZGVmaW5lZCcpIHZhciBGbG9nID0ge307CitpZih0eXBlb2YoRmxvZy5SYXlUcmFjZXIpID09
ICd1bmRlZmluZWQnKSBGbG9nLlJheVRyYWNlciA9IHt9OworCitGbG9nLlJheVRyYWNlci5Db2xv
ciA9IENsYXNzLmNyZWF0ZSgpOworCitGbG9nLlJheVRyYWNlci5Db2xvci5wcm90b3R5cGUgPSB7
CisgICAgcmVkIDogMC4wLAorICAgIGdyZWVuIDogMC4wLAorICAgIGJsdWUgOiAwLjAsCisKKyAg
ICBpbml0aWFsaXplIDogZnVuY3Rpb24ociwgZywgYikgeworICAgICAgICB0cnkgeworICAgICAg
ICAgICAgaWYoIXIpIHIgPSAwLjA7CisgICAgICAgICAgICBpZighZykgZyA9IDAuMDsKKyAgICAg
ICAgICAgIGlmKCFiKSBiID0gMC4wOworCisgICAgICAgICAgICB0aGlzLnJlZCA9IHI7CisgICAg
ICAgICAgICB0aGlzLmdyZWVuID0gZzsKKyAgICAgICAgICAgIHRoaXMuYmx1ZSA9IGI7CisgICAg
ICAgIH0gY2F0Y2goZSkgeyB9CisgICAgfSwKKworICAgIGFkZCA6IGZ1bmN0aW9uKGMxLCBjMil7
CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB2YXIgcmVzdWx0ID0gbmV3IEZsb2cuUmF5VHJh
Y2VyLkNvbG9yKDAsMCwwKTsKKworICAgICAgICAgICAgcmVzdWx0LnJlZCA9IGMxLnJlZCArIGMy
LnJlZDsKKyAgICAgICAgICAgIHJlc3VsdC5ncmVlbiA9IGMxLmdyZWVuICsgYzIuZ3JlZW47Cisg
ICAgICAgICAgICByZXN1bHQuYmx1ZSA9IGMxLmJsdWUgKyBjMi5ibHVlOworCisgICAgICAgIH0g
Y2F0Y2goZSkgeyB9CisKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9LAorCisgICAgYWRk
U2NhbGFyOiBmdW5jdGlvbihjMSwgcyl7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB2YXIg
cmVzdWx0ID0gbmV3IEZsb2cuUmF5VHJhY2VyLkNvbG9yKDAsMCwwKTsKKworICAgICAgICAgICAg
cmVzdWx0LnJlZCA9IGMxLnJlZCArIHM7CisgICAgICAgICAgICByZXN1bHQuZ3JlZW4gPSBjMS5n
cmVlbiArIHM7CisgICAgICAgICAgICByZXN1bHQuYmx1ZSA9IGMxLmJsdWUgKyBzOworCisgICAg
ICAgICAgICByZXN1bHQubGltaXQoKTsKKworICAgICAgICB9IGNhdGNoKGUpIHsgfQorCisgICAg
ICAgIHJldHVybiByZXN1bHQ7CisgICAgfSwKKworICAgIHN1YnRyYWN0OiBmdW5jdGlvbihjMSwg
YzIpeworICAgICAgICB0cnkgeworICAgICAgICAgICAgdmFyIHJlc3VsdCA9IG5ldyBGbG9nLlJh
eVRyYWNlci5Db2xvcigwLDAsMCk7CisKKyAgICAgICAgICAgIHJlc3VsdC5yZWQgPSBjMS5yZWQg
LSBjMi5yZWQ7CisgICAgICAgICAgICByZXN1bHQuZ3JlZW4gPSBjMS5ncmVlbiAtIGMyLmdyZWVu
OworICAgICAgICAgICAgcmVzdWx0LmJsdWUgPSBjMS5ibHVlIC0gYzIuYmx1ZTsKKworICAgICAg
ICB9IGNhdGNoKGUpIHsgfQorCisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfSwKKworICAg
IG11bHRpcGx5IDogZnVuY3Rpb24oYzEsIGMyKSB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICB2YXIgcmVzdWx0ID0gbmV3IEZsb2cuUmF5VHJhY2VyLkNvbG9yKDAsMCwwKTsKKworICAgICAg
ICAgICAgcmVzdWx0LnJlZCA9IGMxLnJlZCAqIGMyLnJlZDsKKyAgICAgICAgICAgIHJlc3VsdC5n
cmVlbiA9IGMxLmdyZWVuICogYzIuZ3JlZW47CisgICAgICAgICAgICByZXN1bHQuYmx1ZSA9IGMx
LmJsdWUgKiBjMi5ibHVlOworCisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisKKyAgICAgICAgcmV0
dXJuIHJlc3VsdDsKKyAgICB9LAorCisgICAgbXVsdGlwbHlTY2FsYXIgOiBmdW5jdGlvbihjMSwg
ZikgeworICAgICAgICB0cnkgeworICAgICAgICAgICAgdmFyIHJlc3VsdCA9IG5ldyBGbG9nLlJh
eVRyYWNlci5Db2xvcigwLDAsMCk7CisKKyAgICAgICAgICAgIHJlc3VsdC5yZWQgPSBjMS5yZWQg
KiBmOworICAgICAgICAgICAgcmVzdWx0LmdyZWVuID0gYzEuZ3JlZW4gKiBmOworICAgICAgICAg
ICAgcmVzdWx0LmJsdWUgPSBjMS5ibHVlICogZjsKKworICAgICAgICB9IGNhdGNoKGUpIHsgfQor
CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfSwKKworICAgIGRpdmlkZUZhY3RvciA6IGZ1
bmN0aW9uKGMxLCBmKSB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB2YXIgcmVzdWx0ID0g
bmV3IEZsb2cuUmF5VHJhY2VyLkNvbG9yKDAsMCwwKTsKKworICAgICAgICAgICAgcmVzdWx0LnJl
ZCA9IGMxLnJlZCAvIGY7CisgICAgICAgICAgICByZXN1bHQuZ3JlZW4gPSBjMS5ncmVlbiAvIGY7
CisgICAgICAgICAgICByZXN1bHQuYmx1ZSA9IGMxLmJsdWUgLyBmOworCisgICAgICAgIH0gY2F0
Y2goZSkgeyB9CisKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9LAorCisgICAgbGltaXQ6
IGZ1bmN0aW9uKCl7CisgICAgICAgIHRyeSB7IAorICAgICAgICAgICAgdGhpcy5yZWQgPSAodGhp
cy5yZWQgPiAwLjApID8gKCAodGhpcy5yZWQgPiAxLjApID8gMS4wIDogdGhpcy5yZWQgKSA6IDAu
MDsKKyAgICAgICAgICAgIHRoaXMuZ3JlZW4gPSAodGhpcy5ncmVlbiA+IDAuMCkgPyAoICh0aGlz
LmdyZWVuID4gMS4wKSA/IDEuMCA6IHRoaXMuZ3JlZW4gKSA6IDAuMDsKKyAgICAgICAgICAgIHRo
aXMuYmx1ZSA9ICh0aGlzLmJsdWUgPiAwLjApID8gKCAodGhpcy5ibHVlID4gMS4wKSA/IDEuMCA6
IHRoaXMuYmx1ZSApIDogMC4wOworCisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgfSwKKwor
ICAgIGRpc3RhbmNlIDogZnVuY3Rpb24oY29sb3IpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgIHZhciBkID0gTWF0aC5hYnModGhpcy5yZWQgLSBjb2xvci5yZWQpICsgTWF0aC5hYnModGhp
cy5ncmVlbiAtIGNvbG9yLmdyZWVuKSArIE1hdGguYWJzKHRoaXMuYmx1ZSAtIGNvbG9yLmJsdWUp
OworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgICAgICByZXR1cm4gZDsKKyAgICB9LAorCisg
ICAgYmxlbmQ6IGZ1bmN0aW9uKGMxLCBjMiwgdyl7CisgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICB2YXIgcmVzdWx0ID0gbmV3IEZsb2cuUmF5VHJhY2VyLkNvbG9yKDAsMCwwKTsKKyAgICAgICAg
ICAgIHJlc3VsdCA9IEZsb2cuUmF5VHJhY2VyLkNvbG9yLnByb3RvdHlwZS5hZGQoCisgICAgICAg
ICAgICAgICAgICAgIEZsb2cuUmF5VHJhY2VyLkNvbG9yLnByb3RvdHlwZS5tdWx0aXBseVNjYWxh
cihjMSwgMSAtIHcpLAorICAgICAgICAgICAgICAgICAgICBGbG9nLlJheVRyYWNlci5Db2xvci5w
cm90b3R5cGUubXVsdGlwbHlTY2FsYXIoYzIsIHcpCisgICAgICAgICAgICAgICAgICAgICk7Cisg
ICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfSwKKwor
ICAgIGJyaWdodG5lc3MgOiBmdW5jdGlvbigpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
IHZhciByID0gTWF0aC5mbG9vcih0aGlzLnJlZCoyNTUpOworICAgICAgICAgICAgdmFyIGcgPSBN
YXRoLmZsb29yKHRoaXMuZ3JlZW4qMjU1KTsKKyAgICAgICAgICAgIHZhciBiID0gTWF0aC5mbG9v
cih0aGlzLmJsdWUqMjU1KTsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICAgICAgcmV0dXJu
IChyICogNzcgKyBnICogMTUwICsgYiAqIDI5KSA+PiA4OworICAgIH0sCisKKyAgICB0b1N0cmlu
ZyA6IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciByID0gTWF0
aC5mbG9vcih0aGlzLnJlZCoyNTUpOworICAgICAgICAgICAgdmFyIGcgPSBNYXRoLmZsb29yKHRo
aXMuZ3JlZW4qMjU1KTsKKyAgICAgICAgICAgIHZhciBiID0gTWF0aC5mbG9vcih0aGlzLmJsdWUq
MjU1KTsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKworICAgICAgICByZXR1cm4gInJnYigiKyBy
ICsiLCIrIGcgKyIsIisgYiArIikiOworICAgIH0KK30KKy8qIEZha2UgYSBGbG9nLiogbmFtZXNw
YWNlICovCitpZih0eXBlb2YoRmxvZykgPT0gJ3VuZGVmaW5lZCcpIHZhciBGbG9nID0ge307Citp
Zih0eXBlb2YoRmxvZy5SYXlUcmFjZXIpID09ICd1bmRlZmluZWQnKSBGbG9nLlJheVRyYWNlciA9
IHt9OworCitGbG9nLlJheVRyYWNlci5MaWdodCA9IENsYXNzLmNyZWF0ZSgpOworCitGbG9nLlJh
eVRyYWNlci5MaWdodC5wcm90b3R5cGUgPSB7CisgICAgcG9zaXRpb246IG51bGwsCisgICAgY29s
b3I6IG51bGwsCisgICAgaW50ZW5zaXR5OiAxMC4wLAorCisgICAgaW5pdGlhbGl6ZSA6IGZ1bmN0
aW9uKHBvcywgY29sb3IsIGludGVuc2l0eSkgeworICAgICAgICB0cnkgeworICAgICAgICAgICAg
dGhpcy5wb3NpdGlvbiA9IHBvczsKKyAgICAgICAgICAgIHRoaXMuY29sb3IgPSBjb2xvcjsKKyAg
ICAgICAgICAgIHRoaXMuaW50ZW5zaXR5ID0gKGludGVuc2l0eSA/IGludGVuc2l0eSA6IDEwLjAp
OworCisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgfSwKKworICAgIHRvU3RyaW5nIDogZnVu
Y3Rpb24gKCkgeworICAgICAgICB0cnkgeworICAgICAgICAgICAgdmFyIHJlc3VsdCA9ICdMaWdo
dCBbJyArIHRoaXMucG9zaXRpb24ueCArICcsJyArIHRoaXMucG9zaXRpb24ueSArICcsJyArIHRo
aXMucG9zaXRpb24ueiArICddJzsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICAgICAgcmV0
dXJuIHJlc3VsdDsKKyAgICB9Cit9CisvKiBGYWtlIGEgRmxvZy4qIG5hbWVzcGFjZSAqLworaWYo
dHlwZW9mKEZsb2cpID09ICd1bmRlZmluZWQnKSB2YXIgRmxvZyA9IHt9OworaWYodHlwZW9mKEZs
b2cuUmF5VHJhY2VyKSA9PSAndW5kZWZpbmVkJykgRmxvZy5SYXlUcmFjZXIgPSB7fTsKKworRmxv
Zy5SYXlUcmFjZXIuVmVjdG9yID0gQ2xhc3MuY3JlYXRlKCk7CisKK0Zsb2cuUmF5VHJhY2VyLlZl
Y3Rvci5wcm90b3R5cGUgPSB7CisgICAgeCA6IDAuMCwKKyAgICB5IDogMC4wLAorICAgIHogOiAw
LjAsCisKKyAgICBpbml0aWFsaXplIDogZnVuY3Rpb24oeCwgeSwgeikgeworICAgICAgICB0cnkg
eworICAgICAgICAgICAgdGhpcy54ID0gKHggPyB4IDogMCk7CisgICAgICAgICAgICB0aGlzLnkg
PSAoeSA/IHkgOiAwKTsKKyAgICAgICAgICAgIHRoaXMueiA9ICh6ID8geiA6IDApOworICAgICAg
ICB9IGNhdGNoKGUpIHsgfQorICAgIH0sCisKKyAgICBjb3B5OiBmdW5jdGlvbih2ZWN0b3Ipewor
ICAgICAgICB0cnkgeworICAgICAgICAgICAgdGhpcy54ID0gdmVjdG9yLng7CisgICAgICAgICAg
ICB0aGlzLnkgPSB2ZWN0b3IueTsKKyAgICAgICAgICAgIHRoaXMueiA9IHZlY3Rvci56OworICAg
ICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0sCisKKyAgICBub3JtYWxpemUgOiBmdW5jdGlvbigp
IHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciBtID0gdGhpcy5tYWduaXR1ZGUoKTsK
KyAgICAgICAgICAgIHZhciByZXN1bHQgPSBuZXcgRmxvZy5SYXlUcmFjZXIuVmVjdG9yKHRoaXMu
eCAvIG0sIHRoaXMueSAvIG0sIHRoaXMueiAvIG0pOworICAgICAgICB9IGNhdGNoKGUpIHsgfQor
ICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0sCisKKyAgICBtYWduaXR1ZGUgOiBmdW5jdGlv
bigpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHJldHVybiBNYXRoLnNxcnQoKHRoaXMu
eCAqIHRoaXMueCkgKyAodGhpcy55ICogdGhpcy55KSArICh0aGlzLnogKiB0aGlzLnopKTsKKyAg
ICAgICAgfSBjYXRjaChlKSAgeyB9CisgICAgfSwKKworICAgIGNyb3NzIDogZnVuY3Rpb24odykg
eworICAgICAgICB0cnkgeworICAgICAgICAgICAgcmV0dXJuIG5ldyBGbG9nLlJheVRyYWNlci5W
ZWN0b3IoCisgICAgICAgICAgICAgICAgICAgIC10aGlzLnogKiB3LnkgKyB0aGlzLnkgKiB3Lnos
CisgICAgICAgICAgICAgICAgICAgIHRoaXMueiAqIHcueCAtIHRoaXMueCAqIHcueiwKKyAgICAg
ICAgICAgICAgICAgICAgLXRoaXMueSAqIHcueCArIHRoaXMueCAqIHcueSk7CisgICAgICAgIH0g
Y2F0Y2goZSkgeyB9CisgICAgfSwKKworICAgIGRvdCA6IGZ1bmN0aW9uKHcpIHsKKyAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgIHJldHVybiB0aGlzLnggKiB3LnggKyB0aGlzLnkgKiB3LnkgKyB0
aGlzLnogKiB3Lno7CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgfSwKKworICAgIGFkZCA6
IGZ1bmN0aW9uKHYsIHcpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHJldHVybiBuZXcg
RmxvZy5SYXlUcmFjZXIuVmVjdG9yKHcueCArIHYueCwgdy55ICsgdi55LCB3LnogKyB2LnopOwor
ICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0sCisKKyAgICBzdWJ0cmFjdCA6IGZ1bmN0aW9u
KHYsIHcpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIGlmKCF3IHx8ICF2KSB0aHJvdyAn
VmVjdG9ycyBtdXN0IGJlIGRlZmluZWQgWycgKyB2ICsgJywnICsgdyArICddJzsKKyAgICAgICAg
ICAgIHJldHVybiBuZXcgRmxvZy5SYXlUcmFjZXIuVmVjdG9yKHYueCAtIHcueCwgdi55IC0gdy55
LCB2LnogLSB3LnopOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0sCisKKyAgICBtdWx0
aXBseVZlY3RvciA6IGZ1bmN0aW9uKHYsIHcpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
IHJldHVybiBuZXcgRmxvZy5SYXlUcmFjZXIuVmVjdG9yKHYueCAqIHcueCwgdi55ICogdy55LCB2
LnogKiB3LnopOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0sCisKKyAgICBtdWx0aXBs
eVNjYWxhciA6IGZ1bmN0aW9uKHYsIHcpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHJl
dHVybiBuZXcgRmxvZy5SYXlUcmFjZXIuVmVjdG9yKHYueCAqIHcsIHYueSAqIHcsIHYueiAqIHcp
OworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0sCisKKyAgICB0b1N0cmluZyA6IGZ1bmN0
aW9uICgpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHJldHVybiAnVmVjdG9yIFsnICsg
dGhpcy54ICsgJywnICsgdGhpcy55ICsgJywnICsgdGhpcy56ICsgJ10nOworICAgICAgICB9IGNh
dGNoKGUpIHsgfQorICAgIH0KK30KKy8qIEZha2UgYSBGbG9nLiogbmFtZXNwYWNlICovCitpZih0
eXBlb2YoRmxvZykgPT0gJ3VuZGVmaW5lZCcpIHZhciBGbG9nID0ge307CitpZih0eXBlb2YoRmxv
Zy5SYXlUcmFjZXIpID09ICd1bmRlZmluZWQnKSBGbG9nLlJheVRyYWNlciA9IHt9OworCitGbG9n
LlJheVRyYWNlci5SYXkgPSBDbGFzcy5jcmVhdGUoKTsKKworRmxvZy5SYXlUcmFjZXIuUmF5LnBy
b3RvdHlwZSA9IHsKKyAgICBwb3NpdGlvbiA6IG51bGwsCisgICAgZGlyZWN0aW9uIDogbnVsbCwK
KyAgICBpbml0aWFsaXplIDogZnVuY3Rpb24ocG9zLCBkaXIpIHsKKyAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgIHRoaXMucG9zaXRpb24gPSBwb3M7CisgICAgICAgICAgICB0aGlzLmRpcmVjdGlv
biA9IGRpcjsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICB9LAorCisgICAgdG9TdHJpbmcg
OiBmdW5jdGlvbiAoKSB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICByZXR1cm4gJ1JheSBb
JyArIHRoaXMucG9zaXRpb24gKyAnLCcgKyB0aGlzLmRpcmVjdGlvbiArICddJzsKKyAgICAgICAg
fSBjYXRjaChlKSB7IH0KKyAgICB9Cit9CisvKiBGYWtlIGEgRmxvZy4qIG5hbWVzcGFjZSAqLwor
aWYodHlwZW9mKEZsb2cpID09ICd1bmRlZmluZWQnKSB2YXIgRmxvZyA9IHt9OworaWYodHlwZW9m
KEZsb2cuUmF5VHJhY2VyKSA9PSAndW5kZWZpbmVkJykgRmxvZy5SYXlUcmFjZXIgPSB7fTsKKwor
RmxvZy5SYXlUcmFjZXIuU2NlbmUgPSBDbGFzcy5jcmVhdGUoKTsKKworRmxvZy5SYXlUcmFjZXIu
U2NlbmUucHJvdG90eXBlID0geworICAgIGNhbWVyYSA6IG51bGwsCisgICAgc2hhcGVzIDogW10s
CisgICAgbGlnaHRzIDogW10sCisgICAgYmFja2dyb3VuZCA6IG51bGwsCisKKyAgICBpbml0aWFs
aXplIDogZnVuY3Rpb24oKSB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB0aGlzLmNhbWVy
YSA9IG5ldyBGbG9nLlJheVRyYWNlci5DYW1lcmEoCisgICAgICAgICAgICAgICAgICAgIG5ldyBG
bG9nLlJheVRyYWNlci5WZWN0b3IoMCwwLC01KSwKKyAgICAgICAgICAgICAgICAgICAgbmV3IEZs
b2cuUmF5VHJhY2VyLlZlY3RvcigwLDAsMSksCisgICAgICAgICAgICAgICAgICAgIG5ldyBGbG9n
LlJheVRyYWNlci5WZWN0b3IoMCwxLDApCisgICAgICAgICAgICAgICAgICAgICk7CisgICAgICAg
ICAgICB0aGlzLnNoYXBlcyA9IG5ldyBBcnJheSgpOworICAgICAgICAgICAgdGhpcy5saWdodHMg
PSBuZXcgQXJyYXkoKTsKKyAgICAgICAgICAgIHRoaXMuYmFja2dyb3VuZCA9IG5ldyBGbG9nLlJh
eVRyYWNlci5CYWNrZ3JvdW5kKG5ldyBGbG9nLlJheVRyYWNlci5Db2xvcigwLDAsMC41KSwgMC4y
KTsKKworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0KK30KKy8qIEZha2UgYSBGbG9nLiog
bmFtZXNwYWNlICovCitpZih0eXBlb2YoRmxvZykgPT0gJ3VuZGVmaW5lZCcpIHZhciBGbG9nID0g
e307CitpZih0eXBlb2YoRmxvZy5SYXlUcmFjZXIpID09ICd1bmRlZmluZWQnKSBGbG9nLlJheVRy
YWNlciA9IHt9OworaWYodHlwZW9mKEZsb2cuUmF5VHJhY2VyLk1hdGVyaWFsKSA9PSAndW5kZWZp
bmVkJykgRmxvZy5SYXlUcmFjZXIuTWF0ZXJpYWwgPSB7fTsKKworRmxvZy5SYXlUcmFjZXIuTWF0
ZXJpYWwuQmFzZU1hdGVyaWFsID0gQ2xhc3MuY3JlYXRlKCk7CisKK0Zsb2cuUmF5VHJhY2VyLk1h
dGVyaWFsLkJhc2VNYXRlcmlhbC5wcm90b3R5cGUgPSB7CisKKyAgICBnbG9zczogMi4wLCAgICAg
ICAgICAgICAvLyBbMC4uLmluZmluaXR5XSAwID0gbWF0dAorICAgIHRyYW5zcGFyZW5jeTogMC4w
LCAgICAgIC8vIDA9b3BhcXVlCisgICAgcmVmbGVjdGlvbjogMC4wLCAgICAgICAgLy8gWzAuLi5p
bmZpbml0eV0gMCA9IG5vIHJlZmxlY3Rpb24KKyAgICByZWZyYWN0aW9uOiAwLjUwLAorICAgIGhh
c1RleHR1cmU6IGZhbHNlLAorCisgICAgaW5pdGlhbGl6ZSA6IGZ1bmN0aW9uKCkgeworCisgICAg
fSwKKworICAgIGdldENvbG9yOiBmdW5jdGlvbih1LCB2KXsKKworICAgIH0sCisKKyAgICB3cmFw
VXA6IGZ1bmN0aW9uKHQpeworICAgICAgICB0cnkgeworICAgICAgICAgICAgdCA9IHQgJSAyLjA7
CisgICAgICAgICAgICBpZih0IDwgLTEpIHQgKz0gMi4wOworICAgICAgICAgICAgaWYodCA+PSAx
KSB0IC09IDIuMDsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICAgICAgcmV0dXJuIHQ7Cisg
ICAgfSwKKworICAgIHRvU3RyaW5nIDogZnVuY3Rpb24gKCkgeworICAgICAgICB0cnkgeworICAg
ICAgICAgICAgcmV0dXJuICdNYXRlcmlhbCBbZ2xvc3M9JyArIHRoaXMuZ2xvc3MgKyAnLCB0cmFu
c3BhcmVuY3k9JyArIHRoaXMudHJhbnNwYXJlbmN5ICsgJywgaGFzVGV4dHVyZT0nICsgdGhpcy5o
YXNUZXh0dXJlICsnXSc7CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgfQorfQorLyogRmFr
ZSBhIEZsb2cuKiBuYW1lc3BhY2UgKi8KK2lmKHR5cGVvZihGbG9nKSA9PSAndW5kZWZpbmVkJykg
dmFyIEZsb2cgPSB7fTsKK2lmKHR5cGVvZihGbG9nLlJheVRyYWNlcikgPT0gJ3VuZGVmaW5lZCcp
IEZsb2cuUmF5VHJhY2VyID0ge307CisKK0Zsb2cuUmF5VHJhY2VyLk1hdGVyaWFsLlNvbGlkID0g
Q2xhc3MuY3JlYXRlKCk7CisKK0Zsb2cuUmF5VHJhY2VyLk1hdGVyaWFsLlNvbGlkLnByb3RvdHlw
ZSA9IE9iamVjdC5leHRlbmQoCisgICAgICAgIG5ldyBGbG9nLlJheVRyYWNlci5NYXRlcmlhbC5C
YXNlTWF0ZXJpYWwoKSwgeworICAgICAgICAgICAgaW5pdGlhbGl6ZSA6IGZ1bmN0aW9uKGNvbG9y
LCByZWZsZWN0aW9uLCByZWZyYWN0aW9uLCB0cmFuc3BhcmVuY3ksIGdsb3NzKSB7CisgICAgICAg
ICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2xvciA9IGNvbG9yOwor
ICAgICAgICAgICAgICAgICAgICB0aGlzLnJlZmxlY3Rpb24gPSByZWZsZWN0aW9uOworICAgICAg
ICAgICAgICAgICAgICB0aGlzLnRyYW5zcGFyZW5jeSA9IHRyYW5zcGFyZW5jeTsKKyAgICAgICAg
ICAgICAgICAgICAgdGhpcy5nbG9zcyA9IGdsb3NzOworICAgICAgICAgICAgICAgICAgICB0aGlz
Lmhhc1RleHR1cmUgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAg
ICAgICAgICAgfSwKKworICAgICAgICAgICAgZ2V0Q29sb3I6IGZ1bmN0aW9uKHUsIHYpeworICAg
ICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbG9y
OworICAgICAgICAgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgICAgICAgICB9LAorCisgICAg
ICAgICAgICB0b1N0cmluZyA6IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gJ1NvbGlkTWF0ZXJpYWwgW2dsb3NzPScgKyB0aGlz
Lmdsb3NzICsgJywgdHJhbnNwYXJlbmN5PScgKyB0aGlzLnRyYW5zcGFyZW5jeSArICcsIGhhc1Rl
eHR1cmU9JyArIHRoaXMuaGFzVGV4dHVyZSArJ10nOworICAgICAgICAgICAgICAgIH0gY2F0Y2go
ZSkgeyB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgKTsKKy8qIEZha2UgYSBG
bG9nLiogbmFtZXNwYWNlICovCitpZih0eXBlb2YoRmxvZykgPT0gJ3VuZGVmaW5lZCcpIHZhciBG
bG9nID0ge307CitpZih0eXBlb2YoRmxvZy5SYXlUcmFjZXIpID09ICd1bmRlZmluZWQnKSBGbG9n
LlJheVRyYWNlciA9IHt9OworCitGbG9nLlJheVRyYWNlci5NYXRlcmlhbC5DaGVzc2JvYXJkID0g
Q2xhc3MuY3JlYXRlKCk7CisKK0Zsb2cuUmF5VHJhY2VyLk1hdGVyaWFsLkNoZXNzYm9hcmQucHJv
dG90eXBlID0gT2JqZWN0LmV4dGVuZCgKKyAgICAgICAgbmV3IEZsb2cuUmF5VHJhY2VyLk1hdGVy
aWFsLkJhc2VNYXRlcmlhbCgpLCB7CisgICAgICAgICAgICBjb2xvckV2ZW46IG51bGwsCisgICAg
ICAgICAgICBjb2xvck9kZDogbnVsbCwKKyAgICAgICAgICAgIGRlbnNpdHk6IDAuNSwKKworICAg
ICAgICAgICAgaW5pdGlhbGl6ZSA6IGZ1bmN0aW9uKGNvbG9yRXZlbiwgY29sb3JPZGQsIHJlZmxl
Y3Rpb24sIHRyYW5zcGFyZW5jeSwgZ2xvc3MsIGRlbnNpdHkpIHsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbG9yRXZlbiA9IGNvbG9yRXZlbjsKKyAg
ICAgICAgICAgICAgICAgICAgdGhpcy5jb2xvck9kZCA9IGNvbG9yT2RkOworICAgICAgICAgICAg
ICAgICAgICB0aGlzLnJlZmxlY3Rpb24gPSByZWZsZWN0aW9uOworICAgICAgICAgICAgICAgICAg
ICB0aGlzLnRyYW5zcGFyZW5jeSA9IHRyYW5zcGFyZW5jeTsKKyAgICAgICAgICAgICAgICAgICAg
dGhpcy5nbG9zcyA9IGdsb3NzOworICAgICAgICAgICAgICAgICAgICB0aGlzLmRlbnNpdHkgPSBk
ZW5zaXR5OworICAgICAgICAgICAgICAgICAgICB0aGlzLmhhc1RleHR1cmUgPSB0cnVlOworICAg
ICAgICAgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgICAgICAgICB9LAorCisgICAgICAgICAg
ICBnZXRDb2xvcjogZnVuY3Rpb24odSwgdil7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgICAgICAgICAgdmFyIHQgPSB0aGlzLndyYXBVcCh1ICogdGhpcy5kZW5zaXR5KSAqIHRo
aXMud3JhcFVwKHYgKiB0aGlzLmRlbnNpdHkpOworICAgICAgICAgICAgICAgIH0gY2F0Y2goZSkg
eyB9CisKKyAgICAgICAgICAgICAgICBpZih0IDwgMC4wKQorICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gdGhpcy5jb2xvckV2ZW47CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gdGhpcy5jb2xvck9kZDsKKyAgICAgICAgICAgIH0sCisKKyAgICAgICAg
ICAgIHRvU3RyaW5nIDogZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIHJldHVybiAnQ2hlc3NNYXRlcmlhbCBbZ2xvc3M9JyArIHRoaXMuZ2xv
c3MgKyAnLCB0cmFuc3BhcmVuY3k9JyArIHRoaXMudHJhbnNwYXJlbmN5ICsgJywgaGFzVGV4dHVy
ZT0nICsgdGhpcy5oYXNUZXh0dXJlICsnXSc7CisgICAgICAgICAgICAgICAgfSBjYXRjaChlKSB7
IH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorKTsKKy8qIEZha2UgYSBGbG9nLiogbmFtZXNw
YWNlICovCitpZih0eXBlb2YoRmxvZykgPT0gJ3VuZGVmaW5lZCcpIHZhciBGbG9nID0ge307Citp
Zih0eXBlb2YoRmxvZy5SYXlUcmFjZXIpID09ICd1bmRlZmluZWQnKSBGbG9nLlJheVRyYWNlciA9
IHt9OworaWYodHlwZW9mKEZsb2cuUmF5VHJhY2VyLlNoYXBlKSA9PSAndW5kZWZpbmVkJykgRmxv
Zy5SYXlUcmFjZXIuU2hhcGUgPSB7fTsKKworRmxvZy5SYXlUcmFjZXIuU2hhcGUuU3BoZXJlID0g
Q2xhc3MuY3JlYXRlKCk7CisKK0Zsb2cuUmF5VHJhY2VyLlNoYXBlLlNwaGVyZS5wcm90b3R5cGUg
PSB7CisgICAgaW5pdGlhbGl6ZSA6IGZ1bmN0aW9uKHBvcywgcmFkaXVzLCBtYXRlcmlhbCkgewor
ICAgICAgICB0cnkgeworICAgICAgICAgICAgdGhpcy5yYWRpdXMgPSByYWRpdXM7CisgICAgICAg
ICAgICB0aGlzLnBvc2l0aW9uID0gcG9zOworICAgICAgICAgICAgdGhpcy5tYXRlcmlhbCA9IG1h
dGVyaWFsOworCisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgfSwKKworICAgIGludGVyc2Vj
dDogZnVuY3Rpb24ocmF5KXsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciBpbmZvID0g
bmV3IEZsb2cuUmF5VHJhY2VyLkludGVyc2VjdGlvbkluZm8oKTsKKyAgICAgICAgICAgIGluZm8u
c2hhcGUgPSB0aGlzOworCisgICAgICAgICAgICB2YXIgZHN0ID0gRmxvZy5SYXlUcmFjZXIuVmVj
dG9yLnByb3RvdHlwZS5zdWJ0cmFjdChyYXkucG9zaXRpb24sIHRoaXMucG9zaXRpb24pOworCisg
ICAgICAgICAgICB2YXIgQiA9IGRzdC5kb3QocmF5LmRpcmVjdGlvbik7CisgICAgICAgICAgICB2
YXIgQyA9IGRzdC5kb3QoZHN0KSAtICh0aGlzLnJhZGl1cyAqIHRoaXMucmFkaXVzKTsKKyAgICAg
ICAgICAgIHZhciBEID0gKEIgKiBCKSAtIEM7CisKKyAgICAgICAgICAgIGlmKEQgPiAwKXsgLy8g
aW50ZXJzZWN0aW9uIQorICAgICAgICAgICAgICAgIGluZm8uaXNIaXQgPSB0cnVlOworICAgICAg
ICAgICAgICAgIGluZm8uZGlzdGFuY2UgPSAoLUIpIC0gTWF0aC5zcXJ0KEQpOworICAgICAgICAg
ICAgICAgIGluZm8ucG9zaXRpb24gPSBGbG9nLlJheVRyYWNlci5WZWN0b3IucHJvdG90eXBlLmFk
ZCgKKyAgICAgICAgICAgICAgICAgICAgICAgIHJheS5wb3NpdGlvbiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgIEZsb2cuUmF5VHJhY2VyLlZlY3Rvci5wcm90b3R5cGUubXVsdGlwbHlTY2FsYXIo
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF5LmRpcmVjdGlvbiwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBpbmZvLmRpc3RhbmNlCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgKQorICAgICAgICAgICAgICAgICAgICAgICAgKTsKKyAgICAgICAgICAgICAgICBpbmZvLm5v
cm1hbCA9IEZsb2cuUmF5VHJhY2VyLlZlY3Rvci5wcm90b3R5cGUuc3VidHJhY3QoCisgICAgICAg
ICAgICAgICAgICAgICAgICBpbmZvLnBvc2l0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAg
dGhpcy5wb3NpdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgKS5ub3JtYWxpemUoKTsKKwor
ICAgICAgICAgICAgICAgIGluZm8uY29sb3IgPSB0aGlzLm1hdGVyaWFsLmdldENvbG9yKDAsMCk7
CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGluZm8uaXNIaXQgPSBmYWxz
ZTsKKyAgICAgICAgICAgIH0KKworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgICAgICByZXR1
cm4gaW5mbzsKKyAgICB9LAorCisgICAgdG9TdHJpbmcgOiBmdW5jdGlvbiAoKSB7CisgICAgICAg
IHRyeSB7CisgICAgICAgICAgICByZXR1cm4gJ1NwaGVyZSBbcG9zaXRpb249JyArIHRoaXMucG9z
aXRpb24gKyAnLCByYWRpdXM9JyArIHRoaXMucmFkaXVzICsgJ10nOworICAgICAgICB9IGNhdGNo
KGUpIHsgfQorICAgIH0KK30KKy8qIEZha2UgYSBGbG9nLiogbmFtZXNwYWNlICovCitpZih0eXBl
b2YoRmxvZykgPT0gJ3VuZGVmaW5lZCcpIHZhciBGbG9nID0ge307CitpZih0eXBlb2YoRmxvZy5S
YXlUcmFjZXIpID09ICd1bmRlZmluZWQnKSBGbG9nLlJheVRyYWNlciA9IHt9OworaWYodHlwZW9m
KEZsb2cuUmF5VHJhY2VyLlNoYXBlKSA9PSAndW5kZWZpbmVkJykgRmxvZy5SYXlUcmFjZXIuU2hh
cGUgPSB7fTsKKworRmxvZy5SYXlUcmFjZXIuU2hhcGUuUGxhbmUgPSBDbGFzcy5jcmVhdGUoKTsK
KworRmxvZy5SYXlUcmFjZXIuU2hhcGUuUGxhbmUucHJvdG90eXBlID0geworICAgIGQ6IDAuMCwK
KworICAgIGluaXRpYWxpemUgOiBmdW5jdGlvbihwb3MsIGQsIG1hdGVyaWFsKSB7CisgICAgICAg
IHRyeSB7CisgICAgICAgICAgICB0aGlzLnBvc2l0aW9uID0gcG9zOworICAgICAgICAgICAgdGhp
cy5kID0gZDsKKyAgICAgICAgICAgIHRoaXMubWF0ZXJpYWwgPSBtYXRlcmlhbDsKKyAgICAgICAg
fSBjYXRjaChlKSB7IH0KKyAgICB9LAorCisgICAgaW50ZXJzZWN0OiBmdW5jdGlvbihyYXkpewor
ICAgICAgICB0cnkgeworICAgICAgICAgICAgdmFyIGluZm8gPSBuZXcgRmxvZy5SYXlUcmFjZXIu
SW50ZXJzZWN0aW9uSW5mbygpOworCisgICAgICAgICAgICB2YXIgVmQgPSB0aGlzLnBvc2l0aW9u
LmRvdChyYXkuZGlyZWN0aW9uKTsKKyAgICAgICAgICAgIGlmKFZkID09IDApIHJldHVybiBpbmZv
OyAvLyBubyBpbnRlcnNlY3Rpb24KKworICAgICAgICAgICAgdmFyIHQgPSAtKHRoaXMucG9zaXRp
b24uZG90KHJheS5wb3NpdGlvbikgKyB0aGlzLmQpIC8gVmQ7CisgICAgICAgICAgICBpZih0IDw9
IDApIHJldHVybiBpbmZvOworCisgICAgICAgICAgICBpbmZvLnNoYXBlID0gdGhpczsKKyAgICAg
ICAgICAgIGluZm8uaXNIaXQgPSB0cnVlOworICAgICAgICAgICAgaW5mby5wb3NpdGlvbiA9IEZs
b2cuUmF5VHJhY2VyLlZlY3Rvci5wcm90b3R5cGUuYWRkKAorICAgICAgICAgICAgICAgICAgICBy
YXkucG9zaXRpb24sCisgICAgICAgICAgICAgICAgICAgIEZsb2cuUmF5VHJhY2VyLlZlY3Rvci5w
cm90b3R5cGUubXVsdGlwbHlTY2FsYXIoCisgICAgICAgICAgICAgICAgICAgICAgICByYXkuZGly
ZWN0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgdAorICAgICAgICAgICAgICAgICAgICAg
ICAgKQorICAgICAgICAgICAgICAgICAgICApOworICAgICAgICAgICAgaW5mby5ub3JtYWwgPSB0
aGlzLnBvc2l0aW9uOworICAgICAgICAgICAgaW5mby5kaXN0YW5jZSA9IHQ7CisKKyAgICAgICAg
ICAgIGlmKHRoaXMubWF0ZXJpYWwuaGFzVGV4dHVyZSl7CisgICAgICAgICAgICAgICAgdmFyIHZV
ID0gbmV3IEZsb2cuUmF5VHJhY2VyLlZlY3Rvcih0aGlzLnBvc2l0aW9uLnksIHRoaXMucG9zaXRp
b24ueiwgLXRoaXMucG9zaXRpb24ueCk7CisgICAgICAgICAgICAgICAgdmFyIHZWID0gdlUuY3Jv
c3ModGhpcy5wb3NpdGlvbik7CisgICAgICAgICAgICAgICAgdmFyIHUgPSBpbmZvLnBvc2l0aW9u
LmRvdCh2VSk7CisgICAgICAgICAgICAgICAgdmFyIHYgPSBpbmZvLnBvc2l0aW9uLmRvdCh2Vik7
CisgICAgICAgICAgICAgICAgaW5mby5jb2xvciA9IHRoaXMubWF0ZXJpYWwuZ2V0Q29sb3IodSx2
KTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaW5mby5jb2xvciA9IHRo
aXMubWF0ZXJpYWwuZ2V0Q29sb3IoMCwwKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICB9IGNh
dGNoKGUpIHsgfQorICAgICAgICByZXR1cm4gaW5mbzsKKyAgICB9LAorCisgICAgdG9TdHJpbmcg
OiBmdW5jdGlvbiAoKSB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICByZXR1cm4gJ1BsYW5l
IFsnICsgdGhpcy5wb3NpdGlvbiArICcsIGQ9JyArIHRoaXMuZCArICddJzsKKyAgICAgICAgfSBj
YXRjaChlKSB7IH0KKyAgICB9Cit9CisvKiBGYWtlIGEgRmxvZy4qIG5hbWVzcGFjZSAqLworaWYo
dHlwZW9mKEZsb2cpID09ICd1bmRlZmluZWQnKSB2YXIgRmxvZyA9IHt9OworaWYodHlwZW9mKEZs
b2cuUmF5VHJhY2VyKSA9PSAndW5kZWZpbmVkJykgRmxvZy5SYXlUcmFjZXIgPSB7fTsKKworRmxv
Zy5SYXlUcmFjZXIuSW50ZXJzZWN0aW9uSW5mbyA9IENsYXNzLmNyZWF0ZSgpOworCitGbG9nLlJh
eVRyYWNlci5JbnRlcnNlY3Rpb25JbmZvLnByb3RvdHlwZSA9IHsKKyAgICBpc0hpdDogZmFsc2Us
CisgICAgaGl0Q291bnQ6IDAsCisgICAgc2hhcGU6IG51bGwsCisgICAgcG9zaXRpb246IG51bGws
CisgICAgbm9ybWFsOiBudWxsLAorICAgIGNvbG9yOiBudWxsLAorICAgIGRpc3RhbmNlOiBudWxs
LAorCisgICAgaW5pdGlhbGl6ZSA6IGZ1bmN0aW9uKCkgeworICAgICAgICB0cnkgeworICAgICAg
ICAgICAgdGhpcy5jb2xvciA9IG5ldyBGbG9nLlJheVRyYWNlci5Db2xvcigwLDAsMCk7CisgICAg
ICAgIH0gY2F0Y2goZSkgeyB9CisgICAgfSwKKworICAgIHRvU3RyaW5nIDogZnVuY3Rpb24gKCkg
eworICAgICAgICB0cnkgeworICAgICAgICAgICAgcmV0dXJuICdJbnRlcnNlY3Rpb24gWycgKyB0
aGlzLnBvc2l0aW9uICsgJ10nOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0KK30KKy8q
IEZha2UgYSBGbG9nLiogbmFtZXNwYWNlICovCitpZih0eXBlb2YoRmxvZykgPT0gJ3VuZGVmaW5l
ZCcpIHZhciBGbG9nID0ge307CitpZih0eXBlb2YoRmxvZy5SYXlUcmFjZXIpID09ICd1bmRlZmlu
ZWQnKSBGbG9nLlJheVRyYWNlciA9IHt9OworCitGbG9nLlJheVRyYWNlci5DYW1lcmEgPSBDbGFz
cy5jcmVhdGUoKTsKKworRmxvZy5SYXlUcmFjZXIuQ2FtZXJhLnByb3RvdHlwZSA9IHsKKyAgICBw
b3NpdGlvbjogbnVsbCwKKyAgICBsb29rQXQ6IG51bGwsCisgICAgZXF1YXRvcjogbnVsbCwKKyAg
ICB1cDogbnVsbCwKKyAgICBzY3JlZW46IG51bGwsCisKKyAgICBpbml0aWFsaXplIDogZnVuY3Rp
b24ocG9zLCBsb29rQXQsIHVwKSB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB0aGlzLnBv
c2l0aW9uID0gcG9zOworICAgICAgICAgICAgdGhpcy5sb29rQXQgPSBsb29rQXQ7CisgICAgICAg
ICAgICB0aGlzLnVwID0gdXA7CisgICAgICAgICAgICB0aGlzLmVxdWF0b3IgPSBsb29rQXQubm9y
bWFsaXplKCkuY3Jvc3ModGhpcy51cCk7CisgICAgICAgICAgICB0aGlzLnNjcmVlbiA9IEZsb2cu
UmF5VHJhY2VyLlZlY3Rvci5wcm90b3R5cGUuYWRkKHRoaXMucG9zaXRpb24sIHRoaXMubG9va0F0
KTsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICB9LAorCisgICAgZ2V0UmF5OiBmdW5jdGlv
bih2eCwgdnkpeworICAgICAgICB0cnkgeworICAgICAgICAgICAgdmFyIHBvcyA9IEZsb2cuUmF5
VHJhY2VyLlZlY3Rvci5wcm90b3R5cGUuc3VidHJhY3QoCisgICAgICAgICAgICAgICAgICAgIHRo
aXMuc2NyZWVuLAorICAgICAgICAgICAgICAgICAgICBGbG9nLlJheVRyYWNlci5WZWN0b3IucHJv
dG90eXBlLnN1YnRyYWN0KAorICAgICAgICAgICAgICAgICAgICAgICAgRmxvZy5SYXlUcmFjZXIu
VmVjdG9yLnByb3RvdHlwZS5tdWx0aXBseVNjYWxhcih0aGlzLmVxdWF0b3IsIHZ4KSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgIEZsb2cuUmF5VHJhY2VyLlZlY3Rvci5wcm90b3R5cGUubXVsdGlw
bHlTY2FsYXIodGhpcy51cCwgdnkpCisgICAgICAgICAgICAgICAgICAgICAgICApCisgICAgICAg
ICAgICAgICAgICAgICk7CisgICAgICAgICAgICBwb3MueSA9IHBvcy55ICogLTE7CisgICAgICAg
ICAgICB2YXIgZGlyID0gRmxvZy5SYXlUcmFjZXIuVmVjdG9yLnByb3RvdHlwZS5zdWJ0cmFjdCgK
KyAgICAgICAgICAgICAgICAgICAgcG9zLAorICAgICAgICAgICAgICAgICAgICB0aGlzLnBvc2l0
aW9uCisgICAgICAgICAgICAgICAgICAgICk7CisKKyAgICAgICAgICAgIHZhciByYXkgPSBuZXcg
RmxvZy5SYXlUcmFjZXIuUmF5KHBvcywgZGlyLm5vcm1hbGl6ZSgpKTsKKworICAgICAgICB9IGNh
dGNoKGUpIHsgfQorICAgICAgICByZXR1cm4gcmF5OworICAgIH0sCisKKyAgICB0b1N0cmluZyA6
IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHJldHVybiAnUmF5IFtd
JzsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICB9Cit9CisvKiBGYWtlIGEgRmxvZy4qIG5h
bWVzcGFjZSAqLworaWYodHlwZW9mKEZsb2cpID09ICd1bmRlZmluZWQnKSB2YXIgRmxvZyA9IHt9
OworaWYodHlwZW9mKEZsb2cuUmF5VHJhY2VyKSA9PSAndW5kZWZpbmVkJykgRmxvZy5SYXlUcmFj
ZXIgPSB7fTsKKworRmxvZy5SYXlUcmFjZXIuQmFja2dyb3VuZCA9IENsYXNzLmNyZWF0ZSgpOwor
CitGbG9nLlJheVRyYWNlci5CYWNrZ3JvdW5kLnByb3RvdHlwZSA9IHsKKyAgICBjb2xvciA6IG51
bGwsCisgICAgYW1iaWVuY2UgOiAwLjAsCisKKyAgICBpbml0aWFsaXplIDogZnVuY3Rpb24oY29s
b3IsIGFtYmllbmNlKSB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB0aGlzLmNvbG9yID0g
Y29sb3I7CisgICAgICAgICAgICB0aGlzLmFtYmllbmNlID0gYW1iaWVuY2U7CisgICAgICAgIH0g
Y2F0Y2goZSkgeyB9CisgICAgfQorfQorLyogRmFrZSBhIEZsb2cuKiBuYW1lc3BhY2UgKi8KK2lm
KHR5cGVvZihGbG9nKSA9PSAndW5kZWZpbmVkJykgdmFyIEZsb2cgPSB7fTsKK2lmKHR5cGVvZihG
bG9nLlJheVRyYWNlcikgPT0gJ3VuZGVmaW5lZCcpIEZsb2cuUmF5VHJhY2VyID0ge307CisKK0Zs
b2cuUmF5VHJhY2VyLkVuZ2luZSA9IENsYXNzLmNyZWF0ZSgpOworCitGbG9nLlJheVRyYWNlci5F
bmdpbmUucHJvdG90eXBlID0geworICAgIGNhbnZhczogbnVsbCwgLyogMmQgY29udGV4dCB3ZSBj
YW4gcmVuZGVyIHRvICovCisKKyAgICBpbml0aWFsaXplOiBmdW5jdGlvbihvcHRpb25zKXsKKyAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IE9iamVjdC5leHRlbmQoewor
ICAgICAgICAgICAgICAgIGNhbnZhc0hlaWdodDogMTAwLAorICAgICAgICAgICAgICAgIGNhbnZh
c1dpZHRoOiAxMDAsCisgICAgICAgICAgICAgICAgcGl4ZWxXaWR0aDogMiwKKyAgICAgICAgICAg
ICAgICBwaXhlbEhlaWdodDogMiwKKyAgICAgICAgICAgICAgICByZW5kZXJEaWZmdXNlOiBmYWxz
ZSwKKyAgICAgICAgICAgICAgICByZW5kZXJTaGFkb3dzOiBmYWxzZSwKKyAgICAgICAgICAgICAg
ICByZW5kZXJIaWdobGlnaHRzOiBmYWxzZSwKKyAgICAgICAgICAgICAgICByZW5kZXJSZWZsZWN0
aW9uczogZmFsc2UsCisgICAgICAgICAgICAgICAgcmF5RGVwdGg6IDIKKyAgICAgICAgICAgIH0s
IG9wdGlvbnMgfHwge30pOworCisgICAgICAgICAgICB0aGlzLm9wdGlvbnMuY2FudmFzSGVpZ2h0
IC89IHRoaXMub3B0aW9ucy5waXhlbEhlaWdodDsKKyAgICAgICAgICAgIHRoaXMub3B0aW9ucy5j
YW52YXNXaWR0aCAvPSB0aGlzLm9wdGlvbnMucGl4ZWxXaWR0aDsKKworICAgICAgICB9IGNhdGNo
KGUpIHsgfQorCisgICAgICAgIC8qIFRPRE86IGR5bmFtaWNhbGx5IGluY2x1ZGUgb3RoZXIgc2Ny
aXB0cyAqLworICAgIH0sCisKKyAgICBzZXRQaXhlbDogZnVuY3Rpb24oeCwgeSwgY29sb3Ipewor
ICAgICAgICB0cnkgeworICAgICAgICAgICAgdmFyIHB4VywgcHhIOworICAgICAgICAgICAgcHhX
ID0gdGhpcy5vcHRpb25zLnBpeGVsV2lkdGg7CisgICAgICAgICAgICBweEggPSB0aGlzLm9wdGlv
bnMucGl4ZWxIZWlnaHQ7CisKKyAgICAgICAgICAgIGlmICh0aGlzLmNhbnZhcykgeworICAgICAg
ICAgICAgICAgIHRoaXMuY2FudmFzLmZpbGxTdHlsZSA9IGNvbG9yLnRvU3RyaW5nKCk7CisgICAg
ICAgICAgICAgICAgdGhpcy5jYW52YXMuZmlsbFJlY3QgKHggKiBweFcsIHkgKiBweEgsIHB4Vywg
cHhIKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaWYgKHggPT09ICB5
KSB7CisgICAgICAgICAgICAgICAgICAgIGNoZWNrTnVtYmVyICs9IGNvbG9yLmJyaWdodG5lc3Mo
KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgLy8gcHJpbnQoeCAqIHB4Vywg
eSAqIHB4SCwgcHhXLCBweEgpOworICAgICAgICAgICAgfQorCisgICAgICAgIH0gY2F0Y2goZSkg
eyB9CisgICAgfSwKKworICAgIHJlbmRlclNjZW5lOiBmdW5jdGlvbihzY2VuZSwgY2FudmFzKXsK
KyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIGNoZWNrTnVtYmVyID0gMDsKKyAgICAgICAgICAg
IC8qIEdldCBjYW52YXMgKi8KKyAgICAgICAgICAgIGlmIChjYW52YXMpIHsKKyAgICAgICAgICAg
ICAgICB0aGlzLmNhbnZhcyA9IGNhbnZhcy5nZXRDb250ZXh0KCIyZCIpOworICAgICAgICAgICAg
fSBlbHNlIHsKKyAgICAgICAgICAgICAgICB0aGlzLmNhbnZhcyA9IG51bGw7CisgICAgICAgICAg
ICB9CisKKyAgICAgICAgICAgIHZhciBjYW52YXNIZWlnaHQgPSB0aGlzLm9wdGlvbnMuY2FudmFz
SGVpZ2h0OworICAgICAgICAgICAgdmFyIGNhbnZhc1dpZHRoID0gdGhpcy5vcHRpb25zLmNhbnZh
c1dpZHRoOworCisgICAgICAgICAgICBmb3IodmFyIHk9MDsgeSA8IGNhbnZhc0hlaWdodDsgeSsr
KXsKKyAgICAgICAgICAgICAgICBmb3IodmFyIHg9MDsgeCA8IGNhbnZhc1dpZHRoOyB4Kyspewor
ICAgICAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHlw
ID0geSAqIDEuMCAvIGNhbnZhc0hlaWdodCAqIDIgLSAxOworICAgICAgICAgICAgICAgICAgICAg
ICAgdmFyIHhwID0geCAqIDEuMCAvIGNhbnZhc1dpZHRoICogMiAtIDE7CisKKyAgICAgICAgICAg
ICAgICAgICAgICAgIHZhciByYXkgPSBzY2VuZS5jYW1lcmEuZ2V0UmF5KHhwLCB5cCk7CisKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHZhciBjb2xvciA9IHRoaXMuZ2V0UGl4ZWxDb2xvcihyYXks
IHNjZW5lKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRQaXhlbCh4LCB5LCBj
b2xvcik7CisKKyAgICAgICAgICAgICAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgICAgIGlm
IChjaGVja051bWJlciAhPT0gMjMyMSkgeworICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJT
Y2VuZSByZW5kZXJlZCBpbmNvcnJlY3RseSIpOworICAgICAgICB9CisgICAgfSwKKworICAgIGdl
dFBpeGVsQ29sb3I6IGZ1bmN0aW9uKHJheSwgc2NlbmUpeworICAgICAgICB0cnkgeworICAgICAg
ICAgICAgdmFyIGluZm8gPSB0aGlzLnRlc3RJbnRlcnNlY3Rpb24ocmF5LCBzY2VuZSwgbnVsbCk7
CisgICAgICAgICAgICBpZihpbmZvLmlzSGl0KXsKKyAgICAgICAgICAgICAgICB2YXIgY29sb3Ig
PSB0aGlzLnJheVRyYWNlKGluZm8sIHJheSwgc2NlbmUsIDApOworICAgICAgICAgICAgICAgIHJl
dHVybiBjb2xvcjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVybiBzY2VuZS5iYWNr
Z3JvdW5kLmNvbG9yOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0sCisKKyAgICB0ZXN0
SW50ZXJzZWN0aW9uOiBmdW5jdGlvbihyYXksIHNjZW5lLCBleGNsdWRlKXsKKyAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgIHZhciBoaXRzID0gMDsKKyAgICAgICAgICAgIHZhciBiZXN0ID0gbmV3
IEZsb2cuUmF5VHJhY2VyLkludGVyc2VjdGlvbkluZm8oKTsKKyAgICAgICAgICAgIGJlc3QuZGlz
dGFuY2UgPSAyMDAwOworCisgICAgICAgICAgICBmb3IodmFyIGk9MDsgaTxzY2VuZS5zaGFwZXMu
bGVuZ3RoOyBpKyspeworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAg
IHZhciBzaGFwZSA9IHNjZW5lLnNoYXBlc1tpXTsKKworICAgICAgICAgICAgICAgICAgICBpZihz
aGFwZSAhPSBleGNsdWRlKXsKKyAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpbmZvID0gc2hh
cGUuaW50ZXJzZWN0KHJheSk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZihpbmZvLmlzSGl0
ICYmIGluZm8uZGlzdGFuY2UgPj0gMCAmJiBpbmZvLmRpc3RhbmNlIDwgYmVzdC5kaXN0YW5jZSl7
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVzdCA9IGluZm87CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaGl0cysrOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAg
ICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgICAg
ICAgICAgfQorICAgICAgICAgICAgYmVzdC5oaXRDb3VudCA9IGhpdHM7CisKKyAgICAgICAgfSBj
YXRjaChlKSB7IH0KKyAgICAgICAgcmV0dXJuIGJlc3Q7CisgICAgfSwKKworICAgIGdldFJlZmxl
Y3Rpb25SYXk6IGZ1bmN0aW9uKFAsTixWKXsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZh
ciBjMSA9IC1OLmRvdChWKTsKKyAgICAgICAgICAgIHZhciBSMSA9IEZsb2cuUmF5VHJhY2VyLlZl
Y3Rvci5wcm90b3R5cGUuYWRkKAorICAgICAgICAgICAgICAgICAgICBGbG9nLlJheVRyYWNlci5W
ZWN0b3IucHJvdG90eXBlLm11bHRpcGx5U2NhbGFyKE4sIDIqYzEpLAorICAgICAgICAgICAgICAg
ICAgICBWCisgICAgICAgICAgICAgICAgICAgICk7CisKKyAgICAgICAgfSBjYXRjaChlKSB7IH0K
KyAgICAgICAgcmV0dXJuIG5ldyBGbG9nLlJheVRyYWNlci5SYXkoUCwgUjEpOworICAgIH0sCisK
KyAgICByYXlUcmFjZTogZnVuY3Rpb24oaW5mbywgcmF5LCBzY2VuZSwgZGVwdGgpeworICAgICAg
ICAvLyBDYWxjIGFtYmllbnQKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciBjb2xvciA9
IEZsb2cuUmF5VHJhY2VyLkNvbG9yLnByb3RvdHlwZS5tdWx0aXBseVNjYWxhcihpbmZvLmNvbG9y
LCBzY2VuZS5iYWNrZ3JvdW5kLmFtYmllbmNlKTsKKyAgICAgICAgICAgIHZhciBvbGRDb2xvciA9
IGNvbG9yOworICAgICAgICAgICAgdmFyIHNoaW5pbmVzcyA9IE1hdGgucG93KDEwLCBpbmZvLnNo
YXBlLm1hdGVyaWFsLmdsb3NzICsgMSk7CisKKyAgICAgICAgICAgIGZvcih2YXIgaT0wOyBpPHNj
ZW5lLmxpZ2h0cy5sZW5ndGg7IGkrKyl7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgdmFyIGxpZ2h0ID0gc2NlbmUubGlnaHRzW2ldOworCisgICAgICAgICAgICAg
ICAgICAgIC8vIENhbGMgZGlmZnVzZSBsaWdodGluZworICAgICAgICAgICAgICAgICAgICB2YXIg
diA9IEZsb2cuUmF5VHJhY2VyLlZlY3Rvci5wcm90b3R5cGUuc3VidHJhY3QoCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbGlnaHQucG9zaXRpb24sCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW5mby5wb3NpdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICkubm9ybWFs
aXplKCk7CisKKyAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5vcHRpb25zLnJlbmRlckRpZmZ1
c2UpeworICAgICAgICAgICAgICAgICAgICAgICAgdmFyIEwgPSB2LmRvdChpbmZvLm5vcm1hbCk7
CisgICAgICAgICAgICAgICAgICAgICAgICBpZihMID4gMC4wKXsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb2xvciA9IEZsb2cuUmF5VHJhY2VyLkNvbG9yLnByb3RvdHlwZS5hZGQoCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvciwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEZsb2cuUmF5VHJhY2VyLkNvbG9yLnByb3RvdHlwZS5tdWx0
aXBseSgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLmNvbG9y
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZsb2cuUmF5VHJhY2Vy
LkNvbG9yLnByb3RvdHlwZS5tdWx0aXBseVNjYWxhcigKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgbGlnaHQuY29sb3IsCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIEwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7CisgICAgICAgICAgICAgICAg
ICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIH0gY2F0
Y2goZSkgeyB9CisKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICAv
LyBUaGUgZ3JlYXRlciB0aGUgZGVwdGggdGhlIG1vcmUgYWNjdXJhdGUgdGhlIGNvbG91cnMsIGJ1
dAorICAgICAgICAgICAgICAgICAgICAvLyB0aGlzIGlzIGV4cG9uZW50aWFsbHkgKCEpIGV4cGVu
c2l2ZQorICAgICAgICAgICAgICAgICAgICBpZihkZXB0aCA8PSB0aGlzLm9wdGlvbnMucmF5RGVw
dGgpeworICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2FsY3VsYXRlIHJlZmxlY3Rpb24gcmF5
CisgICAgICAgICAgICAgICAgICAgICAgICBpZih0aGlzLm9wdGlvbnMucmVuZGVyUmVmbGVjdGlv
bnMgJiYgaW5mby5zaGFwZS5tYXRlcmlhbC5yZWZsZWN0aW9uID4gMCkKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVmbGVjdGlvblJh
eSA9IHRoaXMuZ2V0UmVmbGVjdGlvblJheShpbmZvLnBvc2l0aW9uLCBpbmZvLm5vcm1hbCwgcmF5
LmRpcmVjdGlvbik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlZmwgPSB0aGlz
LnRlc3RJbnRlcnNlY3Rpb24ocmVmbGVjdGlvblJheSwgc2NlbmUsIGluZm8uc2hhcGUpOworCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlZmwuaXNIaXQgJiYgcmVmbC5kaXN0YW5j
ZSA+IDApeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZsLmNvbG9yID0gdGhp
cy5yYXlUcmFjZShyZWZsLCByZWZsZWN0aW9uUmF5LCBzY2VuZSwgZGVwdGggKyAxKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICByZWZsLmNvbG9yID0gc2NlbmUuYmFja2dyb3VuZC5jb2xvcjsKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvciA9
IEZsb2cuUmF5VHJhY2VyLkNvbG9yLnByb3RvdHlwZS5ibGVuZCgKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGNvbG9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcmVmbC5jb2xvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu
Zm8uc2hhcGUubWF0ZXJpYWwucmVmbGVjdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAg
ICAgICAgICAgLy8gUmVmcmFjdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgLyogVE9ETyAq
LworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSAgY2F0Y2goZSkgeyB9
CisKKyAgICAgICAgICAgICAgICAvKiBSZW5kZXIgc2hhZG93cyBhbmQgaGlnaGxpZ2h0cyAqLwor
CisgICAgICAgICAgICAgICAgdmFyIHNoYWRvd0luZm8gPSBuZXcgRmxvZy5SYXlUcmFjZXIuSW50
ZXJzZWN0aW9uSW5mbygpOworCisgICAgICAgICAgICAgICAgaWYodGhpcy5vcHRpb25zLnJlbmRl
clNoYWRvd3MpeworICAgICAgICAgICAgICAgICAgICB2YXIgc2hhZG93UmF5ID0gbmV3IEZsb2cu
UmF5VHJhY2VyLlJheShpbmZvLnBvc2l0aW9uLCB2KTsKKworICAgICAgICAgICAgICAgICAgICBz
aGFkb3dJbmZvID0gdGhpcy50ZXN0SW50ZXJzZWN0aW9uKHNoYWRvd1JheSwgc2NlbmUsIGluZm8u
c2hhcGUpOworICAgICAgICAgICAgICAgICAgICBpZihzaGFkb3dJbmZvLmlzSGl0ICYmIHNoYWRv
d0luZm8uc2hhcGUgIT0gaW5mby5zaGFwZSAvKiYmIHNoYWRvd0luZm8uc2hhcGUudHlwZSAhPSAn
UExBTkUnKi8peworICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZBID0gRmxvZy5SYXlUcmFj
ZXIuQ29sb3IucHJvdG90eXBlLm11bHRpcGx5U2NhbGFyKGNvbG9yLCAwLjUpOworICAgICAgICAg
ICAgICAgICAgICAgICAgdmFyIGRCID0gKDAuNSAqIE1hdGgucG93KHNoYWRvd0luZm8uc2hhcGUu
bWF0ZXJpYWwudHJhbnNwYXJlbmN5LCAwLjUpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNv
bG9yID0gRmxvZy5SYXlUcmFjZXIuQ29sb3IucHJvdG90eXBlLmFkZFNjYWxhcih2QSxkQik7Cisg
ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAg
ICB0cnkgeworICAgICAgICAgICAgICAgICAgICAvLyBQaG9uZyBzcGVjdWxhciBoaWdobGlnaHRz
CisgICAgICAgICAgICAgICAgICAgIGlmKHRoaXMub3B0aW9ucy5yZW5kZXJIaWdobGlnaHRzICYm
ICFzaGFkb3dJbmZvLmlzSGl0ICYmIGluZm8uc2hhcGUubWF0ZXJpYWwuZ2xvc3MgPiAwKXsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHZhciBMdiA9IEZsb2cuUmF5VHJhY2VyLlZlY3Rvci5wcm90
b3R5cGUuc3VidHJhY3QoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8uc2hh
cGUucG9zaXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0LnBvc2l0
aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkubm9ybWFsaXplKCk7CisKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHZhciBFID0gRmxvZy5SYXlUcmFjZXIuVmVjdG9yLnByb3Rv
dHlwZS5zdWJ0cmFjdCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NlbmUuY2Ft
ZXJhLnBvc2l0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLnNoYXBl
LnBvc2l0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkubm9ybWFsaXplKCk7
CisKKyAgICAgICAgICAgICAgICAgICAgICAgIHZhciBIID0gRmxvZy5SYXlUcmFjZXIuVmVjdG9y
LnByb3RvdHlwZS5zdWJ0cmFjdCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRSwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTHYKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKS5ub3JtYWxpemUoKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgdmFy
IGdsb3NzV2VpZ2h0ID0gTWF0aC5wb3coTWF0aC5tYXgoaW5mby5ub3JtYWwuZG90KEgpLCAwKSwg
c2hpbmluZXNzKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yID0gRmxvZy5SYXlUcmFj
ZXIuQ29sb3IucHJvdG90eXBlLmFkZCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
RmxvZy5SYXlUcmFjZXIuQ29sb3IucHJvdG90eXBlLm11bHRpcGx5U2NhbGFyKGxpZ2h0LmNvbG9y
LCBnbG9zc1dlaWdodCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7CisgICAgICAgICAgICAgICAgICAgIH0K
KyAgICAgICAgICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgICAgICAgICAgfQorICAgICAgICAg
ICAgY29sb3IubGltaXQoKTsKKworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgICAgICByZXR1
cm4gY29sb3I7CisgICAgfQorfTsKKworCitmdW5jdGlvbiByZW5kZXJTY2VuZSgpeworICAgIHRy
eSB7CisgICAgICAgIHZhciBzY2VuZSA9IG5ldyBGbG9nLlJheVRyYWNlci5TY2VuZSgpOworCisg
ICAgICAgIHNjZW5lLmNhbWVyYSA9IG5ldyBGbG9nLlJheVRyYWNlci5DYW1lcmEoCisgICAgICAg
ICAgICAgICAgbmV3IEZsb2cuUmF5VHJhY2VyLlZlY3RvcigwLCAwLCAtMTUpLAorICAgICAgICAg
ICAgICAgIG5ldyBGbG9nLlJheVRyYWNlci5WZWN0b3IoLTAuMiwgMCwgNSksCisgICAgICAgICAg
ICAgICAgbmV3IEZsb2cuUmF5VHJhY2VyLlZlY3RvcigwLCAxLCAwKQorICAgICAgICAgICAgICAg
ICk7CisKKyAgICAgICAgc2NlbmUuYmFja2dyb3VuZCA9IG5ldyBGbG9nLlJheVRyYWNlci5CYWNr
Z3JvdW5kKAorICAgICAgICAgICAgICAgIG5ldyBGbG9nLlJheVRyYWNlci5Db2xvcigwLjUsIDAu
NSwgMC41KSwKKyAgICAgICAgICAgICAgICAwLjQKKyAgICAgICAgICAgICAgICApOworCisgICAg
ICAgIHZhciBzcGhlcmUgPSBuZXcgRmxvZy5SYXlUcmFjZXIuU2hhcGUuU3BoZXJlKAorICAgICAg
ICAgICAgICAgIG5ldyBGbG9nLlJheVRyYWNlci5WZWN0b3IoLTEuNSwgMS41LCAyKSwKKyAgICAg
ICAgICAgICAgICAxLjUsCisgICAgICAgICAgICAgICAgbmV3IEZsb2cuUmF5VHJhY2VyLk1hdGVy
aWFsLlNvbGlkKAorICAgICAgICAgICAgICAgICAgICBuZXcgRmxvZy5SYXlUcmFjZXIuQ29sb3Io
MCwwLjUsMC41KSwKKyAgICAgICAgICAgICAgICAgICAgMC4zLAorICAgICAgICAgICAgICAgICAg
ICAwLjAsCisgICAgICAgICAgICAgICAgICAgIDAuMCwKKyAgICAgICAgICAgICAgICAgICAgMi4w
CisgICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICApOworCisgICAgICAgIHZh
ciBzcGhlcmUxID0gbmV3IEZsb2cuUmF5VHJhY2VyLlNoYXBlLlNwaGVyZSgKKyAgICAgICAgICAg
ICAgICBuZXcgRmxvZy5SYXlUcmFjZXIuVmVjdG9yKDEsIDAuMjUsIDEpLAorICAgICAgICAgICAg
ICAgIDAuNSwKKyAgICAgICAgICAgICAgICBuZXcgRmxvZy5SYXlUcmFjZXIuTWF0ZXJpYWwuU29s
aWQoCisgICAgICAgICAgICAgICAgICAgIG5ldyBGbG9nLlJheVRyYWNlci5Db2xvcigwLjksMC45
LDAuOSksCisgICAgICAgICAgICAgICAgICAgIDAuMSwKKyAgICAgICAgICAgICAgICAgICAgMC4w
LAorICAgICAgICAgICAgICAgICAgICAwLjAsCisgICAgICAgICAgICAgICAgICAgIDEuNQorICAg
ICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgKTsKKworICAgICAgICB2YXIgcGxh
bmUgPSBuZXcgRmxvZy5SYXlUcmFjZXIuU2hhcGUuUGxhbmUoCisgICAgICAgICAgICAgICAgbmV3
IEZsb2cuUmF5VHJhY2VyLlZlY3RvcigwLjEsIDAuOSwgLTAuNSkubm9ybWFsaXplKCksCisgICAg
ICAgICAgICAgICAgMS4yLAorICAgICAgICAgICAgICAgIG5ldyBGbG9nLlJheVRyYWNlci5NYXRl
cmlhbC5DaGVzc2JvYXJkKAorICAgICAgICAgICAgICAgICAgICBuZXcgRmxvZy5SYXlUcmFjZXIu
Q29sb3IoMSwxLDEpLAorICAgICAgICAgICAgICAgICAgICBuZXcgRmxvZy5SYXlUcmFjZXIuQ29s
b3IoMCwwLDApLAorICAgICAgICAgICAgICAgICAgICAwLjIsCisgICAgICAgICAgICAgICAgICAg
IDAuMCwKKyAgICAgICAgICAgICAgICAgICAgMS4wLAorICAgICAgICAgICAgICAgICAgICAwLjcK
KyAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICk7CisKKyAgICAgICAgc2Nl
bmUuc2hhcGVzLnB1c2gocGxhbmUpOworICAgICAgICBzY2VuZS5zaGFwZXMucHVzaChzcGhlcmUp
OworICAgICAgICBzY2VuZS5zaGFwZXMucHVzaChzcGhlcmUxKTsKKworICAgICAgICB2YXIgbGln
aHQgPSBuZXcgRmxvZy5SYXlUcmFjZXIuTGlnaHQoCisgICAgICAgICAgICAgICAgbmV3IEZsb2cu
UmF5VHJhY2VyLlZlY3Rvcig1LCAxMCwgLTEpLAorICAgICAgICAgICAgICAgIG5ldyBGbG9nLlJh
eVRyYWNlci5Db2xvcigwLjgsIDAuOCwgMC44KQorICAgICAgICAgICAgICAgICk7CisKKyAgICAg
ICAgdmFyIGxpZ2h0MSA9IG5ldyBGbG9nLlJheVRyYWNlci5MaWdodCgKKyAgICAgICAgICAgICAg
ICBuZXcgRmxvZy5SYXlUcmFjZXIuVmVjdG9yKC0zLCA1LCAtMTUpLAorICAgICAgICAgICAgICAg
IG5ldyBGbG9nLlJheVRyYWNlci5Db2xvcigwLjgsIDAuOCwgMC44KSwKKyAgICAgICAgICAgICAg
ICAxMDAKKyAgICAgICAgICAgICAgICApOworCisgICAgICAgIHNjZW5lLmxpZ2h0cy5wdXNoKGxp
Z2h0KTsKKyAgICAgICAgc2NlbmUubGlnaHRzLnB1c2gobGlnaHQxKTsKKworICAgICAgICB2YXIg
aW1hZ2VXaWR0aCA9IDEwMDsgLy8gJEYoJ2ltYWdlV2lkdGgnKTsKKyAgICAgICAgdmFyIGltYWdl
SGVpZ2h0ID0gMTAwOyAvLyAkRignaW1hZ2VIZWlnaHQnKTsKKyAgICAgICAgdmFyIHBpeGVsU2l6
ZSA9ICI1LDUiLnNwbGl0KCcsJyk7IC8vICAkRigncGl4ZWxTaXplJykuc3BsaXQoJywnKTsKKyAg
ICAgICAgdmFyIHJlbmRlckRpZmZ1c2UgPSB0cnVlOyAvLyAkRigncmVuZGVyRGlmZnVzZScpOwor
ICAgICAgICB2YXIgcmVuZGVyU2hhZG93cyA9IHRydWU7IC8vICRGKCdyZW5kZXJTaGFkb3dzJyk7
CisgICAgICAgIHZhciByZW5kZXJIaWdobGlnaHRzID0gdHJ1ZTsgLy8gJEYoJ3JlbmRlckhpZ2hs
aWdodHMnKTsKKyAgICAgICAgdmFyIHJlbmRlclJlZmxlY3Rpb25zID0gdHJ1ZTsgLy8gJEYoJ3Jl
bmRlclJlZmxlY3Rpb25zJyk7CisgICAgICAgIHZhciByYXlEZXB0aCA9IDI7Ly8kRigncmF5RGVw
dGgnKTsKKworICAgICAgICB2YXIgcmF5dHJhY2VyID0gbmV3IEZsb2cuUmF5VHJhY2VyLkVuZ2lu
ZSgKKyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGNhbnZhc1dpZHRoOiBp
bWFnZVdpZHRoLAorICAgICAgICAgICAgICAgICAgICBjYW52YXNIZWlnaHQ6IGltYWdlSGVpZ2h0
LAorICAgICAgICAgICAgICAgICAgICBwaXhlbFdpZHRoOiBwaXhlbFNpemVbMF0sCisgICAgICAg
ICAgICAgICAgICAgIHBpeGVsSGVpZ2h0OiBwaXhlbFNpemVbMV0sCisgICAgICAgICAgICAgICAg
ICAgICJyZW5kZXJEaWZmdXNlIjogcmVuZGVyRGlmZnVzZSwKKyAgICAgICAgICAgICAgICAgICAg
InJlbmRlckhpZ2hsaWdodHMiOiByZW5kZXJIaWdobGlnaHRzLAorICAgICAgICAgICAgICAgICAg
ICAicmVuZGVyU2hhZG93cyI6IHJlbmRlclNoYWRvd3MsCisgICAgICAgICAgICAgICAgICAgICJy
ZW5kZXJSZWZsZWN0aW9ucyI6IHJlbmRlclJlZmxlY3Rpb25zLAorICAgICAgICAgICAgICAgICAg
ICAicmF5RGVwdGgiOiByYXlEZXB0aAorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg
ICApOworCisgICAgICAgIHJheXRyYWNlci5yZW5kZXJTY2VuZShzY2VuZSwgbnVsbCwgMCk7Cisg
ICAgfSBjYXRjaChlKSB7IH0KK30KKworZm9yICh2YXIgaSA9IDA7IGkgPCA2OyArK2kpCisgICAg
cmVuZGVyU2NlbmUoKTsKSW5kZXg6IExheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3Rz
L3Y4LXJheXRyYWNlLXdpdGgtdHJ5LWNhdGNoLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3Rz
L2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL3Y4LXJheXRyYWNlLXdpdGgtdHJ5LWNhdGNoLmpzCShy
ZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvdjgtcmF5
dHJhY2Utd2l0aC10cnktY2F0Y2guanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMTAxIEBA
CisvLyBUaGUgcmF5IHRyYWNlciBjb2RlIGluIHRoaXMgZmlsZSBpcyB3cml0dGVuIGJ5IEFkYW0g
QnVybWlzdGVyLiBJdAorLy8gaXMgYXZhaWxhYmxlIGluIGl0cyBvcmlnaW5hbCBmb3JtIGZyb206
CisvLworLy8gICBodHRwOi8vbGFicy5mbG9nLm56LmNvL3JheXRyYWNlci8KKy8vCisvLyBJdCBo
YXMgYmVlbiBtb2RpZmllZCBzbGlnaHRseSBieSBHb29nbGUgdG8gd29yayBhcyBhIHN0YW5kYWxv
bmUKKy8vIGJlbmNobWFyaywgYnV0IHRoZSBhbGwgdGhlIGNvbXB1dGF0aW9uYWwgY29kZSByZW1h
aW5zCisvLyB1bnRvdWNoZWQuIFRoaXMgZmlsZSBhbHNvIGNvbnRhaW5zIGEgY29weSBvZiBwYXJ0
cyBvZiB0aGUgUHJvdG90eXBlCisvLyBKYXZhU2NyaXB0IGZyYW1ld29yayB3aGljaCBpcyB1c2Vk
IGJ5IHRoZSByYXkgdHJhY2VyLgorCisvLyBWYXJpYWJsZSB1c2VkIHRvIGhvbGQgYSBudW1iZXIg
dGhhdCBjYW4gYmUgdXNlZCB0byB2ZXJpZnkgdGhhdAorLy8gdGhlIHNjZW5lIHdhcyByYXkgdHJh
Y2VkIGNvcnJlY3RseS4KK3ZhciBjaGVja051bWJlcjsKKworCisvLyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
Ky8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorCisvLyBUaGUgZm9sbG93aW5nIGlzIGEgY29weSBvZiBwYXJ0
cyBvZiB0aGUgUHJvdG90eXBlIEphdmFTY3JpcHQgbGlicmFyeToKKworLy8gUHJvdG90eXBlIEph
dmFTY3JpcHQgZnJhbWV3b3JrLCB2ZXJzaW9uIDEuNS4wCisvLyAoYykgMjAwNS0yMDA3IFNhbSBT
dGVwaGVuc29uCisvLworLy8gUHJvdG90eXBlIGlzIGZyZWVseSBkaXN0cmlidXRhYmxlIHVuZGVy
IHRoZSB0ZXJtcyBvZiBhbiBNSVQtc3R5bGUgbGljZW5zZS4KKy8vIEZvciBkZXRhaWxzLCBzZWUg
dGhlIFByb3RvdHlwZSB3ZWIgc2l0ZTogaHR0cDovL3Byb3RvdHlwZS5jb25pby5uZXQvCisKK2xl
dCBfX2V4Y2VwdGlvbkNvdW50ZXIgPSAwOworZnVuY3Rpb24gcmFuZG9tRXhjZXB0aW9uKCkgewor
ICAgIF9fZXhjZXB0aW9uQ291bnRlcisrOworICAgIGlmIChfX2V4Y2VwdGlvbkNvdW50ZXIgJSA1
MDAgPT09IDApIHsKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJyYW5kbyIpOworICAgIH0KK30K
K25vSW5saW5lKHJhbmRvbUV4Y2VwdGlvbik7CisKK3ZhciBDbGFzcyA9IHsKKyAgICBjcmVhdGU6
IGZ1bmN0aW9uKCkgeworICAgICAgICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZS5hcHBseSh0aGlzLCBhcmd1bWVu
dHMpOworICAgICAgICAgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgICAgICAgICAgfSBj
YXRjaChlKSB7IH0KKyAgICAgICAgfQorICAgIH0KK307CisKKworT2JqZWN0LmV4dGVuZCA9IGZ1
bmN0aW9uKGRlc3RpbmF0aW9uLCBzb3VyY2UpIHsKKyAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBz
b3VyY2UpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIGRlc3RpbmF0aW9uW3Byb3BlcnR5
XSA9IHNvdXJjZVtwcm9wZXJ0eV07CisgICAgICAgICAgICByYW5kb21FeGNlcHRpb24oKTsKKyAg
ICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICB9CisgICAgcmV0dXJuIGRlc3RpbmF0aW9uOworfTsK
KworCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisvLyBUaGUgcmVz
dCBvZiB0aGlzIGZpbGUgaXMgdGhlIGFjdHVhbCByYXkgdHJhY2VyIHdyaXR0ZW4gYnkgQWRhbQor
Ly8gQnVybWlzdGVyLiBJdCdzIGEgY29uY2F0ZW5hdGlvbiBvZiB0aGUgZm9sbG93aW5nIGZpbGVz
OgorLy8KKy8vICAgZmxvZy9jb2xvci5qcworLy8gICBmbG9nL2xpZ2h0LmpzCisvLyAgIGZsb2cv
dmVjdG9yLmpzCisvLyAgIGZsb2cvcmF5LmpzCisvLyAgIGZsb2cvc2NlbmUuanMKKy8vICAgZmxv
Zy9tYXRlcmlhbC9iYXNlbWF0ZXJpYWwuanMKKy8vICAgZmxvZy9tYXRlcmlhbC9zb2xpZC5qcwor
Ly8gICBmbG9nL21hdGVyaWFsL2NoZXNzYm9hcmQuanMKKy8vICAgZmxvZy9zaGFwZS9iYXNlc2hh
cGUuanMKKy8vICAgZmxvZy9zaGFwZS9zcGhlcmUuanMKKy8vICAgZmxvZy9zaGFwZS9wbGFuZS5q
cworLy8gICBmbG9nL2ludGVyc2VjdGlvbmluZm8uanMKKy8vICAgZmxvZy9jYW1lcmEuanMKKy8v
ICAgZmxvZy9iYWNrZ3JvdW5kLmpzCisvLyAgIGZsb2cvZW5naW5lLmpzCisKKworLyogRmFrZSBh
IEZsb2cuKiBuYW1lc3BhY2UgKi8KK2lmKHR5cGVvZihGbG9nKSA9PSAndW5kZWZpbmVkJykgdmFy
IEZsb2cgPSB7fTsKK2lmKHR5cGVvZihGbG9nLlJheVRyYWNlcikgPT0gJ3VuZGVmaW5lZCcpIEZs
b2cuUmF5VHJhY2VyID0ge307CisKK0Zsb2cuUmF5VHJhY2VyLkNvbG9yID0gQ2xhc3MuY3JlYXRl
KCk7CisKK0Zsb2cuUmF5VHJhY2VyLkNvbG9yLnByb3RvdHlwZSA9IHsKKyAgICByZWQgOiAwLjAs
CisgICAgZ3JlZW4gOiAwLjAsCisgICAgYmx1ZSA6IDAuMCwKKworICAgIGluaXRpYWxpemUgOiBm
dW5jdGlvbihyLCBnLCBiKSB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICBpZighcikgciA9
IDAuMDsKKyAgICAgICAgICAgIGlmKCFnKSBnID0gMC4wOworICAgICAgICAgICAgaWYoIWIpIGIg
PSAwLjA7CisKKyAgICAgICAgICAgIHRoaXMucmVkID0gcjsKKyAgICAgICAgICAgIHRoaXMuZ3Jl
ZW4gPSBnOworICAgICAgICAgICAgdGhpcy5ibHVlID0gYjsKKyAgICAgICAgICAgIHJhbmRvbUV4
Y2VwdGlvbigpOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0sCisKKyAgICBhZGQgOiBm
dW5jdGlvbihjMSwgYzIpeworICAgICAgICB0cnkgeworICAgICAgICAgICAgdmFyIHJlc3VsdCA9
IG5ldyBGbG9nLlJheVRyYWNlci5Db2xvcigwLDAsMCk7CisKKyAgICAgICAgICAgIHJlc3VsdC5y
ZWQgPSBjMS5yZWQgKyBjMi5yZWQ7CisgICAgICAgICAgICByZXN1bHQuZ3JlZW4gPSBjMS5ncmVl
biArIGMyLmdyZWVuOworICAgICAgICAgICAgcmVzdWx0LmJsdWUgPSBjMS5ibHVlICsgYzIuYmx1
ZTsKKworICAgICAgICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7CisgICAgICAgIH0gY2F0Y2goZSkg
eyB9CisKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9LAorCisgICAgYWRkU2NhbGFyOiBm
dW5jdGlvbihjMSwgcyl7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB2YXIgcmVzdWx0ID0g
bmV3IEZsb2cuUmF5VHJhY2VyLkNvbG9yKDAsMCwwKTsKKworICAgICAgICAgICAgcmVzdWx0LnJl
ZCA9IGMxLnJlZCArIHM7CisgICAgICAgICAgICByZXN1bHQuZ3JlZW4gPSBjMS5ncmVlbiArIHM7
CisgICAgICAgICAgICByZXN1bHQuYmx1ZSA9IGMxLmJsdWUgKyBzOworCisgICAgICAgICAgICBy
ZXN1bHQubGltaXQoKTsKKworICAgICAgICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7CisgICAgICAg
IH0gY2F0Y2goZSkgeyB9CisKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9LAorCisgICAg
c3VidHJhY3Q6IGZ1bmN0aW9uKGMxLCBjMil7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB2
YXIgcmVzdWx0ID0gbmV3IEZsb2cuUmF5VHJhY2VyLkNvbG9yKDAsMCwwKTsKKworICAgICAgICAg
ICAgcmVzdWx0LnJlZCA9IGMxLnJlZCAtIGMyLnJlZDsKKyAgICAgICAgICAgIHJlc3VsdC5ncmVl
biA9IGMxLmdyZWVuIC0gYzIuZ3JlZW47CisgICAgICAgICAgICByZXN1bHQuYmx1ZSA9IGMxLmJs
dWUgLSBjMi5ibHVlOworCisgICAgICAgICAgICByYW5kb21FeGNlcHRpb24oKTsKKyAgICAgICAg
fSBjYXRjaChlKSB7IH0KKworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0sCisKKyAgICBt
dWx0aXBseSA6IGZ1bmN0aW9uKGMxLCBjMikgeworICAgICAgICB0cnkgeworICAgICAgICAgICAg
dmFyIHJlc3VsdCA9IG5ldyBGbG9nLlJheVRyYWNlci5Db2xvcigwLDAsMCk7CisKKyAgICAgICAg
ICAgIHJlc3VsdC5yZWQgPSBjMS5yZWQgKiBjMi5yZWQ7CisgICAgICAgICAgICByZXN1bHQuZ3Jl
ZW4gPSBjMS5ncmVlbiAqIGMyLmdyZWVuOworICAgICAgICAgICAgcmVzdWx0LmJsdWUgPSBjMS5i
bHVlICogYzIuYmx1ZTsKKworICAgICAgICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7CisgICAgICAg
IH0gY2F0Y2goZSkgeyB9CisKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9LAorCisgICAg
bXVsdGlwbHlTY2FsYXIgOiBmdW5jdGlvbihjMSwgZikgeworICAgICAgICB0cnkgeworICAgICAg
ICAgICAgdmFyIHJlc3VsdCA9IG5ldyBGbG9nLlJheVRyYWNlci5Db2xvcigwLDAsMCk7CisKKyAg
ICAgICAgICAgIHJlc3VsdC5yZWQgPSBjMS5yZWQgKiBmOworICAgICAgICAgICAgcmVzdWx0Lmdy
ZWVuID0gYzEuZ3JlZW4gKiBmOworICAgICAgICAgICAgcmVzdWx0LmJsdWUgPSBjMS5ibHVlICog
ZjsKKworICAgICAgICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7CisgICAgICAgIH0gY2F0Y2goZSkg
eyB9CisKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9LAorCisgICAgZGl2aWRlRmFjdG9y
IDogZnVuY3Rpb24oYzEsIGYpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciByZXN1
bHQgPSBuZXcgRmxvZy5SYXlUcmFjZXIuQ29sb3IoMCwwLDApOworCisgICAgICAgICAgICByZXN1
bHQucmVkID0gYzEucmVkIC8gZjsKKyAgICAgICAgICAgIHJlc3VsdC5ncmVlbiA9IGMxLmdyZWVu
IC8gZjsKKyAgICAgICAgICAgIHJlc3VsdC5ibHVlID0gYzEuYmx1ZSAvIGY7CisKKyAgICAgICAg
ICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorCisgICAgICAg
IHJldHVybiByZXN1bHQ7CisgICAgfSwKKworICAgIGxpbWl0OiBmdW5jdGlvbigpeworICAgICAg
ICB0cnkgeyAKKyAgICAgICAgICAgIHRoaXMucmVkID0gKHRoaXMucmVkID4gMC4wKSA/ICggKHRo
aXMucmVkID4gMS4wKSA/IDEuMCA6IHRoaXMucmVkICkgOiAwLjA7CisgICAgICAgICAgICB0aGlz
LmdyZWVuID0gKHRoaXMuZ3JlZW4gPiAwLjApID8gKCAodGhpcy5ncmVlbiA+IDEuMCkgPyAxLjAg
OiB0aGlzLmdyZWVuICkgOiAwLjA7CisgICAgICAgICAgICB0aGlzLmJsdWUgPSAodGhpcy5ibHVl
ID4gMC4wKSA/ICggKHRoaXMuYmx1ZSA+IDEuMCkgPyAxLjAgOiB0aGlzLmJsdWUgKSA6IDAuMDsK
KworICAgICAgICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7CisgICAgICAgIH0gY2F0Y2goZSkgeyB9
CisgICAgfSwKKworICAgIGRpc3RhbmNlIDogZnVuY3Rpb24oY29sb3IpIHsKKyAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgIHZhciBkID0gTWF0aC5hYnModGhpcy5yZWQgLSBjb2xvci5yZWQpICsg
TWF0aC5hYnModGhpcy5ncmVlbiAtIGNvbG9yLmdyZWVuKSArIE1hdGguYWJzKHRoaXMuYmx1ZSAt
IGNvbG9yLmJsdWUpOworICAgICAgICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7CisgICAgICAgIH0g
Y2F0Y2goZSkgeyB9CisgICAgICAgIHJldHVybiBkOworICAgIH0sCisKKyAgICBibGVuZDogZnVu
Y3Rpb24oYzEsIGMyLCB3KXsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciByZXN1bHQg
PSBuZXcgRmxvZy5SYXlUcmFjZXIuQ29sb3IoMCwwLDApOworICAgICAgICAgICAgcmVzdWx0ID0g
RmxvZy5SYXlUcmFjZXIuQ29sb3IucHJvdG90eXBlLmFkZCgKKyAgICAgICAgICAgICAgICAgICAg
RmxvZy5SYXlUcmFjZXIuQ29sb3IucHJvdG90eXBlLm11bHRpcGx5U2NhbGFyKGMxLCAxIC0gdyks
CisgICAgICAgICAgICAgICAgICAgIEZsb2cuUmF5VHJhY2VyLkNvbG9yLnByb3RvdHlwZS5tdWx0
aXBseVNjYWxhcihjMiwgdykKKyAgICAgICAgICAgICAgICAgICAgKTsKKyAgICAgICAgICAgIHJh
bmRvbUV4Y2VwdGlvbigpOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgICAgICByZXR1cm4g
cmVzdWx0OworICAgIH0sCisKKyAgICBicmlnaHRuZXNzIDogZnVuY3Rpb24oKSB7CisgICAgICAg
IHRyeSB7CisgICAgICAgICAgICB2YXIgciA9IE1hdGguZmxvb3IodGhpcy5yZWQqMjU1KTsKKyAg
ICAgICAgICAgIHZhciBnID0gTWF0aC5mbG9vcih0aGlzLmdyZWVuKjI1NSk7CisgICAgICAgICAg
ICB2YXIgYiA9IE1hdGguZmxvb3IodGhpcy5ibHVlKjI1NSk7CisgICAgICAgICAgICByYW5kb21F
eGNlcHRpb24oKTsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICAgICAgcmV0dXJuIChyICog
NzcgKyBnICogMTUwICsgYiAqIDI5KSA+PiA4OworICAgIH0sCisKKyAgICB0b1N0cmluZyA6IGZ1
bmN0aW9uICgpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciByID0gTWF0aC5mbG9v
cih0aGlzLnJlZCoyNTUpOworICAgICAgICAgICAgdmFyIGcgPSBNYXRoLmZsb29yKHRoaXMuZ3Jl
ZW4qMjU1KTsKKyAgICAgICAgICAgIHZhciBiID0gTWF0aC5mbG9vcih0aGlzLmJsdWUqMjU1KTsK
KyAgICAgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgICAgICB9IGNhdGNoKGUpIHsgfQor
CisgICAgICAgIHJldHVybiAicmdiKCIrIHIgKyIsIisgZyArIiwiKyBiICsiKSI7CisgICAgfQor
fQorLyogRmFrZSBhIEZsb2cuKiBuYW1lc3BhY2UgKi8KK2lmKHR5cGVvZihGbG9nKSA9PSAndW5k
ZWZpbmVkJykgdmFyIEZsb2cgPSB7fTsKK2lmKHR5cGVvZihGbG9nLlJheVRyYWNlcikgPT0gJ3Vu
ZGVmaW5lZCcpIEZsb2cuUmF5VHJhY2VyID0ge307CisKK0Zsb2cuUmF5VHJhY2VyLkxpZ2h0ID0g
Q2xhc3MuY3JlYXRlKCk7CisKK0Zsb2cuUmF5VHJhY2VyLkxpZ2h0LnByb3RvdHlwZSA9IHsKKyAg
ICBwb3NpdGlvbjogbnVsbCwKKyAgICBjb2xvcjogbnVsbCwKKyAgICBpbnRlbnNpdHk6IDEwLjAs
CisKKyAgICBpbml0aWFsaXplIDogZnVuY3Rpb24ocG9zLCBjb2xvciwgaW50ZW5zaXR5KSB7Cisg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICB0aGlzLnBvc2l0aW9uID0gcG9zOworICAgICAgICAg
ICAgdGhpcy5jb2xvciA9IGNvbG9yOworICAgICAgICAgICAgdGhpcy5pbnRlbnNpdHkgPSAoaW50
ZW5zaXR5ID8gaW50ZW5zaXR5IDogMTAuMCk7CisKKyAgICAgICAgICAgIHJhbmRvbUV4Y2VwdGlv
bigpOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0sCisKKyAgICB0b1N0cmluZyA6IGZ1
bmN0aW9uICgpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciByZXN1bHQgPSAnTGln
aHQgWycgKyB0aGlzLnBvc2l0aW9uLnggKyAnLCcgKyB0aGlzLnBvc2l0aW9uLnkgKyAnLCcgKyB0
aGlzLnBvc2l0aW9uLnogKyAnXSc7CisgICAgICAgICAgICByYW5kb21FeGNlcHRpb24oKTsKKyAg
ICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9Cit9Cisv
KiBGYWtlIGEgRmxvZy4qIG5hbWVzcGFjZSAqLworaWYodHlwZW9mKEZsb2cpID09ICd1bmRlZmlu
ZWQnKSB2YXIgRmxvZyA9IHt9OworaWYodHlwZW9mKEZsb2cuUmF5VHJhY2VyKSA9PSAndW5kZWZp
bmVkJykgRmxvZy5SYXlUcmFjZXIgPSB7fTsKKworRmxvZy5SYXlUcmFjZXIuVmVjdG9yID0gQ2xh
c3MuY3JlYXRlKCk7CisKK0Zsb2cuUmF5VHJhY2VyLlZlY3Rvci5wcm90b3R5cGUgPSB7CisgICAg
eCA6IDAuMCwKKyAgICB5IDogMC4wLAorICAgIHogOiAwLjAsCisKKyAgICBpbml0aWFsaXplIDog
ZnVuY3Rpb24oeCwgeSwgeikgeworICAgICAgICB0cnkgeworICAgICAgICAgICAgdGhpcy54ID0g
KHggPyB4IDogMCk7CisgICAgICAgICAgICB0aGlzLnkgPSAoeSA/IHkgOiAwKTsKKyAgICAgICAg
ICAgIHRoaXMueiA9ICh6ID8geiA6IDApOworICAgICAgICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7
CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgfSwKKworICAgIGNvcHk6IGZ1bmN0aW9uKHZl
Y3Rvcil7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB0aGlzLnggPSB2ZWN0b3IueDsKKyAg
ICAgICAgICAgIHRoaXMueSA9IHZlY3Rvci55OworICAgICAgICAgICAgdGhpcy56ID0gdmVjdG9y
Lno7CisgICAgICAgICAgICByYW5kb21FeGNlcHRpb24oKTsKKyAgICAgICAgfSBjYXRjaChlKSB7
IH0KKyAgICB9LAorCisgICAgbm9ybWFsaXplIDogZnVuY3Rpb24oKSB7CisgICAgICAgIHRyeSB7
CisgICAgICAgICAgICB2YXIgbSA9IHRoaXMubWFnbml0dWRlKCk7CisgICAgICAgICAgICB2YXIg
cmVzdWx0ID0gbmV3IEZsb2cuUmF5VHJhY2VyLlZlY3Rvcih0aGlzLnggLyBtLCB0aGlzLnkgLyBt
LCB0aGlzLnogLyBtKTsKKyAgICAgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgICAgICB9
IGNhdGNoKGUpIHsgfQorICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0sCisKKyAgICBtYWdu
aXR1ZGUgOiBmdW5jdGlvbigpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHJldHVybiBN
YXRoLnNxcnQoKHRoaXMueCAqIHRoaXMueCkgKyAodGhpcy55ICogdGhpcy55KSArICh0aGlzLnog
KiB0aGlzLnopKTsKKyAgICAgICAgfSBjYXRjaChlKSAgeyB9CisgICAgfSwKKworICAgIGNyb3Nz
IDogZnVuY3Rpb24odykgeworICAgICAgICB0cnkgeworICAgICAgICAgICAgcmV0dXJuIG5ldyBG
bG9nLlJheVRyYWNlci5WZWN0b3IoCisgICAgICAgICAgICAgICAgICAgIC10aGlzLnogKiB3Lnkg
KyB0aGlzLnkgKiB3LnosCisgICAgICAgICAgICAgICAgICAgIHRoaXMueiAqIHcueCAtIHRoaXMu
eCAqIHcueiwKKyAgICAgICAgICAgICAgICAgICAgLXRoaXMueSAqIHcueCArIHRoaXMueCAqIHcu
eSk7CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgfSwKKworICAgIGRvdCA6IGZ1bmN0aW9u
KHcpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHJldHVybiB0aGlzLnggKiB3LnggKyB0
aGlzLnkgKiB3LnkgKyB0aGlzLnogKiB3Lno7CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAg
fSwKKworICAgIGFkZCA6IGZ1bmN0aW9uKHYsIHcpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgIHJldHVybiBuZXcgRmxvZy5SYXlUcmFjZXIuVmVjdG9yKHcueCArIHYueCwgdy55ICsgdi55
LCB3LnogKyB2LnopOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0sCisKKyAgICBzdWJ0
cmFjdCA6IGZ1bmN0aW9uKHYsIHcpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIGlmKCF3
IHx8ICF2KSB0aHJvdyAnVmVjdG9ycyBtdXN0IGJlIGRlZmluZWQgWycgKyB2ICsgJywnICsgdyAr
ICddJzsKKyAgICAgICAgICAgIHJldHVybiBuZXcgRmxvZy5SYXlUcmFjZXIuVmVjdG9yKHYueCAt
IHcueCwgdi55IC0gdy55LCB2LnogLSB3LnopOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAg
IH0sCisKKyAgICBtdWx0aXBseVZlY3RvciA6IGZ1bmN0aW9uKHYsIHcpIHsKKyAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgIHJldHVybiBuZXcgRmxvZy5SYXlUcmFjZXIuVmVjdG9yKHYueCAqIHcu
eCwgdi55ICogdy55LCB2LnogKiB3LnopOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0s
CisKKyAgICBtdWx0aXBseVNjYWxhciA6IGZ1bmN0aW9uKHYsIHcpIHsKKyAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgIHJldHVybiBuZXcgRmxvZy5SYXlUcmFjZXIuVmVjdG9yKHYueCAqIHcsIHYu
eSAqIHcsIHYueiAqIHcpOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0sCisKKyAgICB0
b1N0cmluZyA6IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHJldHVy
biAnVmVjdG9yIFsnICsgdGhpcy54ICsgJywnICsgdGhpcy55ICsgJywnICsgdGhpcy56ICsgJ10n
OworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0KK30KKy8qIEZha2UgYSBGbG9nLiogbmFt
ZXNwYWNlICovCitpZih0eXBlb2YoRmxvZykgPT0gJ3VuZGVmaW5lZCcpIHZhciBGbG9nID0ge307
CitpZih0eXBlb2YoRmxvZy5SYXlUcmFjZXIpID09ICd1bmRlZmluZWQnKSBGbG9nLlJheVRyYWNl
ciA9IHt9OworCitGbG9nLlJheVRyYWNlci5SYXkgPSBDbGFzcy5jcmVhdGUoKTsKKworRmxvZy5S
YXlUcmFjZXIuUmF5LnByb3RvdHlwZSA9IHsKKyAgICBwb3NpdGlvbiA6IG51bGwsCisgICAgZGly
ZWN0aW9uIDogbnVsbCwKKyAgICBpbml0aWFsaXplIDogZnVuY3Rpb24ocG9zLCBkaXIpIHsKKyAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHRoaXMucG9zaXRpb24gPSBwb3M7CisgICAgICAgICAg
ICB0aGlzLmRpcmVjdGlvbiA9IGRpcjsKKyAgICAgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOwor
ICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0sCisKKyAgICB0b1N0cmluZyA6IGZ1bmN0aW9u
ICgpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHJldHVybiAnUmF5IFsnICsgdGhpcy5w
b3NpdGlvbiArICcsJyArIHRoaXMuZGlyZWN0aW9uICsgJ10nOworICAgICAgICB9IGNhdGNoKGUp
IHsgfQorICAgIH0KK30KKy8qIEZha2UgYSBGbG9nLiogbmFtZXNwYWNlICovCitpZih0eXBlb2Yo
RmxvZykgPT0gJ3VuZGVmaW5lZCcpIHZhciBGbG9nID0ge307CitpZih0eXBlb2YoRmxvZy5SYXlU
cmFjZXIpID09ICd1bmRlZmluZWQnKSBGbG9nLlJheVRyYWNlciA9IHt9OworCitGbG9nLlJheVRy
YWNlci5TY2VuZSA9IENsYXNzLmNyZWF0ZSgpOworCitGbG9nLlJheVRyYWNlci5TY2VuZS5wcm90
b3R5cGUgPSB7CisgICAgY2FtZXJhIDogbnVsbCwKKyAgICBzaGFwZXMgOiBbXSwKKyAgICBsaWdo
dHMgOiBbXSwKKyAgICBiYWNrZ3JvdW5kIDogbnVsbCwKKworICAgIGluaXRpYWxpemUgOiBmdW5j
dGlvbigpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHRoaXMuY2FtZXJhID0gbmV3IEZs
b2cuUmF5VHJhY2VyLkNhbWVyYSgKKyAgICAgICAgICAgICAgICAgICAgbmV3IEZsb2cuUmF5VHJh
Y2VyLlZlY3RvcigwLDAsLTUpLAorICAgICAgICAgICAgICAgICAgICBuZXcgRmxvZy5SYXlUcmFj
ZXIuVmVjdG9yKDAsMCwxKSwKKyAgICAgICAgICAgICAgICAgICAgbmV3IEZsb2cuUmF5VHJhY2Vy
LlZlY3RvcigwLDEsMCkKKyAgICAgICAgICAgICAgICAgICAgKTsKKyAgICAgICAgICAgIHRoaXMu
c2hhcGVzID0gbmV3IEFycmF5KCk7CisgICAgICAgICAgICB0aGlzLmxpZ2h0cyA9IG5ldyBBcnJh
eSgpOworICAgICAgICAgICAgdGhpcy5iYWNrZ3JvdW5kID0gbmV3IEZsb2cuUmF5VHJhY2VyLkJh
Y2tncm91bmQobmV3IEZsb2cuUmF5VHJhY2VyLkNvbG9yKDAsMCwwLjUpLCAwLjIpOworCisgICAg
ICAgICAgICByYW5kb21FeGNlcHRpb24oKTsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICB9
Cit9CisvKiBGYWtlIGEgRmxvZy4qIG5hbWVzcGFjZSAqLworaWYodHlwZW9mKEZsb2cpID09ICd1
bmRlZmluZWQnKSB2YXIgRmxvZyA9IHt9OworaWYodHlwZW9mKEZsb2cuUmF5VHJhY2VyKSA9PSAn
dW5kZWZpbmVkJykgRmxvZy5SYXlUcmFjZXIgPSB7fTsKK2lmKHR5cGVvZihGbG9nLlJheVRyYWNl
ci5NYXRlcmlhbCkgPT0gJ3VuZGVmaW5lZCcpIEZsb2cuUmF5VHJhY2VyLk1hdGVyaWFsID0ge307
CisKK0Zsb2cuUmF5VHJhY2VyLk1hdGVyaWFsLkJhc2VNYXRlcmlhbCA9IENsYXNzLmNyZWF0ZSgp
OworCitGbG9nLlJheVRyYWNlci5NYXRlcmlhbC5CYXNlTWF0ZXJpYWwucHJvdG90eXBlID0gewor
CisgICAgZ2xvc3M6IDIuMCwgICAgICAgICAgICAgLy8gWzAuLi5pbmZpbml0eV0gMCA9IG1hdHQK
KyAgICB0cmFuc3BhcmVuY3k6IDAuMCwgICAgICAvLyAwPW9wYXF1ZQorICAgIHJlZmxlY3Rpb246
IDAuMCwgICAgICAgIC8vIFswLi4uaW5maW5pdHldIDAgPSBubyByZWZsZWN0aW9uCisgICAgcmVm
cmFjdGlvbjogMC41MCwKKyAgICBoYXNUZXh0dXJlOiBmYWxzZSwKKworICAgIGluaXRpYWxpemUg
OiBmdW5jdGlvbigpIHsKKworICAgIH0sCisKKyAgICBnZXRDb2xvcjogZnVuY3Rpb24odSwgdil7
CisKKyAgICB9LAorCisgICAgd3JhcFVwOiBmdW5jdGlvbih0KXsKKyAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgIHQgPSB0ICUgMi4wOworICAgICAgICAgICAgaWYodCA8IC0xKSB0ICs9IDIuMDsK
KyAgICAgICAgICAgIGlmKHQgPj0gMSkgdCAtPSAyLjA7CisgICAgICAgICAgICByYW5kb21FeGNl
cHRpb24oKTsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICAgICAgcmV0dXJuIHQ7CisgICAg
fSwKKworICAgIHRvU3RyaW5nIDogZnVuY3Rpb24gKCkgeworICAgICAgICB0cnkgeworICAgICAg
ICAgICAgcmV0dXJuICdNYXRlcmlhbCBbZ2xvc3M9JyArIHRoaXMuZ2xvc3MgKyAnLCB0cmFuc3Bh
cmVuY3k9JyArIHRoaXMudHJhbnNwYXJlbmN5ICsgJywgaGFzVGV4dHVyZT0nICsgdGhpcy5oYXNU
ZXh0dXJlICsnXSc7CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgfQorfQorLyogRmFrZSBh
IEZsb2cuKiBuYW1lc3BhY2UgKi8KK2lmKHR5cGVvZihGbG9nKSA9PSAndW5kZWZpbmVkJykgdmFy
IEZsb2cgPSB7fTsKK2lmKHR5cGVvZihGbG9nLlJheVRyYWNlcikgPT0gJ3VuZGVmaW5lZCcpIEZs
b2cuUmF5VHJhY2VyID0ge307CisKK0Zsb2cuUmF5VHJhY2VyLk1hdGVyaWFsLlNvbGlkID0gQ2xh
c3MuY3JlYXRlKCk7CisKK0Zsb2cuUmF5VHJhY2VyLk1hdGVyaWFsLlNvbGlkLnByb3RvdHlwZSA9
IE9iamVjdC5leHRlbmQoCisgICAgICAgIG5ldyBGbG9nLlJheVRyYWNlci5NYXRlcmlhbC5CYXNl
TWF0ZXJpYWwoKSwgeworICAgICAgICAgICAgaW5pdGlhbGl6ZSA6IGZ1bmN0aW9uKGNvbG9yLCBy
ZWZsZWN0aW9uLCByZWZyYWN0aW9uLCB0cmFuc3BhcmVuY3ksIGdsb3NzKSB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2xvciA9IGNvbG9yOworICAg
ICAgICAgICAgICAgICAgICB0aGlzLnJlZmxlY3Rpb24gPSByZWZsZWN0aW9uOworICAgICAgICAg
ICAgICAgICAgICB0aGlzLnRyYW5zcGFyZW5jeSA9IHRyYW5zcGFyZW5jeTsKKyAgICAgICAgICAg
ICAgICAgICAgdGhpcy5nbG9zcyA9IGdsb3NzOworICAgICAgICAgICAgICAgICAgICB0aGlzLmhh
c1RleHR1cmUgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7
CisgICAgICAgICAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICAgICAgICAgIH0sCisKKyAgICAg
ICAgICAgIGdldENvbG9yOiBmdW5jdGlvbih1LCB2KXsKKyAgICAgICAgICAgICAgICB0cnkgewor
ICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jb2xvcjsKKyAgICAgICAgICAgICAgICB9
IGNhdGNoKGUpIHsgfQorICAgICAgICAgICAgfSwKKworICAgICAgICAgICAgdG9TdHJpbmcgOiBm
dW5jdGlvbiAoKSB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAg
cmV0dXJuICdTb2xpZE1hdGVyaWFsIFtnbG9zcz0nICsgdGhpcy5nbG9zcyArICcsIHRyYW5zcGFy
ZW5jeT0nICsgdGhpcy50cmFuc3BhcmVuY3kgKyAnLCBoYXNUZXh0dXJlPScgKyB0aGlzLmhhc1Rl
eHR1cmUgKyddJzsKKyAgICAgICAgICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgICAgICAgICAg
fQorICAgICAgICB9CisgICAgICAgICk7CisvKiBGYWtlIGEgRmxvZy4qIG5hbWVzcGFjZSAqLwor
aWYodHlwZW9mKEZsb2cpID09ICd1bmRlZmluZWQnKSB2YXIgRmxvZyA9IHt9OworaWYodHlwZW9m
KEZsb2cuUmF5VHJhY2VyKSA9PSAndW5kZWZpbmVkJykgRmxvZy5SYXlUcmFjZXIgPSB7fTsKKwor
RmxvZy5SYXlUcmFjZXIuTWF0ZXJpYWwuQ2hlc3Nib2FyZCA9IENsYXNzLmNyZWF0ZSgpOworCitG
bG9nLlJheVRyYWNlci5NYXRlcmlhbC5DaGVzc2JvYXJkLnByb3RvdHlwZSA9IE9iamVjdC5leHRl
bmQoCisgICAgICAgIG5ldyBGbG9nLlJheVRyYWNlci5NYXRlcmlhbC5CYXNlTWF0ZXJpYWwoKSwg
eworICAgICAgICAgICAgY29sb3JFdmVuOiBudWxsLAorICAgICAgICAgICAgY29sb3JPZGQ6IG51
bGwsCisgICAgICAgICAgICBkZW5zaXR5OiAwLjUsCisKKyAgICAgICAgICAgIGluaXRpYWxpemUg
OiBmdW5jdGlvbihjb2xvckV2ZW4sIGNvbG9yT2RkLCByZWZsZWN0aW9uLCB0cmFuc3BhcmVuY3ks
IGdsb3NzLCBkZW5zaXR5KSB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAg
ICAgICAgdGhpcy5jb2xvckV2ZW4gPSBjb2xvckV2ZW47CisgICAgICAgICAgICAgICAgICAgIHRo
aXMuY29sb3JPZGQgPSBjb2xvck9kZDsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWZsZWN0
aW9uID0gcmVmbGVjdGlvbjsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc3BhcmVuY3kg
PSB0cmFuc3BhcmVuY3k7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2xvc3MgPSBnbG9zczsK
KyAgICAgICAgICAgICAgICAgICAgdGhpcy5kZW5zaXR5ID0gZGVuc2l0eTsKKyAgICAgICAgICAg
ICAgICAgICAgdGhpcy5oYXNUZXh0dXJlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgcmFu
ZG9tRXhjZXB0aW9uKCk7CisgICAgICAgICAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICAgICAg
ICAgIH0sCisKKyAgICAgICAgICAgIGdldENvbG9yOiBmdW5jdGlvbih1LCB2KXsKKyAgICAgICAg
ICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IHRoaXMud3JhcFVwKHUg
KiB0aGlzLmRlbnNpdHkpICogdGhpcy53cmFwVXAodiAqIHRoaXMuZGVuc2l0eSk7CisgICAgICAg
ICAgICAgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgICAgICAgICAgICAgIH0gY2F0Y2go
ZSkgeyB9CisKKyAgICAgICAgICAgICAgICBpZih0IDwgMC4wKQorICAgICAgICAgICAgICAgICAg
ICByZXR1cm4gdGhpcy5jb2xvckV2ZW47CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gdGhpcy5jb2xvck9kZDsKKyAgICAgICAgICAgIH0sCisKKyAgICAg
ICAgICAgIHRvU3RyaW5nIDogZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICAgICAgICAgIHJldHVybiAnQ2hlc3NNYXRlcmlhbCBbZ2xvc3M9JyArIHRoaXMu
Z2xvc3MgKyAnLCB0cmFuc3BhcmVuY3k9JyArIHRoaXMudHJhbnNwYXJlbmN5ICsgJywgaGFzVGV4
dHVyZT0nICsgdGhpcy5oYXNUZXh0dXJlICsnXSc7CisgICAgICAgICAgICAgICAgfSBjYXRjaChl
KSB7IH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorKTsKKy8qIEZha2UgYSBGbG9nLiogbmFt
ZXNwYWNlICovCitpZih0eXBlb2YoRmxvZykgPT0gJ3VuZGVmaW5lZCcpIHZhciBGbG9nID0ge307
CitpZih0eXBlb2YoRmxvZy5SYXlUcmFjZXIpID09ICd1bmRlZmluZWQnKSBGbG9nLlJheVRyYWNl
ciA9IHt9OworaWYodHlwZW9mKEZsb2cuUmF5VHJhY2VyLlNoYXBlKSA9PSAndW5kZWZpbmVkJykg
RmxvZy5SYXlUcmFjZXIuU2hhcGUgPSB7fTsKKworRmxvZy5SYXlUcmFjZXIuU2hhcGUuU3BoZXJl
ID0gQ2xhc3MuY3JlYXRlKCk7CisKK0Zsb2cuUmF5VHJhY2VyLlNoYXBlLlNwaGVyZS5wcm90b3R5
cGUgPSB7CisgICAgaW5pdGlhbGl6ZSA6IGZ1bmN0aW9uKHBvcywgcmFkaXVzLCBtYXRlcmlhbCkg
eworICAgICAgICB0cnkgeworICAgICAgICAgICAgdGhpcy5yYWRpdXMgPSByYWRpdXM7CisgICAg
ICAgICAgICB0aGlzLnBvc2l0aW9uID0gcG9zOworICAgICAgICAgICAgdGhpcy5tYXRlcmlhbCA9
IG1hdGVyaWFsOworCisgICAgICAgICAgICByYW5kb21FeGNlcHRpb24oKTsKKyAgICAgICAgfSBj
YXRjaChlKSB7IH0KKyAgICB9LAorCisgICAgaW50ZXJzZWN0OiBmdW5jdGlvbihyYXkpeworICAg
ICAgICB0cnkgeworICAgICAgICAgICAgdmFyIGluZm8gPSBuZXcgRmxvZy5SYXlUcmFjZXIuSW50
ZXJzZWN0aW9uSW5mbygpOworICAgICAgICAgICAgaW5mby5zaGFwZSA9IHRoaXM7CisKKyAgICAg
ICAgICAgIHZhciBkc3QgPSBGbG9nLlJheVRyYWNlci5WZWN0b3IucHJvdG90eXBlLnN1YnRyYWN0
KHJheS5wb3NpdGlvbiwgdGhpcy5wb3NpdGlvbik7CisKKyAgICAgICAgICAgIHZhciBCID0gZHN0
LmRvdChyYXkuZGlyZWN0aW9uKTsKKyAgICAgICAgICAgIHZhciBDID0gZHN0LmRvdChkc3QpIC0g
KHRoaXMucmFkaXVzICogdGhpcy5yYWRpdXMpOworICAgICAgICAgICAgdmFyIEQgPSAoQiAqIEIp
IC0gQzsKKworICAgICAgICAgICAgaWYoRCA+IDApeyAvLyBpbnRlcnNlY3Rpb24hCisgICAgICAg
ICAgICAgICAgaW5mby5pc0hpdCA9IHRydWU7CisgICAgICAgICAgICAgICAgaW5mby5kaXN0YW5j
ZSA9ICgtQikgLSBNYXRoLnNxcnQoRCk7CisgICAgICAgICAgICAgICAgaW5mby5wb3NpdGlvbiA9
IEZsb2cuUmF5VHJhY2VyLlZlY3Rvci5wcm90b3R5cGUuYWRkKAorICAgICAgICAgICAgICAgICAg
ICAgICAgcmF5LnBvc2l0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgRmxvZy5SYXlUcmFj
ZXIuVmVjdG9yLnByb3RvdHlwZS5tdWx0aXBseVNjYWxhcigKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICByYXkuZGlyZWN0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8u
ZGlzdGFuY2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAg
ICAgICAgICApOworICAgICAgICAgICAgICAgIGluZm8ubm9ybWFsID0gRmxvZy5SYXlUcmFjZXIu
VmVjdG9yLnByb3RvdHlwZS5zdWJ0cmFjdCgKKyAgICAgICAgICAgICAgICAgICAgICAgIGluZm8u
cG9zaXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uCisgICAgICAg
ICAgICAgICAgICAgICAgICApLm5vcm1hbGl6ZSgpOworCisgICAgICAgICAgICAgICAgaW5mby5j
b2xvciA9IHRoaXMubWF0ZXJpYWwuZ2V0Q29sb3IoMCwwKTsKKyAgICAgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICAgICAgaW5mby5pc0hpdCA9IGZhbHNlOworICAgICAgICAgICAgfQorCisg
ICAgICAgICAgICByYW5kb21FeGNlcHRpb24oKTsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAg
ICAgICAgcmV0dXJuIGluZm87CisgICAgfSwKKworICAgIHRvU3RyaW5nIDogZnVuY3Rpb24gKCkg
eworICAgICAgICB0cnkgeworICAgICAgICAgICAgcmV0dXJuICdTcGhlcmUgW3Bvc2l0aW9uPScg
KyB0aGlzLnBvc2l0aW9uICsgJywgcmFkaXVzPScgKyB0aGlzLnJhZGl1cyArICddJzsKKyAgICAg
ICAgfSBjYXRjaChlKSB7IH0KKyAgICB9Cit9CisvKiBGYWtlIGEgRmxvZy4qIG5hbWVzcGFjZSAq
LworaWYodHlwZW9mKEZsb2cpID09ICd1bmRlZmluZWQnKSB2YXIgRmxvZyA9IHt9OworaWYodHlw
ZW9mKEZsb2cuUmF5VHJhY2VyKSA9PSAndW5kZWZpbmVkJykgRmxvZy5SYXlUcmFjZXIgPSB7fTsK
K2lmKHR5cGVvZihGbG9nLlJheVRyYWNlci5TaGFwZSkgPT0gJ3VuZGVmaW5lZCcpIEZsb2cuUmF5
VHJhY2VyLlNoYXBlID0ge307CisKK0Zsb2cuUmF5VHJhY2VyLlNoYXBlLlBsYW5lID0gQ2xhc3Mu
Y3JlYXRlKCk7CisKK0Zsb2cuUmF5VHJhY2VyLlNoYXBlLlBsYW5lLnByb3RvdHlwZSA9IHsKKyAg
ICBkOiAwLjAsCisKKyAgICBpbml0aWFsaXplIDogZnVuY3Rpb24ocG9zLCBkLCBtYXRlcmlhbCkg
eworICAgICAgICB0cnkgeworICAgICAgICAgICAgdGhpcy5wb3NpdGlvbiA9IHBvczsKKyAgICAg
ICAgICAgIHRoaXMuZCA9IGQ7CisgICAgICAgICAgICB0aGlzLm1hdGVyaWFsID0gbWF0ZXJpYWw7
CisgICAgICAgICAgICByYW5kb21FeGNlcHRpb24oKTsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0K
KyAgICB9LAorCisgICAgaW50ZXJzZWN0OiBmdW5jdGlvbihyYXkpeworICAgICAgICB0cnkgewor
ICAgICAgICAgICAgdmFyIGluZm8gPSBuZXcgRmxvZy5SYXlUcmFjZXIuSW50ZXJzZWN0aW9uSW5m
bygpOworCisgICAgICAgICAgICB2YXIgVmQgPSB0aGlzLnBvc2l0aW9uLmRvdChyYXkuZGlyZWN0
aW9uKTsKKyAgICAgICAgICAgIGlmKFZkID09IDApIHJldHVybiBpbmZvOyAvLyBubyBpbnRlcnNl
Y3Rpb24KKworICAgICAgICAgICAgdmFyIHQgPSAtKHRoaXMucG9zaXRpb24uZG90KHJheS5wb3Np
dGlvbikgKyB0aGlzLmQpIC8gVmQ7CisgICAgICAgICAgICBpZih0IDw9IDApIHJldHVybiBpbmZv
OworCisgICAgICAgICAgICBpbmZvLnNoYXBlID0gdGhpczsKKyAgICAgICAgICAgIGluZm8uaXNI
aXQgPSB0cnVlOworICAgICAgICAgICAgaW5mby5wb3NpdGlvbiA9IEZsb2cuUmF5VHJhY2VyLlZl
Y3Rvci5wcm90b3R5cGUuYWRkKAorICAgICAgICAgICAgICAgICAgICByYXkucG9zaXRpb24sCisg
ICAgICAgICAgICAgICAgICAgIEZsb2cuUmF5VHJhY2VyLlZlY3Rvci5wcm90b3R5cGUubXVsdGlw
bHlTY2FsYXIoCisgICAgICAgICAgICAgICAgICAgICAgICByYXkuZGlyZWN0aW9uLAorICAgICAg
ICAgICAgICAgICAgICAgICAgdAorICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAg
ICAgICAgICAgICApOworICAgICAgICAgICAgaW5mby5ub3JtYWwgPSB0aGlzLnBvc2l0aW9uOwor
ICAgICAgICAgICAgaW5mby5kaXN0YW5jZSA9IHQ7CisKKyAgICAgICAgICAgIGlmKHRoaXMubWF0
ZXJpYWwuaGFzVGV4dHVyZSl7CisgICAgICAgICAgICAgICAgdmFyIHZVID0gbmV3IEZsb2cuUmF5
VHJhY2VyLlZlY3Rvcih0aGlzLnBvc2l0aW9uLnksIHRoaXMucG9zaXRpb24ueiwgLXRoaXMucG9z
aXRpb24ueCk7CisgICAgICAgICAgICAgICAgdmFyIHZWID0gdlUuY3Jvc3ModGhpcy5wb3NpdGlv
bik7CisgICAgICAgICAgICAgICAgdmFyIHUgPSBpbmZvLnBvc2l0aW9uLmRvdCh2VSk7CisgICAg
ICAgICAgICAgICAgdmFyIHYgPSBpbmZvLnBvc2l0aW9uLmRvdCh2Vik7CisgICAgICAgICAgICAg
ICAgaW5mby5jb2xvciA9IHRoaXMubWF0ZXJpYWwuZ2V0Q29sb3IodSx2KTsKKyAgICAgICAgICAg
IH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaW5mby5jb2xvciA9IHRoaXMubWF0ZXJpYWwuZ2V0
Q29sb3IoMCwwKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcmFuZG9tRXhjZXB0aW9u
KCk7CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgICAgIHJldHVybiBpbmZvOworICAgIH0s
CisKKyAgICB0b1N0cmluZyA6IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgIHJldHVybiAnUGxhbmUgWycgKyB0aGlzLnBvc2l0aW9uICsgJywgZD0nICsgdGhpcy5kICsg
J10nOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0KK30KKy8qIEZha2UgYSBGbG9nLiog
bmFtZXNwYWNlICovCitpZih0eXBlb2YoRmxvZykgPT0gJ3VuZGVmaW5lZCcpIHZhciBGbG9nID0g
e307CitpZih0eXBlb2YoRmxvZy5SYXlUcmFjZXIpID09ICd1bmRlZmluZWQnKSBGbG9nLlJheVRy
YWNlciA9IHt9OworCitGbG9nLlJheVRyYWNlci5JbnRlcnNlY3Rpb25JbmZvID0gQ2xhc3MuY3Jl
YXRlKCk7CisKK0Zsb2cuUmF5VHJhY2VyLkludGVyc2VjdGlvbkluZm8ucHJvdG90eXBlID0gewor
ICAgIGlzSGl0OiBmYWxzZSwKKyAgICBoaXRDb3VudDogMCwKKyAgICBzaGFwZTogbnVsbCwKKyAg
ICBwb3NpdGlvbjogbnVsbCwKKyAgICBub3JtYWw6IG51bGwsCisgICAgY29sb3I6IG51bGwsCisg
ICAgZGlzdGFuY2U6IG51bGwsCisKKyAgICBpbml0aWFsaXplIDogZnVuY3Rpb24oKSB7CisgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICB0aGlzLmNvbG9yID0gbmV3IEZsb2cuUmF5VHJhY2VyLkNv
bG9yKDAsMCwwKTsKKyAgICAgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgICAgICB9IGNh
dGNoKGUpIHsgfQorICAgIH0sCisKKyAgICB0b1N0cmluZyA6IGZ1bmN0aW9uICgpIHsKKyAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgIHJldHVybiAnSW50ZXJzZWN0aW9uIFsnICsgdGhpcy5wb3Np
dGlvbiArICddJzsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICB9Cit9CisvKiBGYWtlIGEg
RmxvZy4qIG5hbWVzcGFjZSAqLworaWYodHlwZW9mKEZsb2cpID09ICd1bmRlZmluZWQnKSB2YXIg
RmxvZyA9IHt9OworaWYodHlwZW9mKEZsb2cuUmF5VHJhY2VyKSA9PSAndW5kZWZpbmVkJykgRmxv
Zy5SYXlUcmFjZXIgPSB7fTsKKworRmxvZy5SYXlUcmFjZXIuQ2FtZXJhID0gQ2xhc3MuY3JlYXRl
KCk7CisKK0Zsb2cuUmF5VHJhY2VyLkNhbWVyYS5wcm90b3R5cGUgPSB7CisgICAgcG9zaXRpb246
IG51bGwsCisgICAgbG9va0F0OiBudWxsLAorICAgIGVxdWF0b3I6IG51bGwsCisgICAgdXA6IG51
bGwsCisgICAgc2NyZWVuOiBudWxsLAorCisgICAgaW5pdGlhbGl6ZSA6IGZ1bmN0aW9uKHBvcywg
bG9va0F0LCB1cCkgeworICAgICAgICB0cnkgeworICAgICAgICAgICAgdGhpcy5wb3NpdGlvbiA9
IHBvczsKKyAgICAgICAgICAgIHRoaXMubG9va0F0ID0gbG9va0F0OworICAgICAgICAgICAgdGhp
cy51cCA9IHVwOworICAgICAgICAgICAgdGhpcy5lcXVhdG9yID0gbG9va0F0Lm5vcm1hbGl6ZSgp
LmNyb3NzKHRoaXMudXApOworICAgICAgICAgICAgdGhpcy5zY3JlZW4gPSBGbG9nLlJheVRyYWNl
ci5WZWN0b3IucHJvdG90eXBlLmFkZCh0aGlzLnBvc2l0aW9uLCB0aGlzLmxvb2tBdCk7CisgICAg
ICAgICAgICByYW5kb21FeGNlcHRpb24oKTsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICB9
LAorCisgICAgZ2V0UmF5OiBmdW5jdGlvbih2eCwgdnkpeworICAgICAgICB0cnkgeworICAgICAg
ICAgICAgdmFyIHBvcyA9IEZsb2cuUmF5VHJhY2VyLlZlY3Rvci5wcm90b3R5cGUuc3VidHJhY3Qo
CisgICAgICAgICAgICAgICAgICAgIHRoaXMuc2NyZWVuLAorICAgICAgICAgICAgICAgICAgICBG
bG9nLlJheVRyYWNlci5WZWN0b3IucHJvdG90eXBlLnN1YnRyYWN0KAorICAgICAgICAgICAgICAg
ICAgICAgICAgRmxvZy5SYXlUcmFjZXIuVmVjdG9yLnByb3RvdHlwZS5tdWx0aXBseVNjYWxhcih0
aGlzLmVxdWF0b3IsIHZ4KSwKKyAgICAgICAgICAgICAgICAgICAgICAgIEZsb2cuUmF5VHJhY2Vy
LlZlY3Rvci5wcm90b3R5cGUubXVsdGlwbHlTY2FsYXIodGhpcy51cCwgdnkpCisgICAgICAgICAg
ICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAgICk7CisgICAgICAgICAgICBwb3Mu
eSA9IHBvcy55ICogLTE7CisgICAgICAgICAgICB2YXIgZGlyID0gRmxvZy5SYXlUcmFjZXIuVmVj
dG9yLnByb3RvdHlwZS5zdWJ0cmFjdCgKKyAgICAgICAgICAgICAgICAgICAgcG9zLAorICAgICAg
ICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uCisgICAgICAgICAgICAgICAgICAgICk7CisKKyAg
ICAgICAgICAgIHZhciByYXkgPSBuZXcgRmxvZy5SYXlUcmFjZXIuUmF5KHBvcywgZGlyLm5vcm1h
bGl6ZSgpKTsKKworICAgICAgICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7CisgICAgICAgIH0gY2F0
Y2goZSkgeyB9CisgICAgICAgIHJldHVybiByYXk7CisgICAgfSwKKworICAgIHRvU3RyaW5nIDog
ZnVuY3Rpb24gKCkgeworICAgICAgICB0cnkgeworICAgICAgICAgICAgcmV0dXJuICdSYXkgW10n
OworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0KK30KKy8qIEZha2UgYSBGbG9nLiogbmFt
ZXNwYWNlICovCitpZih0eXBlb2YoRmxvZykgPT0gJ3VuZGVmaW5lZCcpIHZhciBGbG9nID0ge307
CitpZih0eXBlb2YoRmxvZy5SYXlUcmFjZXIpID09ICd1bmRlZmluZWQnKSBGbG9nLlJheVRyYWNl
ciA9IHt9OworCitGbG9nLlJheVRyYWNlci5CYWNrZ3JvdW5kID0gQ2xhc3MuY3JlYXRlKCk7CisK
K0Zsb2cuUmF5VHJhY2VyLkJhY2tncm91bmQucHJvdG90eXBlID0geworICAgIGNvbG9yIDogbnVs
bCwKKyAgICBhbWJpZW5jZSA6IDAuMCwKKworICAgIGluaXRpYWxpemUgOiBmdW5jdGlvbihjb2xv
ciwgYW1iaWVuY2UpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHRoaXMuY29sb3IgPSBj
b2xvcjsKKyAgICAgICAgICAgIHRoaXMuYW1iaWVuY2UgPSBhbWJpZW5jZTsKKyAgICAgICAgICAg
IHJhbmRvbUV4Y2VwdGlvbigpOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0KK30KKy8q
IEZha2UgYSBGbG9nLiogbmFtZXNwYWNlICovCitpZih0eXBlb2YoRmxvZykgPT0gJ3VuZGVmaW5l
ZCcpIHZhciBGbG9nID0ge307CitpZih0eXBlb2YoRmxvZy5SYXlUcmFjZXIpID09ICd1bmRlZmlu
ZWQnKSBGbG9nLlJheVRyYWNlciA9IHt9OworCitGbG9nLlJheVRyYWNlci5FbmdpbmUgPSBDbGFz
cy5jcmVhdGUoKTsKKworRmxvZy5SYXlUcmFjZXIuRW5naW5lLnByb3RvdHlwZSA9IHsKKyAgICBj
YW52YXM6IG51bGwsIC8qIDJkIGNvbnRleHQgd2UgY2FuIHJlbmRlciB0byAqLworCisgICAgaW5p
dGlhbGl6ZTogZnVuY3Rpb24ob3B0aW9ucyl7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB0
aGlzLm9wdGlvbnMgPSBPYmplY3QuZXh0ZW5kKHsKKyAgICAgICAgICAgICAgICBjYW52YXNIZWln
aHQ6IDEwMCwKKyAgICAgICAgICAgICAgICBjYW52YXNXaWR0aDogMTAwLAorICAgICAgICAgICAg
ICAgIHBpeGVsV2lkdGg6IDIsCisgICAgICAgICAgICAgICAgcGl4ZWxIZWlnaHQ6IDIsCisgICAg
ICAgICAgICAgICAgcmVuZGVyRGlmZnVzZTogZmFsc2UsCisgICAgICAgICAgICAgICAgcmVuZGVy
U2hhZG93czogZmFsc2UsCisgICAgICAgICAgICAgICAgcmVuZGVySGlnaGxpZ2h0czogZmFsc2Us
CisgICAgICAgICAgICAgICAgcmVuZGVyUmVmbGVjdGlvbnM6IGZhbHNlLAorICAgICAgICAgICAg
ICAgIHJheURlcHRoOiAyCisgICAgICAgICAgICB9LCBvcHRpb25zIHx8IHt9KTsKKworICAgICAg
ICAgICAgdGhpcy5vcHRpb25zLmNhbnZhc0hlaWdodCAvPSB0aGlzLm9wdGlvbnMucGl4ZWxIZWln
aHQ7CisgICAgICAgICAgICB0aGlzLm9wdGlvbnMuY2FudmFzV2lkdGggLz0gdGhpcy5vcHRpb25z
LnBpeGVsV2lkdGg7CisKKyAgICAgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgICAgICB9
IGNhdGNoKGUpIHsgfQorCisgICAgICAgIC8qIFRPRE86IGR5bmFtaWNhbGx5IGluY2x1ZGUgb3Ro
ZXIgc2NyaXB0cyAqLworICAgIH0sCisKKyAgICBzZXRQaXhlbDogZnVuY3Rpb24oeCwgeSwgY29s
b3IpeworICAgICAgICB0cnkgeworICAgICAgICAgICAgdmFyIHB4VywgcHhIOworICAgICAgICAg
ICAgcHhXID0gdGhpcy5vcHRpb25zLnBpeGVsV2lkdGg7CisgICAgICAgICAgICBweEggPSB0aGlz
Lm9wdGlvbnMucGl4ZWxIZWlnaHQ7CisKKyAgICAgICAgICAgIGlmICh0aGlzLmNhbnZhcykgewor
ICAgICAgICAgICAgICAgIHRoaXMuY2FudmFzLmZpbGxTdHlsZSA9IGNvbG9yLnRvU3RyaW5nKCk7
CisgICAgICAgICAgICAgICAgdGhpcy5jYW52YXMuZmlsbFJlY3QgKHggKiBweFcsIHkgKiBweEgs
IHB4VywgcHhIKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaWYgKHgg
PT09ICB5KSB7CisgICAgICAgICAgICAgICAgICAgIGNoZWNrTnVtYmVyICs9IGNvbG9yLmJyaWdo
dG5lc3MoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgLy8gcHJpbnQoeCAq
IHB4VywgeSAqIHB4SCwgcHhXLCBweEgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICBy
YW5kb21FeGNlcHRpb24oKTsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICB9LAorCisgICAg
cmVuZGVyU2NlbmU6IGZ1bmN0aW9uKHNjZW5lLCBjYW52YXMpeworICAgICAgICB0cnkgeworICAg
ICAgICAgICAgY2hlY2tOdW1iZXIgPSAwOworICAgICAgICAgICAgLyogR2V0IGNhbnZhcyAqLwor
ICAgICAgICAgICAgaWYgKGNhbnZhcykgeworICAgICAgICAgICAgICAgIHRoaXMuY2FudmFzID0g
Y2FudmFzLmdldENvbnRleHQoIjJkIik7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAg
ICAgICAgIHRoaXMuY2FudmFzID0gbnVsbDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAg
dmFyIGNhbnZhc0hlaWdodCA9IHRoaXMub3B0aW9ucy5jYW52YXNIZWlnaHQ7CisgICAgICAgICAg
ICB2YXIgY2FudmFzV2lkdGggPSB0aGlzLm9wdGlvbnMuY2FudmFzV2lkdGg7CisKKyAgICAgICAg
ICAgIGZvcih2YXIgeT0wOyB5IDwgY2FudmFzSGVpZ2h0OyB5KyspeworICAgICAgICAgICAgICAg
IGZvcih2YXIgeD0wOyB4IDwgY2FudmFzV2lkdGg7IHgrKyl7CisgICAgICAgICAgICAgICAgICAg
IHRyeSB7CisgICAgICAgICAgICAgICAgICAgICAgICB2YXIgeXAgPSB5ICogMS4wIC8gY2FudmFz
SGVpZ2h0ICogMiAtIDE7CisgICAgICAgICAgICAgICAgICAgICAgICB2YXIgeHAgPSB4ICogMS4w
IC8gY2FudmFzV2lkdGggKiAyIC0gMTsKKworICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJh
eSA9IHNjZW5lLmNhbWVyYS5nZXRSYXkoeHAsIHlwKTsKKworICAgICAgICAgICAgICAgICAgICAg
ICAgdmFyIGNvbG9yID0gdGhpcy5nZXRQaXhlbENvbG9yKHJheSwgc2NlbmUpOworCisgICAgICAg
ICAgICAgICAgICAgICAgICB0aGlzLnNldFBpeGVsKHgsIHksIGNvbG9yKTsKKworICAgICAgICAg
ICAgICAgICAgICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7CisgICAgICAgICAgICAgICAgICAgIH0g
Y2F0Y2goZSkgeyB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9
IGNhdGNoKGUpIHsgfQorICAgICAgICBpZiAoY2hlY2tOdW1iZXIgIT09IDIzMjEpIHsKKyAgICAg
ICAgICAgIHRocm93IG5ldyBFcnJvcigiU2NlbmUgcmVuZGVyZWQgaW5jb3JyZWN0bHkiKTsKKyAg
ICAgICAgfQorICAgIH0sCisKKyAgICBnZXRQaXhlbENvbG9yOiBmdW5jdGlvbihyYXksIHNjZW5l
KXsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciBpbmZvID0gdGhpcy50ZXN0SW50ZXJz
ZWN0aW9uKHJheSwgc2NlbmUsIG51bGwpOworICAgICAgICAgICAgaWYoaW5mby5pc0hpdCl7Cisg
ICAgICAgICAgICAgICAgdmFyIGNvbG9yID0gdGhpcy5yYXlUcmFjZShpbmZvLCByYXksIHNjZW5l
LCAwKTsKKyAgICAgICAgICAgICAgICByZXR1cm4gY29sb3I7CisgICAgICAgICAgICB9CisgICAg
ICAgICAgICByZXR1cm4gc2NlbmUuYmFja2dyb3VuZC5jb2xvcjsKKyAgICAgICAgfSBjYXRjaChl
KSB7IH0KKyAgICB9LAorCisgICAgdGVzdEludGVyc2VjdGlvbjogZnVuY3Rpb24ocmF5LCBzY2Vu
ZSwgZXhjbHVkZSl7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB2YXIgaGl0cyA9IDA7Cisg
ICAgICAgICAgICB2YXIgYmVzdCA9IG5ldyBGbG9nLlJheVRyYWNlci5JbnRlcnNlY3Rpb25JbmZv
KCk7CisgICAgICAgICAgICBiZXN0LmRpc3RhbmNlID0gMjAwMDsKKworICAgICAgICAgICAgZm9y
KHZhciBpPTA7IGk8c2NlbmUuc2hhcGVzLmxlbmd0aDsgaSsrKXsKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICB2YXIgc2hhcGUgPSBzY2VuZS5zaGFwZXNbaV07CisK
KyAgICAgICAgICAgICAgICAgICAgaWYoc2hhcGUgIT0gZXhjbHVkZSl7CisgICAgICAgICAgICAg
ICAgICAgICAgICB2YXIgaW5mbyA9IHNoYXBlLmludGVyc2VjdChyYXkpOworICAgICAgICAgICAg
ICAgICAgICAgICAgaWYoaW5mby5pc0hpdCAmJiBpbmZvLmRpc3RhbmNlID49IDAgJiYgaW5mby5k
aXN0YW5jZSA8IGJlc3QuZGlzdGFuY2UpeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJl
c3QgPSBpbmZvOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpdHMrKzsKKyAgICAgICAg
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAg
ICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgICAgICAgICAgICAgIH0gY2F0Y2goZSkgeyB9
CisgICAgICAgICAgICB9CisgICAgICAgICAgICBiZXN0LmhpdENvdW50ID0gaGl0czsKKworICAg
ICAgICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAg
ICAgIHJldHVybiBiZXN0OworICAgIH0sCisKKyAgICBnZXRSZWZsZWN0aW9uUmF5OiBmdW5jdGlv
bihQLE4sVil7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB2YXIgYzEgPSAtTi5kb3QoVik7
CisgICAgICAgICAgICB2YXIgUjEgPSBGbG9nLlJheVRyYWNlci5WZWN0b3IucHJvdG90eXBlLmFk
ZCgKKyAgICAgICAgICAgICAgICAgICAgRmxvZy5SYXlUcmFjZXIuVmVjdG9yLnByb3RvdHlwZS5t
dWx0aXBseVNjYWxhcihOLCAyKmMxKSwKKyAgICAgICAgICAgICAgICAgICAgVgorICAgICAgICAg
ICAgICAgICAgICApOworCisgICAgICAgICAgICByYW5kb21FeGNlcHRpb24oKTsKKyAgICAgICAg
fSBjYXRjaChlKSB7IH0KKyAgICAgICAgcmV0dXJuIG5ldyBGbG9nLlJheVRyYWNlci5SYXkoUCwg
UjEpOworICAgIH0sCisKKyAgICByYXlUcmFjZTogZnVuY3Rpb24oaW5mbywgcmF5LCBzY2VuZSwg
ZGVwdGgpeworICAgICAgICAvLyBDYWxjIGFtYmllbnQKKyAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgIHZhciBjb2xvciA9IEZsb2cuUmF5VHJhY2VyLkNvbG9yLnByb3RvdHlwZS5tdWx0aXBseVNj
YWxhcihpbmZvLmNvbG9yLCBzY2VuZS5iYWNrZ3JvdW5kLmFtYmllbmNlKTsKKyAgICAgICAgICAg
IHZhciBvbGRDb2xvciA9IGNvbG9yOworICAgICAgICAgICAgdmFyIHNoaW5pbmVzcyA9IE1hdGgu
cG93KDEwLCBpbmZvLnNoYXBlLm1hdGVyaWFsLmdsb3NzICsgMSk7CisKKyAgICAgICAgICAgIGZv
cih2YXIgaT0wOyBpPHNjZW5lLmxpZ2h0cy5sZW5ndGg7IGkrKyl7CisgICAgICAgICAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgdmFyIGxpZ2h0ID0gc2NlbmUubGlnaHRzW2ldOwor
CisgICAgICAgICAgICAgICAgICAgIC8vIENhbGMgZGlmZnVzZSBsaWdodGluZworICAgICAgICAg
ICAgICAgICAgICB2YXIgdiA9IEZsb2cuUmF5VHJhY2VyLlZlY3Rvci5wcm90b3R5cGUuc3VidHJh
Y3QoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlnaHQucG9zaXRpb24sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaW5mby5wb3NpdGlvbgorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICkubm9ybWFsaXplKCk7CisKKyAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5vcHRp
b25zLnJlbmRlckRpZmZ1c2UpeworICAgICAgICAgICAgICAgICAgICAgICAgdmFyIEwgPSB2LmRv
dChpbmZvLm5vcm1hbCk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZihMID4gMC4wKXsKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvciA9IEZsb2cuUmF5VHJhY2VyLkNvbG9yLnBy
b3RvdHlwZS5hZGQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvciwK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZsb2cuUmF5VHJhY2VyLkNvbG9y
LnByb3RvdHlwZS5tdWx0aXBseSgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBpbmZvLmNvbG9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IEZsb2cuUmF5VHJhY2VyLkNvbG9yLnByb3RvdHlwZS5tdWx0aXBseVNjYWxhcigKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlnaHQuY29sb3IsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgICAgICAgICByYW5kb21FeGNlcHRpb24oKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNo
KGUpIHsgfQorCisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgLy8g
VGhlIGdyZWF0ZXIgdGhlIGRlcHRoIHRoZSBtb3JlIGFjY3VyYXRlIHRoZSBjb2xvdXJzLCBidXQK
KyAgICAgICAgICAgICAgICAgICAgLy8gdGhpcyBpcyBleHBvbmVudGlhbGx5ICghKSBleHBlbnNp
dmUKKyAgICAgICAgICAgICAgICAgICAgaWYoZGVwdGggPD0gdGhpcy5vcHRpb25zLnJheURlcHRo
KXsKKyAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNhbGN1bGF0ZSByZWZsZWN0aW9uIHJheQor
ICAgICAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5vcHRpb25zLnJlbmRlclJlZmxlY3Rpb25z
ICYmIGluZm8uc2hhcGUubWF0ZXJpYWwucmVmbGVjdGlvbiA+IDApCisgICAgICAgICAgICAgICAg
ICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlZmxlY3Rpb25SYXkg
PSB0aGlzLmdldFJlZmxlY3Rpb25SYXkoaW5mby5wb3NpdGlvbiwgaW5mby5ub3JtYWwsIHJheS5k
aXJlY3Rpb24pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZWZsID0gdGhpcy50
ZXN0SW50ZXJzZWN0aW9uKHJlZmxlY3Rpb25SYXksIHNjZW5lLCBpbmZvLnNoYXBlKTsKKworICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZWZsLmlzSGl0ICYmIHJlZmwuZGlzdGFuY2Ug
PiAwKXsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmbC5jb2xvciA9IHRoaXMu
cmF5VHJhY2UocmVmbCwgcmVmbGVjdGlvblJheSwgc2NlbmUsIGRlcHRoICsgMSk7CisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgcmVmbC5jb2xvciA9IHNjZW5lLmJhY2tncm91bmQuY29sb3I7CisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3IgPSBG
bG9nLlJheVRyYWNlci5Db2xvci5wcm90b3R5cGUuYmxlbmQoCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBjb2xvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHJlZmwuY29sb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZv
LnNoYXBlLm1hdGVyaWFsLnJlZmxlY3Rpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICk7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIFJlZnJhY3Rpb24KKyAgICAgICAgICAgICAgICAgICAgICAgIC8qIFRPRE8gKi8K
KyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICByYW5kb21FeGNlcHRp
b24oKTsKKyAgICAgICAgICAgICAgICB9ICBjYXRjaChlKSB7IH0KKworICAgICAgICAgICAgICAg
IC8qIFJlbmRlciBzaGFkb3dzIGFuZCBoaWdobGlnaHRzICovCisKKyAgICAgICAgICAgICAgICB2
YXIgc2hhZG93SW5mbyA9IG5ldyBGbG9nLlJheVRyYWNlci5JbnRlcnNlY3Rpb25JbmZvKCk7CisK
KyAgICAgICAgICAgICAgICBpZih0aGlzLm9wdGlvbnMucmVuZGVyU2hhZG93cyl7CisgICAgICAg
ICAgICAgICAgICAgIHZhciBzaGFkb3dSYXkgPSBuZXcgRmxvZy5SYXlUcmFjZXIuUmF5KGluZm8u
cG9zaXRpb24sIHYpOworCisgICAgICAgICAgICAgICAgICAgIHNoYWRvd0luZm8gPSB0aGlzLnRl
c3RJbnRlcnNlY3Rpb24oc2hhZG93UmF5LCBzY2VuZSwgaW5mby5zaGFwZSk7CisgICAgICAgICAg
ICAgICAgICAgIGlmKHNoYWRvd0luZm8uaXNIaXQgJiYgc2hhZG93SW5mby5zaGFwZSAhPSBpbmZv
LnNoYXBlIC8qJiYgc2hhZG93SW5mby5zaGFwZS50eXBlICE9ICdQTEFORScqLyl7CisgICAgICAg
ICAgICAgICAgICAgICAgICB2YXIgdkEgPSBGbG9nLlJheVRyYWNlci5Db2xvci5wcm90b3R5cGUu
bXVsdGlwbHlTY2FsYXIoY29sb3IsIDAuNSk7CisgICAgICAgICAgICAgICAgICAgICAgICB2YXIg
ZEIgPSAoMC41ICogTWF0aC5wb3coc2hhZG93SW5mby5zaGFwZS5tYXRlcmlhbC50cmFuc3BhcmVu
Y3ksIDAuNSkpOworICAgICAgICAgICAgICAgICAgICAgICAgY29sb3IgPSBGbG9nLlJheVRyYWNl
ci5Db2xvci5wcm90b3R5cGUuYWRkU2NhbGFyKHZBLGRCKTsKKyAgICAgICAgICAgICAgICAgICAg
fQorICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAg
ICAgICAgICAgIC8vIFBob25nIHNwZWN1bGFyIGhpZ2hsaWdodHMKKyAgICAgICAgICAgICAgICAg
ICAgaWYodGhpcy5vcHRpb25zLnJlbmRlckhpZ2hsaWdodHMgJiYgIXNoYWRvd0luZm8uaXNIaXQg
JiYgaW5mby5zaGFwZS5tYXRlcmlhbC5nbG9zcyA+IDApeworICAgICAgICAgICAgICAgICAgICAg
ICAgdmFyIEx2ID0gRmxvZy5SYXlUcmFjZXIuVmVjdG9yLnByb3RvdHlwZS5zdWJ0cmFjdCgKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mby5zaGFwZS5wb3NpdGlvbiwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlnaHQucG9zaXRpb24KKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgKS5ub3JtYWxpemUoKTsKKworICAgICAgICAgICAgICAgICAgICAg
ICAgdmFyIEUgPSBGbG9nLlJheVRyYWNlci5WZWN0b3IucHJvdG90eXBlLnN1YnRyYWN0KAorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY2VuZS5jYW1lcmEucG9zaXRpb24sCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8uc2hhcGUucG9zaXRpb24KKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKS5ub3JtYWxpemUoKTsKKworICAgICAgICAgICAgICAg
ICAgICAgICAgdmFyIEggPSBGbG9nLlJheVRyYWNlci5WZWN0b3IucHJvdG90eXBlLnN1YnRyYWN0
KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBMdgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLm5vcm1h
bGl6ZSgpOworCisgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZ2xvc3NXZWlnaHQgPSBNYXRo
LnBvdyhNYXRoLm1heChpbmZvLm5vcm1hbC5kb3QoSCksIDApLCBzaGluaW5lc3MpOworICAgICAg
ICAgICAgICAgICAgICAgICAgY29sb3IgPSBGbG9nLlJheVRyYWNlci5Db2xvci5wcm90b3R5cGUu
YWRkKAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGbG9nLlJheVRyYWNlci5Db2xv
ci5wcm90b3R5cGUubXVsdGlwbHlTY2FsYXIobGlnaHQuY29sb3IsIGdsb3NzV2VpZ2h0KSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3IKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAg
ICByYW5kb21FeGNlcHRpb24oKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAg
ICAgICAgICAgfQorICAgICAgICAgICAgY29sb3IubGltaXQoKTsKKworICAgICAgICAgICAgcmFu
ZG9tRXhjZXB0aW9uKCk7CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgICAgIHJldHVybiBj
b2xvcjsKKyAgICB9Cit9OworCisKK2Z1bmN0aW9uIHJlbmRlclNjZW5lKCl7CisgICAgdHJ5IHsK
KyAgICAgICAgdmFyIHNjZW5lID0gbmV3IEZsb2cuUmF5VHJhY2VyLlNjZW5lKCk7CisKKyAgICAg
ICAgc2NlbmUuY2FtZXJhID0gbmV3IEZsb2cuUmF5VHJhY2VyLkNhbWVyYSgKKyAgICAgICAgICAg
ICAgICBuZXcgRmxvZy5SYXlUcmFjZXIuVmVjdG9yKDAsIDAsIC0xNSksCisgICAgICAgICAgICAg
ICAgbmV3IEZsb2cuUmF5VHJhY2VyLlZlY3RvcigtMC4yLCAwLCA1KSwKKyAgICAgICAgICAgICAg
ICBuZXcgRmxvZy5SYXlUcmFjZXIuVmVjdG9yKDAsIDEsIDApCisgICAgICAgICAgICAgICAgKTsK
KworICAgICAgICBzY2VuZS5iYWNrZ3JvdW5kID0gbmV3IEZsb2cuUmF5VHJhY2VyLkJhY2tncm91
bmQoCisgICAgICAgICAgICAgICAgbmV3IEZsb2cuUmF5VHJhY2VyLkNvbG9yKDAuNSwgMC41LCAw
LjUpLAorICAgICAgICAgICAgICAgIDAuNAorICAgICAgICAgICAgICAgICk7CisKKyAgICAgICAg
dmFyIHNwaGVyZSA9IG5ldyBGbG9nLlJheVRyYWNlci5TaGFwZS5TcGhlcmUoCisgICAgICAgICAg
ICAgICAgbmV3IEZsb2cuUmF5VHJhY2VyLlZlY3RvcigtMS41LCAxLjUsIDIpLAorICAgICAgICAg
ICAgICAgIDEuNSwKKyAgICAgICAgICAgICAgICBuZXcgRmxvZy5SYXlUcmFjZXIuTWF0ZXJpYWwu
U29saWQoCisgICAgICAgICAgICAgICAgICAgIG5ldyBGbG9nLlJheVRyYWNlci5Db2xvcigwLDAu
NSwwLjUpLAorICAgICAgICAgICAgICAgICAgICAwLjMsCisgICAgICAgICAgICAgICAgICAgIDAu
MCwKKyAgICAgICAgICAgICAgICAgICAgMC4wLAorICAgICAgICAgICAgICAgICAgICAyLjAKKyAg
ICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICk7CisKKyAgICAgICAgdmFyIHNw
aGVyZTEgPSBuZXcgRmxvZy5SYXlUcmFjZXIuU2hhcGUuU3BoZXJlKAorICAgICAgICAgICAgICAg
IG5ldyBGbG9nLlJheVRyYWNlci5WZWN0b3IoMSwgMC4yNSwgMSksCisgICAgICAgICAgICAgICAg
MC41LAorICAgICAgICAgICAgICAgIG5ldyBGbG9nLlJheVRyYWNlci5NYXRlcmlhbC5Tb2xpZCgK
KyAgICAgICAgICAgICAgICAgICAgbmV3IEZsb2cuUmF5VHJhY2VyLkNvbG9yKDAuOSwwLjksMC45
KSwKKyAgICAgICAgICAgICAgICAgICAgMC4xLAorICAgICAgICAgICAgICAgICAgICAwLjAsCisg
ICAgICAgICAgICAgICAgICAgIDAuMCwKKyAgICAgICAgICAgICAgICAgICAgMS41CisgICAgICAg
ICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICApOworCisgICAgICAgIHZhciBwbGFuZSA9
IG5ldyBGbG9nLlJheVRyYWNlci5TaGFwZS5QbGFuZSgKKyAgICAgICAgICAgICAgICBuZXcgRmxv
Zy5SYXlUcmFjZXIuVmVjdG9yKDAuMSwgMC45LCAtMC41KS5ub3JtYWxpemUoKSwKKyAgICAgICAg
ICAgICAgICAxLjIsCisgICAgICAgICAgICAgICAgbmV3IEZsb2cuUmF5VHJhY2VyLk1hdGVyaWFs
LkNoZXNzYm9hcmQoCisgICAgICAgICAgICAgICAgICAgIG5ldyBGbG9nLlJheVRyYWNlci5Db2xv
cigxLDEsMSksCisgICAgICAgICAgICAgICAgICAgIG5ldyBGbG9nLlJheVRyYWNlci5Db2xvcigw
LDAsMCksCisgICAgICAgICAgICAgICAgICAgIDAuMiwKKyAgICAgICAgICAgICAgICAgICAgMC4w
LAorICAgICAgICAgICAgICAgICAgICAxLjAsCisgICAgICAgICAgICAgICAgICAgIDAuNworICAg
ICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgKTsKKworICAgICAgICBzY2VuZS5z
aGFwZXMucHVzaChwbGFuZSk7CisgICAgICAgIHNjZW5lLnNoYXBlcy5wdXNoKHNwaGVyZSk7Cisg
ICAgICAgIHNjZW5lLnNoYXBlcy5wdXNoKHNwaGVyZTEpOworCisgICAgICAgIHZhciBsaWdodCA9
IG5ldyBGbG9nLlJheVRyYWNlci5MaWdodCgKKyAgICAgICAgICAgICAgICBuZXcgRmxvZy5SYXlU
cmFjZXIuVmVjdG9yKDUsIDEwLCAtMSksCisgICAgICAgICAgICAgICAgbmV3IEZsb2cuUmF5VHJh
Y2VyLkNvbG9yKDAuOCwgMC44LCAwLjgpCisgICAgICAgICAgICAgICAgKTsKKworICAgICAgICB2
YXIgbGlnaHQxID0gbmV3IEZsb2cuUmF5VHJhY2VyLkxpZ2h0KAorICAgICAgICAgICAgICAgIG5l
dyBGbG9nLlJheVRyYWNlci5WZWN0b3IoLTMsIDUsIC0xNSksCisgICAgICAgICAgICAgICAgbmV3
IEZsb2cuUmF5VHJhY2VyLkNvbG9yKDAuOCwgMC44LCAwLjgpLAorICAgICAgICAgICAgICAgIDEw
MAorICAgICAgICAgICAgICAgICk7CisKKyAgICAgICAgc2NlbmUubGlnaHRzLnB1c2gobGlnaHQp
OworICAgICAgICBzY2VuZS5saWdodHMucHVzaChsaWdodDEpOworCisgICAgICAgIHZhciBpbWFn
ZVdpZHRoID0gMTAwOyAvLyAkRignaW1hZ2VXaWR0aCcpOworICAgICAgICB2YXIgaW1hZ2VIZWln
aHQgPSAxMDA7IC8vICRGKCdpbWFnZUhlaWdodCcpOworICAgICAgICB2YXIgcGl4ZWxTaXplID0g
IjUsNSIuc3BsaXQoJywnKTsgLy8gICRGKCdwaXhlbFNpemUnKS5zcGxpdCgnLCcpOworICAgICAg
ICB2YXIgcmVuZGVyRGlmZnVzZSA9IHRydWU7IC8vICRGKCdyZW5kZXJEaWZmdXNlJyk7CisgICAg
ICAgIHZhciByZW5kZXJTaGFkb3dzID0gdHJ1ZTsgLy8gJEYoJ3JlbmRlclNoYWRvd3MnKTsKKyAg
ICAgICAgdmFyIHJlbmRlckhpZ2hsaWdodHMgPSB0cnVlOyAvLyAkRigncmVuZGVySGlnaGxpZ2h0
cycpOworICAgICAgICB2YXIgcmVuZGVyUmVmbGVjdGlvbnMgPSB0cnVlOyAvLyAkRigncmVuZGVy
UmVmbGVjdGlvbnMnKTsKKyAgICAgICAgdmFyIHJheURlcHRoID0gMjsvLyRGKCdyYXlEZXB0aCcp
OworCisgICAgICAgIHZhciByYXl0cmFjZXIgPSBuZXcgRmxvZy5SYXlUcmFjZXIuRW5naW5lKAor
ICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgY2FudmFzV2lkdGg6IGltYWdl
V2lkdGgsCisgICAgICAgICAgICAgICAgICAgIGNhbnZhc0hlaWdodDogaW1hZ2VIZWlnaHQsCisg
ICAgICAgICAgICAgICAgICAgIHBpeGVsV2lkdGg6IHBpeGVsU2l6ZVswXSwKKyAgICAgICAgICAg
ICAgICAgICAgcGl4ZWxIZWlnaHQ6IHBpeGVsU2l6ZVsxXSwKKyAgICAgICAgICAgICAgICAgICAg
InJlbmRlckRpZmZ1c2UiOiByZW5kZXJEaWZmdXNlLAorICAgICAgICAgICAgICAgICAgICAicmVu
ZGVySGlnaGxpZ2h0cyI6IHJlbmRlckhpZ2hsaWdodHMsCisgICAgICAgICAgICAgICAgICAgICJy
ZW5kZXJTaGFkb3dzIjogcmVuZGVyU2hhZG93cywKKyAgICAgICAgICAgICAgICAgICAgInJlbmRl
clJlZmxlY3Rpb25zIjogcmVuZGVyUmVmbGVjdGlvbnMsCisgICAgICAgICAgICAgICAgICAgICJy
YXlEZXB0aCI6IHJheURlcHRoCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICk7
CisKKyAgICAgICAgcmF5dHJhY2VyLnJlbmRlclNjZW5lKHNjZW5lLCBudWxsLCAwKTsKKyAgICAg
ICAgcmFuZG9tRXhjZXB0aW9uKCk7CisgICAgfSBjYXRjaChlKSB7IH0KK30KKworZm9yICh2YXIg
aSA9IDA7IGkgPCA2OyArK2kpCisgICAgcmVuZGVyU2NlbmUoKTsKSW5kZXg6IExheW91dFRlc3Rz
L2pzL3NjcmlwdC10ZXN0cy9kZmctZ2V0dGVyLXRocm93LmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2pzL3NjcmlwdC10ZXN0cy9kZmctZ2V0dGVyLXRocm93LmpzCShyZXZpc2lvbiAxODk4
MTcpCisrKyBMYXlvdXRUZXN0cy9qcy9zY3JpcHQtdGVzdHMvZGZnLWdldHRlci10aHJvdy5qcwko
d29ya2luZyBjb3B5KQpAQCAtMTMsNiArMTMsNyBAQCBmdW5jdGlvbiBiYXIobykgewogICAgICAg
ICByZXR1cm4gIlRocmV3IGV4Y2VwdGlvbjogIiArIGU7CiAgICAgfQogfQorbm9JbmxpbmUoYmFy
KTsKIAogZm9yICh2YXIgaSA9IDA7IGkgPCAyMDA7ICsraSkgewogICAgIHZhciBvID0gbmV3IE9i
amVjdCgpOwo=
</data>
<flag name="review"
          id="286452"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>261531</attachid>
            <date>2015-09-18 15:47:22 -0700</date>
            <delta_ts>2015-09-18 15:47:22 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>196971</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTg5OTg2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwOSBA
QAorMjAxNS0wOS0xNyAgU2FhbSBiYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KKworICAgICAg
ICBJbXBsZW1lbnQgdHJ5L2NhdGNoIGluIHRoZSBERkcuCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDczNzQKKworICAgICAgICBSZXZpZXdlZCBieSBG
aWxpcCBQaXpsby4KKworICAgICAgICBUaGlzIHBhdGNoIGltcGxlbWVudHMgdHJ5L2NhdGNoIGlu
c2lkZSB0aGUgREZHIEpJVC4KKyAgICAgICAgSXQgYWxzbyBwcmV2ZW50cyB0aWVyIHVwIHRvIHRo
ZSBGVEwgZm9yIGFueSBmdW5jdGlvbnMKKyAgICAgICAgdGhhdCBoYXZlIGFuIG9wX2NhdGNoIGlu
IHRoZW0gdGhhdCBhcmUgREZHIGNvbXBpbGVkLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWNjb21w
bGlzaGVzIGltcGxlbWVudGluZyB0cnkvY2F0Y2ggaW5zaWRlCisgICAgICAgIHRoZSBERkcgYnkg
T1NSIGV4aXRpbmcgdG8gb3BfY2F0Y2ggd2hlbiBhbiBleGNlcHRpb24gaXMgdGhyb3duLgorICAg
ICAgICBXZSBjYW4gT1NSIGV4aXQgZnJvbSBhbiBleGNlcHRpb24gaW5zaWRlIHRoZSBERkcgaW4g
dHdvIHdheXM6CisgICAgICAgIDEpIFdlIGhhdmUgYSBKUyBjYWxsIChjYW4gYWxzbyBiZSB2aWEg
aW1wbGljaXQgZ2V0dGVyL3NldHRlciBpbiBHZXRCeUlkL1B1dEJ5SWQpCisgICAgICAgIDIpIFdl
IGhhdmUgYW4gZXhjZXB0aW9uIHdoZW4gcmV0dXJpbmcgZnJvbSBhIGNhbGxPcGVyYXRpb24KKwor
ICAgICAgICBJbiB0aGUgY2FzZSBvZiAoMSksIHdlIGdldCB0byB0aGUgT1NSIGV4aXQgZnJvbSBn
ZW5lcmljVW53aW5kIGJlY2F1c2UKKyAgICAgICAgdGhlIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGlu
IGEgY2hpbGQgY2FsbCBmcmFtZS4gVGhpcyBtZWFucyB0aGVzZQorICAgICAgICBPU1IgZXhpdHMg
bXVzdCBhY3QgYXMgZGVmYWN0byBvcF9jYXRjaGVzIChldmVuIHRob3VnaCB3ZSB3aWxsIHN0aWxs
IE9TUgorICAgICAgICBleGl0IHRvIGEgYmFzZWxpbmUgb3BfY2F0Y2gpLiBUaGF0IG1lYW5zIHRo
ZXkgbXVzdCByZXN0b3JlIHRoZSBzdGFjayBwb2ludGVyCisgICAgICAgIGFuZCBjYWxsIGZyYW1l
LgorCisgICAgICAgIEluIHRoZSBjYXNlIG9mICgyKSwgd2UgY2FuIHNraXAgZ2VuZXJpY1Vud2lu
ZCBiZWNhdXNlIHdlIGtub3cgdGhlIGV4Y2VwdGlvbiAKKyAgICAgICAgY2hlY2sgd2lsbCB0YWtl
IHVzIHRvIGEgcGFydGljdWxhciBPU1IgZXhpdC4gSW5zdGVhZCwgd2UgbGluayB0aGVzZQorICAg
ICAgICBleGNlcHRpb24gY2hlY2tzIGFzIGp1bXBzIHRvIGEgcGFydGljdWxhciBPU1IgZXhpdC4K
KworICAgICAgICBCb3RoIHR5cGVzIG9mIE9TUiBleGl0cyB3aWxsIGV4aXQgaW50byBvcF9jYXRj
aCBpbnNpZGUgdGhlIGJhc2VsaW5lIEpJVC4KKyAgICAgICAgQmVjYXVzZSB0aGV5IGV4aXQgdG8g
b3BfY2F0Y2gsIHRoZXNlIE9TUiBleGl0cyBtdXN0IHNldCBjYWxsRnJhbWVGb3JDYXRjaAorICAg
ICAgICB0byB0aGUgcHJvcGVyIGNhbGwgZnJhbWUgcG9pbnRlci4KKworICAgICAgICBXZSAiaGFu
ZGxlIiBhbGwgZXhjZXB0aW9ucyBpbnNpZGUgdGhlIG1hY2hpbmUgZnJhbWUgb2YgdGhlIERGRyBj
b2RlCisgICAgICAgIGJsb2NrLiBUaGlzIG1lYW5zIHRoZSBtYWNoaW5lIGNvZGUgYmxvY2sgaXMg
cmVzcG9uc2libGUgZm9yICJjYXRjaGluZyIKKyAgICAgICAgZXhjZXB0aW9ucyBvZiBhbnkgaW5s
aW5lZCBmcmFtZXMnIHRyeS9jYXRjaC4gT1NSIGV4aXQgd2lsbCB0aGVuIGV4aXQgdG8gCisgICAg
ICAgIHRoZSBwcm9wZXIgYmFzZWxpbmUgQ29kZUJsb2NrIGFmdGVyIHJlaWZ5aW5nIHRoZSBpbmxp
bmVkIGZyYW1lcworICAgICAgICAoREZHOjpPU1JFeGl0OjptX2NvZGVPcmlnaW4gY29ycmVzcG9u
ZHMgdG8gdGhlIG9wX2NhdGNoIHdlIHdpbGwgZXhpdCB0bykuIAorICAgICAgICBBbHNvLCBnZW5l
cmljVW53aW5kIHdpbGwgbmV2ZXIgY29uc3VsdCBhbiBpbmxpbmVkIGNhbGwgZnJhbWUncyBDb2Rl
QmxvY2sgdG8gCisgICAgICAgIHNlZSBpZiB0aGV5IGNhbiBjYXRjaCB0aGUgZXhjZXB0aW9uIGJl
Y2F1c2UgdGhleSBjYW4ndC4gV2UgYWx3YXlzIHVud2luZCB0byB0aGUgCisgICAgICAgIG5leHQg
bWFjaGluZSBjb2RlIGJsb2NrIGZyYW1lLiBUaGUgREZHIENvZGVCbG9jayBjaGFuZ2VzIGhvdyB0
aGUgZXhjZXB0aW9uIAorICAgICAgICBoYW5kbGVyIHRhYmxlIGlzIGtleWVkOiBpdCBpcyBub3cg
a2V5ZWQgYnkgQ2FsbFNpdGVJbmRleCBmb3IgREZHIGNvZGUgYmxvY2tzLiAKKworICAgICAgICBT
bywgd2hlbiBjb25zdWx0aW5nIGNhbGwgc2l0ZXMgdGhhdCB0aHJvdywgd2Uga2VlcCB0cmFjayBv
ZiB0aGUgQ2FsbFNpdGVJbmRleCwKKyAgICAgICAgYW5kIHRoZSBIYW5kbGVySW5mbyBmb3IgdGhl
IGNvcnJlc3BvbmRpbmcgYmFzZWxpbmUgZXhjZXB0aW9uIGhhbmRsZXIgZm9yCisgICAgICAgIHRo
YXQgcGFydGljdWxhciBDYWxsU2l0ZUluZGV4IChpZiBhbiBleGNlcHRpb24gYXQgdGhhdCBjYWxs
IHNpdGUgd2lsbCBiZSBjYXVnaHQpLiAKKyAgICAgICAgVGhlbiwgd2hlbiB3ZSdyZSBpbnNpZGUg
REZHOjpKSVRDb21waWxlcjo6bGluaygpLCB3ZSBpbnN0YWxsIG5ldyBIYW5kbGVySW5mbydzCisg
ICAgICAgIGluc2lkZSB0aGUgREZHIENvZGVCbG9jayBhbmQga2V5IGl0IGJ5IHRoZSBjb3JyZXNw
b25kaW5nIENhbGxTaXRlSW5kZXguCisgICAgICAgIChUaGUgQ29kZUJsb2NrIG9ubHkgaGFzIEhh
bmRsZXJJbmZvcyBmb3IgdGhlIE9TUiBleGl0cyB0aGF0IGFyZSB0byBiZSBhcnJpdmVkCisgICAg
ICAgIGF0IGZyb20gZ2VuZXJpY1Vud2luZCkuCisKKyAgICAgICAgQWxzbywgZWFjaCBPU1IgZXhp
dCB3aWxsIGtub3cgaWYgaXQgYWN0aW5nIGFzIGFuIGV4Y2VwdGlvbiBoYW5kbGVyLCBhbmQKKyAg
ICAgICAgd2hldGhlciBvciBub3QgaXQgd2lsbCBiZSBhcnJpdmVkIGF0IGZyb20gZ2VuZXJpY1Vu
d2luZC4gV2hlbiB3ZSBrbm93IHdlIAorICAgICAgICB3aWxsIGFycml2ZSBhdCBhbiBPU1IgZXhp
dCBmcm9tIGdlbmVyaWNVbndpbmQsIHdlIHNldCB0aGUgY29ycmVzcG9uZGluZyAKKyAgICAgICAg
SGFuZGxlckluZm8ncyBuYXRpdmVDb2RlIENvZGVMb2NhdGlvbkxhYmVsIGZpZWxkIHRvIGJlIHRo
ZSBPU1IgZXhpdC4KKworICAgICAgICBUaGlzIHBhdGNoIGFsc28gaW50cm9kdWNlcyBhIG5ldyBQ
aGFzZSBpbnNpZGUgdGhlIERGRyB0aGF0IGVuc3VyZXMKKyAgICAgICAgdGhhdCBERkcgQ29kZUJs
b2NrcyB0aGF0IGhhbmRsZSBleGNlcHRpb25zIHRha2UgdGhlIG5lY2Vzc2FyeQorICAgICAgICBz
dGVwcyB0byBrZWVwIGxpdmUgdmFyaWFibGVzIGF0ICJvcF9jYXRjaCIgbGl2ZSBhY2NvcmRpbmcg
dGhlCisgICAgICAgIE9TUiBleGl0IHZhbHVlIHJlY292ZXJ5IG1hY2hpbmVyeS4gV2UgYWNjb21w
bGlzaCB0aGlzIGJ5IGZsdXNoaW5nCisgICAgICAgIGFsbCBsaXZlIG9wX2NhdGNoIHZhcmlhYmxl
cyB0byB0aGUgc3RhY2sgd2hlbiBpbnNpZGUgYSAidHJ5IiBibG9jay4KKworICAgICAgICAqIENN
YWtlTGlzdHMudHh0OgorICAgICAgICAqIEphdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNjcmlw
dENvcmUudmN4cHJvajoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFTY3Jp
cHRDb3JlLnZjeHByb2ouZmlsdGVyczoKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6Cisg
ICAgICAgIChKU0M6OkNvZGVCbG9jazo6aGFuZGxlckZvckJ5dGVjb2RlT2Zmc2V0KToKKyAgICAg
ICAgKEpTQzo6Q29kZUJsb2NrOjpoYW5kbGVyRm9ySW5kZXgpOgorICAgICAgICAqIGJ5dGVjb2Rl
L0NvZGVCbG9jay5oOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmNsZWFyRXhjZXB0aW9uSGFu
ZGxlcnMpOgorICAgICAgICAoSlNDOjpDb2RlQmxvY2s6OmFwcGVuZEV4Y2VwdGlvbkhhbmRsZXIp
OgorICAgICAgICAqIGJ5dGVjb2RlL1ByZWNpc2VKdW1wVGFyZ2V0cy5jcHA6CisgICAgICAgIChK
U0M6OmNvbXB1dGVQcmVjaXNlSnVtcFRhcmdldHMpOgorICAgICAgICAqIGRmZy9ERkdCeXRlQ29k
ZVBhcnNlci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OmdldExvY2Fs
KToKKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6c2V0TG9jYWwpOgorICAgICAg
ICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpwYXJzZUJsb2NrKToKKyAgICAgICAgKiBkZmcv
REZHQ2FwYWJpbGl0aWVzLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpjYXBhYmlsaXR5TGV2ZWwp
OgorICAgICAgICAqIGRmZy9ERkdDb21tb25EYXRhLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpD
b21tb25EYXRhOjphZGRDb2RlT3JpZ2luKToKKyAgICAgICAgKEpTQzo6REZHOjpDb21tb25EYXRh
OjpsYXN0Q2FsbFNpdGUpOgorICAgICAgICAoSlNDOjpERkc6OkNvbW1vbkRhdGE6OnNocmlua1Rv
Rml0KToKKyAgICAgICAgKiBkZmcvREZHQ29tbW9uRGF0YS5oOgorICAgICAgICAqIGRmZy9ERkdH
cmFwaC5oOgorICAgICAgICAqIGRmZy9ERkdKSVRDb21waWxlci5jcHA6CisgICAgICAgIChKU0M6
OkRGRzo6SklUQ29tcGlsZXI6OmxpbmtPU1JFeGl0cyk6CisgICAgICAgIChKU0M6OkRGRzo6SklU
Q29tcGlsZXI6OmxpbmspOgorICAgICAgICAoSlNDOjpERkc6OkpJVENvbXBpbGVyOjpjb21waWxl
KToKKyAgICAgICAgKEpTQzo6REZHOjpKSVRDb21waWxlcjo6bm90aWNlT1NSRW50cnkpOgorICAg
ICAgICAoSlNDOjpERkc6OkpJVENvbXBpbGVyOjphcHBlbmRFeGNlcHRpb25IYW5kbGluZ09TUkV4
aXQpOgorICAgICAgICAoSlNDOjpERkc6OkpJVENvbXBpbGVyOjp3aWxsQ2F0Y2hFeGNlcHRpb25J
bk1hY2hpbmVGcmFtZSk6CisgICAgICAgIChKU0M6OkRGRzo6SklUQ29tcGlsZXI6OmV4Y2VwdGlv
bkNoZWNrKToKKyAgICAgICAgKEpTQzo6REZHOjpKSVRDb21waWxlcjo6cmVjb3JkQ2FsbFNpdGVB
bmRHZW5lcmF0ZUV4Y2VwdGlvbkhhbmRsaW5nT1NSRXhpdElmTmVlZGVkKToKKyAgICAgICAgKiBk
ZmcvREZHSklUQ29tcGlsZXIuaDoKKyAgICAgICAgKEpTQzo6REZHOjpKSVRDb21waWxlcjo6ZW1p
dFN0b3JlQ29kZU9yaWdpbik6CisgICAgICAgIChKU0M6OkRGRzo6SklUQ29tcGlsZXI6OmVtaXRT
dG9yZUNhbGxTaXRlSW5kZXgpOgorICAgICAgICAoSlNDOjpERkc6OkpJVENvbXBpbGVyOjphcHBl
bmRDYWxsKToKKyAgICAgICAgKEpTQzo6REZHOjpKSVRDb21waWxlcjo6ZXhjZXB0aW9uQ2hlY2tX
aXRoQ2FsbEZyYW1lUm9sbGJhY2spOgorICAgICAgICAoSlNDOjpERkc6OkpJVENvbXBpbGVyOjpi
bG9ja0hlYWRzKToKKyAgICAgICAgKEpTQzo6REZHOjpKSVRDb21waWxlcjo6ZXhjZXB0aW9uQ2hl
Y2spOiBEZWxldGVkLgorICAgICAgICAqIGRmZy9ERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZh
dGlvblBoYXNlLmNwcDogQWRkZWQuCisgICAgICAgIChKU0M6OkRGRzo6Rmx1c2hMaXZlQ2F0Y2hW
YXJpYWJsZXNJbnNlcnRpb25QaGFzZTo6Rmx1c2hMaXZlQ2F0Y2hWYXJpYWJsZXNJbnNlcnRpb25Q
aGFzZSk6CisgICAgICAgIChKU0M6OkRGRzo6Rmx1c2hMaXZlQ2F0Y2hWYXJpYWJsZXNJbnNlcnRp
b25QaGFzZTo6cnVuKToKKyAgICAgICAgKEpTQzo6REZHOjpGbHVzaExpdmVDYXRjaFZhcmlhYmxl
c0luc2VydGlvblBoYXNlOjp3aWxsQ2F0Y2hFeGNlcHRpb24pOgorICAgICAgICAoSlNDOjpERkc6
OkZsdXNoTGl2ZUNhdGNoVmFyaWFibGVzSW5zZXJ0aW9uUGhhc2U6OmhhbmRsZUJsb2NrKToKKyAg
ICAgICAgKEpTQzo6REZHOjpGbHVzaExpdmVDYXRjaFZhcmlhYmxlc0luc2VydGlvblBoYXNlOjpu
ZXdWYXJpYWJsZUFjY2Vzc0RhdGEpOgorICAgICAgICAoSlNDOjpERkc6OnBlcmZvcm1MaXZlQ2F0
Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlKToKKyAgICAgICAgKiBkZmcvREZHTGl2ZUNhdGNo
VmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5oOiBBZGRlZC4KKyAgICAgICAgKiBkZmcvREZHT1NS
RXhpdC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6T1NSRXhpdDo6T1NSRXhpdCk6CisgICAgICAg
IChKU0M6OkRGRzo6T1NSRXhpdDo6c2V0UGF0Y2hhYmxlQ29kZU9mZnNldCk6CisgICAgICAgICog
ZGZnL0RGR09TUkV4aXQuaDoKKyAgICAgICAgKEpTQzo6REZHOjpPU1JFeGl0Ojpjb25zaWRlckFk
ZGluZ0FzRnJlcXVlbnRFeGl0U2l0ZSk6CisgICAgICAgICogZGZnL0RGR09TUkV4aXRDb21waWxl
ci5jcHA6CisgICAgICAgICogZGZnL0RGR09TUkV4aXRDb21waWxlcjMyXzY0LmNwcDoKKyAgICAg
ICAgKEpTQzo6REZHOjpPU1JFeGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0KToKKyAgICAgICAgKiBk
ZmcvREZHT1NSRXhpdENvbXBpbGVyNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6Ok9TUkV4aXRD
b21waWxlcjo6Y29tcGlsZUV4aXQpOgorICAgICAgICAqIGRmZy9ERkdPU1JFeGl0Q29tcGlsZXJD
b21tb24uY3BwOgorICAgICAgICAoSlNDOjpERkc6Om9zcldyaXRlQmFycmllcik6CisgICAgICAg
IChKU0M6OkRGRzo6YWRqdXN0QW5kSnVtcFRvVGFyZ2V0KToKKyAgICAgICAgKiBkZmcvREZHT1NS
RXhpdENvbXBpbGVyQ29tbW9uLmg6CisgICAgICAgICogZGZnL0RGR1BsYW4uY3BwOgorICAgICAg
ICAoSlNDOjpERkc6OlBsYW46OmNvbXBpbGVJblRocmVhZEltcGwpOgorICAgICAgICAqIGRmZy9E
RkdTbG93UGF0aEdlbmVyYXRvci5oOgorICAgICAgICAoSlNDOjpERkc6OlNsb3dQYXRoR2VuZXJh
dG9yOjpTbG93UGF0aEdlbmVyYXRvcik6CisgICAgICAgIChKU0M6OkRGRzo6U2xvd1BhdGhHZW5l
cmF0b3I6On5TbG93UGF0aEdlbmVyYXRvcik6CisgICAgICAgIChKU0M6OkRGRzo6U2xvd1BhdGhH
ZW5lcmF0b3I6OmdlbmVyYXRlKToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuaDoK
KyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82NC5jcHA6CisgICAgICAgIChKU0M6
OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNhY2hlZEdldEJ5SWQpOgorICAgICAgICAoSlNDOjpERkc6
OlNwZWN1bGF0aXZlSklUOjpjYWNoZWRQdXRCeUlkKToKKyAgICAgICAgKEpTQzo6REZHOjpTcGVj
dWxhdGl2ZUpJVDo6ZW1pdENhbGwpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0
LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y2FjaGVkR2V0QnlJZCk6
CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNhY2hlZFB1dEJ5SWQpOgorICAg
ICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjplbWl0Q2FsbCk6CisgICAgICAgICogZGZn
L0RGR1RpZXJVcENoZWNrSW5qZWN0aW9uUGhhc2UuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlRp
ZXJVcENoZWNrSW5qZWN0aW9uUGhhc2U6OnJ1bik6CisgICAgICAgICogZnRsL0ZUTE9TUkV4aXRD
b21waWxlci5jcHA6CisgICAgICAgIChKU0M6OkZUTDo6Y29tcGlsZVN0dWIpOgorICAgICAgICAq
IGludGVycHJldGVyL0ludGVycHJldGVyLmNwcDoKKyAgICAgICAgKEpTQzo6R2V0Q2F0Y2hIYW5k
bGVyRnVuY3Rvcjo6b3BlcmF0b3IoKSk6CisgICAgICAgIChKU0M6OlVud2luZEZ1bmN0b3I6Om9w
ZXJhdG9yKCkpOgorICAgICAgICAqIGludGVycHJldGVyL1N0YWNrVmlzaXRvci5jcHA6CisgICAg
ICAgIChKU0M6OlN0YWNrVmlzaXRvcjo6Z290b05leHRGcmFtZSk6CisgICAgICAgIChKU0M6OlN0
YWNrVmlzaXRvcjo6dW53aW5kVG9NYWNoaW5lQ29kZUJsb2NrRnJhbWUpOgorICAgICAgICAoSlND
OjpTdGFja1Zpc2l0b3I6OnJlYWRGcmFtZSk6CisgICAgICAgICogaW50ZXJwcmV0ZXIvU3RhY2tW
aXNpdG9yLmg6CisgICAgICAgIChKU0M6OlN0YWNrVmlzaXRvcjo6b3BlcmF0b3IqKToKKyAgICAg
ICAgKEpTQzo6U3RhY2tWaXNpdG9yOjpvcGVyYXRvci0+KToKKyAgICAgICAgKiBqaXQvQXNzZW1i
bHlIZWxwZXJzLmNwcDoKKyAgICAgICAgKEpTQzo6QXNzZW1ibHlIZWxwZXJzOjplbWl0RXhjZXB0
aW9uQ2hlY2spOgorICAgICAgICAoSlNDOjpBc3NlbWJseUhlbHBlcnM6OmVtaXROb25QYXRjaGFi
bGVFeGNlcHRpb25DaGVjayk6CisgICAgICAgIChKU0M6OkFzc2VtYmx5SGVscGVyczo6ZW1pdFN0
b3JlU3RydWN0dXJlV2l0aFR5cGVJbmZvKToKKyAgICAgICAgKiBqaXQvQXNzZW1ibHlIZWxwZXJz
Lmg6CisgICAgICAgIChKU0M6OkFzc2VtYmx5SGVscGVyczo6ZW1pdENvdW50KToKKyAgICAgICAg
KiBqaXQvSklURXhjZXB0aW9ucy5jcHA6CisgICAgICAgIChKU0M6OmdlbmVyaWNVbndpbmQpOgor
ICAgICAgICAqIGppdC9KSVRPcGNvZGVzLmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjplbWl0X29w
X2NhdGNoKToKKyAgICAgICAgKiBqaXQvSklUT3Bjb2RlczMyXzY0LmNwcDoKKyAgICAgICAgKEpT
Qzo6SklUOjplbWl0X29wX2NhdGNoKToKKyAgICAgICAgKiBsbGludC9Mb3dMZXZlbEludGVycHJl
dGVyMzJfNjQuYXNtOgorICAgICAgICAqIGxsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc206
CisgICAgICAgICogcnVudGltZS9WTS5oOgorICAgICAgICAoSlNDOjpWTTo6Y2xlYXJFeGNlcHRp
b24pOgorICAgICAgICAoSlNDOjpWTTo6Y2xlYXJMYXN0RXhjZXB0aW9uKToKKyAgICAgICAgKEpT
Qzo6Vk06OmFkZHJlc3NPZkNhbGxGcmFtZUZvckNhdGNoKToKKyAgICAgICAgKEpTQzo6Vk06OmV4
Y2VwdGlvbik6CisgICAgICAgIChKU0M6OlZNOjphZGRyZXNzT2ZFeGNlcHRpb24pOgorICAgICAg
ICAqIHRlc3RzL3N0cmVzcy9kZmctZXhjZXB0aW9uLXRyeS1jYXRjaC1pbi1jb25zdHJ1Y3Rvci13
aXRoLWlubGluZWQtdGhyb3cuanM6IEFkZGVkLgorICAgICAgICAoZik6CisgICAgICAgIChiYXIp
OgorICAgICAgICAoRm9vKToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvZXM2LWZvci1vZi1sb29w
LWV4Y2VwdGlvbi5qczogQWRkZWQuCisgICAgICAgIChhc3NlcnQpOgorICAgICAgICAoc2hvdWxk
VGhyb3dJbnZhbGlkQ29uc3RBc3NpZ25tZW50KToKKyAgICAgICAgKGJheik6CisgICAgICAgIChm
b28pOgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9leGNlcHRpb24tZGZnLWlubGluZWQtZnJhbWUt
bm90LXN0cmljdC1lcXVhbC5qczogQWRkZWQuCisgICAgICAgIChhc3NlcnQpOgorICAgICAgICAo
by52YWx1ZU9mKToKKyAgICAgICAgKG8udG9TdHJpbmcpOgorICAgICAgICAocmVhZCk6CisgICAg
ICAgIChiYXIpOgorICAgICAgICAoZm9vKToKKyAgICAgICAgKiB0ZXN0cy9zdHJlc3MvZXhjZXB0
aW9uLWRmZy1ub3Qtc3RyaWN0LWVxdWFsLmpzOiBBZGRlZC4KKyAgICAgICAgKGZvbyk6CisgICAg
ICAgIChvLnZhbHVlT2YpOgorICAgICAgICAoby50b1N0cmluZyk6CisgICAgICAgIChhc3NlcnQp
OgorICAgICAgICAoc2hvdWxkRG9Tb21ldGhpbmdJbkZpbmFsbHkpOgorICAgICAgICAoY2F0Y2gp
OgorICAgICAgICAqIHRlc3RzL3N0cmVzcy9leGNlcHRpb24tZGZnLW9wZXJhdGlvbi1yZWFkLXZh
bHVlLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChvLnZhbHVlT2YpOgor
ICAgICAgICAoby50b1N0cmluZyk6CisgICAgICAgIChyZWFkKToKKyAgICAgICAgKGZvbyk6Cisg
ICAgICAgICogdGVzdHMvc3RyZXNzL2V4Y2VwdGlvbi1kZmctdGhyb3ctZnJvbS1jYXRjaC1ibG9j
ay5qczogQWRkZWQuCisgICAgICAgIChhc3NlcnQpOgorICAgICAgICAoYmF6KToKKyAgICAgICAg
KGJhcik6CisgICAgICAgIChmb28pOgorCiAyMDE1LTA5LTE4ICBTdWtvbHNhayBTYWtzaHV3b25n
ICA8c3Vrb2xzYWtAZ21haWwuY29tPgogCiAgICAgICAgIEltcGxlbWVudCB0eXBlIGNvbnZlcnNp
b24gaW5zdHJ1Y3Rpb25zIGluIFdlYkFzc2VtYmx5CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ01ha2VMaXN0cy50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0NN
YWtlTGlzdHMudHh0CShyZXZpc2lvbiAxODk5ODYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Q01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE4NSw2ICsxODUsNyBAQCBzZXQoSmF2
YVNjcmlwdENvcmVfU09VUkNFUwogICAgIGRmZy9ERkdGaXh1cFBoYXNlLmNwcAogICAgIGRmZy9E
RkdGbHVzaEZvcm1hdC5jcHAKICAgICBkZmcvREZHRmx1c2hlZEF0LmNwcAorICAgIGRmZy9ERkdM
aXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlLmNwcAogICAgIGRmZy9ERkdGcm96ZW5W
YWx1ZS5jcHAKICAgICBkZmcvREZHRnVuY3Rpb25XaGl0ZWxpc3QuY3BwCiAgICAgZGZnL0RGR0dy
YXBoLmNwcApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHBy
b2ovSmF2YVNjcmlwdENvcmUudmN4cHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCShyZXZp
c2lvbiAxODk5ODYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4
cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC00MjEsNiArNDIx
LDcgQEAKICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRmZ1xERkdGaXh1cFBoYXNlLmNwcCIg
Lz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRmZ1xERkdGbHVzaGVkQXQuY3BwIiAvPgog
ICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZGZnXERGR0ZsdXNoRm9ybWF0LmNwcCIgLz4KKyAg
ICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRmZ1xERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZh
dGlvblBoYXNlLmNwcCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGRmZ1xERkdGcm96
ZW5WYWx1ZS5jcHAiIC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxkZmdcREZHRnVuY3Rp
b25XaGl0ZWxpc3QuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cZGZnXERGR0dy
YXBoLmNwcCIgLz4KQEAgLTExNDksNiArMTE1MCw3IEBACiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxkZmdcREZHRml4dXBQaGFzZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5c
ZGZnXERGR0ZsdXNoZWRBdC5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZGZnXERG
R0ZsdXNoRm9ybWF0LmgiIC8+CisgICAgPENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkZmdcREZHTGl2
ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5j
bHVkZT0iLi5cZGZnXERGR0ZvckFsbEtpbGxzLmgiIC8+CiAgICAgPENsSW5jbHVkZSBJbmNsdWRl
PSIuLlxkZmdcREZHRlBSSW5mby5oIiAvPgogICAgIDxDbEluY2x1ZGUgSW5jbHVkZT0iLi5cZGZn
XERGR0Zyb3plblZhbHVlLmgiIC8+CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNj
cmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qLmZpbHRlcnMKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnZjeHByb2ovSmF2YVNj
cmlwdENvcmUudmN4cHJvai5maWx0ZXJzCShyZXZpc2lvbiAxODk5ODYpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9q
LmZpbHRlcnMJKHdvcmtpbmcgY29weSkKQEAgLTEyNDIsNiArMTI0Miw5IEBACiAgICAgPENsQ29t
cGlsZSBJbmNsdWRlPSIuLlxkZmdcREZHRmx1c2hGb3JtYXQuY3BwIj4KICAgICAgIDxGaWx0ZXI+
ZGZnPC9GaWx0ZXI+CiAgICAgPC9DbENvbXBpbGU+CisgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIu
LlxkZmdcREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5jcHAiPgorICAgICAg
PEZpbHRlcj5kZmc8L0ZpbHRlcj4KKyAgICA8L0NsQ29tcGlsZT4KICAgICA8Q2xDb21waWxlIElu
Y2x1ZGU9Ii4uXGRmZ1xERkdGdW5jdGlvbldoaXRlbGlzdC5jcHAiPgogICAgICAgPEZpbHRlcj5k
Zmc8L0ZpbHRlcj4KICAgICA8L0NsQ29tcGlsZT4KQEAgLTM3MDMsNiArMzcwNiw5IEBACiAgICAg
PENsSW5jbHVkZSBJbmNsdWRlPSIuLlxkZmdcREZHRmx1c2hGb3JtYXQuaCI+CiAgICAgICA8Rmls
dGVyPmRmZzwvRmlsdGVyPgogICAgIDwvQ2xJbmNsdWRlPgorICAgIDxDbEluY2x1ZGUgSW5jbHVk
ZT0iLi5cZGZnXERGR0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9uUGhhc2UuaCI+CisgICAg
ICA8RmlsdGVyPmRmZzwvRmlsdGVyPgorICAgIDwvQ2xJbmNsdWRlPgogICAgIDxDbEluY2x1ZGUg
SW5jbHVkZT0iLi5cZGZnXERGR0ZQUkluZm8uaCI+CiAgICAgICA8RmlsdGVyPmRmZzwvRmlsdGVy
PgogICAgIDwvQ2xJbmNsdWRlPgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3Jp
cHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL0phdmFTY3JpcHRDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJl
dmlzaW9uIDE4OTk4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9KYXZhU2NyaXB0Q29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xMDMwLDYgKzEwMzAs
OCBAQAogCQk3OTY0NjU2QTFCOTUyRkYwMDAzMDU5RUUgLyogR2V0UHV0SW5mby5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzk2NDY1NjgxQjk1MkZGMDAw
MzA1OUVFIC8qIEdldFB1dEluZm8uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk3OTdFMDdBOTFCOEZDRkI5MDA4NDAwQkEgLyogSlNHbG9iYWxMZXhp
Y2FsRW52aXJvbm1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNzk3RTA3QTcxQjhGQ0ZCOTAwODQwMEJBIC8qIEpTR2xvYmFsTGV4aWNhbEVudmly
b25tZW50LmNwcCAqLzsgfTsKIAkJNzk3RTA3QUExQjhGQ0ZCOTAwODQwMEJBIC8qIEpTR2xvYmFs
TGV4aWNhbEVudmlyb25tZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3OTdFMDdBODFCOEZDRkI5MDA4NDAwQkEgLyogSlNHbG9iYWxMZXhpY2FsRW52
aXJvbm1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQk3OUM0QjE1RDFCQTIxNThGMDBGRDU5MkUgLyogREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVz
ZXJ2YXRpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3OUM0QjE1QjFCQTIxNThGMDBGRDU5MkUgLyogREZHTGl2ZUNhdGNoVmFyaWFibGVQ
cmVzZXJ2YXRpb25QaGFzZS5jcHAgKi87IH07CisJCTc5QzRCMTVFMUJBMjE1OEYwMEZENTkyRSAv
KiBERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3OUM0QjE1QzFCQTIxNThGMDBGRDU5MkUg
LyogREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTc5RUUwQkZGMUI0QUZCODUwMDAz
ODVDOSAvKiBWYXJpYWJsZUVudmlyb25tZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5RUUwQkZEMUI0QUZCODUwMDAzODVDOSAvKiBWYXJpYWJs
ZUVudmlyb25tZW50LmNwcCAqLzsgfTsKIAkJNzlFRTBDMDAxQjRBRkI4NTAwMDM4NUM5IC8qIFZh
cmlhYmxlRW52aXJvbm1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDc5RUUwQkZFMUI0QUZCODUwMDAzODVDOSAvKiBWYXJpYWJsZUVudmlyb25tZW50
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzlG
OEZDMUUxQjlGRUQwRjAwQ0E2NkFCIC8qIERGR01heGltYWxGbHVzaEluc2VydGlvblBoYXNlLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDc5RjhGQzFD
MUI5RkVEMEYwMENBNjZBQiAvKiBERkdNYXhpbWFsRmx1c2hJbnNlcnRpb25QaGFzZS5jcHAgKi87
IH07CkBAIC0yODYwLDYgKzI4NjIsOCBAQAogCQk3OTY0NjU2ODFCOTUyRkYwMDAzMDU5RUUgLyog
R2V0UHV0SW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHZXRQdXRJbmZv
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5N0UwN0E3MUI4RkNGQjkwMDg0MDBC
QSAvKiBKU0dsb2JhbExleGljYWxFbnZpcm9ubWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU0dsb2JhbExleGljYWxFbnZpcm9ubWVudC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5N0UwN0E4MUI4RkNGQjkwMDg0MDBCQSAvKiBKU0dsb2Jh
bExleGljYWxFbnZpcm9ubWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0dsb2JhbExleGljYWxFbnZpcm9ubWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk3OUM0QjE1QjFCQTIxNThGMDBGRDU5MkUgLyogREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2
YXRpb25QaGFzZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBERkdM
aXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlLmNwcDsgcGF0aCA9IGRmZy9ERkdMaXZl
Q2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNzlDNEIxNUMxQkEyMTU4RjAwRkQ1OTJFIC8qIERGR0xpdmVDYXRjaFZhcmlhYmxl
UHJlc2VydmF0aW9uUGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gREZH
TGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5oOyBwYXRoID0gZGZnL0RGR0xpdmVD
YXRjaFZhcmlhYmxlUHJlc2VydmF0aW9uUGhhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNzlFRTBCRkQxQjRBRkI4NTAwMDM4NUM5IC8qIFZhcmlhYmxlRW52aXJvbm1lbnQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gVmFyaWFibGVFbnZpcm9ubWVu
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTc5RUUwQkZFMUI0QUZCODUwMDAz
ODVDOSAvKiBWYXJpYWJsZUVudmlyb25tZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFZhcmlhYmxlRW52aXJvbm1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNzlGOEZDMUMxQjlGRUQwRjAwQ0E2NkFCIC8qIERGR01heGltYWxGbHVzaEluc2VydGlvblBo
YXNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IERGR01heGltYWxG
bHVzaEluc2VydGlvblBoYXNlLmNwcDsgcGF0aCA9IGRmZy9ERkdNYXhpbWFsRmx1c2hJbnNlcnRp
b25QaGFzZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC01MjIwLDYgKzUyMjQs
OCBAQAogCQkJCTBGOUQzMzk1MTdGRkM0RTYwMDczQzJCQyAvKiBERkdGbHVzaGVkQXQuaCAqLywK
IAkJCQlBN0Q4OUNFODE3QTBCOENDMDA3NzNBRDggLyogREZHRmx1c2hGb3JtYXQuY3BwICovLAog
CQkJCUE3RDg5Q0U5MTdBMEI4Q0MwMDc3M0FEOCAvKiBERkdGbHVzaEZvcm1hdC5oICovLAorCQkJ
CTc5QzRCMTVCMUJBMjE1OEYwMEZENTkyRSAvKiBERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZh
dGlvblBoYXNlLmNwcCAqLywKKwkJCQk3OUM0QjE1QzFCQTIxNThGMDBGRDU5MkUgLyogREZHTGl2
ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5oICovLAogCQkJCTBGMkREODEwMUFCM0Q4
QkUwMEJCQjhFOCAvKiBERkdGb3JBbGxLaWxscy5oICovLAogCQkJCTBGNjlDQzg2MTkzQUM2MEEw
MDQ1NzU5RSAvKiBERkdGcm96ZW5WYWx1ZS5jcHAgKi8sCiAJCQkJMEY2OUNDODcxOTNBQzYwQTAw
NDU3NTlFIC8qIERGR0Zyb3plblZhbHVlLmggKi8sCkBAIC01OTE1LDYgKzU5MjEsNyBAQAogCQkJ
CUExQTAwOUMxMTgzMUEyNkUwMENGODcxMSAvKiBBUk02NEFzc2VtYmxlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMEY4OThGMzIxQjI3Njg5RjAwODNBMzNDIC8qIERGR0ludGVnZXJSYW5nZU9wdGlt
aXphdGlvblBoYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NkQzQjJDNDEwMTU2QkRFMDAyODY1
RTcgLyogQVJNQXNzZW1ibGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQk3OUM0QjE1RTFCQTIxNThG
MDBGRDU5MkUgLyogREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNzlGOEZDMUYxQjlGRUQwRjAwQ0E2NkFCIC8qIERGR01heGltYWxGbHVz
aEluc2VydGlvblBoYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5OUYxQTcwMTFCOThGQkVDMDA0
NjNCMjYgLyogSW5zcGVjdG9yRnJvbnRlbmRSb3V0ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTc5
NjQ2NTZBMUI5NTJGRjAwMDMwNTlFRSAvKiBHZXRQdXRJbmZvLmggaW4gSGVhZGVycyAqLywKQEAg
LTc5ODgsNiArNzk5NSw3IEBACiAJCQkJQTE1ODdENzExQjREQzE0MTAwRDY5ODQ5IC8qIEludGxE
YXRlVGltZUZvcm1hdFByb3RvdHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjJCNjcwQTE3
QjZCNUFCMDBBN0FFM0YgLyogVHlwZWRBcnJheVR5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NTJDOTUyQjkxOUEyOEExQzAwNjlCMzg2IC8qIFR5cGVQcm9maWxlci5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQk3OUM0QjE1RDFCQTIxNThGMDBGRDU5MkUgLyogREZHTGl2ZUNhdGNoVmFyaWFibGVQ
cmVzZXJ2YXRpb25QaGFzZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRkY0Mjc0QTE1OEVCRTkx
MDA0Q0I5RkYgLyogdWRpczg2LmMgaW4gU291cmNlcyAqLywKIAkJCQkwRkY0Mjc0MDE1OEVCRThC
MDA0Q0I5RkYgLyogdWRpczg2X2RlY29kZS5jIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZGNDI3NDMx
NThFQkU5MTAwNENCOUZGIC8qIHVkaXM4Nl9pbnB1dC5jIGluIFNvdXJjZXMgKi8sCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAkocmV2aXNpb24g
MTg5OTg2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTI4NTcsNyArMjg1NywxMSBAQCBib29sIENvZGVCbG9jazo6aGFz
T3B0aW1pemVkUmVwbGFjZW1lbnQoCiBIYW5kbGVySW5mbyogQ29kZUJsb2NrOjpoYW5kbGVyRm9y
Qnl0ZWNvZGVPZmZzZXQodW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQsIFJlcXVpcmVkSGFuZGxlciBy
ZXF1aXJlZEhhbmRsZXIpCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQoYnl0ZWNvZGVPZmZzZXQgPCBp
bnN0cnVjdGlvbnMoKS5zaXplKCkpOworICAgIHJldHVybiBoYW5kbGVyRm9ySW5kZXgoYnl0ZWNv
ZGVPZmZzZXQsIHJlcXVpcmVkSGFuZGxlcik7Cit9CiAKK0hhbmRsZXJJbmZvKiBDb2RlQmxvY2s6
OmhhbmRsZXJGb3JJbmRleCh1bnNpZ25lZCBpbmRleCwgUmVxdWlyZWRIYW5kbGVyIHJlcXVpcmVk
SGFuZGxlcikKK3sKICAgICBpZiAoIW1fcmFyZURhdGEpCiAgICAgICAgIHJldHVybiAwOwogICAg
IApAQCAtMjg2OSw3ICsyODczLDggQEAgSGFuZGxlckluZm8qIENvZGVCbG9jazo6aGFuZGxlckZv
ckJ5dGVjbwogCiAgICAgICAgIC8vIEhhbmRsZXJzIGFyZSBvcmRlcmVkIGlubmVybW9zdCBmaXJz
dCwgc28gdGhlIGZpcnN0IGhhbmRsZXIgd2UgZW5jb3VudGVyCiAgICAgICAgIC8vIHRoYXQgY29u
dGFpbnMgdGhlIHNvdXJjZSBhZGRyZXNzIGlzIHRoZSBjb3JyZWN0IGhhbmRsZXIgdG8gdXNlLgot
ICAgICAgICBpZiAoaGFuZGxlci5zdGFydCA8PSBieXRlY29kZU9mZnNldCAmJiBoYW5kbGVyLmVu
ZCA+IGJ5dGVjb2RlT2Zmc2V0KQorICAgICAgICAvLyBUaGlzIGluZGV4IHVzZWQgaXMgZWl0aGVy
IHRoZSBCeXRlY29kZU9mZnNldCBvciBhIENhbGxTaXRlSW5kZXguCisgICAgICAgIGlmIChoYW5k
bGVyLnN0YXJ0IDw9IGluZGV4ICYmIGhhbmRsZXIuZW5kID4gaW5kZXgpCiAgICAgICAgICAgICBy
ZXR1cm4gJmhhbmRsZXI7CiAgICAgfQogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQ29kZUJsb2NrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2J5
dGVjb2RlL0NvZGVCbG9jay5oCShyZXZpc2lvbiAxODk5ODYpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgJKHdvcmtpbmcgY29weSkKQEAgLTE5NSw2ICsxOTUs
NyBAQCBwdWJsaWM6CiAgICAgICAgIEFueUhhbmRsZXIKICAgICB9OwogICAgIEhhbmRsZXJJbmZv
KiBoYW5kbGVyRm9yQnl0ZWNvZGVPZmZzZXQodW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQsIFJlcXVp
cmVkSGFuZGxlciA9IFJlcXVpcmVkSGFuZGxlcjo6QW55SGFuZGxlcik7CisgICAgSGFuZGxlcklu
Zm8qIGhhbmRsZXJGb3JJbmRleCh1bnNpZ25lZCwgUmVxdWlyZWRIYW5kbGVyID0gUmVxdWlyZWRI
YW5kbGVyOjpBbnlIYW5kbGVyKTsKICAgICB1bnNpZ25lZCBsaW5lTnVtYmVyRm9yQnl0ZWNvZGVP
ZmZzZXQodW5zaWduZWQgYnl0ZWNvZGVPZmZzZXQpOwogICAgIHVuc2lnbmVkIGNvbHVtbk51bWJl
ckZvckJ5dGVjb2RlT2Zmc2V0KHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0KTsKICAgICB2b2lkIGV4
cHJlc3Npb25SYW5nZUZvckJ5dGVjb2RlT2Zmc2V0KHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0LCBp
bnQmIGRpdm90LApAQCAtOTEwLDYgKzkxMSwxOCBAQCBwdWJsaWM6CiAgICAgICAgIEV2YWxDb2Rl
Q2FjaGUgbV9ldmFsQ29kZUNhY2hlOwogICAgIH07CiAKKyAgICB2b2lkIGNsZWFyRXhjZXB0aW9u
SGFuZGxlcnMoKQorICAgIHsKKyAgICAgICAgaWYgKG1fcmFyZURhdGEpCisgICAgICAgICAgICBt
X3JhcmVEYXRhLT5tX2V4Y2VwdGlvbkhhbmRsZXJzLmNsZWFyKCk7CisgICAgfQorCisgICAgdm9p
ZCBhcHBlbmRFeGNlcHRpb25IYW5kbGVyKGNvbnN0IEhhbmRsZXJJbmZvJiBoYW5kbGVyKQorICAg
IHsKKyAgICAgICAgY3JlYXRlUmFyZURhdGFJZk5lY2Vzc2FyeSgpOyAvLyBXZSBtYXkgYmUgaGFu
ZGxpbmcgdGhlIGV4Y2VwdGlvbiBvZiBhbiBpbmxpbmVkIGNhbGwgZnJhbWUuCisgICAgICAgIG1f
cmFyZURhdGEtPm1fZXhjZXB0aW9uSGFuZGxlcnMuYXBwZW5kKGhhbmRsZXIpOworICAgIH0KKwog
cHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCB2aXNpdFdlYWtSZWZlcmVuY2VzKFNsb3RWaXNp
dG9yJikgb3ZlcnJpZGU7CiAgICAgdmlydHVhbCB2b2lkIGZpbmFsaXplVW5jb25kaXRpb25hbGx5
KCkgb3ZlcnJpZGU7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvUHJlY2lz
ZUp1bXBUYXJnZXRzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvUHJlY2lzZUp1bXBUYXJnZXRzLmNwcAkocmV2aXNpb24gMTg5OTg2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1ByZWNpc2VKdW1wVGFyZ2V0cy5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTkzLDkgKzkzLDEyIEBAIHZvaWQgY29tcHV0ZVByZWNpc2VKdW1wVGFyZ2V0cyhD
b2RlQmxvY2sKICAgICBpZiAoIWNvZGVCbG9jay0+bnVtYmVyT2ZKdW1wVGFyZ2V0cygpKQogICAg
ICAgICByZXR1cm47CiAgICAgCi0gICAgZm9yICh1bnNpZ25lZCBpID0gY29kZUJsb2NrLT5udW1i
ZXJPZkV4Y2VwdGlvbkhhbmRsZXJzKCk7IGktLTspCisgICAgZm9yICh1bnNpZ25lZCBpID0gY29k
ZUJsb2NrLT5udW1iZXJPZkV4Y2VwdGlvbkhhbmRsZXJzKCk7IGktLTspIHsKICAgICAgICAgb3V0
LmFwcGVuZChjb2RlQmxvY2stPmV4Y2VwdGlvbkhhbmRsZXIoaSkudGFyZ2V0KTsKLSAgICAKKyAg
ICAgICAgb3V0LmFwcGVuZChjb2RlQmxvY2stPmV4Y2VwdGlvbkhhbmRsZXIoaSkuc3RhcnQpOwor
ICAgICAgICBvdXQuYXBwZW5kKGNvZGVCbG9jay0+ZXhjZXB0aW9uSGFuZGxlcihpKS5lbmQpOwor
ICAgIH0KKwogICAgIEludGVycHJldGVyKiBpbnRlcnByZXRlciA9IGNvZGVCbG9jay0+dm0oKS0+
aW50ZXJwcmV0ZXI7CiAgICAgSW5zdHJ1Y3Rpb24qIGluc3RydWN0aW9uc0JlZ2luID0gY29kZUJs
b2NrLT5pbnN0cnVjdGlvbnMoKS5iZWdpbigpOwogICAgIHVuc2lnbmVkIGluc3RydWN0aW9uQ291
bnQgPSBjb2RlQmxvY2stPmluc3RydWN0aW9ucygpLnNpemUoKTsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCShyZXZpc2lvbiAxODk5
ODYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNDM0LDcgKzQzNCw2IEBAIHByaXZhdGU6CiAgICAgICAgIG1fY3Vy
cmVudEJsb2NrLT52YXJpYWJsZXNBdFRhaWwubG9jYWwobG9jYWwpID0gbm9kZTsKICAgICAgICAg
cmV0dXJuIG5vZGU7CiAgICAgfQotCiAgICAgTm9kZSogc2V0TG9jYWwoY29uc3QgQ29kZU9yaWdp
biYgc2VtYW50aWNPcmlnaW4sIFZpcnR1YWxSZWdpc3RlciBvcGVyYW5kLCBOb2RlKiB2YWx1ZSwg
U2V0TW9kZSBzZXRNb2RlID0gTm9ybWFsU2V0KQogICAgIHsKICAgICAgICAgQ29kZU9yaWdpbiBv
bGRTZW1hbnRpY09yaWdpbiA9IG1fY3VycmVudFNlbWFudGljT3JpZ2luOwpAQCAtMzc4MCw2ICsz
Nzc5LDEwIEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OnBhcnNlQmxvY2sodW5zaWduZWQKICAgICAg
ICAgICAgIGZsdXNoRm9yVGVybWluYWwoKTsKICAgICAgICAgICAgIGFkZFRvR3JhcGgoVW5yZWFj
aGFibGUpOwogICAgICAgICAgICAgTEFTVF9PUENPREUob3BfdGhyb3dfc3RhdGljX2Vycm9yKTsK
KworICAgICAgICBjYXNlIG9wX2NhdGNoOgorICAgICAgICAgICAgbV9ncmFwaC5tX2hhc0V4Y2Vw
dGlvbkhhbmRsZXJzID0gdHJ1ZTsKKyAgICAgICAgICAgIE5FWFRfT1BDT0RFKG9wX2NhdGNoKTsK
ICAgICAgICAgICAgIAogICAgICAgICBjYXNlIG9wX2NhbGw6CiAgICAgICAgICAgICBoYW5kbGVD
YWxsKGN1cnJlbnRJbnN0cnVjdGlvbiwgQ2FsbCwgQ29kZUZvckNhbGwpOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ2FwYWJpbGl0aWVzLmNwcAkocmV2aXNpb24gMTg5
OTg2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDYXBhYmlsaXRpZXMuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yMTEsNiArMjExLDcgQEAgQ2FwYWJpbGl0eUxldmVsIGNhcGFiaWxp
dHlMZXZlbChPcGNvZGVJRAogICAgIGNhc2Ugb3BfbmV3X2Fycm93X2Z1bmNfZXhwOgogICAgIGNh
c2Ugb3BfY3JlYXRlX2xleGljYWxfZW52aXJvbm1lbnQ6CiAgICAgY2FzZSBvcF9nZXRfcGFyZW50
X3Njb3BlOgorICAgIGNhc2Ugb3BfY2F0Y2g6CiAgICAgICAgIHJldHVybiBDYW5Db21waWxlQW5k
SW5saW5lOwogCiAgICAgY2FzZSBvcF9wdXRfdG9fc2NvcGU6IHsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQ29tbW9uRGF0YS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb25EYXRhLmNwcAkocmV2aXNpb24gMTg5OTg2KQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb25EYXRhLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNTcsNiArNTcsMTIgQEAgQ2FsbFNpdGVJbmRleCBDb21tb25EYXRhOjphZGRDb2RlT3Jp
Z2luKAogICAgIHJldHVybiBDYWxsU2l0ZUluZGV4KGluZGV4KTsKIH0KIAorQ2FsbFNpdGVJbmRl
eCBDb21tb25EYXRhOjpsYXN0Q2FsbFNpdGUoKSBjb25zdAoreworICAgIEFTU0VSVChjb2RlT3Jp
Z2lucy5zaXplKCkpOworICAgIHJldHVybiBDYWxsU2l0ZUluZGV4KGNvZGVPcmlnaW5zLnNpemUo
KSAtIDEpOworfQorCiB2b2lkIENvbW1vbkRhdGE6OnNocmlua1RvRml0KCkKIHsKICAgICBjb2Rl
T3JpZ2lucy5zaHJpbmtUb0ZpdCgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdDb21tb25EYXRhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdDb21tb25EYXRhLmgJKHJldmlzaW9uIDE4OTk4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQ29tbW9uRGF0YS5oCSh3b3JraW5nIGNvcHkpCkBAIC04MCw2ICs4MCw3IEBAIHB1
YmxpYzoKICAgICAKICAgICB2b2lkIG5vdGlmeUNvbXBpbGluZ1N0cnVjdHVyZVRyYW5zaXRpb24o
UGxhbiYsIENvZGVCbG9jayosIE5vZGUqKTsKICAgICBDYWxsU2l0ZUluZGV4IGFkZENvZGVPcmln
aW4oQ29kZU9yaWdpbik7CisgICAgQ2FsbFNpdGVJbmRleCBsYXN0Q2FsbFNpdGUoKSBjb25zdDsK
ICAgICAKICAgICB2b2lkIHNocmlua1RvRml0KCk7CiAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0dyYXBoLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdHcmFwaC5oCShyZXZpc2lvbiAxODk5ODYpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0dyYXBoLmgJKHdvcmtpbmcgY29weSkKQEAgLTg3NSw2ICs4NzUsNyBAQCBw
dWJsaWM6CiAgICAgUGxhblN0YWdlIG1fcGxhblN0YWdlIHsgUGxhblN0YWdlOjpJbml0aWFsIH07
CiAgICAgUmVmQ291bnRTdGF0ZSBtX3JlZkNvdW50U3RhdGU7CiAgICAgYm9vbCBtX2hhc0RlYnVn
Z2VyRW5hYmxlZDsKKyAgICBib29sIG1faGFzRXhjZXB0aW9uSGFuZGxlcnMgeyBmYWxzZSB9Owog
cHJpdmF0ZToKICAgICAKICAgICB2b2lkIGhhbmRsZVN1Y2Nlc3NvcihWZWN0b3I8QmFzaWNCbG9j
ayosIDE2PiYgd29ya2xpc3QsIEJhc2ljQmxvY2sqLCBCYXNpY0Jsb2NrKiBzdWNjZXNzb3IpOwpJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21waWxlci5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21waWxlci5jcHAJKHJl
dmlzaW9uIDE4OTk4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29tcGls
ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC04NSw2ICs4NSwxNSBAQCB2b2lkIEpJVENvbXBpbGVy
OjpsaW5rT1NSRXhpdHMoKQogICAgICAgICAgICAgZmFpbHVyZUp1bXBzLmxpbmsodGhpcyk7CiAg
ICAgICAgIGVsc2UKICAgICAgICAgICAgIGluZm8ubV9yZXBsYWNlbWVudERlc3RpbmF0aW9uID0g
bGFiZWwoKTsKKworICAgICAgICBpZiAoZXhpdC5tX3dpbGxBcnJpdmVBdE9TUkV4aXRGcm9tR2Vu
ZXJpY1Vud2luZCkgeworICAgICAgICAgICAgLy8gV2UgYXJlIGFjdGluZyBhcyBhIGRlZmFjdG8g
b3BfY2F0Y2ggYmVjYXVzZSB3ZSBhcnJpdmUgaGVyZSBmcm9tIGdlbmVyaWNVbndpbmQoKS4KKyAg
ICAgICAgICAgIC8vIFNvLCB3ZSBtdXN0IHJlc3RvcmUgb3VyIGNhbGwgZnJhbWUgYW5kIHN0YWNr
IHBvaW50ZXIuCisgICAgICAgICAgICByZXN0b3JlQ2FsbGVlU2F2ZXNGcm9tVk1DYWxsZWVTYXZl
c0J1ZmZlcigpOworICAgICAgICAgICAgbG9hZFB0cih2bSgpLT5hZGRyZXNzT2ZDYWxsRnJhbWVG
b3JDYXRjaCgpLCBHUFJJbmZvOjpjYWxsRnJhbWVSZWdpc3Rlcik7CisgICAgICAgICAgICBhZGRQ
dHIoVHJ1c3RlZEltbTMyKGdyYXBoKCkuc3RhY2tQb2ludGVyT2Zmc2V0KCkgKiBzaXplb2YoUmVn
aXN0ZXIpKSwgR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIHN0YWNrUG9pbnRlclJlZ2lzdGVy
KTsKKyAgICAgICAgfQorCiAgICAgICAgIGppdEFzc2VydEhhc1ZhbGlkQ2FsbEZyYW1lKCk7CiAg
ICAgICAgIHN0b3JlMzIoVHJ1c3RlZEltbTMyKGkpLCAmdm0oKS0+b3NyRXhpdEluZGV4KTsKICAg
ICAgICAgZXhpdC5zZXRQYXRjaGFibGVDb2RlT2Zmc2V0KHBhdGNoYWJsZUp1bXAoKSk7CkBAIC0y
ODMsOSArMjkyLDI3IEBAIHZvaWQgSklUQ29tcGlsZXI6OmxpbmsoTGlua0J1ZmZlciYgbGlua0IK
ICAgICAgICAgfQogICAgIH0gZWxzZQogICAgICAgICBBU1NFUlQoIW1fZXhpdFNpdGVMYWJlbHMu
c2l6ZSgpKTsKLSAgICAKKwogICAgIG1faml0Q29kZS0+Y29tbW9uLmNvbXBpbGF0aW9uID0gbV9n
cmFwaC5jb21waWxhdGlvbigpOwogICAgIAorICAgIC8vIExpbmsgbmV3IERGRyBleGNlcHRpb24g
aGFuZGxlcnMgYW5kIHJlbW92ZSBiYXNlbGluZSBKSVQgaGFuZGxlcnMuCisgICAgbV9jb2RlQmxv
Y2stPmNsZWFyRXhjZXB0aW9uSGFuZGxlcnMoKTsKKyAgICBmb3IgKHVuc2lnbmVkICBpID0gMDsg
aSA8IG1fZXhjZXB0aW9uSGFuZGxlck9TUkV4aXRDYWxsU2l0ZXMuc2l6ZSgpOyBpKyspIHsKKyAg
ICAgICAgT1NSRXhpdENvbXBpbGF0aW9uSW5mbyYgaW5mbyA9IG1fZXhjZXB0aW9uSGFuZGxlck9T
UkV4aXRDYWxsU2l0ZXNbaV0uZXhpdEluZm87CisgICAgICAgIGlmIChpbmZvLm1fcmVwbGFjZW1l
bnREZXN0aW5hdGlvbi5pc1NldCgpKSB7CisgICAgICAgICAgICAvLyBJZiB0aGlzIGlzIGlzICpu
b3QqIHNldCwgaXQgbWVhbnMgdGhhdCB3ZSBhbHJlYWR5IGp1bXBlZCB0byB0aGUgT1NSIGV4aXQg
aW4gcHVyZSBnZW5lcmF0ZWQgY29udHJvbCBmbG93LgorICAgICAgICAgICAgLy8gaS5lLCB3ZSBl
eHBsaWNpdGx5IGVtaXR0ZWQgYW4gZXhjZXB0aW9uQ2hlY2sgdGhhdCB3ZSBrbm93IHdpbGwgYmUg
Y2F1Z2h0IGluIHRoaXMgbWFjaGluZSBmcmFtZS4KKyAgICAgICAgICAgIC8vIElmIHRoaXMgKmlz
IHNldCosIGl0IG1lYW5zIHdlIHdpbGwgYmUgbGFuZGluZyBhdCB0aGlzIGNvZGUgbG9jYXRpb24g
ZnJvbSBnZW5lcmljVW53aW5kIGZyb20gYW4KKyAgICAgICAgICAgIC8vIGV4Y2VwdGlvbiB0aHJv
d24gaW4gYSBjaGlsZCBjYWxsIGZyYW1lLgorICAgICAgICAgICAgQ29kZUxvY2F0aW9uTGFiZWwg
Y2F0Y2hMYWJlbCA9IGxpbmtCdWZmZXIubG9jYXRpb25PZihpbmZvLm1fcmVwbGFjZW1lbnREZXN0
aW5hdGlvbik7CisgICAgICAgICAgICBIYW5kbGVySW5mbyBuZXdFeGNlcHRpb25IYW5kbGVyID0g
bV9leGNlcHRpb25IYW5kbGVyT1NSRXhpdENhbGxTaXRlc1tpXS5iYXNlbGluZUV4Y2VwdGlvbkhh
bmRsZXI7CisgICAgICAgICAgICBDYWxsU2l0ZUluZGV4IGNhbGxTaXRlID0gbV9leGNlcHRpb25I
YW5kbGVyT1NSRXhpdENhbGxTaXRlc1tpXS5jYWxsU2l0ZUluZGV4OworICAgICAgICAgICAgbmV3
RXhjZXB0aW9uSGFuZGxlci5zdGFydCA9IGNhbGxTaXRlLmJpdHMoKTsKKyAgICAgICAgICAgIG5l
d0V4Y2VwdGlvbkhhbmRsZXIuZW5kID0gY2FsbFNpdGUuYml0cygpICsgMTsKKyAgICAgICAgICAg
IG5ld0V4Y2VwdGlvbkhhbmRsZXIubmF0aXZlQ29kZSA9IGNhdGNoTGFiZWw7CisgICAgICAgICAg
ICBtX2NvZGVCbG9jay0+YXBwZW5kRXhjZXB0aW9uSGFuZGxlcihuZXdFeGNlcHRpb25IYW5kbGVy
KTsKKyAgICAgICAgfQorICAgIH0KIH0KIAogdm9pZCBKSVRDb21waWxlcjo6Y29tcGlsZSgpCkBA
IC0zMzcsNyArMzY0LDcgQEAgdm9pZCBKSVRDb21waWxlcjo6Y29tcGlsZSgpCiAgICAgCiAgICAg
bGluaygqbGlua0J1ZmZlcik7CiAgICAgbV9zcGVjdWxhdGl2ZS0+bGlua09TUkVudHJpZXMoKmxp
bmtCdWZmZXIpOwotICAgIAorCiAgICAgbV9qaXRDb2RlLT5zaHJpbmtUb0ZpdCgpOwogICAgIGNv
ZGVCbG9jaygpLT5zaHJpbmtUb0ZpdChDb2RlQmxvY2s6OkxhdGVTaHJpbmspOwogCkBAIC01MjIs
NiArNTQ5LDg0IEBAIHZvaWQgSklUQ29tcGlsZXI6Om5vdGljZU9TUkVudHJ5KEJhc2ljQmwKICAg
ICBlbnRyeS0+bV9yZXNodWZmbGluZ3Muc2hyaW5rVG9GaXQoKTsKIH0KIAordm9pZCBKSVRDb21w
aWxlcjo6YXBwZW5kRXhjZXB0aW9uSGFuZGxpbmdPU1JFeGl0KHVuc2lnbmVkIGV2ZW50U3RyZWFt
SW5kZXgsIENvZGVPcmlnaW4gb3BDYXRjaE9yaWdpbiwgSGFuZGxlckluZm8qIGV4Y2VwdGlvbkhh
bmRsZXIsIENhbGxTaXRlSW5kZXggY2FsbFNpdGUsIE1hY3JvQXNzZW1ibGVyOjpKdW1wTGlzdCBq
dW1wc1RvRmFpbCkKK3sKKyAgICBPU1JFeGl0IGV4aXQoVW5jb3VudGFibGUsIEpTVmFsdWVSZWdz
KCksIGdyYXBoKCkubWV0aG9kT2ZHZXR0aW5nQVZhbHVlUHJvZmlsZUZvcihudWxscHRyKSwgbV9z
cGVjdWxhdGl2ZS5nZXQoKSwgZXZlbnRTdHJlYW1JbmRleCk7CisgICAgZXhpdC5tX3dpbGxBcnJp
dmVBdE9TUkV4aXRGcm9tR2VuZXJpY1Vud2luZCA9IGp1bXBzVG9GYWlsLmVtcHR5KCk7IC8vIElm
IGp1bXBzIGFyZSBlbXB0eSwgd2UncmUgZ29pbmcgdG8ganVtcCBoZXJlIGZyb20gZ2VuZXJpY1Vu
d2luZCBmcm9tIGEgY2hpbGQgY2FsbCBmcmFtZS4KKyAgICBleGl0Lm1faXNFeGNlcHRpb25IYW5k
bGVyID0gdHJ1ZTsKKyAgICBleGl0Lm1fY29kZU9yaWdpbiA9IG9wQ2F0Y2hPcmlnaW47CisgICAg
T1NSRXhpdENvbXBpbGF0aW9uSW5mbyYgZXhpdEluZm8gPSBhcHBlbmRFeGl0SW5mbyhqdW1wc1Rv
RmFpbCk7CisgICAgaml0Q29kZSgpLT5hcHBlbmRPU1JFeGl0KGV4aXQpOworICAgIG1fZXhjZXB0
aW9uSGFuZGxlck9TUkV4aXRDYWxsU2l0ZXMuYXBwZW5kKEV4Y2VwdGlvbkhhbmRsaW5nT1NSRXhp
dEluZm8geyBleGl0SW5mbywgKmV4Y2VwdGlvbkhhbmRsZXIsIGNhbGxTaXRlIH0pOworfQorCiti
b29sIEpJVENvbXBpbGVyOjp3aWxsQ2F0Y2hFeGNlcHRpb25Jbk1hY2hpbmVGcmFtZShDb2RlT3Jp
Z2luIGNvZGVPcmlnaW4sIENvZGVPcmlnaW4mIG9wQ2F0Y2hPcmlnaW5PdXQsIEhhbmRsZXJJbmZv
KiYgY2F0Y2hIYW5kbGVyT3V0KQoreworICAgIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXhUb0NoZWNr
ID0gY29kZU9yaWdpbi5ieXRlY29kZUluZGV4OworICAgIHdoaWxlICgxKSB7CisgICAgICAgIElu
bGluZUNhbGxGcmFtZSogaW5saW5lQ2FsbEZyYW1lID0gY29kZU9yaWdpbi5pbmxpbmVDYWxsRnJh
bWU7CisgICAgICAgIENvZGVCbG9jayogY29kZUJsb2NrID0gbV9ncmFwaC5iYXNlbGluZUNvZGVC
bG9ja0ZvcihpbmxpbmVDYWxsRnJhbWUpOworICAgICAgICBpZiAoSGFuZGxlckluZm8qIGhhbmRs
ZXIgPSBjb2RlQmxvY2stPmhhbmRsZXJGb3JCeXRlY29kZU9mZnNldChieXRlY29kZUluZGV4VG9D
aGVjaykpIHsKKyAgICAgICAgICAgIG9wQ2F0Y2hPcmlnaW5PdXQgPSBDb2RlT3JpZ2luKGhhbmRs
ZXItPnRhcmdldCwgaW5saW5lQ2FsbEZyYW1lKTsKKyAgICAgICAgICAgIGNhdGNoSGFuZGxlck91
dCA9IGhhbmRsZXI7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorCisgICAg
ICAgIGlmICghaW5saW5lQ2FsbEZyYW1lKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisg
ICAgICAgIGJ5dGVjb2RlSW5kZXhUb0NoZWNrID0gaW5saW5lQ2FsbEZyYW1lLT5jYWxsZXIuYnl0
ZWNvZGVJbmRleDsKKyAgICAgICAgY29kZU9yaWdpbiA9IGNvZGVPcmlnaW4uaW5saW5lQ2FsbEZy
YW1lLT5jYWxsZXI7CisgICAgfQorCisgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsK
K30KKwordm9pZCBKSVRDb21waWxlcjo6ZXhjZXB0aW9uQ2hlY2soKQoreworICAgIC8vIEl0J3Mg
aW1wb3J0YW50IHRoYXQgd2UgdXNlIG9yaWdpbi5mb3JFeGl0IGhlcmUuIENvbnNpZGVyIGlmIHdl
IGhvaXN0IHN0cmluZworICAgIC8vIGFkZGl0aW9uIG91dHNpZGUgYSBsb29wLCBhbmQgdGhhdCB3
ZSBleGl0IGF0IHRoZSBwb2ludCBvZiB0aGF0IGNvbmNhdGVuYXRpb24KKyAgICAvLyBmcm9tIGFu
IG91dCBvZiBtZW1vcnkgZXhjZXB0aW9uLgorICAgIC8vIElmIHRoZSBvcmlnaW5hbCBsb29wIGhh
ZCBhIHRyeS9jYXRjaCBhcm91bmQgc3RyaW5nIGNvbmNhdGVuYXRpb24sIGlmIHdlICJjYXRjaCIK
KyAgICAvLyB0aGF0IGV4Y2VwdGlvbiBpbnNpZGUgdGhlIGxvb3AsIHRoZW4gdGhlIGxvb3BzIGlu
ZHVjdGlvbiB2YXJpYWJsZSB3aWxsIGJlIHVuZGVmaW5lZCAKKyAgICAvLyBpbiB0aGUgT1NSIGV4
aXQgdmFsdWUgcmVjb3ZlcnkuIEl0J3MgbW9yZSBkZWZlbnNpYmxlIGZvciB0aGUgc3RyaW5nIGNv
bmNhdGVuYXRpb24sIAorICAgIC8vIHRoZW4sIHRvIG5vdCBiZSBjYXVnaHQgYnkgdGhlIGZvciBs
b29wcycgdHJ5L2NhdGNoLgorICAgIC8vIEhlcmUgaXMgdGhlIHByb2dyYW0gSSdtIHNwZWFraW5n
IGFib3V0OgorICAgIC8vCisgICAgLy8gPj4+PiBsZXRzIHByZXN1bWUgImMgPSBhICsgYiIgZ2V0
cyBob2lzdGVkIGhlcmUuCisgICAgLy8gZm9yICh2YXIgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykg
eworICAgIC8vICAgICB0cnkgeworICAgIC8vICAgICAgICAgYyA9IGEgKyBiCisgICAgLy8gICAg
IH0gY2F0Y2goZSkgeyAKKyAgICAvLyAgICAgICAgIElmIHdlIHRocmV3IGFuIG91dCBvZiBtZW1v
cnkgZXJyb3IsIGFuZCB3ZSBjb3VnaHQgdGhlIGV4Y2VwdGlvbgorICAgIC8vICAgICAgICAgcmln
aHQgaGVyZSwgdGhlbiAiaSIgd291bGQgYWxtb3N0IGNlcnRhaW5seSBiZSB1bmRlZmluZWQsIHdo
aWNoCisgICAgLy8gICAgICAgICB3b3VsZCBtYWtlIG5vIHNlbnNlLgorICAgIC8vICAgICAgICAg
Li4uIAorICAgIC8vICAgICB9CisgICAgLy8gfQorICAgIENvZGVPcmlnaW4gb3BDYXRjaE9yaWdp
bjsKKyAgICBIYW5kbGVySW5mbyogZXhjZXB0aW9uSGFuZGxlcjsKKyAgICBib29sIHdpbGxDYXRj
aEV4Y2VwdGlvbiA9IHdpbGxDYXRjaEV4Y2VwdGlvbkluTWFjaGluZUZyYW1lKG1fc3BlY3VsYXRp
dmUtPm1fY3VycmVudE5vZGUtPm9yaWdpbi5mb3JFeGl0LCBvcENhdGNoT3JpZ2luLCBleGNlcHRp
b25IYW5kbGVyKTsgCisgICAgaWYgKHdpbGxDYXRjaEV4Y2VwdGlvbikgeworICAgICAgICB1bnNp
Z25lZCBzdHJlYW1JbmRleCA9IG1fc3BlY3VsYXRpdmUtPm1fb3V0T2ZMaW5lU3RyZWFtSW5kZXgg
IT0gVUlOVF9NQVggPyBtX3NwZWN1bGF0aXZlLT5tX291dE9mTGluZVN0cmVhbUluZGV4IDogbV9z
cGVjdWxhdGl2ZS0+bV9zdHJlYW0tPnNpemUoKTsKKyAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1
bXAgaGFkRXhjZXB0aW9uID0gZW1pdE5vblBhdGNoYWJsZUV4Y2VwdGlvbkNoZWNrKCk7CisgICAg
ICAgIC8vIFdlIGFzc3VtZSBoZXJlIHRoYXQgdGhpcyBpcyBjYWxsZWQgYWZ0ZXIgY2FsbE9wZWFy
dGlvbigpL2FwcGVuZENhbGwoKSBpcyBjYWxsZWQuCisgICAgICAgIGFwcGVuZEV4Y2VwdGlvbkhh
bmRsaW5nT1NSRXhpdChzdHJlYW1JbmRleCwgb3BDYXRjaE9yaWdpbiwgZXhjZXB0aW9uSGFuZGxl
ciwgbV9qaXRDb2RlLT5jb21tb24ubGFzdENhbGxTaXRlKCksIGhhZEV4Y2VwdGlvbik7CisgICAg
fSBlbHNlCisgICAgICAgIG1fZXhjZXB0aW9uQ2hlY2tzLmFwcGVuZChlbWl0RXhjZXB0aW9uQ2hl
Y2soKSk7Cit9CisKK0NhbGxTaXRlSW5kZXggSklUQ29tcGlsZXI6OnJlY29yZENhbGxTaXRlQW5k
R2VuZXJhdGVFeGNlcHRpb25IYW5kbGluZ09TUkV4aXRJZk5lZWRlZChjb25zdCBDb2RlT3JpZ2lu
JiBjYWxsU2l0ZUNvZGVPcmlnaW4sIHVuc2lnbmVkIGV2ZW50U3RyZWFtSW5kZXgpCit7CisgICAg
Q29kZU9yaWdpbiBvcENhdGNoT3JpZ2luOworICAgIEhhbmRsZXJJbmZvKiBleGNlcHRpb25IYW5k
bGVyOworICAgIGJvb2wgd2lsbENhdGNoRXhjZXB0aW9uID0gd2lsbENhdGNoRXhjZXB0aW9uSW5N
YWNoaW5lRnJhbWUoY2FsbFNpdGVDb2RlT3JpZ2luLCBvcENhdGNoT3JpZ2luLCBleGNlcHRpb25I
YW5kbGVyKTsKKyAgICBDYWxsU2l0ZUluZGV4IGNhbGxTaXRlID0gYWRkQ2FsbFNpdGUoY2FsbFNp
dGVDb2RlT3JpZ2luKTsKKyAgICBpZiAod2lsbENhdGNoRXhjZXB0aW9uKQorICAgICAgICBhcHBl
bmRFeGNlcHRpb25IYW5kbGluZ09TUkV4aXQoZXZlbnRTdHJlYW1JbmRleCwgb3BDYXRjaE9yaWdp
biwgZXhjZXB0aW9uSGFuZGxlciwgY2FsbFNpdGUpOworICAgIHJldHVybiBjYWxsU2l0ZTsKK30K
KwogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkRGRwogCiAjZW5kaWYgLy8gRU5BQkxFKERGR19KSVQp
CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVyLmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21waWxlci5oCShyZXZp
c2lvbiAxODk5ODYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVy
LmgJKHdvcmtpbmcgY29weSkKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJERkdSZWdpc3Rl
ckJhbmsuaCIKICNpbmNsdWRlICJGUFJJbmZvLmgiCiAjaW5jbHVkZSAiR1BSSW5mby5oIgorI2lu
Y2x1ZGUgIkhhbmRsZXJJbmZvLmgiCiAjaW5jbHVkZSAiSklUQ29kZS5oIgogI2luY2x1ZGUgIkpJ
VElubGluZUNhY2hlR2VuZXJhdG9yLmgiCiAjaW5jbHVkZSAiTGlua0J1ZmZlci5oIgpAQCAtMTU4
LDYgKzE1OSwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBlbWl0U3RvcmVDb2RlT3JpZ2luKENvZGVP
cmlnaW4gY29kZU9yaWdpbikKICAgICB7CiAgICAgICAgIENhbGxTaXRlSW5kZXggY2FsbFNpdGUg
PSBhZGRDYWxsU2l0ZShjb2RlT3JpZ2luKTsKKyAgICAgICAgZW1pdFN0b3JlQ2FsbFNpdGVJbmRl
eChjYWxsU2l0ZSk7CisgICAgfQorCisgICAgdm9pZCBlbWl0U3RvcmVDYWxsU2l0ZUluZGV4KENh
bGxTaXRlSW5kZXggY2FsbFNpdGUpCisgICAgewogICAgICAgICBzdG9yZTMyKFRydXN0ZWRJbW0z
MihjYWxsU2l0ZS5iaXRzKCkpLCB0YWdGb3Ioc3RhdGljX2Nhc3Q8VmlydHVhbFJlZ2lzdGVyPihK
U1N0YWNrOjpBcmd1bWVudENvdW50KSkpOwogICAgIH0KIApAQCAtMTY5LDEwICsxNzUsNyBAQCBw
dWJsaWM6CiAgICAgICAgIHJldHVybiBmdW5jdGlvbkNhbGw7CiAgICAgfQogICAgIAotICAgIHZv
aWQgZXhjZXB0aW9uQ2hlY2soKQotICAgIHsKLSAgICAgICAgbV9leGNlcHRpb25DaGVja3MuYXBw
ZW5kKGVtaXRFeGNlcHRpb25DaGVjaygpKTsKLSAgICB9CisgICAgdm9pZCBleGNlcHRpb25DaGVj
aygpOwogCiAgICAgdm9pZCBleGNlcHRpb25DaGVja1dpdGhDYWxsRnJhbWVSb2xsYmFjaygpCiAg
ICAgewpAQCAtMjYwLDYgKzI2Myw4IEBAIHB1YmxpYzoKICAgICAKICAgICBWZWN0b3I8TGFiZWw+
JiBibG9ja0hlYWRzKCkgeyByZXR1cm4gbV9ibG9ja0hlYWRzOyB9CiAKKyAgICBDYWxsU2l0ZUlu
ZGV4IHJlY29yZENhbGxTaXRlQW5kR2VuZXJhdGVFeGNlcHRpb25IYW5kbGluZ09TUkV4aXRJZk5l
ZWRlZChjb25zdCBDb2RlT3JpZ2luJiwgdW5zaWduZWQgZXZlbnRTdHJlYW1JbmRleCk7CisKIHBy
aXZhdGU6CiAgICAgZnJpZW5kIGNsYXNzIE9TUkV4aXRKdW1wUGxhY2Vob2xkZXI7CiAgICAgCkBA
IC0yNzMsNyArMjc4LDEwIEBAIHByaXZhdGU6CiAgICAgdm9pZCBjb21waWxlRXhjZXB0aW9uSGFu
ZGxlcnMoKTsKICAgICB2b2lkIGxpbmtPU1JFeGl0cygpOwogICAgIHZvaWQgZGlzYXNzZW1ibGUo
TGlua0J1ZmZlciYpOwotICAgIAorCisgICAgYm9vbCB3aWxsQ2F0Y2hFeGNlcHRpb25Jbk1hY2hp
bmVGcmFtZShDb2RlT3JpZ2luLCBDb2RlT3JpZ2luJiBvcENhdGNoT3JpZ2luT3V0LCBIYW5kbGVy
SW5mbyomIGNhdGNoSGFuZGxlck91dCk7CisgICAgdm9pZCBhcHBlbmRFeGNlcHRpb25IYW5kbGlu
Z09TUkV4aXQodW5zaWduZWQgZXZlbnRTdHJlYW1JbmRleCwgQ29kZU9yaWdpbiwgSGFuZGxlcklu
Zm8qIGV4Y2VwdGlvbkhhbmRsZXIsIENhbGxTaXRlSW5kZXgsIE1hY3JvQXNzZW1ibGVyOjpKdW1w
TGlzdCBqdW1wc1RvRmFpbCA9IE1hY3JvQXNzZW1ibGVyOjpKdW1wTGlzdCgpKTsKKwogICAgIC8v
IFRoZSBkYXRhZmxvdyBncmFwaCBjdXJyZW50bHkgYmVpbmcgZ2VuZXJhdGVkLgogICAgIEdyYXBo
JiBtX2dyYXBoOwogCkBAIC0zMTEsNiArMzE5LDEzIEBAIHByaXZhdGU6CiAgICAgU2VnbWVudGVk
VmVjdG9yPE9TUkV4aXRDb21waWxhdGlvbkluZm8sIDQ+IG1fZXhpdENvbXBpbGF0aW9uSW5mbzsK
ICAgICBWZWN0b3I8VmVjdG9yPExhYmVsPj4gbV9leGl0U2l0ZUxhYmVsczsKICAgICAKKyAgICBz
dHJ1Y3QgRXhjZXB0aW9uSGFuZGxpbmdPU1JFeGl0SW5mbyB7CisgICAgICAgIE9TUkV4aXRDb21w
aWxhdGlvbkluZm8mIGV4aXRJbmZvOworICAgICAgICBIYW5kbGVySW5mbyBiYXNlbGluZUV4Y2Vw
dGlvbkhhbmRsZXI7CisgICAgICAgIENhbGxTaXRlSW5kZXggY2FsbFNpdGVJbmRleDsKKyAgICB9
OworICAgIFZlY3RvcjxFeGNlcHRpb25IYW5kbGluZ09TUkV4aXRJbmZvPiBtX2V4Y2VwdGlvbkhh
bmRsZXJPU1JFeGl0Q2FsbFNpdGVzOworICAgIAogICAgIENhbGwgbV9jYWxsQXJpdHlGaXh1cDsK
ICAgICBMYWJlbCBtX2FyaXR5Q2hlY2s7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFNwZWN1bGF0aXZl
SklUPiBtX3NwZWN1bGF0aXZlOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdM
aXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9uUGhh
c2UuY3BwCShyZXZpc2lvbiAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdMaXZl
Q2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCww
ICsxLDE3OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVz
ZXJ2YXRpb25QaGFzZS5oIgorCisjaWYgRU5BQkxFKERGR19KSVQpCisKKyNpbmNsdWRlICJERkdC
YXNpY0Jsb2NrSW5saW5lcy5oIgorI2luY2x1ZGUgIkRGR0dyYXBoLmgiCisjaW5jbHVkZSAiREZH
SW5zZXJ0aW9uU2V0LmgiCisjaW5jbHVkZSAiREZHUGhhc2UuaCIKKyNpbmNsdWRlICJGdWxsQnl0
ZWNvZGVMaXZlbmVzcy5oIgorI2luY2x1ZGUgIkpTQ0lubGluZXMuaCIKKworbmFtZXNwYWNlIEpT
QyB7IG5hbWVzcGFjZSBERkcgeworCitjbGFzcyBGbHVzaExpdmVDYXRjaFZhcmlhYmxlc0luc2Vy
dGlvblBoYXNlIDogcHVibGljIFBoYXNlIHsKK3B1YmxpYzoKKyAgICBGbHVzaExpdmVDYXRjaFZh
cmlhYmxlc0luc2VydGlvblBoYXNlKEdyYXBoJiBncmFwaCkKKyAgICAgICAgOiBQaGFzZShncmFw
aCwgImxpdmUgY2F0Y2ggdmFyaWFibGUgcHJlc2VydmF0aW9uIHBoYXNlIikKKyAgICB7CisgICAg
fQorCisgICAgYm9vbCBydW4oKQorICAgIHsKKyAgICAgICAgaWYgKCFtX2dyYXBoLm1faGFzRXhj
ZXB0aW9uSGFuZGxlcnMpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKworICAgICAgICBERkdf
QVNTRVJUKG1fZ3JhcGgsIG51bGxwdHIsIG1fZ3JhcGgubV9mb3JtID09IExvYWRTdG9yZSk7CisK
KyAgICAgICAgbV9jdXJyZW50QmxvY2tMaXZlbmVzcy5yZXNpemUobV9ncmFwaC5ibG9jaygwKS0+
dmFyaWFibGVzQXRUYWlsLm51bWJlck9mTG9jYWxzKCkpOworCisgICAgICAgIEluc2VydGlvblNl
dCBpbnNlcnRpb25TZXQobV9ncmFwaCk7CisgICAgICAgIGZvciAoQmFzaWNCbG9jayogYmxvY2sg
OiBtX2dyYXBoLmJsb2Nrc0luTmF0dXJhbE9yZGVyKCkpIHsKKyAgICAgICAgICAgIGhhbmRsZUJs
b2NrKGJsb2NrLCBpbnNlcnRpb25TZXQpOworICAgICAgICAgICAgaW5zZXJ0aW9uU2V0LmV4ZWN1
dGUoYmxvY2spOworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisg
ICAgYm9vbCB3aWxsQ2F0Y2hFeGNlcHRpb24oQ29kZU9yaWdpbiBvcmlnaW4pCisgICAgeworICAg
ICAgICB1bnNpZ25lZCBieXRlY29kZUluZGV4VG9DaGVjayA9IG9yaWdpbi5ieXRlY29kZUluZGV4
OworICAgICAgICBtX2N1cnJlbnRCbG9ja0xpdmVuZXNzLmNsZWFyQWxsKCk7CisKKyAgICAgICAg
d2hpbGUgKDEpIHsKKyAgICAgICAgICAgIElubGluZUNhbGxGcmFtZSogaW5saW5lQ2FsbEZyYW1l
ID0gb3JpZ2luLmlubGluZUNhbGxGcmFtZTsKKyAgICAgICAgICAgIENvZGVCbG9jayogY29kZUJs
b2NrID0gbV9ncmFwaC5iYXNlbGluZUNvZGVCbG9ja0ZvcihpbmxpbmVDYWxsRnJhbWUpOworICAg
ICAgICAgICAgaWYgKEhhbmRsZXJJbmZvKiBoYW5kbGVyID0gY29kZUJsb2NrLT5oYW5kbGVyRm9y
Qnl0ZWNvZGVPZmZzZXQoYnl0ZWNvZGVJbmRleFRvQ2hlY2spKSB7CisgICAgICAgICAgICAgICAg
dW5zaWduZWQgY2F0Y2hCeXRlY29kZUluZGV4ID0gaGFuZGxlci0+dGFyZ2V0OworICAgICAgICAg
ICAgICAgIG1fZ3JhcGguZm9yQWxsTG9jYWxzTGl2ZUluQnl0ZWNvZGUoQ29kZU9yaWdpbihjYXRj
aEJ5dGVjb2RlSW5kZXgsIGlubGluZUNhbGxGcmFtZSksIFsmXSAoVmlydHVhbFJlZ2lzdGVyIG9w
ZXJhbmQpIHsKKyAgICAgICAgICAgICAgICAgICAgbV9jdXJyZW50QmxvY2tMaXZlbmVzcy5zZXQo
b3BlcmFuZC50b0xvY2FsKCksIHRydWUpOyAKKyAgICAgICAgICAgICAgICB9KTsKKyAgICAgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKCFp
bmxpbmVDYWxsRnJhbWUpCisgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAg
ICAgICBieXRlY29kZUluZGV4VG9DaGVjayA9IGlubGluZUNhbGxGcmFtZS0+Y2FsbGVyLmJ5dGVj
b2RlSW5kZXg7CisgICAgICAgICAgICBvcmlnaW4gPSBpbmxpbmVDYWxsRnJhbWUtPmNhbGxlcjsK
KyAgICAgICAgfQorICAgIH0KKworICAgIHZvaWQgaGFuZGxlQmxvY2soQmFzaWNCbG9jayogYmxv
Y2ssIEluc2VydGlvblNldCYgaW5zZXJ0aW9uU2V0KQorICAgIHsKKyAgICAgICAgLy8gQmVjYXVz
ZSBwcmVjaXNlIGp1bXAgdGFyZ2V0cyBlbnN1cmVzIHRoYXQgdGhlIHN0YXJ0IG9mIGEgInRyeSIg
YmxvY2sgaXMgaXRzCisgICAgICAgIC8vIG93biBiYXNpYyBibG9jaywgd2Ugd2lsbCBuZXZlciBo
YXZlIHR3byAidHJ5IiBzdGF0ZW1lbnRzIGluIHRoZSBzYW1lIERGRworICAgICAgICAvLyBiYXNp
YyBibG9jay4gVGhlcmVmb3JlLCBjaGVja2luZyB0aGUgZmlyc3Qgbm9kZSBpbiB0aGUgYmxvY2sg
aXMgc3VmZmljaWVudCAKKyAgICAgICAgLy8gdG8gY2hlY2tpbmcgaWYgd2UncmUgaW4gYSB0cnkg
YmxvY2suCisgICAgICAgIGlmICghd2lsbENhdGNoRXhjZXB0aW9uKGJsb2NrLT5hdCgwKS0+b3Jp
Z2luLnNlbWFudGljKSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBPcGVyYW5kczxW
YXJpYWJsZUFjY2Vzc0RhdGEqPiBjdXJyZW50QmxvY2tBY2Nlc3NEYXRhKGJsb2NrLT52YXJpYWJs
ZXNBdFRhaWwubnVtYmVyT2ZBcmd1bWVudHMoKSwgYmxvY2stPnZhcmlhYmxlc0F0VGFpbC5udW1i
ZXJPZkxvY2FscygpLCBudWxscHRyKTsKKyAgICAgICAgSGFzaFNldDxJbmxpbmVDYWxsRnJhbWUq
PiBzZWVuSW5saW5lQ2FsbEZyYW1lczsKKworICAgICAgICB7CisgICAgICAgICAgICBmb3IgKHVu
c2lnbmVkIGkgPSAwOyBpIDwgYmxvY2stPnNpemUoKTsgaSsrKSB7CisgICAgICAgICAgICAgICAg
Tm9kZSogbm9kZSA9IGJsb2NrLT5hdChpKTsKKyAgICAgICAgICAgICAgICBib29sIGlzUHJpbW9y
ZGlhbFNldEFyZ3VtZW50ID0gbm9kZS0+b3AoKSA9PSBTZXRBcmd1bWVudCAmJiBub2RlLT5sb2Nh
bCgpLmlzQXJndW1lbnQoKSAmJiBub2RlID09IG1fZ3JhcGgubV9hcmd1bWVudHNbbm9kZS0+bG9j
YWwoKS50b0FyZ3VtZW50KCldOworICAgICAgICAgICAgICAgIElubGluZUNhbGxGcmFtZSogaW5s
aW5lQ2FsbEZyYW1lID0gbm9kZS0+b3JpZ2luLnNlbWFudGljLmlubGluZUNhbGxGcmFtZTsKKyAg
ICAgICAgICAgICAgICBpZiAoaW5saW5lQ2FsbEZyYW1lKQorICAgICAgICAgICAgICAgICAgICBz
ZWVuSW5saW5lQ2FsbEZyYW1lcy5hZGQoaW5saW5lQ2FsbEZyYW1lKTsKKworICAgICAgICAgICAg
ICAgIGlmIChub2RlLT5vcCgpID09IFNldExvY2FsIHx8IChub2RlLT5vcCgpID09IFNldEFyZ3Vt
ZW50ICYmICFpc1ByaW1vcmRpYWxTZXRBcmd1bWVudCkpIHsKKyAgICAgICAgICAgICAgICAgICAg
VmlydHVhbFJlZ2lzdGVyIG9wZXJhbmQgPSBub2RlLT5sb2NhbCgpOworCisgICAgICAgICAgICAg
ICAgICAgIGludCBzdGFja09mZnNldCA9IGlubGluZUNhbGxGcmFtZSA/IGlubGluZUNhbGxGcmFt
ZS0+c3RhY2tPZmZzZXQgOiAwOworICAgICAgICAgICAgICAgICAgICBpZiAoKG9wZXJhbmQuaXNM
b2NhbCgpICYmIG1fY3VycmVudEJsb2NrTGl2ZW5lc3MuZ2V0KG9wZXJhbmQudG9Mb2NhbCgpKSkK
KyAgICAgICAgICAgICAgICAgICAgICAgIHx8IChvcGVyYW5kLm9mZnNldCgpID09IHN0YWNrT2Zm
c2V0ICsgQ2FsbEZyYW1lOjp0aGlzQXJndW1lbnRPZmZzZXQoKSkpIHsKKworICAgICAgICAgICAg
ICAgICAgICAgICAgVmFyaWFibGVBY2Nlc3NEYXRhKiBmbHVzaEFjY2Vzc0RhdGEgPSBjdXJyZW50
QmxvY2tBY2Nlc3NEYXRhLm9wZXJhbmQob3BlcmFuZCk7CisgICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoIWZsdXNoQWNjZXNzRGF0YSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbHVz
aEFjY2Vzc0RhdGEgPSBuZXdWYXJpYWJsZUFjY2Vzc0RhdGEob3BlcmFuZCk7CisKKyAgICAgICAg
ICAgICAgICAgICAgICAgIGluc2VydGlvblNldC5pbnNlcnROb2RlKGksIFNwZWNOb25lLCAKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBGbHVzaCwgbm9kZS0+b3JpZ2luLCBPcEluZm8oZmx1
c2hBY2Nlc3NEYXRhKSk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgICAgICBpZiAobm9kZS0+aGFzVmFyaWFibGVBY2Nlc3NEYXRhKG1fZ3Jh
cGgpKQorICAgICAgICAgICAgICAgICAgICBjdXJyZW50QmxvY2tBY2Nlc3NEYXRhLm9wZXJhbmQo
bm9kZS0+bG9jYWwoKSkgPSBub2RlLT52YXJpYWJsZUFjY2Vzc0RhdGEoKTsKKyAgICAgICAgICAg
IH0KKyAgICAgICAgfQorCisgICAgICAgIC8vIEZsdXNoIGV2ZXJ5dGhpbmcgYXQgdGhlIGVuZCBv
ZiB0aGUgYmxvY2suCisgICAgICAgIC8vIEZJWE1FOiBJIHRoaW5rIHRoaXMgd2lsbCBvbmx5IGJl
IG5lY2Vzc2FyeSBpZiB3ZSBoYXZlIGFueSBzdWNjZXNzb3IKKyAgICAgICAgLy8gYmxvY2tzIHdo
byBhcmVuJ3QgaW5zaWRlIHRoaXMgInRyeSIgc3RhdGVtZW50LiBJZiBhbGwgb3VyIHN1Y2Nlc3Nv
cidzCisgICAgICAgIC8vIGFyZSBpbiB0aGlzIHRyeSBzdGF0ZW1lbnQsIHRoZXkgd2lsbCBoYXZl
IEZsdXNoZXMgZm9yIGFueSBsaXZlICJjYXRjaCIKKyAgICAgICAgLy8gdmFyaWFibGVzLgorICAg
ICAgICB7CisgICAgICAgICAgICBOb2RlT3JpZ2luIG9yaWdpbiA9IGJsb2NrLT5hdChibG9jay0+
c2l6ZSgpIC0gMSktPm9yaWdpbjsKKyAgICAgICAgICAgIGF1dG8gaW5zZXJ0Rmx1c2hBdEVuZCA9
IFsmXSAoVmlydHVhbFJlZ2lzdGVyIG9wZXJhbmQsIGJvb2wgYWx3YXlzRmx1c2gpIHsKKyAgICAg
ICAgICAgICAgICBpZiAoKG9wZXJhbmQuaXNMb2NhbCgpICYmIG1fY3VycmVudEJsb2NrTGl2ZW5l
c3MuZ2V0KG9wZXJhbmQudG9Mb2NhbCgpKSkgCisgICAgICAgICAgICAgICAgICAgIHx8IG9wZXJh
bmQuaXNBcmd1bWVudCgpCisgICAgICAgICAgICAgICAgICAgIHx8IGFsd2F5c0ZsdXNoKSB7Cisg
ICAgICAgICAgICAgICAgICAgIFZhcmlhYmxlQWNjZXNzRGF0YSogYWNjZXNzRGF0YSA9IGN1cnJl
bnRCbG9ja0FjY2Vzc0RhdGEub3BlcmFuZChvcGVyYW5kKTsKKyAgICAgICAgICAgICAgICAgICAg
aWYgKCFhY2Nlc3NEYXRhKQorICAgICAgICAgICAgICAgICAgICAgICAgYWNjZXNzRGF0YSA9IG5l
d1ZhcmlhYmxlQWNjZXNzRGF0YShvcGVyYW5kKTsKKworICAgICAgICAgICAgICAgICAgICBjdXJy
ZW50QmxvY2tBY2Nlc3NEYXRhLm9wZXJhbmQob3BlcmFuZCkgPSBhY2Nlc3NEYXRhOworCisgICAg
ICAgICAgICAgICAgICAgIGluc2VydGlvblNldC5pbnNlcnROb2RlKGJsb2NrLT5zaXplKCksIFNw
ZWNOb25lLCAKKyAgICAgICAgICAgICAgICAgICAgICAgIEZsdXNoLCBvcmlnaW4sIE9wSW5mbyhh
Y2Nlc3NEYXRhKSk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfTsKKyAgICAgICAg
ICAgIGZvciAodW5zaWduZWQgbG9jYWwgPSAwOyBsb2NhbCA8IGJsb2NrLT52YXJpYWJsZXNBdFRh
aWwubnVtYmVyT2ZMb2NhbHMoKTsgbG9jYWwrKykKKyAgICAgICAgICAgICAgICBpbnNlcnRGbHVz
aEF0RW5kKHZpcnR1YWxSZWdpc3RlckZvckxvY2FsKGxvY2FsKSwgZmFsc2UpOworICAgICAgICAg
ICAgZm9yIChJbmxpbmVDYWxsRnJhbWUqIGlubGluZUNhbGxGcmFtZSA6IHNlZW5JbmxpbmVDYWxs
RnJhbWVzKQorICAgICAgICAgICAgICAgIGluc2VydEZsdXNoQXRFbmQoVmlydHVhbFJlZ2lzdGVy
KGlubGluZUNhbGxGcmFtZS0+c3RhY2tPZmZzZXQgKyBDYWxsRnJhbWU6OnRoaXNBcmd1bWVudE9m
ZnNldCgpKSwgdHJ1ZSk7CisgICAgICAgICAgICBpbnNlcnRGbHVzaEF0RW5kKFZpcnR1YWxSZWdp
c3RlcihDYWxsRnJhbWU6OnRoaXNBcmd1bWVudE9mZnNldCgpKSwgdHJ1ZSk7CisgICAgICAgIH0K
KyAgICB9CisKKyAgICBWYXJpYWJsZUFjY2Vzc0RhdGEqIG5ld1ZhcmlhYmxlQWNjZXNzRGF0YShW
aXJ0dWFsUmVnaXN0ZXIgb3BlcmFuZCkKKyAgICB7CisgICAgICAgIEFTU0VSVCghb3BlcmFuZC5p
c0NvbnN0YW50KCkpOworICAgICAgICAKKyAgICAgICAgbV9ncmFwaC5tX3ZhcmlhYmxlQWNjZXNz
RGF0YS5hcHBlbmQoVmFyaWFibGVBY2Nlc3NEYXRhKG9wZXJhbmQpKTsKKyAgICAgICAgcmV0dXJu
ICZtX2dyYXBoLm1fdmFyaWFibGVBY2Nlc3NEYXRhLmxhc3QoKTsKKyAgICB9CisKKyAgICBGYXN0
Qml0VmVjdG9yIG1fY3VycmVudEJsb2NrTGl2ZW5lc3M7Cit9OworCitib29sIHBlcmZvcm1MaXZl
Q2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlKEdyYXBoJiBncmFwaCkKK3sKKyAgICBTYW1w
bGluZ1JlZ2lvbiBzYW1wbGluZ1JlZ2lvbigiREZHIExpdmUgQ2F0Y2ggVmFyaWFibGVzIFByZXNl
cnZhdGlvbiBQaGFzZSIpOworICAgIHJldHVybiBydW5QaGFzZTxGbHVzaExpdmVDYXRjaFZhcmlh
Ymxlc0luc2VydGlvblBoYXNlPihncmFwaCk7Cit9CisKK30gfSAvLyBuYW1lc3BhY2UgSlNDOjpE
RkcKKworI2VuZGlmIC8vIEVOQUJMRShERkdfSklUKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNl
cnZhdGlvblBoYXNlLmgJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9uUGhhc2UuaAkod29ya2luZyBjb3B5KQpA
QCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
ICovCisKKyNpZm5kZWYgREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZV9oCisj
ZGVmaW5lIERGR0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9uUGhhc2VfaAorCisjaWYgRU5B
QkxFKERGR19KSVQpCisKK25hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKKworY2xhc3Mg
R3JhcGg7CisKKy8vIFRoaXMgcGhhc2UgZW5zdXJlcyB0aGF0IHdlIG1haW50YWluIGxpdmVuZXNz
IGZvciBsb2NhbHMKKy8vIHRoYXQgYXJlIGxpdmUgaW4gdGhlICJjYXRjaCIgYmxvY2suIEJlY2F1
c2UgYSAiY2F0Y2giCisvLyBibG9jayB3aWxsIG5vdCBiZSBpbiB0aGUgY29udHJvbCBmbG93IGdy
YXBoLCB3ZSBuZWVkIHRvIGVuc3VyZQorLy8gYW55dGhpbmcgbGl2ZSBpbnNpZGUgdGhlICJjYXRj
aCIgYmxvY2sgaW4gYnl0ZWNvZGUgd2lsbCBtYWludGFpbiAKKy8vIGxpdmVuZXNzIGluc2lkZSB0
aGUgInRyeSIgYmxvY2sgZm9yIGFuIE9TUiBleGl0IGZyb20gdGhlICJ0cnkiIAorLy8gYmxvY2sg
aW50byB0aGUgImNhdGNoIiBibG9jayBpbiB0aGUgY2FzZSBvZiBhbiBleGNlcHRpb24gYmVpbmcg
dGhyb3duLgorLy8KKy8vIFRoZSBtZWNoYW5pc20gY3VycmVudGx5IHVzZWQgdG8gZGVtb25zdHJh
dGUgbGl2ZW5lc3MgdG8gT1NSIGV4aXQKKy8vIGlzIGVuc3VyaW5nIGFsbCB2YXJpYWJsZXMgbGl2
ZSBpbiBhICJjYXRjaCIgYXJlIGZsdXNoZWQgdG8gdGhlCisvLyBzdGFjayBpbnNpZGUgdGhlICJ0
cnkiIGJsb2NrLgorCitib29sIHBlcmZvcm1MaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBo
YXNlKEdyYXBoJik7CisKK30gfSAvLyBuYW1lc3BhY2UgSlNDOjpERkcKKworI2VuZGlmIC8vIEVO
QUJMRShERkdfSklUKQorCisjZW5kaWYgLy8gREZHTGl2ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRp
b25QaGFzZV9oCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXQuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdC5jcHAJ
KHJldmlzaW9uIDE4OTk4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhp
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAKIAogI2luY2x1ZGUgIkFzc2Vt
Ymx5SGVscGVycy5oIgogI2luY2x1ZGUgIkRGR0dyYXBoLmgiCisjaW5jbHVkZSAiREZHTWF5RXhp
dC5oIgogI2luY2x1ZGUgIkRGR1NwZWN1bGF0aXZlSklULmgiCiAjaW5jbHVkZSAiSlNDSW5saW5l
cy5oIgogCkBAIC00Miw4ICs0MywxNSBAQCBPU1JFeGl0OjpPU1JFeGl0KEV4aXRLaW5kIGtpbmQs
IEpTVmFsdWVTCiAgICAgLCBtX3BhdGNoYWJsZUNvZGVPZmZzZXQoMCkKICAgICAsIG1fcmVjb3Zl
cnlJbmRleChyZWNvdmVyeUluZGV4KQogICAgICwgbV9zdHJlYW1JbmRleChzdHJlYW1JbmRleCkK
KyAgICAsIG1fd2lsbEFycml2ZUF0T1NSRXhpdEZyb21HZW5lcmljVW53aW5kKGZhbHNlKQorICAg
ICwgbV9pc0V4Y2VwdGlvbkhhbmRsZXIoZmFsc2UpCiB7Ci0gICAgREZHX0FTU0VSVChqaXQtPm1f
aml0LmdyYXBoKCksIGppdC0+bV9jdXJyZW50Tm9kZSwgaml0LT5tX29yaWdpbi5leGl0T0spOwor
ICAgIGJvb2wgY2FuRXhpdCA9IGppdC0+bV9vcmlnaW4uZXhpdE9LOworICAgIGlmICghY2FuRXhp
dCAmJiBqaXQtPm1fY3VycmVudE5vZGUpIHsKKyAgICAgICAgRXhpdE1vZGUgZXhpdE1vZGUgPSBt
YXlFeGl0KGppdC0+bV9qaXQuZ3JhcGgoKSwgaml0LT5tX2N1cnJlbnROb2RlKTsKKyAgICAgICAg
Y2FuRXhpdCA9IGV4aXRNb2RlID09IEV4aXRNb2RlOjpFeGl0cyB8fCBleGl0TW9kZSA9PSBFeGl0
TW9kZTo6RXhpdHNGb3JFeGNlcHRpb25zOworICAgIH0KKyAgICBERkdfQVNTRVJUKGppdC0+bV9q
aXQuZ3JhcGgoKSwgaml0LT5tX2N1cnJlbnROb2RlLCBjYW5FeGl0KTsKIH0KIAogdm9pZCBPU1JF
eGl0OjpzZXRQYXRjaGFibGVDb2RlT2Zmc2V0KE1hY3JvQXNzZW1ibGVyOjpQYXRjaGFibGVKdW1w
IGNoZWNrKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0LmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0LmgJKHJldmlz
aW9uIDE4OTk4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdC5oCSh3
b3JraW5nIGNvcHkpCkBAIC05MywxMyArOTMsMTYgQEAgc3RydWN0IE9TUkV4aXQgOiBwdWJsaWMg
T1NSRXhpdEJhc2UgewogICAgIHVuc2lnbmVkIG1fcGF0Y2hhYmxlQ29kZU9mZnNldDsKICAgICAK
ICAgICB1bnNpZ25lZCBtX3JlY292ZXJ5SW5kZXg7Ci0gICAgCisKICAgICB2b2lkIHNldFBhdGNo
YWJsZUNvZGVPZmZzZXQoTWFjcm9Bc3NlbWJsZXI6OlBhdGNoYWJsZUp1bXApOwogICAgIE1hY3Jv
QXNzZW1ibGVyOjpKdW1wIGdldFBhdGNoYWJsZUNvZGVPZmZzZXRBc0p1bXAoKSBjb25zdDsKICAg
ICBDb2RlTG9jYXRpb25KdW1wIGNvZGVMb2NhdGlvbkZvclJlcGF0Y2goQ29kZUJsb2NrKikgY29u
c3Q7CiAgICAgdm9pZCBjb3JyZWN0SnVtcChMaW5rQnVmZmVyJik7CiAKICAgICB1bnNpZ25lZCBt
X3N0cmVhbUluZGV4OworCisgICAgYm9vbCBtX3dpbGxBcnJpdmVBdE9TUkV4aXRGcm9tR2VuZXJp
Y1Vud2luZCA6IDE7CisgICAgYm9vbCBtX2lzRXhjZXB0aW9uSGFuZGxlciA6IDE7CiAgICAgCiAg
ICAgdm9pZCBjb25zaWRlckFkZGluZ0FzRnJlcXVlbnRFeGl0U2l0ZShDb2RlQmxvY2sqIHByb2Zp
bGVkQ29kZUJsb2NrKQogICAgIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
T1NSRXhpdENvbXBpbGVyMzJfNjQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyMzJfNjQuY3BwCShyZXZpc2lvbiAxODk5ODYpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlcjMyXzY0LmNwcAko
d29ya2luZyBjb3B5KQpAQCAtMjQ4LDYgKzI0OCw5IEBAIHZvaWQgT1NSRXhpdENvbXBpbGVyOjpj
b21waWxlRXhpdChjb25zdCAKICAgICBtX2ppdC5lbWl0UmVzdG9yZUNhbGxlZVNhdmVzKCk7CiAg
ICAgbV9qaXQuZW1pdFNhdmVDYWxsZWVTYXZlc0ZvcihtX2ppdC5iYXNlbGluZUNvZGVCbG9jaygp
KTsKIAorICAgIGlmIChleGl0Lm1faXNFeGNlcHRpb25IYW5kbGVyKQorICAgICAgICBtX2ppdC5j
b3B5Q2FsbGVlU2F2ZXNUb1ZNQ2FsbGVlU2F2ZXNCdWZmZXIoKTsKKwogICAgIC8vIERvIGFsbCBk
YXRhIGZvcm1hdCBjb252ZXJzaW9ucyBhbmQgc3RvcmUgdGhlIHJlc3VsdHMgaW50byB0aGUgc3Rh
Y2suCiAgICAgCiAgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IG9wZXJhbmRzLnNp
emUoKTsgKytpbmRleCkgewpAQCAtMzk0LDcgKzM5Nyw3IEBAIHZvaWQgT1NSRXhpdENvbXBpbGVy
Ojpjb21waWxlRXhpdChjb25zdCAKICAgICByZWlmeUlubGluZWRDYWxsRnJhbWVzKG1faml0LCBl
eGl0KTsKICAgICAKICAgICAvLyBBbmQgZmluaXNoLgotICAgIGFkanVzdEFuZEp1bXBUb1Rhcmdl
dChtX2ppdCwgZXhpdCk7CisgICAgYWRqdXN0QW5kSnVtcFRvVGFyZ2V0KG1faml0LCBleGl0LCBl
eGl0Lm1faXNFeGNlcHRpb25IYW5kbGVyKTsKIH0KIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkRG
RwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXI2NC5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29t
cGlsZXI2NC5jcHAJKHJldmlzaW9uIDE4OTk4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHT1NSRXhpdENvbXBpbGVyNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNDUsNyArMjQ1
LDcgQEAgdm9pZCBPU1JFeGl0Q29tcGlsZXI6OmNvbXBpbGVFeGl0KGNvbnN0IAogICAgICAgICAg
ICAgYnJlYWs7CiAgICAgICAgIH0KICAgICB9Ci0gICAgCisKICAgICAvLyBOZWVkIHRvIGVuc3Vy
ZSB0aGF0IHRoZSBzdGFjayBwb2ludGVyIGFjY291bnRzIGZvciB0aGUgd29yc3QtY2FzZSBzdGFj
ayB1c2FnZSBhdCBleGl0LiBUaGlzCiAgICAgLy8gY291bGQgdG9hc3Qgc29tZSBzdGFjayB0aGF0
IHRoZSBERkcgdXNlZC4gV2UgbmVlZCB0byBkbyBpdCBiZWZvcmUgc3RvcmluZyB0byBzdGFjayBv
ZmZzZXRzCiAgICAgLy8gdXNlZCBieSBiYXNlbGluZS4KQEAgLTI2MSw2ICsyNjEsOSBAQCB2b2lk
IE9TUkV4aXRDb21waWxlcjo6Y29tcGlsZUV4aXQoY29uc3QgCiAgICAgLy8gVGhlIHRhZyByZWdp
c3RlcnMgYXJlIG5lZWRlZCB0byBtYXRlcmlhbGl6ZSByZWNvdmVyaWVzIGJlbG93LgogICAgIG1f
aml0LmVtaXRNYXRlcmlhbGl6ZVRhZ0NoZWNrUmVnaXN0ZXJzKCk7CiAKKyAgICBpZiAoZXhpdC5t
X2lzRXhjZXB0aW9uSGFuZGxlcikKKyAgICAgICAgbV9qaXQuY29weUNhbGxlZVNhdmVzVG9WTUNh
bGxlZVNhdmVzQnVmZmVyKCk7CisKICAgICAvLyBEbyBhbGwgZGF0YSBmb3JtYXQgY29udmVyc2lv
bnMgYW5kIHN0b3JlIHRoZSByZXN1bHRzIGludG8gdGhlIHN0YWNrLgogICAgIAogICAgIGZvciAo
c2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBvcGVyYW5kcy5zaXplKCk7ICsraW5kZXgpIHsKQEAg
LTM4NCw3ICszODcsNyBAQCB2b2lkIE9TUkV4aXRDb21waWxlcjo6Y29tcGlsZUV4aXQoY29uc3Qg
CiAgICAgcmVpZnlJbmxpbmVkQ2FsbEZyYW1lcyhtX2ppdCwgZXhpdCk7CiAKICAgICAvLyBBbmQg
ZmluaXNoLgotICAgIGFkanVzdEFuZEp1bXBUb1RhcmdldChtX2ppdCwgZXhpdCk7CisgICAgYWRq
dXN0QW5kSnVtcFRvVGFyZ2V0KG1faml0LCBleGl0LCBleGl0Lm1faXNFeGNlcHRpb25IYW5kbGVy
KTsKIH0KIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkRGRwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHT1NSRXhpdENvbXBpbGVyLmNwcAkocmV2aXNpb24gMTg5OTg2
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xMTUsMTAgKzExNSw5IEBAIHZvaWQgY29tcGlsZU9TUkV4aXQoRXhl
Y1N0YXRlKiBleGVjKQogICAgIFNhbXBsaW5nUmVnaW9uIHNhbXBsaW5nUmVnaW9uKCJERkcgT1NS
IEV4aXQgQ29tcGlsYXRpb24iKTsKICAgICAKICAgICBDb2RlQmxvY2sqIGNvZGVCbG9jayA9IGV4
ZWMtPmNvZGVCbG9jaygpOwotICAgIAogICAgIEFTU0VSVChjb2RlQmxvY2spOwogICAgIEFTU0VS
VChjb2RlQmxvY2stPmppdFR5cGUoKSA9PSBKSVRDb2RlOjpERkdKSVQpOwotICAgIAorCiAgICAg
Vk0qIHZtID0gJmV4ZWMtPnZtKCk7CiAgICAgCiAgICAgLy8gSXQncyBzb3J0IG9mIHByZWZlcmFi
bGUgdGhhdCB3ZSBkb24ndCBHQyB3aGlsZSBpbiBoZXJlLiBBbnl3YXlzLCBkb2luZyBzbyB3b3Vs
ZG4ndApAQCAtMTI4LDYgKzEyNywxMiBAQCB2b2lkIGNvbXBpbGVPU1JFeGl0KEV4ZWNTdGF0ZSog
ZXhlYykKICAgICB1aW50MzJfdCBleGl0SW5kZXggPSB2bS0+b3NyRXhpdEluZGV4OwogICAgIE9T
UkV4aXQmIGV4aXQgPSBjb2RlQmxvY2stPmppdENvZGUoKS0+ZGZnKCktPm9zckV4aXRbZXhpdElu
ZGV4XTsKICAgICAKKyAgICBpZiAodm0tPmNhbGxGcmFtZUZvckNhdGNoKQorICAgICAgICBBU1NF
UlQoZXhpdC5tX3dpbGxBcnJpdmVBdE9TUkV4aXRGcm9tR2VuZXJpY1Vud2luZCk7CisgICAgaWYg
KGV4aXQubV9pc0V4Y2VwdGlvbkhhbmRsZXIpCisgICAgICAgIEFTU0VSVCghIXZtLT5leGNlcHRp
b24oKSk7CisgICAgICAgIAorICAgIAogICAgIHByZXBhcmVDb2RlT3JpZ2luRm9yT1NSRXhpdChl
eGVjLCBleGl0Lm1fY29kZU9yaWdpbik7CiAgICAgCiAgICAgLy8gQ29tcHV0ZSB0aGUgdmFsdWUg
cmVjb3Zlcmllcy4KQEAgLTE1Myw3ICsxNTgsNyBAQCB2b2lkIGNvbXBpbGVPU1JFeGl0KEV4ZWNT
dGF0ZSogZXhlYykKICAgICAgICAgICAgICAgICBleGl0Lm1fa2luZCwgZXhpdC5tX2tpbmQgPT0g
VW5jb3VudGFibGVJbnZhbGlkYXRpb24pOwogICAgICAgICAgICAgaml0LmFkZDY0KENDYWxsSGVs
cGVyczo6VHJ1c3RlZEltbTMyKDEpLCBDQ2FsbEhlbHBlcnM6OkFic29sdXRlQWRkcmVzcyhwcm9m
aWxlckV4aXQtPmNvdW50ZXJBZGRyZXNzKCkpKTsKICAgICAgICAgfQotICAgICAgICAKKwogICAg
ICAgICBleGl0Q29tcGlsZXIuY29tcGlsZUV4aXQoZXhpdCwgb3BlcmFuZHMsIHJlY292ZXJ5KTsK
ICAgICAgICAgCiAgICAgICAgIExpbmtCdWZmZXIgcGF0Y2hCdWZmZXIoKnZtLCBqaXQsIGNvZGVC
bG9jayk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxl
ckNvbW1vbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdP
U1JFeGl0Q29tcGlsZXJDb21tb24uY3BwCShyZXZpc2lvbiAxODk5ODYpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlckNvbW1vbi5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTI0OCw3ICsyNDgsNyBAQCBzdGF0aWMgdm9pZCBvc3JXcml0ZUJhcnJpZXIoQ0NhbGxI
ZWxwZXJzCiB9CiAjZW5kaWYgLy8gRU5BQkxFKEdHQykKIAotdm9pZCBhZGp1c3RBbmRKdW1wVG9U
YXJnZXQoQ0NhbGxIZWxwZXJzJiBqaXQsIGNvbnN0IE9TUkV4aXRCYXNlJiBleGl0KQordm9pZCBh
ZGp1c3RBbmRKdW1wVG9UYXJnZXQoQ0NhbGxIZWxwZXJzJiBqaXQsIGNvbnN0IE9TUkV4aXRCYXNl
JiBleGl0LCBib29sIGlzRXhpdGluZ1RvT3BDYXRjaCkKIHsKICNpZiBFTkFCTEUoR0dDKSAKICAg
ICBqaXQubW92ZShBc3NlbWJseUhlbHBlcnM6OlRydXN0ZWRJbW1QdHIoaml0LmNvZGVCbG9jaygp
LT5vd25lckV4ZWN1dGFibGUoKSksIEdQUkluZm86OmFyZ3VtZW50R1BSMSk7CkBAIC0yNzcsNiAr
Mjc3LDEwIEBAIHZvaWQgYWRqdXN0QW5kSnVtcFRvVGFyZ2V0KENDYWxsSGVscGVycyYKICAgICB2
b2lkKiBqdW1wVGFyZ2V0ID0gYmFzZWxpbmVDb2RlQmxvY2stPmppdENvZGUoKS0+ZXhlY3V0YWJs
ZUFkZHJlc3NBdE9mZnNldChtYXBwaW5nLT5tX21hY2hpbmVDb2RlT2Zmc2V0KTsKIAogICAgIGpp
dC5hZGRQdHIoQXNzZW1ibHlIZWxwZXJzOjpUcnVzdGVkSW1tMzIoSklUOjpzdGFja1BvaW50ZXJP
ZmZzZXRGb3IoYmFzZWxpbmVDb2RlQmxvY2spICogc2l6ZW9mKFJlZ2lzdGVyKSksIEdQUkluZm86
OmNhbGxGcmFtZVJlZ2lzdGVyLCBBc3NlbWJseUhlbHBlcnM6OnN0YWNrUG9pbnRlclJlZ2lzdGVy
KTsKKyAgICBpZiAoaXNFeGl0aW5nVG9PcENhdGNoKSB7CisgICAgICAgIC8vIFNpbmNlIHdlJ3Jl
IGp1bXBpbmcgdG8gb3BfY2F0Y2gsIHdlIG5lZWQgdG8gc2V0IGNhbGxGcmFtZUZvckNhdGNoLgor
ICAgICAgICBqaXQuc3RvcmVQdHIoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIsIGppdC52bSgp
LT5hZGRyZXNzT2ZDYWxsRnJhbWVGb3JDYXRjaCgpKTsKKyAgICB9CiAgICAgCiAgICAgaml0Lm1v
dmUoQXNzZW1ibHlIZWxwZXJzOjpUcnVzdGVkSW1tUHRyKGp1bXBUYXJnZXQpLCBHUFJJbmZvOjpy
ZWdUMik7CiAgICAgaml0Lmp1bXAoR1BSSW5mbzo6cmVnVDIpOwpJbmRleDogU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdPU1JFeGl0Q29tcGlsZXJDb21tb24uaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21waWxlckNvbW1vbi5oCShyZXZp
c2lvbiAxODk5ODYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR09TUkV4aXRDb21w
aWxlckNvbW1vbi5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw3IEBAIG5hbWVzcGFjZSBK
U0MgeyBuYW1lc3BhY2UgREZHIHsKIAogdm9pZCBoYW5kbGVFeGl0Q291bnRzKENDYWxsSGVscGVy
cyYsIGNvbnN0IE9TUkV4aXRCYXNlJik7CiB2b2lkIHJlaWZ5SW5saW5lZENhbGxGcmFtZXMoQ0Nh
bGxIZWxwZXJzJiwgY29uc3QgT1NSRXhpdEJhc2UmKTsKLXZvaWQgYWRqdXN0QW5kSnVtcFRvVGFy
Z2V0KENDYWxsSGVscGVycyYsIGNvbnN0IE9TUkV4aXRCYXNlJik7Cit2b2lkIGFkanVzdEFuZEp1
bXBUb1RhcmdldChDQ2FsbEhlbHBlcnMmLCBjb25zdCBPU1JFeGl0QmFzZSYsIGJvb2wgaXNFeGl0
aW5nVG9PcENhdGNoKTsKIAogfSB9IC8vIG5hbWVzcGFjZSBKU0M6OkRGRwogCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1BsYW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5jcHAJKHJldmlzaW9uIDE4OTk4NikKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDYg
KzQ4LDcgQEAKICNpbmNsdWRlICJERkdJbnZhbGlkYXRpb25Qb2ludEluamVjdGlvblBoYXNlLmgi
CiAjaW5jbHVkZSAiREZHSklUQ29tcGlsZXIuaCIKICNpbmNsdWRlICJERkdMSUNNUGhhc2UuaCIK
KyNpbmNsdWRlICJERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlLmgiCiAjaW5j
bHVkZSAiREZHTGl2ZW5lc3NBbmFseXNpc1BoYXNlLmgiCiAjaW5jbHVkZSAiREZHTG9vcFByZUhl
YWRlckNyZWF0aW9uUGhhc2UuaCIKICNpbmNsdWRlICJERkdNYXhpbWFsRmx1c2hJbnNlcnRpb25Q
aGFzZS5oIgpAQCAtMjU5LDYgKzI2MCw4IEBAIFBsYW46OkNvbXBpbGF0aW9uUGF0aCBQbGFuOjpj
b21waWxlSW5UaHIKICAgICAgICAgZGZnLmR1bXAoKTsKICAgICB9CiAKKyAgICBwZXJmb3JtTGl2
ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZShkZmcpOworCiAgICAgaWYgKE9wdGlvbnM6
OmVuYWJsZU1heGltYWxGbHVzaEluc2VydGlvblBoYXNlKCkpCiAgICAgICAgIHBlcmZvcm1NYXhp
bWFsRmx1c2hJbnNlcnRpb24oZGZnKTsKICAgICAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHU2xvd1BhdGhHZW5lcmF0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1Nsb3dQYXRoR2VuZXJhdG9yLmgJKHJldmlzaW9uIDE4OTk4NikKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU2xvd1BhdGhHZW5lcmF0b3IuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNDAsNiArNDAsOCBAQCBjbGFzcyBTbG93UGF0aEdlbmVyYXRvciB7CiBwdWJs
aWM6CiAgICAgU2xvd1BhdGhHZW5lcmF0b3IoU3BlY3VsYXRpdmVKSVQqIGppdCkKICAgICAgICAg
OiBtX2N1cnJlbnROb2RlKGppdC0+bV9jdXJyZW50Tm9kZSkKKyAgICAgICAgLCBtX3N0cmVhbUlu
ZGV4KGppdC0+bV9zdHJlYW0tPnNpemUoKSkKKyAgICAgICAgLCBtX29yaWdpbihqaXQtPm1fb3Jp
Z2luKSAKICAgICB7CiAgICAgfQogICAgIHZpcnR1YWwgflNsb3dQYXRoR2VuZXJhdG9yKCkgeyB9
CkBAIC00Nyw3ICs0OSwxMCBAQCBwdWJsaWM6CiAgICAgewogICAgICAgICBtX2xhYmVsID0gaml0
LT5tX2ppdC5sYWJlbCgpOwogICAgICAgICBqaXQtPm1fY3VycmVudE5vZGUgPSBtX2N1cnJlbnRO
b2RlOworICAgICAgICBqaXQtPm1fb3V0T2ZMaW5lU3RyZWFtSW5kZXggPSBtX3N0cmVhbUluZGV4
OworICAgICAgICBqaXQtPm1fb3JpZ2luID0gbV9vcmlnaW47CiAgICAgICAgIGdlbmVyYXRlSW50
ZXJuYWwoaml0KTsKKyAgICAgICAgaml0LT5tX291dE9mTGluZVN0cmVhbUluZGV4ID0gVUlOVF9N
QVg7CiAgICAgICAgIGlmICghQVNTRVJUX0RJU0FCTEVEKQogICAgICAgICAgICAgaml0LT5tX2pp
dC5hYm9ydFdpdGhSZWFzb24oREZHU2xvd1BhdGhHZW5lcmF0b3JGZWxsVGhyb3VnaCk7CiAgICAg
fQpAQCAtNjEsNiArNjYsOCBAQCBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB2b2lkIGdlbmVyYXRl
SW50ZXJuYWwoU3BlY3VsYXRpdmVKSVQqKSA9IDA7CiAgICAgTWFjcm9Bc3NlbWJsZXI6OkxhYmVs
IG1fbGFiZWw7CiAgICAgTm9kZSogbV9jdXJyZW50Tm9kZTsKKyAgICB1bnNpZ25lZCBtX3N0cmVh
bUluZGV4OworICAgIE5vZGVPcmlnaW4gbV9vcmlnaW47CiB9OwogCiB0ZW1wbGF0ZTx0eXBlbmFt
ZSBKdW1wVHlwZT4KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQzMl82NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAkocmV2aXNpb24gMTg5OTg2KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTgyLDggKzE4Miw5IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNhY2hlZEdldEJ5SWQo
CiAgICAgICAgIGJhc2VQYXlsb2FkR1BSID0gcmVzdWx0UGF5bG9hZEdQUjsKICAgICB9CiAgICAg
CisgICAgQ2FsbFNpdGVJbmRleCBjYWxsU2l0ZSA9IG1faml0LnJlY29yZENhbGxTaXRlQW5kR2Vu
ZXJhdGVFeGNlcHRpb25IYW5kbGluZ09TUkV4aXRJZk5lZWRlZChjb2RlT3JpZ2luLCBtX3N0cmVh
bS0+c2l6ZSgpKTsKICAgICBKSVRHZXRCeUlkR2VuZXJhdG9yIGdlbigKLSAgICAgICAgbV9qaXQu
Y29kZUJsb2NrKCksIGNvZGVPcmlnaW4sIG1faml0LmFkZENhbGxTaXRlKGNvZGVPcmlnaW4pLCB1
c2VkUmVnaXN0ZXJzKCksCisgICAgICAgIG1faml0LmNvZGVCbG9jaygpLCBjb2RlT3JpZ2luLCBj
YWxsU2l0ZSwgdXNlZFJlZ2lzdGVycygpLAogICAgICAgICBKU1ZhbHVlUmVncyhiYXNlVGFnR1BS
T3JOb25lLCBiYXNlUGF5bG9hZEdQUiksCiAgICAgICAgIEpTVmFsdWVSZWdzKHJlc3VsdFRhZ0dQ
UiwgcmVzdWx0UGF5bG9hZEdQUiksIHNwaWxsTW9kZSk7CiAgICAgCkBAIC0yMTQsOCArMjE1LDkg
QEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y2FjaGVkR2V0QnlJZCgKIAogdm9pZCBTcGVjdWxhdGl2
ZUpJVDo6Y2FjaGVkUHV0QnlJZChDb2RlT3JpZ2luIGNvZGVPcmlnaW4sIEdQUlJlZyBiYXNlUGF5
bG9hZEdQUiwgR1BSUmVnIHZhbHVlVGFnR1BSLCBHUFJSZWcgdmFsdWVQYXlsb2FkR1BSLCBHUFJS
ZWcgc2NyYXRjaEdQUiwgdW5zaWduZWQgaWRlbnRpZmllck51bWJlciwgUHV0S2luZCBwdXRLaW5k
LCBKSVRDb21waWxlcjo6SnVtcCBzbG93UGF0aFRhcmdldCwgU3BpbGxSZWdpc3RlcnNNb2RlIHNw
aWxsTW9kZSkKIHsKKyAgICBDYWxsU2l0ZUluZGV4IGNhbGxTaXRlID0gbV9qaXQucmVjb3JkQ2Fs
bFNpdGVBbmRHZW5lcmF0ZUV4Y2VwdGlvbkhhbmRsaW5nT1NSRXhpdElmTmVlZGVkKGNvZGVPcmln
aW4sIG1fc3RyZWFtLT5zaXplKCkpOwogICAgIEpJVFB1dEJ5SWRHZW5lcmF0b3IgZ2VuKAotICAg
ICAgICBtX2ppdC5jb2RlQmxvY2soKSwgY29kZU9yaWdpbiwgbV9qaXQuYWRkQ2FsbFNpdGUoY29k
ZU9yaWdpbiksIHVzZWRSZWdpc3RlcnMoKSwKKyAgICAgICAgbV9qaXQuY29kZUJsb2NrKCksIGNv
ZGVPcmlnaW4sIGNhbGxTaXRlLCB1c2VkUmVnaXN0ZXJzKCksCiAgICAgICAgIEpTVmFsdWVSZWdz
OjpwYXlsb2FkT25seShiYXNlUGF5bG9hZEdQUiksIEpTVmFsdWVSZWdzKHZhbHVlVGFnR1BSLCB2
YWx1ZVBheWxvYWRHUFIpLAogICAgICAgICBzY3JhdGNoR1BSLCBzcGlsbE1vZGUsIG1faml0LmVj
bWFNb2RlRm9yKGNvZGVPcmlnaW4pLCBwdXRLaW5kKTsKICAgICAKQEAgLTc4NCw3ICs3ODYsOCBA
QCB2b2lkIFNwZWN1bGF0aXZlSklUOjplbWl0Q2FsbChOb2RlKiBub2RlCiAgICAgSklUQ29tcGls
ZXI6OkRhdGFMYWJlbFB0ciB0YXJnZXRUb0NoZWNrOwogICAgIEpJVENvbXBpbGVyOjpKdW1wTGlz
dCBzbG93UGF0aDsKIAotICAgIG1faml0LmVtaXRTdG9yZUNvZGVPcmlnaW4obm9kZS0+b3JpZ2lu
LnNlbWFudGljKTsKKyAgICBDYWxsU2l0ZUluZGV4IGNhbGxTaXRlID0gbV9qaXQucmVjb3JkQ2Fs
bFNpdGVBbmRHZW5lcmF0ZUV4Y2VwdGlvbkhhbmRsaW5nT1NSRXhpdElmTmVlZGVkKG5vZGUtPm9y
aWdpbi5zZW1hbnRpYywgbV9zdHJlYW0tPnNpemUoKSk7CisgICAgbV9qaXQuZW1pdFN0b3JlQ2Fs
bFNpdGVJbmRleChjYWxsU2l0ZSk7CiAgICAgCiAgICAgQ2FsbExpbmtJbmZvKiBpbmZvID0gbV9q
aXQuY29kZUJsb2NrKCktPmFkZENhbGxMaW5rSW5mbygpOwogCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAJKHJldmlzaW9uIDE4
OTk4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5j
cHAJKHdvcmtpbmcgY29weSkKQEAgLTE1Myw4ICsxNTMsMTAgQEAgR1BSUmVnIFNwZWN1bGF0aXZl
SklUOjpmaWxsSlNWYWx1ZShFZGdlIAogCiB2b2lkIFNwZWN1bGF0aXZlSklUOjpjYWNoZWRHZXRC
eUlkKENvZGVPcmlnaW4gY29kZU9yaWdpbiwgR1BSUmVnIGJhc2VHUFIsIEdQUlJlZyByZXN1bHRH
UFIsIHVuc2lnbmVkIGlkZW50aWZpZXJOdW1iZXIsIEpJVENvbXBpbGVyOjpKdW1wIHNsb3dQYXRo
VGFyZ2V0LCBTcGlsbFJlZ2lzdGVyc01vZGUgc3BpbGxNb2RlKQogeworICAgIENhbGxTaXRlSW5k
ZXggY2FsbFNpdGUgPSBtX2ppdC5yZWNvcmRDYWxsU2l0ZUFuZEdlbmVyYXRlRXhjZXB0aW9uSGFu
ZGxpbmdPU1JFeGl0SWZOZWVkZWQoY29kZU9yaWdpbiwgbV9zdHJlYW0tPnNpemUoKSk7CisKICAg
ICBKSVRHZXRCeUlkR2VuZXJhdG9yIGdlbigKLSAgICAgICAgbV9qaXQuY29kZUJsb2NrKCksIGNv
ZGVPcmlnaW4sIG1faml0LmFkZENhbGxTaXRlKGNvZGVPcmlnaW4pLCB1c2VkUmVnaXN0ZXJzKCks
IEpTVmFsdWVSZWdzKGJhc2VHUFIpLAorICAgICAgICBtX2ppdC5jb2RlQmxvY2soKSwgY29kZU9y
aWdpbiwgY2FsbFNpdGUsIHVzZWRSZWdpc3RlcnMoKSwgSlNWYWx1ZVJlZ3MoYmFzZUdQUiksCiAg
ICAgICAgIEpTVmFsdWVSZWdzKHJlc3VsdEdQUiksIHNwaWxsTW9kZSk7CiAgICAgZ2VuLmdlbmVy
YXRlRmFzdFBhdGgobV9qaXQpOwogICAgIApAQCAtMTczLDggKzE3NSwxMCBAQCB2b2lkIFNwZWN1
bGF0aXZlSklUOjpjYWNoZWRHZXRCeUlkKENvZGVPCiAKIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNh
Y2hlZFB1dEJ5SWQoQ29kZU9yaWdpbiBjb2RlT3JpZ2luLCBHUFJSZWcgYmFzZUdQUiwgR1BSUmVn
IHZhbHVlR1BSLCBHUFJSZWcgc2NyYXRjaEdQUiwgdW5zaWduZWQgaWRlbnRpZmllck51bWJlciwg
UHV0S2luZCBwdXRLaW5kLCBKSVRDb21waWxlcjo6SnVtcCBzbG93UGF0aFRhcmdldCwgU3BpbGxS
ZWdpc3RlcnNNb2RlIHNwaWxsTW9kZSkKIHsKKyAgICBDYWxsU2l0ZUluZGV4IGNhbGxTaXRlID0g
bV9qaXQucmVjb3JkQ2FsbFNpdGVBbmRHZW5lcmF0ZUV4Y2VwdGlvbkhhbmRsaW5nT1NSRXhpdElm
TmVlZGVkKGNvZGVPcmlnaW4sIG1fc3RyZWFtLT5zaXplKCkpOworCiAgICAgSklUUHV0QnlJZEdl
bmVyYXRvciBnZW4oCi0gICAgICAgIG1faml0LmNvZGVCbG9jaygpLCBjb2RlT3JpZ2luLCBtX2pp
dC5hZGRDYWxsU2l0ZShjb2RlT3JpZ2luKSwgdXNlZFJlZ2lzdGVycygpLCBKU1ZhbHVlUmVncyhi
YXNlR1BSKSwKKyAgICAgICAgbV9qaXQuY29kZUJsb2NrKCksIGNvZGVPcmlnaW4sIGNhbGxTaXRl
LCB1c2VkUmVnaXN0ZXJzKCksIEpTVmFsdWVSZWdzKGJhc2VHUFIpLAogICAgICAgICBKU1ZhbHVl
UmVncyh2YWx1ZUdQUiksIHNjcmF0Y2hHUFIsIHNwaWxsTW9kZSwgbV9qaXQuZWNtYU1vZGVGb3Io
Y29kZU9yaWdpbiksIHB1dEtpbmQpOwogCiAgICAgZ2VuLmdlbmVyYXRlRmFzdFBhdGgobV9qaXQp
OwpAQCAtNzUyLDcgKzc1Niw4IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmVtaXRDYWxsKE5vZGUq
IG5vZGUKICAgICBKSVRDb21waWxlcjo6RGF0YUxhYmVsUHRyIHRhcmdldFRvQ2hlY2s7CiAgICAg
SklUQ29tcGlsZXI6Okp1bXAgc2xvd1BhdGg7CiAKLSAgICBtX2ppdC5lbWl0U3RvcmVDb2RlT3Jp
Z2luKG5vZGUtPm9yaWdpbi5zZW1hbnRpYyk7CisgICAgQ2FsbFNpdGVJbmRleCBjYWxsU2l0ZSA9
IG1faml0LnJlY29yZENhbGxTaXRlQW5kR2VuZXJhdGVFeGNlcHRpb25IYW5kbGluZ09TUkV4aXRJ
Zk5lZWRlZChub2RlLT5vcmlnaW4uc2VtYW50aWMsIG1fc3RyZWFtLT5zaXplKCkpOworICAgIG1f
aml0LmVtaXRTdG9yZUNhbGxTaXRlSW5kZXgoY2FsbFNpdGUpOwogICAgIAogICAgIENhbGxMaW5r
SW5mbyogY2FsbExpbmtJbmZvID0gbV9qaXQuY29kZUJsb2NrKCktPmFkZENhbGxMaW5rSW5mbygp
OwogICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQuaAkocmV2aXNpb24gMTg5OTg2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdTcGVjdWxhdGl2ZUpJVC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNDc2LDYgKzI0NzYsNyBAQCBw
dWJsaWM6CiAgICAgCiAgICAgVmVjdG9yPHN0ZDo6dW5pcXVlX3B0cjxTbG93UGF0aEdlbmVyYXRv
cj4sIDg+IG1fc2xvd1BhdGhHZW5lcmF0b3JzOwogICAgIFZlY3RvcjxTaWxlbnRSZWdpc3RlclNh
dmVQbGFuPiBtX3BsYW5zOworICAgIHVuc2lnbmVkIG1fb3V0T2ZMaW5lU3RyZWFtSW5kZXggeyBV
SU5UX01BWCB9OwogfTsKIAogCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Rp
ZXJVcENoZWNrSW5qZWN0aW9uUGhhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHVGllclVwQ2hlY2tJbmplY3Rpb25QaGFzZS5jcHAJKHJldmlzaW9uIDE4
OTk4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHVGllclVwQ2hlY2tJbmplY3Rp
b25QaGFzZS5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTUyLDYgKzUyLDkgQEAgcHVibGljOgogICAg
ICAgICAKICAgICAgICAgaWYgKG1fZ3JhcGgubV9wcm9maWxlZEJsb2NrLT5tX2RpZEZhaWxGVExD
b21waWxhdGlvbikKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBpZiAobV9n
cmFwaC5tX2hhc0V4Y2VwdGlvbkhhbmRsZXJzKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
ICAgICAgICAKICNpZiBFTkFCTEUoRlRMX0pJVCkKICAgICAgICAgRlRMOjpDYXBhYmlsaXR5TGV2
ZWwgbGV2ZWwgPSBGVEw6OmNhbkNvbXBpbGUobV9ncmFwaCk7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTE9TUkV4aXRDb21waWxlci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExPU1JFeGl0Q29tcGlsZXIuY3BwCShyZXZpc2lvbiAxODk5
ODYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTE9TUkV4aXRDb21waWxlci5jcHAJ
KHdvcmtpbmcgY29weSkKQEAgLTQ4OCw3ICs0ODgsNyBAQCBzdGF0aWMgdm9pZCBjb21waWxlU3R1
YigKICAgICAKICAgICBoYW5kbGVFeGl0Q291bnRzKGppdCwgZXhpdCk7CiAgICAgcmVpZnlJbmxp
bmVkQ2FsbEZyYW1lcyhqaXQsIGV4aXQpOwotICAgIGFkanVzdEFuZEp1bXBUb1RhcmdldChqaXQs
IGV4aXQpOworICAgIGFkanVzdEFuZEp1bXBUb1RhcmdldChqaXQsIGV4aXQsIGZhbHNlKTsKICAg
ICAKICAgICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVyKCp2bSwgaml0LCBjb2RlQmxvY2spOwogICAg
IGV4aXQubV9jb2RlID0gRklOQUxJWkVfQ09ERV9JRigKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9pbnRlcnByZXRlci9JbnRlcnByZXRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAkocmV2aXNpb24gMTg5OTg2
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL0ludGVycHJldGVyLmNwcAko
d29ya2luZyBjb3B5KQpAQCAtNjE0LDEyICs2MTQsMTkgQEAgcHVibGljOgogCiAgICAgU3RhY2tW
aXNpdG9yOjpTdGF0dXMgb3BlcmF0b3IoKShTdGFja1Zpc2l0b3ImIHZpc2l0b3IpCiAgICAgewor
ICAgICAgICB2aXNpdG9yLnVud2luZFRvTWFjaGluZUNvZGVCbG9ja0ZyYW1lKCk7CisKICAgICAg
ICAgQ29kZUJsb2NrKiBjb2RlQmxvY2sgPSB2aXNpdG9yLT5jb2RlQmxvY2soKTsKICAgICAgICAg
aWYgKCFjb2RlQmxvY2spCiAgICAgICAgICAgICByZXR1cm4gU3RhY2tWaXNpdG9yOjpDb250aW51
ZTsKIAotICAgICAgICB1bnNpZ25lZCBieXRlY29kZU9mZnNldCA9IHZpc2l0b3ItPmJ5dGVjb2Rl
T2Zmc2V0KCk7Ci0gICAgICAgIG1faGFuZGxlciA9IGNvZGVCbG9jay0+aGFuZGxlckZvckJ5dGVj
b2RlT2Zmc2V0KGJ5dGVjb2RlT2Zmc2V0LCBDb2RlQmxvY2s6OlJlcXVpcmVkSGFuZGxlcjo6Q2F0
Y2hIYW5kbGVyKTsKKyAgICAgICAgdW5zaWduZWQgZXhjZXB0aW9uSGFuZGxlckluZGV4OworICAg
ICAgICBpZiAoY29kZUJsb2NrLT5qaXRUeXBlKCkgIT0gSklUQ29kZTo6REZHSklUKQorICAgICAg
ICAgICAgZXhjZXB0aW9uSGFuZGxlckluZGV4ID0gdmlzaXRvci0+Y2FsbEZyYW1lKCktPmJ5dGVj
b2RlT2Zmc2V0KCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGV4Y2VwdGlvbkhhbmRsZXJJ
bmRleCA9IHZpc2l0b3ItPmNhbGxGcmFtZSgpLT5jYWxsU2l0ZUluZGV4KCkuYml0cygpOworCisg
ICAgICAgIG1faGFuZGxlciA9IGNvZGVCbG9jay0+aGFuZGxlckZvckluZGV4KGV4Y2VwdGlvbkhh
bmRsZXJJbmRleCwgQ29kZUJsb2NrOjpSZXF1aXJlZEhhbmRsZXI6OkNhdGNoSGFuZGxlcik7CiAg
ICAgICAgIGlmIChtX2hhbmRsZXIpCiAgICAgICAgICAgICByZXR1cm4gU3RhY2tWaXNpdG9yOjpE
b25lOwogCkBAIC02NDIsMTUgKzY0OSwyMCBAQCBwdWJsaWM6CiAKICAgICBTdGFja1Zpc2l0b3I6
OlN0YXR1cyBvcGVyYXRvcigpKFN0YWNrVmlzaXRvciYgdmlzaXRvcikKICAgICB7CisgICAgICAg
IHZpc2l0b3IudW53aW5kVG9NYWNoaW5lQ29kZUJsb2NrRnJhbWUoKTsKICAgICAgICAgVk0mIHZt
ID0gbV9jYWxsRnJhbWUtPnZtKCk7CiAgICAgICAgIG1fY2FsbEZyYW1lID0gdmlzaXRvci0+Y2Fs
bEZyYW1lKCk7CiAgICAgICAgIG1fY29kZUJsb2NrID0gdmlzaXRvci0+Y29kZUJsb2NrKCk7Ci0g
ICAgICAgIHVuc2lnbmVkIGJ5dGVjb2RlT2Zmc2V0ID0gdmlzaXRvci0+Ynl0ZWNvZGVPZmZzZXQo
KTsKIAorICAgICAgICB1bnNpZ25lZCBleGNlcHRpb25IYW5kbGVySW5kZXg7CisgICAgICAgIGlm
IChtX2NvZGVCbG9jay0+aml0VHlwZSgpICE9IEpJVENvZGU6OkRGR0pJVCkKKyAgICAgICAgICAg
IGV4Y2VwdGlvbkhhbmRsZXJJbmRleCA9IG1fY2FsbEZyYW1lLT5ieXRlY29kZU9mZnNldCgpOwor
ICAgICAgICBlbHNlCisgICAgICAgICAgICBleGNlcHRpb25IYW5kbGVySW5kZXggPSBtX2NhbGxG
cmFtZS0+Y2FsbFNpdGVJbmRleCgpLmJpdHMoKTsKICAgICAgICAgbV9oYW5kbGVyID0gbnVsbHB0
cjsKICAgICAgICAgaWYgKCFtX2lzVGVybWluYXRpb24pIHsKICAgICAgICAgICAgIGlmIChtX2Nv
ZGVCbG9jayAmJiAhaXNXZWJBc3NlbWJseUV4ZWN1dGFibGUobV9jb2RlQmxvY2stPm93bmVyRXhl
Y3V0YWJsZSgpKSkKLSAgICAgICAgICAgICAgICBtX2hhbmRsZXIgPSBtX2NvZGVCbG9jay0+aGFu
ZGxlckZvckJ5dGVjb2RlT2Zmc2V0KGJ5dGVjb2RlT2Zmc2V0KTsKKyAgICAgICAgICAgICAgICBt
X2hhbmRsZXIgPSBtX2NvZGVCbG9jay0+aGFuZGxlckZvckluZGV4KGV4Y2VwdGlvbkhhbmRsZXJJ
bmRleCk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAobV9oYW5kbGVyKQpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1N0YWNrVmlzaXRvci5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ludGVycHJldGVyL1N0YWNrVmlzaXRvci5jcHAJKHJl
dmlzaW9uIDE4OTk4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9TdGFj
a1Zpc2l0b3IuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OSw2ICs2OSwxNCBAQCB2b2lkIFN0YWNr
VmlzaXRvcjo6Z290b05leHRGcmFtZSgpCiAgICAgcmVhZEZyYW1lKG1fZnJhbWUuY2FsbGVyRnJh
bWUoKSk7CiB9CiAKK3ZvaWQgU3RhY2tWaXNpdG9yOjp1bndpbmRUb01hY2hpbmVDb2RlQmxvY2tG
cmFtZSgpCit7CisjaWYgRU5BQkxFKERGR19KSVQpCisgICAgd2hpbGUgKG1fZnJhbWUuaXNJbmxp
bmVkRnJhbWUoKSkKKyAgICAgICAgZ290b05leHRGcmFtZSgpOworI2VuZGlmCit9CisKIHZvaWQg
U3RhY2tWaXNpdG9yOjpyZWFkRnJhbWUoQ2FsbEZyYW1lKiBjYWxsRnJhbWUpCiB7CiAgICAgaWYg
KCFjYWxsRnJhbWUpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9pbnRlcnByZXRlci9T
dGFja1Zpc2l0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaW50ZXJw
cmV0ZXIvU3RhY2tWaXNpdG9yLmgJKHJldmlzaW9uIDE4OTk4NikKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9pbnRlcnByZXRlci9TdGFja1Zpc2l0b3IuaAkod29ya2luZyBjb3B5KQpAQCAtMTMx
LDYgKzEzMSw3IEBAIHB1YmxpYzoKIAogICAgIEZyYW1lJiBvcGVyYXRvciooKSB7IHJldHVybiBt
X2ZyYW1lOyB9CiAgICAgQUxXQVlTX0lOTElORSBGcmFtZSogb3BlcmF0b3ItPigpIHsgcmV0dXJu
ICZtX2ZyYW1lOyB9CisgICAgdm9pZCB1bndpbmRUb01hY2hpbmVDb2RlQmxvY2tGcmFtZSgpOwog
CiBwcml2YXRlOgogICAgIEpTX0VYUE9SVF9QUklWQVRFIFN0YWNrVmlzaXRvcihDYWxsRnJhbWUq
IHN0YXJ0RnJhbWUpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhl
bHBlcnMuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvQXNzZW1i
bHlIZWxwZXJzLmNwcAkocmV2aXNpb24gMTg5OTg2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2ppdC9Bc3NlbWJseUhlbHBlcnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzMsNiArMjczLDIw
IEBAIEFzc2VtYmx5SGVscGVyczo6SnVtcCBBc3NlbWJseUhlbHBlcnM6OmUKICAgICByZXR1cm4g
cmVhbEp1bXAubV9qdW1wOwogfQogCitBc3NlbWJseUhlbHBlcnM6Okp1bXAgQXNzZW1ibHlIZWxw
ZXJzOjplbWl0Tm9uUGF0Y2hhYmxlRXhjZXB0aW9uQ2hlY2soKQoreworICAgIGNhbGxFeGNlcHRp
b25GdXp6KCk7CisKKyAgICBKdW1wIHJlc3VsdDsKKyNpZiBVU0UoSlNWQUxVRTY0KQorICAgIHJl
c3VsdCA9IGJyYW5jaFRlc3Q2NChOb25aZXJvLCBBYnNvbHV0ZUFkZHJlc3Modm0oKS0+YWRkcmVz
c09mRXhjZXB0aW9uKCkpKTsKKyNlbGlmIFVTRShKU1ZBTFVFMzJfNjQpCisgICAgcmVzdWx0ID0g
YnJhbmNoMzIoTm90RXF1YWwsIEFic29sdXRlQWRkcmVzcyh2bSgpLT5hZGRyZXNzT2ZFeGNlcHRp
b24oKSksIFRydXN0ZWRJbW0zMigwKSk7CisjZW5kaWYKKyAgICAKKyAgICByZXR1cm4gcmVzdWx0
OworfQorCiB2b2lkIEFzc2VtYmx5SGVscGVyczo6ZW1pdFN0b3JlU3RydWN0dXJlV2l0aFR5cGVJ
bmZvKEFzc2VtYmx5SGVscGVycyYgaml0LCBUcnVzdGVkSW1tUHRyIHN0cnVjdHVyZSwgUmVnaXN0
ZXJJRCBkZXN0KQogewogICAgIGNvbnN0IFN0cnVjdHVyZSogc3RydWN0dXJlUHRyID0gc3RhdGlj
X2Nhc3Q8Y29uc3QgU3RydWN0dXJlKj4oc3RydWN0dXJlLm1fdmFsdWUpOwpJbmRleDogU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9Bc3NlbWJseUhlbHBlcnMuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVscGVycy5oCShyZXZpc2lvbiAxODk5ODYp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0Fzc2VtYmx5SGVscGVycy5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xMDIxLDYgKzEwMjEsNyBAQCBwdWJsaWM6CiAgICAgZW51bSBFeGNlcHRpb25K
dW1wV2lkdGggeyBOb3JtYWxKdW1wV2lkdGgsIEZhckp1bXBXaWR0aCB9OwogICAgIEp1bXAgZW1p
dEV4Y2VwdGlvbkNoZWNrKAogICAgICAgICBFeGNlcHRpb25DaGVja0tpbmQgPSBOb3JtYWxFeGNl
cHRpb25DaGVjaywgRXhjZXB0aW9uSnVtcFdpZHRoID0gTm9ybWFsSnVtcFdpZHRoKTsKKyAgICBK
dW1wIGVtaXROb25QYXRjaGFibGVFeGNlcHRpb25DaGVjaygpOwogCiAjaWYgRU5BQkxFKFNBTVBM
SU5HX0NPVU5URVJTKQogICAgIHN0YXRpYyB2b2lkIGVtaXRDb3VudChNYWNyb0Fzc2VtYmxlciYg
aml0LCBBYnN0cmFjdFNhbXBsaW5nQ291bnRlciYgY291bnRlciwgaW50MzJfdCBpbmNyZW1lbnQg
PSAxKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRFeGNlcHRpb25zLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVEV4Y2VwdGlvbnMuY3Bw
CShyZXZpc2lvbiAxODk5ODYpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVEV4Y2Vw
dGlvbnMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NCw3ICs1NCwxNCBAQCB2b2lkIGdlbmVyaWNV
bndpbmQoVk0qIHZtLCBFeGVjU3RhdGUqIGNhCiAgICAgdm9pZCogY2F0Y2hSb3V0aW5lOwogICAg
IEluc3RydWN0aW9uKiBjYXRjaFBDRm9ySW50ZXJwcmV0ZXIgPSAwOwogICAgIGlmIChoYW5kbGVy
KSB7Ci0gICAgICAgIGNhdGNoUENGb3JJbnRlcnByZXRlciA9ICZjYWxsRnJhbWUtPmNvZGVCbG9j
aygpLT5pbnN0cnVjdGlvbnMoKVtoYW5kbGVyLT50YXJnZXRdOworICAgICAgICAvLyBoYW5kbGVy
LT50YXJnZXQgaXMgbWVhbmluZ2xlc3MgZm9yIGdldHRpbmcgYSBjb2RlIG9mZnNldCB3aGVuIGNh
dGNoaW5nCisgICAgICAgIC8vIHRoZSBleGNlcHRpb24gaW4gYSBERkcgZnJhbWUuIFRoaXMgYnl0
ZWNvZGUgdGFyZ2V0IG9mZnNldCBjb3VsZCBiZQorICAgICAgICAvLyBzb21ldGhpbmcgdGhhdCdz
IGluIGFuIGlubGluZWQgZnJhbWUsIHdoaWNoIG1lYW5zIGFuIGFycmF5IGFjY2VzcworICAgICAg
ICAvLyB3aXRoIHRoaXMgYnl0ZWNvZGUgb2Zmc2V0IGluIHRoZSBtYWNoaW5lIGZyYW1lIGlzIHV0
dGVybHkgbWVhbmluZ2xlc3MKKyAgICAgICAgLy8gYW5kIGNhbiBjYXVzZSBhbiBvdmVyZmxvdy4g
T1NSIGV4aXQgcHJvcGVybHkgZXhpdHMgdG8gaGFuZGxlci0+dGFyZ2V0CisgICAgICAgIC8vIGlu
IHRoZSBwcm9wZXIgZnJhbWUuCisgICAgICAgIGlmIChjYWxsRnJhbWUtPmNvZGVCbG9jaygpLT5q
aXRUeXBlKCkgIT0gSklUQ29kZTo6REZHSklUKQorICAgICAgICAgICAgY2F0Y2hQQ0ZvckludGVy
cHJldGVyID0gJmNhbGxGcmFtZS0+Y29kZUJsb2NrKCktPmluc3RydWN0aW9ucygpW2hhbmRsZXIt
PnRhcmdldF07CiAjaWYgRU5BQkxFKEpJVCkKICAgICAgICAgY2F0Y2hSb3V0aW5lID0gaGFuZGxl
ci0+bmF0aXZlQ29kZS5leGVjdXRhYmxlQWRkcmVzcygpOwogI2Vsc2UKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29kZXMzMl82NC5jcHAJKHJldmlzaW9uIDE4OTk4
NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNwcAkod29y
a2luZyBjb3B5KQpAQCAtODA3LDYgKzgwNyw3IEBAIHZvaWQgSklUOjplbWl0X29wX2NhdGNoKElu
c3RydWN0aW9uKiBjdXIKICAgICBtb3ZlKFRydXN0ZWRJbW1QdHIobV92bSksIHJlZ1QzKTsKICAg
ICAvLyBvcGVyYXRpb25UaHJvdyByZXR1cm5zIHRoZSBjYWxsRnJhbWUgZm9yIHRoZSBoYW5kbGVy
LgogICAgIGxvYWQzMihBZGRyZXNzKHJlZ1QzLCBWTTo6Y2FsbEZyYW1lRm9yQ2F0Y2hPZmZzZXQo
KSksIGNhbGxGcmFtZVJlZ2lzdGVyKTsKKyAgICBzdG9yZVB0cihUcnVzdGVkSW1tUHRyKG51bGxw
dHIpLCBBZGRyZXNzKHJlZ1QzLCBWTTo6Y2FsbEZyYW1lRm9yQ2F0Y2hPZmZzZXQoKSkpOwogCiAg
ICAgYWRkUHRyKFRydXN0ZWRJbW0zMihzdGFja1BvaW50ZXJPZmZzZXRGb3IoY29kZUJsb2NrKCkp
ICogc2l6ZW9mKFJlZ2lzdGVyKSksIGNhbGxGcmFtZVJlZ2lzdGVyLCBzdGFja1BvaW50ZXJSZWdp
c3Rlcik7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2Rlcy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzLmNwcAko
cmV2aXNpb24gMTg5OTg2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVz
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTAxLDYgKzUwMSw3IEBAIHZvaWQgSklUOjplbWl0X29w
X2NhdGNoKEluc3RydWN0aW9uKiBjdXIKIAogICAgIG1vdmUoVHJ1c3RlZEltbVB0cihtX3ZtKSwg
cmVnVDMpOwogICAgIGxvYWQ2NChBZGRyZXNzKHJlZ1QzLCBWTTo6Y2FsbEZyYW1lRm9yQ2F0Y2hP
ZmZzZXQoKSksIGNhbGxGcmFtZVJlZ2lzdGVyKTsKKyAgICBzdG9yZVB0cihUcnVzdGVkSW1tUHRy
KG51bGxwdHIpLCBBZGRyZXNzKHJlZ1QzLCBWTTo6Y2FsbEZyYW1lRm9yQ2F0Y2hPZmZzZXQoKSkp
OwogCiAgICAgYWRkUHRyKFRydXN0ZWRJbW0zMihzdGFja1BvaW50ZXJPZmZzZXRGb3IoY29kZUJs
b2NrKCkpICogc2l6ZW9mKFJlZ2lzdGVyKSksIGNhbGxGcmFtZVJlZ2lzdGVyLCBzdGFja1BvaW50
ZXJSZWdpc3Rlcik7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGludC9Mb3dMZXZl
bEludGVycHJldGVyMzJfNjQuYXNtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9sbGludC9Mb3dMZXZlbEludGVycHJldGVyMzJfNjQuYXNtCShyZXZpc2lvbiAxODk5ODYpCisr
KyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvbGxpbnQvTG93TGV2ZWxJbnRlcnByZXRlcjMyXzY0LmFz
bQkod29ya2luZyBjb3B5KQpAQCAtMzA0LDYgKzMwNCw3IEBAIF9oYW5kbGVVbmNhdWdodEV4Y2Vw
dGlvbjoKICAgICBsb2FkcCBNYXJrZWRCbG9jazo6bV93ZWFrU2V0ICsgV2Vha1NldDo6bV92bVt0
M10sIHQzCiAgICAgcmVzdG9yZUNhbGxlZVNhdmVzRnJvbVZNQ2FsbGVlU2F2ZXNCdWZmZXIodDMs
IHQwKQogICAgIGxvYWRwIFZNOjpjYWxsRnJhbWVGb3JDYXRjaFt0M10sIGNmcgorICAgIHN0b3Jl
cCAwLCBWTTo6Y2FsbEZyYW1lRm9yQ2F0Y2hbdDNdCiAKICAgICBsb2FkcCBDYWxsZXJGcmFtZVtj
ZnJdLCBjZnIKIApAQCAtMTgzNyw2ICsxODM4LDcgQEAgX2xsaW50X29wX2NhdGNoOgogICAgIGxv
YWRwIE1hcmtlZEJsb2NrOjptX3dlYWtTZXQgKyBXZWFrU2V0OjptX3ZtW3QzXSwgdDMKICAgICBy
ZXN0b3JlQ2FsbGVlU2F2ZXNGcm9tVk1DYWxsZWVTYXZlc0J1ZmZlcih0MywgdDApCiAgICAgbG9h
ZHAgVk06OmNhbGxGcmFtZUZvckNhdGNoW3QzXSwgY2ZyCisgICAgc3RvcmVwIDAsIFZNOjpjYWxs
RnJhbWVGb3JDYXRjaFt0M10KICAgICByZXN0b3JlU3RhY2tQb2ludGVyQWZ0ZXJDYWxsKCkKIAog
ICAgIGxvYWRpIFZNOjp0YXJnZXRJbnRlcnByZXRlclBDRm9yVGhyb3dbdDNdLCBQQwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0ZXI2NC5hc20KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2xsaW50L0xvd0xldmVsSW50ZXJwcmV0
ZXI2NC5hc20JKHJldmlzaW9uIDE4OTk4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9sbGlu
dC9Mb3dMZXZlbEludGVycHJldGVyNjQuYXNtCSh3b3JraW5nIGNvcHkpCkBAIC0yNzYsNiArMjc2
LDcgQEAgX2hhbmRsZVVuY2F1Z2h0RXhjZXB0aW9uOgogICAgIGxvYWRwIE1hcmtlZEJsb2NrOjpt
X3dlYWtTZXQgKyBXZWFrU2V0OjptX3ZtW3QzXSwgdDMKICAgICByZXN0b3JlQ2FsbGVlU2F2ZXNG
cm9tVk1DYWxsZWVTYXZlc0J1ZmZlcih0MywgdDApCiAgICAgbG9hZHAgVk06OmNhbGxGcmFtZUZv
ckNhdGNoW3QzXSwgY2ZyCisgICAgc3RvcmVwIDAsIFZNOjpjYWxsRnJhbWVGb3JDYXRjaFt0M10K
IAogICAgIGxvYWRwIENhbGxlckZyYW1lW2Nmcl0sIGNmcgogICAgIHZtRW50cnlSZWNvcmQoY2Zy
LCB0MikKQEAgLTE3MjMsNiArMTcyNCw3IEBAIF9sbGludF9vcF9jYXRjaDoKICAgICBsb2FkcCBN
YXJrZWRCbG9jazo6bV93ZWFrU2V0ICsgV2Vha1NldDo6bV92bVt0M10sIHQzCiAgICAgcmVzdG9y
ZUNhbGxlZVNhdmVzRnJvbVZNQ2FsbGVlU2F2ZXNCdWZmZXIodDMsIHQwKQogICAgIGxvYWRwIFZN
OjpjYWxsRnJhbWVGb3JDYXRjaFt0M10sIGNmcgorICAgIHN0b3JlcCAwLCBWTTo6Y2FsbEZyYW1l
Rm9yQ2F0Y2hbdDNdCiAgICAgcmVzdG9yZVN0YWNrUG9pbnRlckFmdGVyQ2FsbCgpCiAKICAgICBs
b2FkcCBDb2RlQmxvY2tbY2ZyXSwgUEIKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL1ZNLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9W
TS5jcHAJKHJldmlzaW9uIDE4OTk4NikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1ZNLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgyLDYgKzI4Miw4IEBAIFZNOjpWTShWTVR5cGUg
dm1UeXBlLCBIZWFwVHlwZSBoZWFwVHlwZSkKICAgICAgICAgbV9wZXJCeXRlY29kZVByb2ZpbGVy
LT5yZWdpc3RlclRvU2F2ZUF0RXhpdChwYXRoT3V0LnRvQ1N0cmluZygpLmRhdGEoKSk7CiAgICAg
fQogCisgICAgY2FsbEZyYW1lRm9yQ2F0Y2ggPSBudWxscHRyOworCiAjaWYgRU5BQkxFKERGR19K
SVQpCiAgICAgaWYgKGNhblVzZUpJVCgpKQogICAgICAgICBkZmdTdGF0ZSA9IHN0ZDo6bWFrZV91
bmlxdWU8REZHOjpMb25nTGl2ZWRTdGF0ZT4oKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL1ZNLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvVk0uaAkocmV2aXNpb24gMTg5OTg2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvVk0uaAkod29ya2luZyBjb3B5KQpAQCAtNDA3LDYgKzQwNyw4IEBAIHB1YmxpYzoKICAgICB2
b2lkIGNsZWFyRXhjZXB0aW9uKCkgeyBtX2V4Y2VwdGlvbiA9IG51bGxwdHI7IH0KICAgICB2b2lk
IGNsZWFyTGFzdEV4Y2VwdGlvbigpIHsgbV9sYXN0RXhjZXB0aW9uID0gbnVsbHB0cjsgfQogCisg
ICAgRXhlY1N0YXRlKiogYWRkcmVzc09mQ2FsbEZyYW1lRm9yQ2F0Y2goKSB7IHJldHVybiAmY2Fs
bEZyYW1lRm9yQ2F0Y2g7IH0KKwogICAgIEV4Y2VwdGlvbiogZXhjZXB0aW9uKCkgY29uc3QgeyBy
ZXR1cm4gbV9leGNlcHRpb247IH0KICAgICBKU0NlbGwqKiBhZGRyZXNzT2ZFeGNlcHRpb24oKSB7
IHJldHVybiByZWludGVycHJldF9jYXN0PEpTQ2VsbCoqPigmbV9leGNlcHRpb24pOyB9CiAKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZGZnLWV4Y2VwdGlvbi10cnkt
Y2F0Y2gtaW4tY29uc3RydWN0b3Itd2l0aC1pbmxpbmVkLXRocm93LmpzCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZGZnLWV4Y2VwdGlvbi10cnktY2F0
Y2gtaW4tY29uc3RydWN0b3Itd2l0aC1pbmxpbmVkLXRocm93LmpzCShyZXZpc2lvbiAwKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9kZmctZXhjZXB0aW9uLXRyeS1jYXRj
aC1pbi1jb25zdHJ1Y3Rvci13aXRoLWlubGluZWQtdGhyb3cuanMJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwyNyBAQAorZnVuY3Rpb24gZigpIHsKKyAgICByZXR1cm4gMjA7IAorfQorbm9Jbmxp
bmUoZik7CisKK2Z1bmN0aW9uIGJhcihiKSB7IAorICAgIGlmIChiKQorICAgICAgICB0aHJvdyBu
ZXcgRXJyb3IoImJsYWghIik7Cit9CisKK2Z1bmN0aW9uIEZvbyhiKSB7CisgICAgdHJ5IHsKKyAg
ICAgICAgdGhpcy52YWx1ZSA9IGJhcihiKTsKKyAgICB9IGNhdGNoKGUpIHsKKyAgICAgICAgdGhp
cy52YWx1ZSA9IGUudG9TdHJpbmcoKTsKKyAgICB9CisKKyAgICBmKHRoaXMudmFsdWUsIGIpOwor
fQorbm9JbmxpbmUoRm9vKTsKKworCitmb3IgKHZhciBpID0gMTsgaSA8IDEwMDA7IGkrKykgewor
ICAgIGxldCB2YWx1ZSA9IG5ldyBGb28oaSAlIDMgPT09IDApOworICAgIGlmIChpICUgMyA9PT0g
MCAmJiB2YWx1ZS52YWx1ZSAhPT0gICJFcnJvcjogYmxhaCEiKQorICAgICAgICB0aHJvdyBuZXcg
RXJyb3IoImJhZCB2YWx1ZTogIiArIHZhbHVlLnZhbHVlKTsKK30KSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZXM2LWZvci1vZi1sb29wLWV4Y2VwdGlvbi5qcwo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2VzNi1mb3Itb2Yt
bG9vcC1leGNlcHRpb24uanMJKHJldmlzaW9uIDApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2VzNi1mb3Itb2YtbG9vcC1leGNlcHRpb24uanMJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSwyOSBAQAorZnVuY3Rpb24gYXNzZXJ0KGNvbmQpIHsKKyAgICBpZiAoIWNvbmQp
CisgICAgICAgIHRocm93IG5ldyBFcnJvcigiYnJva2UgYXNzZXJ0aW9uIik7Cit9Citub0lubGlu
ZShhc3NlcnQpOworCitmdW5jdGlvbiBzaG91bGRUaHJvd0ludmFsaWRDb25zdEFzc2lnbm1lbnQo
ZikgeworICAgIHZhciB0aHJldyA9IGZhbHNlOworICAgIHRyeSB7CisgICAgICAgIGYoKTsKKyAg
ICB9IGNhdGNoKGUpIHsKKyAgICAgICAgLy9wcmludChlKTsKKyAgICAgICAgaWYgKGUubmFtZS5p
bmRleE9mKCJUeXBlRXJyb3IiKSAhPT0gLTEgJiYgZS5tZXNzYWdlLmluZGV4T2YoInJlYWRvbmx5
IikgIT09IC0xKQorICAgICAgICAgICAgdGhyZXcgPSB0cnVlOworICAgIH0KKyAgICBhc3NlcnQo
dGhyZXcpOworfQorbm9JbmxpbmUoc2hvdWxkVGhyb3dJbnZhbGlkQ29uc3RBc3NpZ25tZW50KTsK
KworZnVuY3Rpb24gYmF6KCl7fQorbm9JbmxpbmUoYmF6KTsKKworZnVuY3Rpb24gZm9vKCkgewor
ICAgIGZvciAoY29uc3QgaXRlbSBvZiBbMSwyLDNdKSB7CisgICAgICAgIGl0ZW0gPSAyMDsKKyAg
ICB9Cit9Citmb3IgKHZhciBpID0gMDsgaSA8IDEwMDA7IGkrKykKKyAgICBzaG91bGRUaHJvd0lu
dmFsaWRDb25zdEFzc2lnbm1lbnQoZm9vKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvZXhjZXB0aW9uLWRmZy1pbmxpbmVkLWZyYW1lLW5vdC1zdHJpY3QtZXF1YWwu
anMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9leGNl
cHRpb24tZGZnLWlubGluZWQtZnJhbWUtbm90LXN0cmljdC1lcXVhbC5qcwkocmV2aXNpb24gMCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZXhjZXB0aW9uLWRmZy1pbmxp
bmVkLWZyYW1lLW5vdC1zdHJpY3QtZXF1YWwuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwz
OSBAQAorZnVuY3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5l
dyBFcnJvcigiQmFkIGFzc2VydGlvbiIpOworfQorbm9JbmxpbmUoYXNzZXJ0KTsKK3ZhciBvID0g
eworICAgIHZhbHVlT2Y6IGZ1bmN0aW9uKCkgeyByZXR1cm4ge307IH0sCisgICAgdG9TdHJpbmc6
IGZ1bmN0aW9uKCkgeyByZXR1cm4ge307IH0KK307CitmdW5jdGlvbiByZWFkKCkgeworICAgIHJl
dHVybiAicmVhZCI7Cit9Citub0lubGluZShyZWFkKTsKKworZnVuY3Rpb24gYmFyKGEsIGIpIHsK
KyAgICByZXR1cm4gYSA9PSBiOworfQorCitmdW5jdGlvbiBmb28oYSwgYikgeworICAgIHZhciBy
ZXN1bHQgPSBudWxsOworICAgIHZhciB2YWx1ZSA9IHJlYWQoKTsKKyAgICB0cnkgeworICAgICAg
ICByZXN1bHQgPSBiYXIoYSwgYik7CisgICAgfSBjYXRjaChlKSB7CisgICAgICAgIGFzc2VydCgi
IiArIHZhbHVlID09PSAicmVhZCIpOworICAgIH0KKyAgICByZXR1cm4gdmFsdWU7Cit9Citub0lu
bGluZShmb28pOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDA7IGkrKykgeworICAgIGZvbygx
MCwgMjApOworICAgIGZvbyh7fSwge30pOworICAgIGZvbygxMCwgMTAuMCk7CisgICAgZm9vKCJo
ZWxsbyIsICJoZWxsbyIpOworICAgIGZvbyhudWxsLCB1bmRlZmluZWQpOworICAgIGZvbyhmYWxz
ZSwgMCk7Cit9Citmb28obywgImhlbGxvIik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
dGVzdHMvc3RyZXNzL2V4Y2VwdGlvbi1kZmctbm90LXN0cmljdC1lcXVhbC5qcwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2V4Y2VwdGlvbi1kZmctbm90
LXN0cmljdC1lcXVhbC5qcwkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90
ZXN0cy9zdHJlc3MvZXhjZXB0aW9uLWRmZy1ub3Qtc3RyaWN0LWVxdWFsLmpzCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsNzEgQEAKKzsoZnVuY3Rpb24gKCkgeworZnVuY3Rpb24gZm9vKGEsIGIp
IHsKKyAgICB2YXIgcmVzdWx0ID0gbnVsbDsKKyAgICB0cnkgeworICAgICAgICByZXN1bHQgPSBh
ID09IGI7CisgICAgfSBjYXRjaChlKSB7CisgICAgfQorfQorbm9JbmxpbmUoZm9vKTsKKworZm9y
ICh2YXIgaSA9IDA7IGkgPCAxMDAwOyBpKyspIHsKKyAgICBmb28oMTAsIDIwKTsKKyAgICBmb28o
e30sIHt9KTsKKyAgICBmb28oMTAsIDEwLjApOworICAgIGZvbygiaGVsbG8iLCAiaGVsbG8iKTsK
KyAgICBmb28obnVsbCwgdW5kZWZpbmVkKTsKKyAgICBmb28oZmFsc2UsIDApOworfQorCit2YXIg
byA9IHsKKyAgICB2YWx1ZU9mOiBmdW5jdGlvbigpIHsgcmV0dXJuIHt9OyB9LAorICAgIHRvU3Ry
aW5nOiBmdW5jdGlvbigpIHsgcmV0dXJuIHt9OyB9Cit9OworZm9vKG8sICJoZWxsbyIpOworfSko
KTsKKworCitmdW5jdGlvbiBhc3NlcnQoYikgeworICAgIGlmICghYikKKyAgICAgICAgdGhyb3cg
bmV3IEVycm9yKCJCYWQgYXNzZXJ0aW9uIik7Cit9Citub0lubGluZShhc3NlcnQpOworCisKKzso
ZnVuY3Rpb24oKSB7CisKK3ZhciBfc2hvdWxkRG9Tb21ldGhpbmdJbkZpbmFsbHkgPSBmYWxzZTsK
K2Z1bmN0aW9uIHNob3VsZERvU29tZXRoaW5nSW5GaW5hbGx5KCkgeyByZXR1cm4gX3Nob3VsZERv
U29tZXRoaW5nSW5GaW5hbGx5OyB9Citub0lubGluZShzaG91bGREb1NvbWV0aGluZ0luRmluYWxs
eSk7CisKK2Z1bmN0aW9uIGZvbyhhLCBiKSB7CisgICAgdmFyIHJlc3VsdCA9IG51bGw7CisgICAg
dHJ5IHsKKyAgICAgICAgcmVzdWx0ID0gYSA9PSBiOworICAgIH0gZmluYWxseSB7CisgICAgICAg
IGlmIChzaG91bGREb1NvbWV0aGluZ0luRmluYWxseSgpKQorICAgICAgICAgICAgYXNzZXJ0KHJl
c3VsdCA9PT0gbnVsbCk7CisgICAgfQorICAgIHJldHVybiByZXN1bHQ7Cit9Citub0lubGluZShm
b28pOworCitmb3IgKHZhciBpID0gMDsgaSA8IDEwMDA7IGkrKykgeworICAgIGZvbygxMCwgMjAp
OworICAgIGZvbyh7fSwge30pOworICAgIGZvbygxMCwgMTAuMCk7CisgICAgZm9vKCJoZWxsbyIs
ICJoZWxsbyIpOworICAgIGZvbyhudWxsLCB1bmRlZmluZWQpOworICAgIGZvbyhmYWxzZSwgMCk7
Cit9CisKK3ZhciBvID0geworICAgIHZhbHVlT2Y6IGZ1bmN0aW9uKCkgeyByZXR1cm4ge307IH0s
CisgICAgdG9TdHJpbmc6IGZ1bmN0aW9uKCkgeyByZXR1cm4ge307IH0KK307Cit0cnkgeworICAg
IF9zaG91bGREb1NvbWV0aGluZ0luRmluYWxseSA9IHRydWU7CisgICAgZm9vKG8sICJoZWxsbyIp
OworfSBjYXRjaChlKSB7fQorCit9KSgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3Rl
c3RzL3N0cmVzcy9leGNlcHRpb24tZGZnLW9wZXJhdGlvbi1yZWFkLXZhbHVlLmpzCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvZXhjZXB0aW9uLWRmZy1v
cGVyYXRpb24tcmVhZC12YWx1ZS5qcwkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvZXhjZXB0aW9uLWRmZy1vcGVyYXRpb24tcmVhZC12YWx1ZS5qcwko
d29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM1IEBACitmdW5jdGlvbiBhc3NlcnQoYikgeworICAg
IGlmICghYikKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJCYWQgYXNzZXJ0aW9uIik7Cit9Citu
b0lubGluZShhc3NlcnQpOwordmFyIG8gPSB7CisgICAgdmFsdWVPZjogZnVuY3Rpb24oKSB7IHJl
dHVybiB7fTsgfSwKKyAgICB0b1N0cmluZzogZnVuY3Rpb24oKSB7IHJldHVybiB7fTsgfQorfTsK
K2Z1bmN0aW9uIHJlYWQoKSB7CisgICAgcmV0dXJuICJyZWFkIjsKK30KK25vSW5saW5lKHJlYWQp
OworCitmdW5jdGlvbiBmb28oYSwgYikgeworICAgIHZhciByZXN1bHQgPSBudWxsOworICAgIHZh
ciB2YWx1ZSA9IHJlYWQoKTsKKyAgICB0cnkgeworICAgICAgICByZXN1bHQgPSBhID09IGI7Cisg
ICAgfSBjYXRjaChlKSB7CisgICAgICAgIGFzc2VydCgiIiArIHZhbHVlID09PSAicmVhZCIpOwor
ICAgIH0KKyAgICByZXR1cm4gdmFsdWU7Cit9Citub0lubGluZShmb28pOworCitmb3IgKHZhciBp
ID0gMDsgaSA8IDEwMDA7IGkrKykgeworICAgIGZvbygxMCwgMjApOworICAgIGZvbyh7fSwge30p
OworICAgIGZvbygxMCwgMTAuMCk7CisgICAgZm9vKCJoZWxsbyIsICJoZWxsbyIpOworICAgIGZv
byhudWxsLCB1bmRlZmluZWQpOworICAgIGZvbyhmYWxzZSwgMCk7Cit9Citmb28obywgImhlbGxv
Iik7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2V4Y2VwdGlvbi1k
ZmctdGhyb3ctZnJvbS1jYXRjaC1ibG9jay5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvdGVzdHMvc3RyZXNzL2V4Y2VwdGlvbi1kZmctdGhyb3ctZnJvbS1jYXRjaC1ibG9j
ay5qcwkocmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3Mv
ZXhjZXB0aW9uLWRmZy10aHJvdy1mcm9tLWNhdGNoLWJsb2NrLmpzCSh3b3JraW5nIGNvcHkpCkBA
IC0wLDAgKzEsNDAgQEAKKyJ1c2Ugc3RyaWN0IjsKK2Z1bmN0aW9uIGFzc2VydChjb25kLCBtKSB7
CisgICAgaWYgKCFjb25kKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoImJyb2tlIGFzc2VydGlv
bjogJyIgKyBtICsgIiciKTsKK30KK25vSW5saW5lKGFzc2VydCk7CisKK2Z1bmN0aW9uIGJheihi
KSB7CisgICAgaWYgKGIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmF6Iik7Cit9CisKK2Z1
bmN0aW9uIGJhcihiKSB7CisgICAgdmFyIGV4Y2VwdGlvbiA9IG51bGw7CisgICAgdHJ5IHsKKyAg
ICAgICAgYmF6KGIpOworICAgIH0gY2F0Y2goZSkgeworICAgICAgICBleGNlcHRpb24gPSBlOwor
ICAgICAgICBiYXooYik7CisgICAgfSBmaW5hbGx5IHsKKyAgICAgICAgaWYgKGIpIAorICAgICAg
ICAgICAgYXNzZXJ0KGV4Y2VwdGlvbik7CisgICAgfQorfQorCitmdW5jdGlvbiBmb28oYikgewor
ICAgIHZhciBleGNlcHRpb24gPSBudWxsOworICAgIHRyeSB7CisgICAgICAgIGJhcihiKTsKKyAg
ICB9IGNhdGNoKGUpIHsKKyAgICAgICAgZXhjZXB0aW9uID0gZTsKKyAgICB9CisgICAgaWYgKGIp
CisgICAgICAgIGFzc2VydChleGNlcHRpb24pOworfQorCitjb25zdCBOVU1fTE9PUFMgPSAxMDAw
OworZm9yICh2YXIgaSA9IDA7IGkgPCBOVU1fTE9PUFM7IGkrKykgeworICAgIGZvbyhpID09PSBO
VU1fTE9PUFMgLSAxKTsKK30KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4OTk4NikKKysrIExheW91dFRl
c3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwNSBAQAorMjAxNS0wOS0x
NyAgU2FhbSBiYXJhdGkgIDxzYmFyYXRpQGFwcGxlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQg
dHJ5L2NhdGNoIGluIHRoZSBERkcuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNDczNzQKKworICAgICAgICBSZXZpZXdlZCBieSBGaWxpcCBQaXpsby4K
KworICAgICAgICAqIGpzL3JlZ3Jlc3MvcmF5dHJhY2Utd2l0aC1lbXB0eS10cnktY2F0Y2gtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBqcy9yZWdyZXNzL3JheXRyYWNlLXdpdGgtZW1w
dHktdHJ5LWNhdGNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGpzL3JlZ3Jlc3MvcmF5dHJhY2Ut
d2l0aC10cnktY2F0Y2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBqcy9yZWdyZXNz
L3JheXRyYWNlLXdpdGgtdHJ5LWNhdGNoLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGpzL3JlZ3Jl
c3Mvc2NyaXB0LXRlc3RzL3JheXRyYWNlLXdpdGgtZW1wdHktdHJ5LWNhdGNoLmpzOiBBZGRlZC4K
KyAgICAgICAgKGNyZWF0ZVZlY3Rvcik6CisgICAgICAgIChzcXJMZW5ndGhWZWN0b3IpOgorICAg
ICAgICAobGVuZ3RoVmVjdG9yKToKKyAgICAgICAgKGFkZFZlY3Rvcik6CisgICAgICAgIChzdWJW
ZWN0b3IpOgorICAgICAgICAoc2NhbGVWZWN0b3IpOgorICAgICAgICAobm9ybWFsaXNlVmVjdG9y
KToKKyAgICAgICAgKGFkZCk6CisgICAgICAgIChzdWIpOgorICAgICAgICAoc2NhbGV2KToKKyAg
ICAgICAgKGRvdCk6CisgICAgICAgIChzY2FsZSk6CisgICAgICAgIChjcm9zcyk6CisgICAgICAg
IChub3JtYWxpc2UpOgorICAgICAgICAodHJhbnNmb3JtTWF0cml4KToKKyAgICAgICAgKGludmVy
dE1hdHJpeCk6CisgICAgICAgIChUcmlhbmdsZSk6CisgICAgICAgIChUcmlhbmdsZS5wcm90b3R5
cGUuaW50ZXJzZWN0KToKKyAgICAgICAgKFNjZW5lKToKKyAgICAgICAgKFNjZW5lLnByb3RvdHlw
ZS5pbnRlcnNlY3QpOgorICAgICAgICAoU2NlbmUucHJvdG90eXBlLmJsb2NrZWQpOgorICAgICAg
ICAoQ2FtZXJhKToKKyAgICAgICAgKENhbWVyYS5wcm90b3R5cGUuZ2VuZXJhdGVSYXlQYWlyKToK
KyAgICAgICAgKHJlbmRlclJvd3MpOgorICAgICAgICAoQ2FtZXJhLnByb3RvdHlwZS5yZW5kZXIp
OgorICAgICAgICAocmF5dHJhY2VTY2VuZS5mbG9vclNoYWRlcik6CisgICAgICAgIChyYXl0cmFj
ZVNjZW5lKToKKyAgICAgICAgKGFycmF5VG9DYW52YXNDb21tYW5kcyk6CisgICAgICAgICoganMv
cmVncmVzcy9zY3JpcHQtdGVzdHMvcmF5dHJhY2Utd2l0aC10cnktY2F0Y2guanM6IEFkZGVkLgor
ICAgICAgICAocmFuZG9tRXhjZXB0aW9uKToKKyAgICAgICAgKGNyZWF0ZVZlY3Rvcik6CisgICAg
ICAgIChzcXJMZW5ndGhWZWN0b3IpOgorICAgICAgICAobGVuZ3RoVmVjdG9yKToKKyAgICAgICAg
KGFkZFZlY3Rvcik6CisgICAgICAgIChzdWJWZWN0b3IpOgorICAgICAgICAoc2NhbGVWZWN0b3Ip
OgorICAgICAgICAobm9ybWFsaXNlVmVjdG9yKToKKyAgICAgICAgKGFkZCk6CisgICAgICAgIChz
dWIpOgorICAgICAgICAoc2NhbGV2KToKKyAgICAgICAgKGRvdCk6CisgICAgICAgIChzY2FsZSk6
CisgICAgICAgIChjcm9zcyk6CisgICAgICAgIChub3JtYWxpc2UpOgorICAgICAgICAodHJhbnNm
b3JtTWF0cml4KToKKyAgICAgICAgKGludmVydE1hdHJpeCk6CisgICAgICAgIChUcmlhbmdsZSk6
CisgICAgICAgIChUcmlhbmdsZS5wcm90b3R5cGUuaW50ZXJzZWN0KToKKyAgICAgICAgKFNjZW5l
KToKKyAgICAgICAgKFNjZW5lLnByb3RvdHlwZS5pbnRlcnNlY3QpOgorICAgICAgICAoU2NlbmUu
cHJvdG90eXBlLmJsb2NrZWQpOgorICAgICAgICAoQ2FtZXJhKToKKyAgICAgICAgKENhbWVyYS5w
cm90b3R5cGUuZ2VuZXJhdGVSYXlQYWlyKToKKyAgICAgICAgKHJlbmRlclJvd3MpOgorICAgICAg
ICAoQ2FtZXJhLnByb3RvdHlwZS5yZW5kZXIpOgorICAgICAgICAocmF5dHJhY2VTY2VuZS5mbG9v
clNoYWRlcik6CisgICAgICAgIChyYXl0cmFjZVNjZW5lKToKKyAgICAgICAgKGFycmF5VG9DYW52
YXNDb21tYW5kcyk6CisgICAgICAgICoganMvcmVncmVzcy9zY3JpcHQtdGVzdHMvdjgtcmF5dHJh
Y2Utd2l0aC1lbXB0eS10cnktY2F0Y2guanM6IEFkZGVkLgorICAgICAgICAoQ2xhc3MuY3JlYXRl
KToKKyAgICAgICAgKE9iamVjdC5leHRlbmQpOgorICAgICAgICAoRmxvZy5SYXlUcmFjZXIuQ29s
b3IucHJvdG90eXBlLmluaXRpYWxpemUpOgorICAgICAgICAoRmxvZy5SYXlUcmFjZXIuQ29sb3Iu
cHJvdG90eXBlLmFkZCk6CisgICAgICAgIChGbG9nLlJheVRyYWNlci5Db2xvci5wcm90b3R5cGUu
YWRkU2NhbGFyKToKKyAgICAgICAgKEZsb2cuUmF5VHJhY2VyLkNvbG9yLnByb3RvdHlwZS5zdWJ0
cmFjdCk6CisgICAgICAgIChGbG9nLlJheVRyYWNlci5Db2xvci5wcm90b3R5cGUubXVsdGlwbHkp
OgorICAgICAgICAoRmxvZy5SYXlUcmFjZXIuQ29sb3IucHJvdG90eXBlLm11bHRpcGx5U2NhbGFy
KToKKyAgICAgICAgKEZsb2cuUmF5VHJhY2VyLkNvbG9yLnByb3RvdHlwZS5kaXZpZGVGYWN0b3Ip
OgorICAgICAgICAoRmxvZy5SYXlUcmFjZXIuQ29sb3IucHJvdG90eXBlLmxpbWl0KToKKyAgICAg
ICAgKEZsb2cuUmF5VHJhY2VyLkNvbG9yLnByb3RvdHlwZS5kaXN0YW5jZSk6CisgICAgICAgIChG
bG9nLlJheVRyYWNlci5Db2xvci5wcm90b3R5cGUuYmxlbmQpOgorICAgICAgICAoRmxvZy5SYXlU
cmFjZXIuQ29sb3IucHJvdG90eXBlLmJyaWdodG5lc3MpOgorICAgICAgICAoRmxvZy5SYXlUcmFj
ZXIuQ29sb3IucHJvdG90eXBlLnRvU3RyaW5nKToKKyAgICAgICAgKEZsb2cuUmF5VHJhY2VyLkxp
Z2h0LnByb3RvdHlwZS5pbml0aWFsaXplKToKKyAgICAgICAgKEZsb2cuUmF5VHJhY2VyLkxpZ2h0
LnByb3RvdHlwZS50b1N0cmluZyk6CisgICAgICAgIChGbG9nLlJheVRyYWNlci5WZWN0b3IucHJv
dG90eXBlLmluaXRpYWxpemUpOgorICAgICAgICAoRmxvZy5SYXlUcmFjZXIuVmVjdG9yLnByb3Rv
dHlwZS5jb3B5KToKKyAgICAgICAgKEZsb2cuUmF5VHJhY2VyLlZlY3Rvci5wcm90b3R5cGUubm9y
bWFsaXplKToKKyAgICAgICAgKEZsb2cuUmF5VHJhY2VyLlZlY3Rvci5wcm90b3R5cGUubWFnbml0
dWRlKToKKyAgICAgICAgKEZsb2cuUmF5VHJhY2VyLlZlY3Rvci5wcm90b3R5cGUuY3Jvc3MpOgor
ICAgICAgICAoRmxvZy5SYXlUcmFjZXIuVmVjdG9yLnByb3RvdHlwZS5kb3QpOgorICAgICAgICAo
RmxvZy5SYXlUcmFjZXIuVmVjdG9yLnByb3RvdHlwZS5hZGQpOgorICAgICAgICAoRmxvZy5SYXlU
cmFjZXIuVmVjdG9yLnByb3RvdHlwZS5zdWJ0cmFjdCk6CisgICAgICAgIChGbG9nLlJheVRyYWNl
ci5WZWN0b3IucHJvdG90eXBlLm11bHRpcGx5VmVjdG9yKToKKyAgICAgICAgKEZsb2cuUmF5VHJh
Y2VyLlZlY3Rvci5wcm90b3R5cGUubXVsdGlwbHlTY2FsYXIpOgorICAgICAgICAoRmxvZy5SYXlU
cmFjZXIuVmVjdG9yLnByb3RvdHlwZS50b1N0cmluZyk6CisgICAgICAgIChGbG9nLlJheVRyYWNl
ci5SYXkucHJvdG90eXBlLmluaXRpYWxpemUpOgorICAgICAgICAoRmxvZy5SYXlUcmFjZXIuUmF5
LnByb3RvdHlwZS50b1N0cmluZyk6CisgICAgICAgIChGbG9nLlJheVRyYWNlci5TY2VuZS5wcm90
b3R5cGUuaW5pdGlhbGl6ZSk6CisgICAgICAgIChGbG9nLlJheVRyYWNlci5NYXRlcmlhbC5CYXNl
TWF0ZXJpYWwucHJvdG90eXBlLmluaXRpYWxpemUpOgorICAgICAgICAoRmxvZy5SYXlUcmFjZXIu
TWF0ZXJpYWwuQmFzZU1hdGVyaWFsLnByb3RvdHlwZS5nZXRDb2xvcik6CisgICAgICAgIChGbG9n
LlJheVRyYWNlci5NYXRlcmlhbC5CYXNlTWF0ZXJpYWwucHJvdG90eXBlLndyYXBVcCk6CisgICAg
ICAgIChGbG9nLlJheVRyYWNlci5NYXRlcmlhbC5CYXNlTWF0ZXJpYWwucHJvdG90eXBlLnRvU3Ry
aW5nKToKKyAgICAgICAgKEZsb2cuUmF5VHJhY2VyLk1hdGVyaWFsLlNvbGlkLnByb3RvdHlwZS5P
YmplY3QuZXh0ZW5kLm5ldy5GbG9nLlJheVRyYWNlci5NYXRlcmlhbC5CYXNlTWF0ZXJpYWwuaW5p
dGlhbGl6ZSk6CisgICAgICAgIChGbG9nLlJheVRyYWNlci5NYXRlcmlhbC5Tb2xpZC5wcm90b3R5
cGUuT2JqZWN0LmV4dGVuZC5uZXcuRmxvZy5SYXlUcmFjZXIuTWF0ZXJpYWwuQmFzZU1hdGVyaWFs
LmdldENvbG9yKToKKyAgICAgICAgKEZsb2cuUmF5VHJhY2VyLk1hdGVyaWFsLlNvbGlkLnByb3Rv
dHlwZS5PYmplY3QuZXh0ZW5kLm5ldy5GbG9nLlJheVRyYWNlci5NYXRlcmlhbC5CYXNlTWF0ZXJp
YWwudG9TdHJpbmcpOgorICAgICAgICAoRmxvZy5SYXlUcmFjZXIuTWF0ZXJpYWwuU29saWQucHJv
dG90eXBlLk9iamVjdC5leHRlbmQubmV3LkZsb2cuUmF5VHJhY2VyLk1hdGVyaWFsLkJhc2VNYXRl
cmlhbCk6CisgICAgICAgIChGbG9nLlJheVRyYWNlci5NYXRlcmlhbC5DaGVzc2JvYXJkLnByb3Rv
dHlwZS5PYmplY3QuZXh0ZW5kLm5ldy5GbG9nLlJheVRyYWNlci5NYXRlcmlhbC5CYXNlTWF0ZXJp
YWwuaW5pdGlhbGl6ZSk6CisgICAgICAgIChGbG9nLlJheVRyYWNlci5NYXRlcmlhbC5DaGVzc2Jv
YXJkLnByb3RvdHlwZS5PYmplY3QuZXh0ZW5kLm5ldy5GbG9nLlJheVRyYWNlci5NYXRlcmlhbC5C
YXNlTWF0ZXJpYWwuZ2V0Q29sb3IpOgorICAgICAgICAoRmxvZy5SYXlUcmFjZXIuTWF0ZXJpYWwu
Q2hlc3Nib2FyZC5wcm90b3R5cGUuT2JqZWN0LmV4dGVuZC5uZXcuRmxvZy5SYXlUcmFjZXIuTWF0
ZXJpYWwuQmFzZU1hdGVyaWFsLnRvU3RyaW5nKToKKyAgICAgICAgKEZsb2cuUmF5VHJhY2VyLk1h
dGVyaWFsLkNoZXNzYm9hcmQucHJvdG90eXBlLk9iamVjdC5leHRlbmQubmV3LkZsb2cuUmF5VHJh
Y2VyLk1hdGVyaWFsLkJhc2VNYXRlcmlhbCk6CisgICAgICAgIChGbG9nLlJheVRyYWNlci5TaGFw
ZS5TcGhlcmUucHJvdG90eXBlLmluaXRpYWxpemUpOgorICAgICAgICAoRmxvZy5SYXlUcmFjZXIu
U2hhcGUuU3BoZXJlLnByb3RvdHlwZS5pbnRlcnNlY3QpOgorICAgICAgICAoRmxvZy5SYXlUcmFj
ZXIuU2hhcGUuU3BoZXJlLnByb3RvdHlwZS50b1N0cmluZyk6CisgICAgICAgIChGbG9nLlJheVRy
YWNlci5TaGFwZS5QbGFuZS5wcm90b3R5cGUuaW5pdGlhbGl6ZSk6CisgICAgICAgIChGbG9nLlJh
eVRyYWNlci5TaGFwZS5QbGFuZS5wcm90b3R5cGUuaW50ZXJzZWN0KToKKyAgICAgICAgKEZsb2cu
UmF5VHJhY2VyLlNoYXBlLlBsYW5lLnByb3RvdHlwZS50b1N0cmluZyk6CisgICAgICAgIChGbG9n
LlJheVRyYWNlci5JbnRlcnNlY3Rpb25JbmZvLnByb3RvdHlwZS5pbml0aWFsaXplKToKKyAgICAg
ICAgKEZsb2cuUmF5VHJhY2VyLkludGVyc2VjdGlvbkluZm8ucHJvdG90eXBlLnRvU3RyaW5nKToK
KyAgICAgICAgKEZsb2cuUmF5VHJhY2VyLkNhbWVyYS5wcm90b3R5cGUuaW5pdGlhbGl6ZSk6Cisg
ICAgICAgIChGbG9nLlJheVRyYWNlci5DYW1lcmEucHJvdG90eXBlLmdldFJheSk6CisgICAgICAg
IChGbG9nLlJheVRyYWNlci5DYW1lcmEucHJvdG90eXBlLnRvU3RyaW5nKToKKyAgICAgICAgKEZs
b2cuUmF5VHJhY2VyLkJhY2tncm91bmQucHJvdG90eXBlLmluaXRpYWxpemUpOgorICAgICAgICAo
RmxvZy5SYXlUcmFjZXIuRW5naW5lLnByb3RvdHlwZS5pbml0aWFsaXplKToKKyAgICAgICAgKEZs
b2cuUmF5VHJhY2VyLkVuZ2luZS5wcm90b3R5cGUuc2V0UGl4ZWwpOgorICAgICAgICAoRmxvZy5S
YXlUcmFjZXIuRW5naW5lLnByb3RvdHlwZS5yZW5kZXJTY2VuZSk6CisgICAgICAgIChGbG9nLlJh
eVRyYWNlci5FbmdpbmUucHJvdG90eXBlLmdldFBpeGVsQ29sb3IpOgorICAgICAgICAoRmxvZy5S
YXlUcmFjZXIuRW5naW5lLnByb3RvdHlwZS50ZXN0SW50ZXJzZWN0aW9uKToKKyAgICAgICAgKEZs
b2cuUmF5VHJhY2VyLkVuZ2luZS5wcm90b3R5cGUuZ2V0UmVmbGVjdGlvblJheSk6CisgICAgICAg
IChGbG9nLlJheVRyYWNlci5FbmdpbmUucHJvdG90eXBlLnJheVRyYWNlKToKKyAgICAgICAgKHJl
bmRlclNjZW5lKToKKyAgICAgICAgKiBqcy9yZWdyZXNzL3NjcmlwdC10ZXN0cy92OC1yYXl0cmFj
ZS13aXRoLXRyeS1jYXRjaC5qczogQWRkZWQuCisgICAgICAgIChyYW5kb21FeGNlcHRpb24pOgor
ICAgICAgICAoQ2xhc3MuY3JlYXRlKToKKyAgICAgICAgKE9iamVjdC5leHRlbmQpOgorICAgICAg
ICAoRmxvZy5SYXlUcmFjZXIuQ29sb3IucHJvdG90eXBlLmluaXRpYWxpemUpOgorICAgICAgICAo
RmxvZy5SYXlUcmFjZXIuQ29sb3IucHJvdG90eXBlLmFkZCk6CisgICAgICAgIChGbG9nLlJheVRy
YWNlci5Db2xvci5wcm90b3R5cGUuYWRkU2NhbGFyKToKKyAgICAgICAgKEZsb2cuUmF5VHJhY2Vy
LkNvbG9yLnByb3RvdHlwZS5zdWJ0cmFjdCk6CisgICAgICAgIChGbG9nLlJheVRyYWNlci5Db2xv
ci5wcm90b3R5cGUubXVsdGlwbHkpOgorICAgICAgICAoRmxvZy5SYXlUcmFjZXIuQ29sb3IucHJv
dG90eXBlLm11bHRpcGx5U2NhbGFyKToKKyAgICAgICAgKEZsb2cuUmF5VHJhY2VyLkNvbG9yLnBy
b3RvdHlwZS5kaXZpZGVGYWN0b3IpOgorICAgICAgICAoRmxvZy5SYXlUcmFjZXIuQ29sb3IucHJv
dG90eXBlLmxpbWl0KToKKyAgICAgICAgKEZsb2cuUmF5VHJhY2VyLkNvbG9yLnByb3RvdHlwZS5k
aXN0YW5jZSk6CisgICAgICAgIChGbG9nLlJheVRyYWNlci5Db2xvci5wcm90b3R5cGUuYmxlbmQp
OgorICAgICAgICAoRmxvZy5SYXlUcmFjZXIuQ29sb3IucHJvdG90eXBlLmJyaWdodG5lc3MpOgor
ICAgICAgICAoRmxvZy5SYXlUcmFjZXIuQ29sb3IucHJvdG90eXBlLnRvU3RyaW5nKToKKyAgICAg
ICAgKEZsb2cuUmF5VHJhY2VyLkxpZ2h0LnByb3RvdHlwZS5pbml0aWFsaXplKToKKyAgICAgICAg
KEZsb2cuUmF5VHJhY2VyLkxpZ2h0LnByb3RvdHlwZS50b1N0cmluZyk6CisgICAgICAgIChGbG9n
LlJheVRyYWNlci5WZWN0b3IucHJvdG90eXBlLmluaXRpYWxpemUpOgorICAgICAgICAoRmxvZy5S
YXlUcmFjZXIuVmVjdG9yLnByb3RvdHlwZS5jb3B5KToKKyAgICAgICAgKEZsb2cuUmF5VHJhY2Vy
LlZlY3Rvci5wcm90b3R5cGUubm9ybWFsaXplKToKKyAgICAgICAgKEZsb2cuUmF5VHJhY2VyLlZl
Y3Rvci5wcm90b3R5cGUubWFnbml0dWRlKToKKyAgICAgICAgKEZsb2cuUmF5VHJhY2VyLlZlY3Rv
ci5wcm90b3R5cGUuY3Jvc3MpOgorICAgICAgICAoRmxvZy5SYXlUcmFjZXIuVmVjdG9yLnByb3Rv
dHlwZS5kb3QpOgorICAgICAgICAoRmxvZy5SYXlUcmFjZXIuVmVjdG9yLnByb3RvdHlwZS5hZGQp
OgorICAgICAgICAoRmxvZy5SYXlUcmFjZXIuVmVjdG9yLnByb3RvdHlwZS5zdWJ0cmFjdCk6Cisg
ICAgICAgIChGbG9nLlJheVRyYWNlci5WZWN0b3IucHJvdG90eXBlLm11bHRpcGx5VmVjdG9yKToK
KyAgICAgICAgKEZsb2cuUmF5VHJhY2VyLlZlY3Rvci5wcm90b3R5cGUubXVsdGlwbHlTY2FsYXIp
OgorICAgICAgICAoRmxvZy5SYXlUcmFjZXIuVmVjdG9yLnByb3RvdHlwZS50b1N0cmluZyk6Cisg
ICAgICAgIChGbG9nLlJheVRyYWNlci5SYXkucHJvdG90eXBlLmluaXRpYWxpemUpOgorICAgICAg
ICAoRmxvZy5SYXlUcmFjZXIuUmF5LnByb3RvdHlwZS50b1N0cmluZyk6CisgICAgICAgIChGbG9n
LlJheVRyYWNlci5TY2VuZS5wcm90b3R5cGUuaW5pdGlhbGl6ZSk6CisgICAgICAgIChGbG9nLlJh
eVRyYWNlci5NYXRlcmlhbC5CYXNlTWF0ZXJpYWwucHJvdG90eXBlLmluaXRpYWxpemUpOgorICAg
ICAgICAoRmxvZy5SYXlUcmFjZXIuTWF0ZXJpYWwuQmFzZU1hdGVyaWFsLnByb3RvdHlwZS5nZXRD
b2xvcik6CisgICAgICAgIChGbG9nLlJheVRyYWNlci5NYXRlcmlhbC5CYXNlTWF0ZXJpYWwucHJv
dG90eXBlLndyYXBVcCk6CisgICAgICAgIChGbG9nLlJheVRyYWNlci5NYXRlcmlhbC5CYXNlTWF0
ZXJpYWwucHJvdG90eXBlLnRvU3RyaW5nKToKKyAgICAgICAgKEZsb2cuUmF5VHJhY2VyLk1hdGVy
aWFsLlNvbGlkLnByb3RvdHlwZS5PYmplY3QuZXh0ZW5kLm5ldy5GbG9nLlJheVRyYWNlci5NYXRl
cmlhbC5CYXNlTWF0ZXJpYWwuaW5pdGlhbGl6ZSk6CisgICAgICAgIChGbG9nLlJheVRyYWNlci5N
YXRlcmlhbC5Tb2xpZC5wcm90b3R5cGUuT2JqZWN0LmV4dGVuZC5uZXcuRmxvZy5SYXlUcmFjZXIu
TWF0ZXJpYWwuQmFzZU1hdGVyaWFsLmdldENvbG9yKToKKyAgICAgICAgKEZsb2cuUmF5VHJhY2Vy
Lk1hdGVyaWFsLlNvbGlkLnByb3RvdHlwZS5PYmplY3QuZXh0ZW5kLm5ldy5GbG9nLlJheVRyYWNl
ci5NYXRlcmlhbC5CYXNlTWF0ZXJpYWwudG9TdHJpbmcpOgorICAgICAgICAoRmxvZy5SYXlUcmFj
ZXIuTWF0ZXJpYWwuU29saWQucHJvdG90eXBlLk9iamVjdC5leHRlbmQubmV3LkZsb2cuUmF5VHJh
Y2VyLk1hdGVyaWFsLkJhc2VNYXRlcmlhbCk6CisgICAgICAgIChGbG9nLlJheVRyYWNlci5NYXRl
cmlhbC5DaGVzc2JvYXJkLnByb3RvdHlwZS5PYmplY3QuZXh0ZW5kLm5ldy5GbG9nLlJheVRyYWNl
ci5NYXRlcmlhbC5CYXNlTWF0ZXJpYWwuaW5pdGlhbGl6ZSk6CisgICAgICAgIChGbG9nLlJheVRy
YWNlci5NYXRlcmlhbC5DaGVzc2JvYXJkLnByb3RvdHlwZS5PYmplY3QuZXh0ZW5kLm5ldy5GbG9n
LlJheVRyYWNlci5NYXRlcmlhbC5CYXNlTWF0ZXJpYWwuZ2V0Q29sb3IpOgorICAgICAgICAoRmxv
Zy5SYXlUcmFjZXIuTWF0ZXJpYWwuQ2hlc3Nib2FyZC5wcm90b3R5cGUuT2JqZWN0LmV4dGVuZC5u
ZXcuRmxvZy5SYXlUcmFjZXIuTWF0ZXJpYWwuQmFzZU1hdGVyaWFsLnRvU3RyaW5nKToKKyAgICAg
ICAgKEZsb2cuUmF5VHJhY2VyLk1hdGVyaWFsLkNoZXNzYm9hcmQucHJvdG90eXBlLk9iamVjdC5l
eHRlbmQubmV3LkZsb2cuUmF5VHJhY2VyLk1hdGVyaWFsLkJhc2VNYXRlcmlhbCk6CisgICAgICAg
IChGbG9nLlJheVRyYWNlci5TaGFwZS5TcGhlcmUucHJvdG90eXBlLmluaXRpYWxpemUpOgorICAg
ICAgICAoRmxvZy5SYXlUcmFjZXIuU2hhcGUuU3BoZXJlLnByb3RvdHlwZS5pbnRlcnNlY3QpOgor
ICAgICAgICAoRmxvZy5SYXlUcmFjZXIuU2hhcGUuU3BoZXJlLnByb3RvdHlwZS50b1N0cmluZyk6
CisgICAgICAgIChGbG9nLlJheVRyYWNlci5TaGFwZS5QbGFuZS5wcm90b3R5cGUuaW5pdGlhbGl6
ZSk6CisgICAgICAgIChGbG9nLlJheVRyYWNlci5TaGFwZS5QbGFuZS5wcm90b3R5cGUuaW50ZXJz
ZWN0KToKKyAgICAgICAgKEZsb2cuUmF5VHJhY2VyLlNoYXBlLlBsYW5lLnByb3RvdHlwZS50b1N0
cmluZyk6CisgICAgICAgIChGbG9nLlJheVRyYWNlci5JbnRlcnNlY3Rpb25JbmZvLnByb3RvdHlw
ZS5pbml0aWFsaXplKToKKyAgICAgICAgKEZsb2cuUmF5VHJhY2VyLkludGVyc2VjdGlvbkluZm8u
cHJvdG90eXBlLnRvU3RyaW5nKToKKyAgICAgICAgKEZsb2cuUmF5VHJhY2VyLkNhbWVyYS5wcm90
b3R5cGUuaW5pdGlhbGl6ZSk6CisgICAgICAgIChGbG9nLlJheVRyYWNlci5DYW1lcmEucHJvdG90
eXBlLmdldFJheSk6CisgICAgICAgIChGbG9nLlJheVRyYWNlci5DYW1lcmEucHJvdG90eXBlLnRv
U3RyaW5nKToKKyAgICAgICAgKEZsb2cuUmF5VHJhY2VyLkJhY2tncm91bmQucHJvdG90eXBlLmlu
aXRpYWxpemUpOgorICAgICAgICAoRmxvZy5SYXlUcmFjZXIuRW5naW5lLnByb3RvdHlwZS5pbml0
aWFsaXplKToKKyAgICAgICAgKEZsb2cuUmF5VHJhY2VyLkVuZ2luZS5wcm90b3R5cGUuc2V0UGl4
ZWwpOgorICAgICAgICAoRmxvZy5SYXlUcmFjZXIuRW5naW5lLnByb3RvdHlwZS5yZW5kZXJTY2Vu
ZSk6CisgICAgICAgIChGbG9nLlJheVRyYWNlci5FbmdpbmUucHJvdG90eXBlLmdldFBpeGVsQ29s
b3IpOgorICAgICAgICAoRmxvZy5SYXlUcmFjZXIuRW5naW5lLnByb3RvdHlwZS50ZXN0SW50ZXJz
ZWN0aW9uKToKKyAgICAgICAgKEZsb2cuUmF5VHJhY2VyLkVuZ2luZS5wcm90b3R5cGUuZ2V0UmVm
bGVjdGlvblJheSk6CisgICAgICAgIChGbG9nLlJheVRyYWNlci5FbmdpbmUucHJvdG90eXBlLnJh
eVRyYWNlKToKKyAgICAgICAgKHJlbmRlclNjZW5lKToKKyAgICAgICAgKiBqcy9yZWdyZXNzL3Y4
LXJheXRyYWNlLXdpdGgtZW1wdHktdHJ5LWNhdGNoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICoganMvcmVncmVzcy92OC1yYXl0cmFjZS13aXRoLWVtcHR5LXRyeS1jYXRjaC5odG1sOiBB
ZGRlZC4KKyAgICAgICAgKiBqcy9yZWdyZXNzL3Y4LXJheXRyYWNlLXdpdGgtdHJ5LWNhdGNoLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICoganMvcmVncmVzcy92OC1yYXl0cmFjZS13aXRo
LXRyeS1jYXRjaC5odG1sOiBBZGRlZC4KKwogMjAxNS0wOS0xOCAgSmFrZSBOaWVsc2VuICA8amFj
b2JfbmllbHNlbkBhcHBsZS5jb20+CiAKICAgICAgICAgbGluZS1icmVhay1sYW5ndWFnZS1zZW5z
aXRpdmUgdGVzdHMgc2hvdWxkIGJlIG1hcmtlZCBhcyBmbGFreQpJbmRleDogTGF5b3V0VGVzdHMv
anMvcmVncmVzcy9yYXl0cmFjZS13aXRoLWVtcHR5LXRyeS1jYXRjaC1leHBlY3RlZC50eHQKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gTGF5b3V0VGVzdHMvanMvcmVncmVzcy9yYXl0cmFjZS13aXRoLWVtcHR5LXRy
eS1jYXRjaC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9qcy9yZWdy
ZXNzL3JheXRyYWNlLXdpdGgtZW1wdHktdHJ5LWNhdGNoLWV4cGVjdGVkLnR4dAkod29ya2luZyBj
b3B5KQpAQCAtMCwwICsxLDEwIEBACitKU1JlZ3Jlc3MvcmF5dHJhY2Utd2l0aC1lbXB0eS10cnkt
Y2F0Y2gKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mgbm8gZXhjZXB0aW9u
IHRocm93bgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKSW5kZXg6IExheW91dFRlc3RzL2pzL3JlZ3Jlc3MvcmF5dHJhY2Utd2l0aC1lbXB0eS10cnkt
Y2F0Y2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3JheXRyYWNl
LXdpdGgtZW1wdHktdHJ5LWNhdGNoLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9q
cy9yZWdyZXNzL3JheXRyYWNlLXdpdGgtZW1wdHktdHJ5LWNhdGNoLmh0bWwJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQg
SFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL3JlZ3Jlc3MtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJz
Y3JpcHQtdGVzdHMvcmF5dHJhY2Utd2l0aC1lbXB0eS10cnktY2F0Y2guanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9yZWdyZXNzLXBvc3QuanMiPjwvc2NyaXB0Pgor
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0Pgor
PC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvanMvcmVncmVzcy9yYXl0cmFjZS13
aXRoLXRyeS1jYXRjaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvanMv
cmVncmVzcy9yYXl0cmFjZS13aXRoLXRyeS1jYXRjaC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3JheXRyYWNlLXdpdGgtdHJ5LWNhdGNoLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACitKU1JlZ3Jlc3MvcmF5dHJh
Y2Utd2l0aC10cnktY2F0Y2gKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9m
ICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1Mg
bm8gZXhjZXB0aW9uIHRocm93bgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitU
RVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2pzL3JlZ3Jlc3MvcmF5dHJhY2Utd2l0
aC10cnktY2F0Y2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3Jh
eXRyYWNlLXdpdGgtdHJ5LWNhdGNoLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9q
cy9yZWdyZXNzL3JheXRyYWNlLXdpdGgtdHJ5LWNhdGNoLmh0bWwJKHdvcmtpbmcgY29weSkKQEAg
LTAsMCArMSwxMiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8v
RU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL3JlZ3Jlc3MtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzY3JpcHQt
dGVzdHMvcmF5dHJhY2Utd2l0aC10cnktY2F0Y2guanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9yZWdyZXNzLXBvc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgpJbmRleDogTGF5b3V0VGVzdHMvanMvcmVncmVzcy92OC1yYXl0cmFjZS13aXRoLWVtcHR5
LXRyeS1jYXRjaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvanMvcmVn
cmVzcy92OC1yYXl0cmFjZS13aXRoLWVtcHR5LXRyeS1jYXRjaC1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCisrKyBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3Y4LXJheXRyYWNlLXdpdGgtZW1wdHkt
dHJ5LWNhdGNoLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACitK
U1JlZ3Jlc3MvdjgtcmF5dHJhY2Utd2l0aC1lbXB0eS10cnktY2F0Y2gKKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKK1BBU1Mgbm8gZXhjZXB0aW9uIHRocm93bgorUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3Rz
L2pzL3JlZ3Jlc3MvdjgtcmF5dHJhY2Utd2l0aC1lbXB0eS10cnktY2F0Y2guaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3Y4LXJheXRyYWNlLXdpdGgtZW1wdHktdHJ5
LWNhdGNoLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3Y4LXJh
eXRyYWNlLXdpdGgtZW1wdHktdHJ5LWNhdGNoLmh0bWwJKHdvcmtpbmcgY29weSkKQEAgLTAsMCAr
MSwxMiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUu
anMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL3JlZ3Jlc3MtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMv
djgtcmF5dHJhY2Utd2l0aC1lbXB0eS10cnktY2F0Y2guanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9yZWdyZXNzLXBvc3QuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5Pgor
PC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvanMvcmVncmVzcy92OC1yYXl0cmFjZS13aXRoLXRy
eS1jYXRjaC1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvanMvcmVncmVz
cy92OC1yYXl0cmFjZS13aXRoLXRyeS1jYXRjaC1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisr
KyBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3Y4LXJheXRyYWNlLXdpdGgtdHJ5LWNhdGNoLWV4cGVj
dGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDEwIEBACitKU1JlZ3Jlc3MvdjgtcmF5
dHJhY2Utd2l0aC10cnktY2F0Y2gKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVz
IG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BB
U1Mgbm8gZXhjZXB0aW9uIHRocm93bgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQor
CitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2pzL3JlZ3Jlc3MvdjgtcmF5dHJh
Y2Utd2l0aC10cnktY2F0Y2guaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9qcy9yZWdy
ZXNzL3Y4LXJheXRyYWNlLXdpdGgtdHJ5LWNhdGNoLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlv
dXRUZXN0cy9qcy9yZWdyZXNzL3Y4LXJheXRyYWNlLXdpdGgtdHJ5LWNhdGNoLmh0bWwJKHdvcmtp
bmcgY29weSkKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRG
Ly9EVEQgSFRNTC8vRU4iPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL3JlZ3Jlc3MtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQg
c3JjPSJzY3JpcHQtdGVzdHMvdjgtcmF5dHJhY2Utd2l0aC10cnktY2F0Y2guanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9yZWdyZXNzLXBvc3QuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgpJbmRleDogTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQt
dGVzdHMvcmF5dHJhY2Utd2l0aC1lbXB0eS10cnktY2F0Y2guanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvcmF5dHJhY2Utd2l0aC1lbXB0eS10cnkt
Y2F0Y2guanMJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9qcy9yZWdyZXNzL3NjcmlwdC10
ZXN0cy9yYXl0cmFjZS13aXRoLWVtcHR5LXRyeS1jYXRjaC5qcwkod29ya2luZyBjb3B5KQpAQCAt
MCwwICsxLDUyOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNyBBcHBsZSBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisg
Ki8KKworCitmdW5jdGlvbiBjcmVhdGVWZWN0b3IoeCx5LHopIHsKKyAgICB0cnkgeworICAgICAg
ICByZXR1cm4gbmV3IEFycmF5KHgseSx6KTsKKyAgICB9IGNhdGNoKGUpIHsgfQorfQorCitmdW5j
dGlvbiBzcXJMZW5ndGhWZWN0b3Ioc2VsZikgeworICAgIHRyeSB7CisgICAgICAgIHJldHVybiBz
ZWxmWzBdICogc2VsZlswXSArIHNlbGZbMV0gKiBzZWxmWzFdICsgc2VsZlsyXSAqIHNlbGZbMl07
CisgICAgfSBjYXRjaChlKSB7IH0KK30KKworZnVuY3Rpb24gbGVuZ3RoVmVjdG9yKHNlbGYpIHsK
KyAgICB0cnkgeworICAgICAgICByZXR1cm4gTWF0aC5zcXJ0KHNlbGZbMF0gKiBzZWxmWzBdICsg
c2VsZlsxXSAqIHNlbGZbMV0gKyBzZWxmWzJdICogc2VsZlsyXSk7CisgICAgfSBjYXRjaChlKSB7
IH0KK30KKworZnVuY3Rpb24gYWRkVmVjdG9yKHNlbGYsIHYpIHsKKyAgICB0cnkgeworICAgICAg
ICBzZWxmWzBdICs9IHZbMF07CisgICAgICAgIHNlbGZbMV0gKz0gdlsxXTsKKyAgICB9IGNhdGNo
KGUpIHsgfQorCisgICAgc2VsZlsyXSArPSB2WzJdOworICAgIHJldHVybiBzZWxmOworfQorCitm
dW5jdGlvbiBzdWJWZWN0b3Ioc2VsZiwgdikgeworICAgIHRyeSB7CisgICAgICAgIHNlbGZbMF0g
LT0gdlswXTsKKyAgICAgICAgc2VsZlsxXSAtPSB2WzFdOworICAgIH0gY2F0Y2goZSkgeyAKKyAg
ICB9CisgICAgc2VsZlsyXSAtPSB2WzJdOworICAgIHJldHVybiBzZWxmOworfQorCitmdW5jdGlv
biBzY2FsZVZlY3RvcihzZWxmLCBzY2FsZSkgeworICAgIHRyeSB7CisgICAgICAgIHNlbGZbMF0g
Kj0gc2NhbGU7CisgICAgICAgIHNlbGZbMV0gKj0gc2NhbGU7CisgICAgfSBjYXRjaChlKSB7IH0K
KyAgICBzZWxmWzJdICo9IHNjYWxlOworICAgIHJldHVybiBzZWxmOworfQorCitmdW5jdGlvbiBu
b3JtYWxpc2VWZWN0b3Ioc2VsZikgeworICAgIHZhciBsZW4gPSBNYXRoLnNxcnQoc2VsZlswXSAq
IHNlbGZbMF0gKyBzZWxmWzFdICogc2VsZlsxXSArIHNlbGZbMl0gKiBzZWxmWzJdKTsKKyAgICB0
cnkgeworICAgICAgICBzZWxmWzBdIC89IGxlbjsKKyAgICAgICAgc2VsZlsxXSAvPSBsZW47Cisg
ICAgfSBjYXRjaChlKSB7IH0KKyAgICBzZWxmWzJdIC89IGxlbjsKKyAgICByZXR1cm4gc2VsZjsK
K30KKworZnVuY3Rpb24gYWRkKHYxLCB2MikgeworICAgIHRyeSB7CisgICAgICAgIHJldHVybiBu
ZXcgQXJyYXkodjFbMF0gKyB2MlswXSwgdjFbMV0gKyB2MlsxXSwgdjFbMl0gKyB2MlsyXSk7Cisg
ICAgfSBjYXRjaChlKSB7IH0KK30KKworZnVuY3Rpb24gc3ViKHYxLCB2MikgeworICAgIHRyeSB7
CisgICAgICAgIHJldHVybiBuZXcgQXJyYXkodjFbMF0gLSB2MlswXSwgdjFbMV0gLSB2MlsxXSwg
djFbMl0gLSB2MlsyXSk7CisgICAgfSBjYXRjaChlKSB7IH0KK30KKworZnVuY3Rpb24gc2NhbGV2
KHYxLCB2MikgeworICAgIHRyeSB7CisgICAgICAgIHJldHVybiBuZXcgQXJyYXkodjFbMF0gKiB2
MlswXSwgdjFbMV0gKiB2MlsxXSwgdjFbMl0gKiB2MlsyXSk7CisgICAgfSBjYXRjaChlKSB7IH0K
K30KKworZnVuY3Rpb24gZG90KHYxLCB2MikgeworICAgIHRyeSB7CisgICAgICAgIHJldHVybiB2
MVswXSAqIHYyWzBdICsgdjFbMV0gKiB2MlsxXSArIHYxWzJdICogdjJbMl07CisgICAgfSBjYXRj
aChlKSB7IH0KK30KKworZnVuY3Rpb24gc2NhbGUodiwgc2NhbGUpIHsKKyAgICB0cnkgeworICAg
ICAgICByZXR1cm4gW3ZbMF0gKiBzY2FsZSwgdlsxXSAqIHNjYWxlLCB2WzJdICogc2NhbGVdOwor
ICAgIH0gY2F0Y2goZSkgeyB9Cit9CisKK2Z1bmN0aW9uIGNyb3NzKHYxLCB2MikgeworICAgIHRy
eSB7CisgICAgICAgIHJldHVybiBbdjFbMV0gKiB2MlsyXSAtIHYxWzJdICogdjJbMV0sIAorICAg
ICAgICAgICAgICAgIHYxWzJdICogdjJbMF0gLSB2MVswXSAqIHYyWzJdLAorICAgICAgICAgICAg
ICAgIHYxWzBdICogdjJbMV0gLSB2MVsxXSAqIHYyWzBdXTsKKyAgICB9IGNhdGNoKGUpIHsgfQor
Cit9CisKK2Z1bmN0aW9uIG5vcm1hbGlzZSh2KSB7CisgICAgdmFyIGxlbiA9IGxlbmd0aFZlY3Rv
cih2KTsKKyAgICB0cnkgeworICAgIH0gY2F0Y2goZSkgeyB9CisgICAgcmV0dXJuIFt2WzBdIC8g
bGVuLCB2WzFdIC8gbGVuLCB2WzJdIC8gbGVuXTsKK30KKworZnVuY3Rpb24gdHJhbnNmb3JtTWF0
cml4KHNlbGYsIHYpIHsKKyAgICB0cnkgeworICAgICAgICB2YXIgdmFscyA9IHNlbGY7CisgICAg
ICAgIHZhciB4ICA9IHZhbHNbMF0gKiB2WzBdICsgdmFsc1sxXSAqIHZbMV0gKyB2YWxzWzJdICog
dlsyXSArIHZhbHNbM107CisgICAgICAgIHZhciB5ICA9IHZhbHNbNF0gKiB2WzBdICsgdmFsc1s1
XSAqIHZbMV0gKyB2YWxzWzZdICogdlsyXSArIHZhbHNbN107CisgICAgfSBjYXRjaChlKSB7IH0K
KyAgICB2YXIgeiAgPSB2YWxzWzhdICogdlswXSArIHZhbHNbOV0gKiB2WzFdICsgdmFsc1sxMF0g
KiB2WzJdICsgdmFsc1sxMV07CisgICAgcmV0dXJuIFt4LCB5LCB6XTsKK30KKworZnVuY3Rpb24g
aW52ZXJ0TWF0cml4KHNlbGYpIHsKKyAgICB0cnkgeworICAgICAgICB2YXIgdGVtcCA9IG5ldyBB
cnJheSgxNik7CisgICAgICAgIHZhciB0eCA9IC1zZWxmWzNdOworICAgICAgICB2YXIgdHkgPSAt
c2VsZls3XTsKKyAgICAgICAgdmFyIHR6ID0gLXNlbGZbMTFdOworICAgICAgICBmb3IgKGggPSAw
OyBoIDwgMzsgaCsrKSAKKyAgICAgICAgICAgIGZvciAodiA9IDA7IHYgPCAzOyB2KyspIAorICAg
ICAgICAgICAgICAgIHRlbXBbaCArIHYgKiA0XSA9IHNlbGZbdiArIGggKiA0XTsKKyAgICB9IGNh
dGNoKGUpIHsgfQorICAgIHRyeSB7CisgICAgICAgIGZvciAoaSA9IDA7IGkgPCAxMTsgaSsrKQor
ICAgICAgICAgICAgc2VsZltpXSA9IHRlbXBbaV07CisgICAgICAgIHNlbGZbM10gPSB0eCAqIHNl
bGZbMF0gKyB0eSAqIHNlbGZbMV0gKyB0eiAqIHNlbGZbMl07CisgICAgICAgIHNlbGZbN10gPSB0
eCAqIHNlbGZbNF0gKyB0eSAqIHNlbGZbNV0gKyB0eiAqIHNlbGZbNl07CisgICAgICAgIHNlbGZb
MTFdID0gdHggKiBzZWxmWzhdICsgdHkgKiBzZWxmWzldICsgdHogKiBzZWxmWzEwXTsKKyAgICB9
IGNhdGNoKGUpIHsgfQorICAgIHJldHVybiBzZWxmOworfQorCisKKy8vIFRyaWFuZ2xlIGludGVy
c2VjdGlvbiB1c2luZyBiYXJ5Y2VudHJpYyBjb29yZCBtZXRob2QKK2Z1bmN0aW9uIFRyaWFuZ2xl
KHAxLCBwMiwgcDMpIHsKKyAgICB0cnkgeworICAgICAgICB2YXIgZWRnZTEgPSBzdWIocDMsIHAx
KTsKKyAgICAgICAgdmFyIGVkZ2UyID0gc3ViKHAyLCBwMSk7CisgICAgICAgIHZhciBub3JtYWwg
PSBjcm9zcyhlZGdlMSwgZWRnZTIpOworICAgICAgICBpZiAoTWF0aC5hYnMobm9ybWFsWzBdKSA+
IE1hdGguYWJzKG5vcm1hbFsxXSkpCisgICAgICAgICAgICBpZiAoTWF0aC5hYnMobm9ybWFsWzBd
KSA+IE1hdGguYWJzKG5vcm1hbFsyXSkpCisgICAgICAgICAgICAgICAgdGhpcy5heGlzID0gMDsg
CisgICAgICAgICAgICBlbHNlIAorICAgICAgICAgICAgICAgIHRoaXMuYXhpcyA9IDI7CisgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgIGlmIChNYXRoLmFicyhub3JtYWxbMV0pID4gTWF0aC5hYnMo
bm9ybWFsWzJdKSkgCisgICAgICAgICAgICAgICAgdGhpcy5heGlzID0gMTsKKyAgICAgICAgICAg
IGVsc2UgCisgICAgICAgICAgICAgICAgdGhpcy5heGlzID0gMjsKKyAgICAgICAgdmFyIHUgPSAo
dGhpcy5heGlzICsgMSkgJSAzOworICAgICAgICB2YXIgdiA9ICh0aGlzLmF4aXMgKyAyKSAlIDM7
CisgICAgICAgIHZhciB1MSA9IGVkZ2UxW3VdOworICAgICAgICB2YXIgdjEgPSBlZGdlMVt2XTsK
KyAgICAgICAgCisgICAgICAgIHZhciB1MiA9IGVkZ2UyW3VdOworICAgICAgICB2YXIgdjIgPSBl
ZGdlMlt2XTsKKyAgICAgICAgdGhpcy5ub3JtYWwgPSBub3JtYWxpc2Uobm9ybWFsKTsKKyAgICAg
ICAgdGhpcy5udSA9IG5vcm1hbFt1XSAvIG5vcm1hbFt0aGlzLmF4aXNdOworICAgICAgICB0aGlz
Lm52ID0gbm9ybWFsW3ZdIC8gbm9ybWFsW3RoaXMuYXhpc107CisgICAgICAgIHRoaXMubmQgPSBk
b3Qobm9ybWFsLCBwMSkgLyBub3JtYWxbdGhpcy5heGlzXTsKKyAgICAgICAgdmFyIGRldCA9IHUx
ICogdjIgLSB2MSAqIHUyOworICAgICAgICB0aGlzLmV1ID0gcDFbdV07CisgICAgICAgIHRoaXMu
ZXYgPSBwMVt2XTsgCisgICAgICAgIHRoaXMubnUxID0gdTEgLyBkZXQ7CisgICAgICAgIHRoaXMu
bnYxID0gLXYxIC8gZGV0OworICAgICAgICB0aGlzLm51MiA9IHYyIC8gZGV0OworICAgICAgICB0
aGlzLm52MiA9IC11MiAvIGRldDsgCisgICAgICAgIHRoaXMubWF0ZXJpYWwgPSBbMC43LCAwLjcs
IDAuN107CisgICAgfSBjYXRjaChlKSB7IH0KK30KKworVHJpYW5nbGUucHJvdG90eXBlLmludGVy
c2VjdCA9IGZ1bmN0aW9uKG9yaWcsIGRpciwgbmVhciwgZmFyKSB7CisgICAgdHJ5IHsKKyAgICAg
ICAgdmFyIHUgPSAodGhpcy5heGlzICsgMSkgJSAzOworICAgICAgICB2YXIgdiA9ICh0aGlzLmF4
aXMgKyAyKSAlIDM7CisgICAgICAgIHZhciBkID0gZGlyW3RoaXMuYXhpc10gKyB0aGlzLm51ICog
ZGlyW3VdICsgdGhpcy5udiAqIGRpclt2XTsKKyAgICAgICAgdmFyIHQgPSAodGhpcy5uZCAtIG9y
aWdbdGhpcy5heGlzXSAtIHRoaXMubnUgKiBvcmlnW3VdIC0gdGhpcy5udiAqIG9yaWdbdl0pIC8g
ZDsKKyAgICB9IGNhdGNoKGUpIHsgfQorICAgIGlmICh0IDwgbmVhciB8fCB0ID4gZmFyKQorICAg
ICAgICByZXR1cm4gbnVsbDsKKyAgICB0cnkgeworICAgICAgICB2YXIgUHUgPSBvcmlnW3VdICsg
dCAqIGRpclt1XSAtIHRoaXMuZXU7CisgICAgICAgIHZhciBQdiA9IG9yaWdbdl0gKyB0ICogZGly
W3ZdIC0gdGhpcy5ldjsKKyAgICAgICAgdmFyIGEyID0gUHYgKiB0aGlzLm51MSArIFB1ICogdGhp
cy5udjE7CisgICAgfSBjYXRjaChlKSB7IH0KKyAgICBpZiAoYTIgPCAwKSAKKyAgICAgICAgcmV0
dXJuIG51bGw7CisgICAgdHJ5IHsKKyAgICAgICAgdmFyIGEzID0gUHUgKiB0aGlzLm51MiArIFB2
ICogdGhpcy5udjI7CisgICAgfSBjYXRjaChlKSB7IH0KKyAgICBpZiAoYTMgPCAwKSAKKyAgICAg
ICAgcmV0dXJuIG51bGw7CisKKyAgICBpZiAoKGEyICsgYTMpID4gMSkgCisgICAgICAgIHJldHVy
biBudWxsOworICAgIHJldHVybiB0OworfQorCitmdW5jdGlvbiBTY2VuZShhX3RyaWFuZ2xlcykg
eworICAgIHRyeSB7CisgICAgICAgIHRoaXMudHJpYW5nbGVzID0gYV90cmlhbmdsZXM7CisgICAg
ICAgIHRoaXMubGlnaHRzID0gW107CisgICAgICAgIHRoaXMuYW1iaWVudCA9IFswLDAsMF07Cisg
ICAgICAgIHRoaXMuYmFja2dyb3VuZCA9IFswLjgsMC44LDFdOworICAgIH0gY2F0Y2goZSkgeyB9
Cit9Cit2YXIgemVybyA9IG5ldyBBcnJheSgwLDAsMCk7CisKK1NjZW5lLnByb3RvdHlwZS5pbnRl
cnNlY3QgPSBmdW5jdGlvbihvcmlnaW4sIGRpciwgbmVhciwgZmFyKSB7CisgICAgdmFyIGNsb3Nl
c3QgPSBudWxsOworICAgIGZvciAoaSA9IDA7IGkgPCB0aGlzLnRyaWFuZ2xlcy5sZW5ndGg7IGkr
KykgeworICAgICAgICB0cnkgeworICAgICAgICAgICAgdmFyIHRyaWFuZ2xlID0gdGhpcy50cmlh
bmdsZXNbaV07ICAgCisgICAgICAgICAgICB2YXIgZCA9IHRyaWFuZ2xlLmludGVyc2VjdChvcmln
aW4sIGRpciwgbmVhciwgZmFyKTsKKyAgICAgICAgICAgIGlmIChkID09IG51bGwgfHwgZCA+IGZh
ciB8fCBkIDwgbmVhcikKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIGZh
ciA9IGQ7CisgICAgICAgICAgICBjbG9zZXN0ID0gdHJpYW5nbGU7CisgICAgICAgIH0gY2F0Y2go
ZSkgeyB9CisgICAgfQorICAgIAorICAgIGlmICghY2xvc2VzdCkKKyAgICAgICAgcmV0dXJuIFt0
aGlzLmJhY2tncm91bmRbMF0sdGhpcy5iYWNrZ3JvdW5kWzFdLHRoaXMuYmFja2dyb3VuZFsyXV07
CisgICAgICAgIAorICAgIHRyeSB7CisgICAgICAgIHZhciBub3JtYWwgPSBjbG9zZXN0Lm5vcm1h
bDsKKyAgICAgICAgdmFyIGhpdCA9IGFkZChvcmlnaW4sIHNjYWxlKGRpciwgZmFyKSk7IAorICAg
ICAgICBpZiAoZG90KGRpciwgbm9ybWFsKSA+IDApCisgICAgICAgICAgICBub3JtYWwgPSBbLW5v
cm1hbFswXSwgLW5vcm1hbFsxXSwgLW5vcm1hbFsyXV07CisgICAgICAgIAorICAgICAgICB2YXIg
Y29sb3VyID0gbnVsbDsKKyAgICAgICAgaWYgKGNsb3Nlc3Quc2hhZGVyKSB7CisgICAgICAgICAg
ICBjb2xvdXIgPSBjbG9zZXN0LnNoYWRlcihjbG9zZXN0LCBoaXQsIGRpcik7CisgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICBjb2xvdXIgPSBjbG9zZXN0Lm1hdGVyaWFsOworICAgICAgICB9
CisgICAgfSBjYXRjaChlKSB7IH0KKyAgICAKKyAgICAvLyBkbyByZWZsZWN0aW9uCisgICAgdmFy
IHJlZmxlY3RlZCA9IG51bGw7CisgICAgaWYgKGNvbG91ci5yZWZsZWN0aW9uID4gMC4wMDEpIHsK
KyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciByZWZsZWN0aW9uID0gYWRkVmVjdG9yKHNj
YWxlKG5vcm1hbCwgLTIqZG90KGRpciwgbm9ybWFsKSksIGRpcik7CisgICAgICAgICAgICByZWZs
ZWN0ZWQgPSB0aGlzLmludGVyc2VjdChoaXQsIHJlZmxlY3Rpb24sIDAuMDAwMSwgMTAwMDAwMCk7
CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgICAgIGlmIChjb2xvdXIucmVmbGVjdGlvbiA+
PSAwLjk5OTk5OSkKKyAgICAgICAgICAgIHJldHVybiByZWZsZWN0ZWQ7CisgICAgfQorICAgIAor
ICAgIHZhciBsID0gW3RoaXMuYW1iaWVudFswXSwgdGhpcy5hbWJpZW50WzFdLCB0aGlzLmFtYmll
bnRbMl1dOworICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5saWdodHMubGVuZ3RoOyBpKysp
IHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciBsaWdodCA9IHRoaXMubGlnaHRzW2ld
OworICAgICAgICAgICAgdmFyIHRvTGlnaHQgPSBzdWIobGlnaHQsIGhpdCk7CisgICAgICAgICAg
ICB2YXIgZGlzdGFuY2UgPSBsZW5ndGhWZWN0b3IodG9MaWdodCk7CisgICAgICAgICAgICBzY2Fs
ZVZlY3Rvcih0b0xpZ2h0LCAxLjAvZGlzdGFuY2UpOworICAgICAgICAgICAgZGlzdGFuY2UgLT0g
MC4wMDAxOworICAgICAgICAgICAgaWYgKHRoaXMuYmxvY2tlZChoaXQsIHRvTGlnaHQsIGRpc3Rh
bmNlKSkKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIHZhciBubCA9IGRv
dChub3JtYWwsIHRvTGlnaHQpOworICAgICAgICAgICAgaWYgKG5sID4gMCkKKyAgICAgICAgICAg
ICAgICBhZGRWZWN0b3IobCwgc2NhbGUobGlnaHQuY29sb3VyLCBubCkpOworICAgICAgICB9IGNh
dGNoKGUpIHsgfQorICAgIH0KKyAgICB0cnkgeworICAgICAgICBsID0gc2NhbGV2KGwsIGNvbG91
cik7CisgICAgICAgIGlmIChyZWZsZWN0ZWQpIHsKKyAgICAgICAgICAgIGwgPSBhZGRWZWN0b3Io
c2NhbGVWZWN0b3IobCwgMSAtIGNvbG91ci5yZWZsZWN0aW9uKSwgc2NhbGVWZWN0b3IocmVmbGVj
dGVkLCBjb2xvdXIucmVmbGVjdGlvbikpOworICAgICAgICB9CisgICAgfSBjYXRjaChlKSB7IH0K
KyAgICByZXR1cm4gbDsKK30KKworU2NlbmUucHJvdG90eXBlLmJsb2NrZWQgPSBmdW5jdGlvbihP
LCBELCBmYXIpIHsKKyAgICB2YXIgbmVhciA9IDAuMDAwMTsKKyAgICB2YXIgY2xvc2VzdCA9IG51
bGw7CisgICAgZm9yIChpID0gMDsgaSA8IHRoaXMudHJpYW5nbGVzLmxlbmd0aDsgaSsrKSB7Cisg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICB2YXIgdHJpYW5nbGUgPSB0aGlzLnRyaWFuZ2xlc1tp
XTsgICAKKyAgICAgICAgICAgIHZhciBkID0gdHJpYW5nbGUuaW50ZXJzZWN0KE8sIEQsIG5lYXIs
IGZhcik7CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgICAgIGlmIChkID09IG51bGwgfHwg
ZCA+IGZhciB8fCBkIDwgbmVhcikKKyAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICByZXR1
cm4gdHJ1ZTsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIGZhbHNlOworfQorCisKKy8vIHRoaXMg
Y2FtZXJhIGNvZGUgaXMgZnJvbSBub3RlcyBpIG1hZGUgYWdlcyBhZ28sIGl0IGlzIGZyb20gKnNv
bWV3aGVyZSogLS0gaSBjYW5ub3QgcmVtZW1iZXIgd2hlcmUKKy8vIHRoYXQgc29tZXdoZXJlIGlz
CitmdW5jdGlvbiBDYW1lcmEob3JpZ2luLCBsb29rYXQsIHVwKSB7CisgICAgdHJ5IHsKKyAgICAg
ICAgdmFyIHpheGlzID0gbm9ybWFsaXNlVmVjdG9yKHN1YlZlY3Rvcihsb29rYXQsIG9yaWdpbikp
OworICAgICAgICB2YXIgeGF4aXMgPSBub3JtYWxpc2VWZWN0b3IoY3Jvc3ModXAsIHpheGlzKSk7
CisgICAgICAgIHZhciB5YXhpcyA9IG5vcm1hbGlzZVZlY3Rvcihjcm9zcyh4YXhpcywgc3ViVmVj
dG9yKFswLDAsMF0sIHpheGlzKSkpOworICAgICAgICB2YXIgbSA9IG5ldyBBcnJheSgxNik7Cisg
ICAgICAgIG1bMF0gPSB4YXhpc1swXTsgbVsxXSA9IHhheGlzWzFdOyBtWzJdID0geGF4aXNbMl07
CisgICAgICAgIG1bNF0gPSB5YXhpc1swXTsgbVs1XSA9IHlheGlzWzFdOyBtWzZdID0geWF4aXNb
Ml07CisgICAgICAgIG1bOF0gPSB6YXhpc1swXTsgbVs5XSA9IHpheGlzWzFdOyBtWzEwXSA9IHph
eGlzWzJdOworICAgICAgICBpbnZlcnRNYXRyaXgobSk7CisgICAgICAgIG1bM10gPSAwOyBtWzdd
ID0gMDsgbVsxMV0gPSAwOworICAgICAgICB0aGlzLm9yaWdpbiA9IG9yaWdpbjsKKyAgICAgICAg
dGhpcy5kaXJlY3Rpb25zID0gbmV3IEFycmF5KDQpOworICAgICAgICB0aGlzLmRpcmVjdGlvbnNb
MF0gPSBub3JtYWxpc2UoWy0wLjcsICAwLjcsIDFdKTsKKyAgICAgICAgdGhpcy5kaXJlY3Rpb25z
WzFdID0gbm9ybWFsaXNlKFsgMC43LCAgMC43LCAxXSk7CisgICAgICAgIHRoaXMuZGlyZWN0aW9u
c1syXSA9IG5vcm1hbGlzZShbIDAuNywgLTAuNywgMV0pOworICAgICAgICB0aGlzLmRpcmVjdGlv
bnNbM10gPSBub3JtYWxpc2UoWy0wLjcsIC0wLjcsIDFdKTsKKyAgICAgICAgdGhpcy5kaXJlY3Rp
b25zWzBdID0gdHJhbnNmb3JtTWF0cml4KG0sIHRoaXMuZGlyZWN0aW9uc1swXSk7CisgICAgICAg
IHRoaXMuZGlyZWN0aW9uc1sxXSA9IHRyYW5zZm9ybU1hdHJpeChtLCB0aGlzLmRpcmVjdGlvbnNb
MV0pOworICAgICAgICB0aGlzLmRpcmVjdGlvbnNbMl0gPSB0cmFuc2Zvcm1NYXRyaXgobSwgdGhp
cy5kaXJlY3Rpb25zWzJdKTsKKyAgICAgICAgdGhpcy5kaXJlY3Rpb25zWzNdID0gdHJhbnNmb3Jt
TWF0cml4KG0sIHRoaXMuZGlyZWN0aW9uc1szXSk7CisKKyAgICB9IGNhdGNoKGUpIHsgfQorfQor
CitDYW1lcmEucHJvdG90eXBlLmdlbmVyYXRlUmF5UGFpciA9IGZ1bmN0aW9uKHkpIHsKKyAgICB0
cnkgeworICAgICAgICByYXlzID0gbmV3IEFycmF5KG5ldyBPYmplY3QoKSwgbmV3IE9iamVjdCgp
KTsKKyAgICAgICAgcmF5c1swXS5vcmlnaW4gPSB0aGlzLm9yaWdpbjsKKyAgICAgICAgcmF5c1sx
XS5vcmlnaW4gPSB0aGlzLm9yaWdpbjsKKyAgICAgICAgcmF5c1swXS5kaXIgPSBhZGRWZWN0b3Io
c2NhbGUodGhpcy5kaXJlY3Rpb25zWzBdLCB5KSwgc2NhbGUodGhpcy5kaXJlY3Rpb25zWzNdLCAx
IC0geSkpOworICAgICAgICByYXlzWzFdLmRpciA9IGFkZFZlY3RvcihzY2FsZSh0aGlzLmRpcmVj
dGlvbnNbMV0sIHkpLCBzY2FsZSh0aGlzLmRpcmVjdGlvbnNbMl0sIDEgLSB5KSk7CisgICAgfSBj
YXRjaChlKSB7IH0KKyAgICByZXR1cm4gcmF5czsKK30KKworZnVuY3Rpb24gcmVuZGVyUm93cyhj
YW1lcmEsIHNjZW5lLCBwaXhlbHMsIHdpZHRoLCBoZWlnaHQsIHN0YXJ0eSwgc3RvcHkpIHsKKyAg
ICBmb3IgKHZhciB5ID0gc3RhcnR5OyB5IDwgc3RvcHk7IHkrKykgeworICAgICAgICB2YXIgcmF5
cyA9IGNhbWVyYS5nZW5lcmF0ZVJheVBhaXIoeSAvIGhlaWdodCk7CisgICAgICAgIGZvciAodmFy
IHggPSAwOyB4IDwgd2lkdGg7IHgrKykgeworICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICB2YXIgeHAgPSB4IC8gd2lkdGg7CisgICAgICAgICAgICAgICAgdmFyIG9yaWdpbiA9IGFk
ZFZlY3RvcihzY2FsZShyYXlzWzBdLm9yaWdpbiwgeHApLCBzY2FsZShyYXlzWzFdLm9yaWdpbiwg
MSAtIHhwKSk7CisgICAgICAgICAgICAgICAgdmFyIGRpciA9IG5vcm1hbGlzZVZlY3RvcihhZGRW
ZWN0b3Ioc2NhbGUocmF5c1swXS5kaXIsIHhwKSwgc2NhbGUocmF5c1sxXS5kaXIsIDEgLSB4cCkp
KTsKKyAgICAgICAgICAgICAgICB2YXIgbCA9IHNjZW5lLmludGVyc2VjdChvcmlnaW4sIGRpcik7
CisgICAgICAgICAgICAgICAgcGl4ZWxzW3ldW3hdID0gbDsKKyAgICAgICAgICAgIH0gY2F0Y2go
ZSkgeyB9CisgICAgICAgIH0KKyAgICB9Cit9CisKK0NhbWVyYS5wcm90b3R5cGUucmVuZGVyID0g
ZnVuY3Rpb24oc2NlbmUsIHBpeGVscywgd2lkdGgsIGhlaWdodCkgeworICAgIHRyeSB7CisgICAg
ICAgIHZhciBjYW0gPSB0aGlzOworICAgICAgICB2YXIgcm93ID0gMDsKKyAgICAgICAgcmVuZGVy
Um93cyhjYW0sIHNjZW5lLCBwaXhlbHMsIHdpZHRoLCBoZWlnaHQsIDAsIGhlaWdodCk7CisgICAg
fSBjYXRjaChlKSB7IH0KK30KKworCisKK2Z1bmN0aW9uIHJheXRyYWNlU2NlbmUoKQoreworICAg
IHRyeSB7CisgICAgICAgIHZhciBzdGFydERhdGUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTsKKyAg
ICAgICAgdmFyIG51bVRyaWFuZ2xlcyA9IDIgKiA2OworICAgICAgICB2YXIgdHJpYW5nbGVzID0g
bmV3IEFycmF5KCk7Ly9udW1UcmlhbmdsZXMpOworICAgICAgICB2YXIgdGZsID0gY3JlYXRlVmVj
dG9yKC0xMCwgIDEwLCAtMTApOworICAgICAgICB2YXIgdGZyID0gY3JlYXRlVmVjdG9yKCAxMCwg
IDEwLCAtMTApOworICAgICAgICB2YXIgdGJsID0gY3JlYXRlVmVjdG9yKC0xMCwgIDEwLCAgMTAp
OworICAgICAgICB2YXIgdGJyID0gY3JlYXRlVmVjdG9yKCAxMCwgIDEwLCAgMTApOworICAgICAg
ICB2YXIgYmZsID0gY3JlYXRlVmVjdG9yKC0xMCwgLTEwLCAtMTApOworICAgICAgICB2YXIgYmZy
ID0gY3JlYXRlVmVjdG9yKCAxMCwgLTEwLCAtMTApOworICAgICAgICB2YXIgYmJsID0gY3JlYXRl
VmVjdG9yKC0xMCwgLTEwLCAgMTApOworICAgICAgICB2YXIgYmJyID0gY3JlYXRlVmVjdG9yKCAx
MCwgLTEwLCAgMTApOworICAgICAgICAKKyAgICAgICAgLy8gY3ViZSEhIQorICAgICAgICAvLyBm
cm9udAorICAgICAgICB2YXIgaSA9IDA7CisgICAgICAgIAorICAgICAgICB0cmlhbmdsZXNbaSsr
XSA9IG5ldyBUcmlhbmdsZSh0ZmwsIHRmciwgYmZyKTsKKyAgICAgICAgdHJpYW5nbGVzW2krK10g
PSBuZXcgVHJpYW5nbGUodGZsLCBiZnIsIGJmbCk7CisgICAgICAgIC8vIGJhY2sKKyAgICAgICAg
dHJpYW5nbGVzW2krK10gPSBuZXcgVHJpYW5nbGUodGJsLCB0YnIsIGJicik7CisgICAgICAgIHRy
aWFuZ2xlc1tpKytdID0gbmV3IFRyaWFuZ2xlKHRibCwgYmJyLCBiYmwpOworICAgICAgICAvLyAg
ICAgICAgdHJpYW5nbGVzW2ktMV0ubWF0ZXJpYWwgPSBbMC43LDAuMiwwLjJdOworICAgICAgICAv
LyAgICAgICAgICAgIHRyaWFuZ2xlc1tpLTFdLm1hdGVyaWFsLnJlZmxlY3Rpb24gPSAwLjg7Cisg
ICAgICAgIC8vIGxlZnQKKyAgICAgICAgdHJpYW5nbGVzW2krK10gPSBuZXcgVHJpYW5nbGUodGJs
LCB0ZmwsIGJibCk7CisgICAgICAgIC8vICAgICAgICAgICAgdHJpYW5nbGVzW2ktMV0ucmVmbGVj
dGlvbiA9IDAuNjsKKyAgICAgICAgdHJpYW5nbGVzW2krK10gPSBuZXcgVHJpYW5nbGUodGZsLCBi
ZmwsIGJibCk7CisgICAgICAgIC8vICAgICAgICAgICAgdHJpYW5nbGVzW2ktMV0ucmVmbGVjdGlv
biA9IDAuNjsKKyAgICAgICAgLy8gcmlnaHQKKyAgICAgICAgdHJpYW5nbGVzW2krK10gPSBuZXcg
VHJpYW5nbGUodGJyLCB0ZnIsIGJicik7CisgICAgICAgIHRyaWFuZ2xlc1tpKytdID0gbmV3IFRy
aWFuZ2xlKHRmciwgYmZyLCBiYnIpOworICAgICAgICAvLyB0b3AKKyAgICAgICAgdHJpYW5nbGVz
W2krK10gPSBuZXcgVHJpYW5nbGUodGJsLCB0YnIsIHRmcik7CisgICAgICAgIHRyaWFuZ2xlc1tp
KytdID0gbmV3IFRyaWFuZ2xlKHRibCwgdGZyLCB0ZmwpOworICAgICAgICAvLyBib3R0b20KKyAg
ICAgICAgdHJpYW5nbGVzW2krK10gPSBuZXcgVHJpYW5nbGUoYmJsLCBiYnIsIGJmcik7CisgICAg
ICAgIHRyaWFuZ2xlc1tpKytdID0gbmV3IFRyaWFuZ2xlKGJibCwgYmZyLCBiZmwpOworICAgICAg
ICAKKyAgICAgICAgLy9GbG9vciEhISEKKyAgICAgICAgdmFyIGdyZWVuID0gY3JlYXRlVmVjdG9y
KDAuMCwgMC40LCAwLjApOworICAgICAgICB2YXIgZ3JleSA9IGNyZWF0ZVZlY3RvcigwLjQsIDAu
NCwgMC40KTsKKyAgICAgICAgZ3JleS5yZWZsZWN0aW9uID0gMS4wOworCisgICAgfSBjYXRjaChl
KSB7IH0KKyAgICB2YXIgZmxvb3JTaGFkZXIgPSBmdW5jdGlvbih0cmksIHBvcywgdmlldykgewor
ICAgICAgICB0cnkgeworICAgICAgICAgICAgdmFyIHggPSAoKHBvc1swXS8zMikgJSAyICsgMikg
JSAyOworICAgICAgICAgICAgdmFyIHogPSAoKHBvc1syXS8zMiArIDAuMykgJSAyICsgMikgJSAy
OworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgICAgICB0cnkgeworICAgICAgICAgICAgaWYg
KHggPCAxICE9IHogPCAxKSB7CisgICAgICAgICAgICAgICAgLy9pbiB0aGUgcmVhbCB3b3JsZCB3
ZSB1c2UgdGhlIGZyZXNuZWwgdGVybS4uLgorICAgICAgICAgICAgICAgIC8vICAgIHZhciBhbmds
ZSA9IDEtZG90KHZpZXcsIHRyaS5ub3JtYWwpOworICAgICAgICAgICAgICAgIC8vICAgYW5nbGUg
Kj0gYW5nbGU7CisgICAgICAgICAgICAgICAgLy8gIGFuZ2xlICo9IGFuZ2xlOworICAgICAgICAg
ICAgICAgIC8vIGFuZ2xlICo9IGFuZ2xlOworICAgICAgICAgICAgICAgIC8vZ3JleS5yZWZsZWN0
aW9uID0gYW5nbGU7CisgICAgICAgICAgICAgICAgcmV0dXJuIGdyZXk7CisgICAgICAgICAgICB9
IGVsc2UgCisgICAgICAgICAgICAgICAgcmV0dXJuIGdyZWVuOworICAgICAgICB9IGNhdGNoKGUp
IHsgfQorICAgIH0KKyAgICB2YXIgZmZsID0gY3JlYXRlVmVjdG9yKC0xMDAwLCAtMzAsIC0xMDAw
KTsKKyAgICB2YXIgZmZyID0gY3JlYXRlVmVjdG9yKCAxMDAwLCAtMzAsIC0xMDAwKTsKKyAgICB2
YXIgZmJsID0gY3JlYXRlVmVjdG9yKC0xMDAwLCAtMzAsICAxMDAwKTsKKyAgICB2YXIgZmJyID0g
Y3JlYXRlVmVjdG9yKCAxMDAwLCAtMzAsICAxMDAwKTsKKyAgICB0cmlhbmdsZXNbaSsrXSA9IG5l
dyBUcmlhbmdsZShmYmwsIGZiciwgZmZyKTsKKyAgICB0cmlhbmdsZXNbaS0xXS5zaGFkZXIgPSBm
bG9vclNoYWRlcjsKKyAgICB0cmlhbmdsZXNbaSsrXSA9IG5ldyBUcmlhbmdsZShmYmwsIGZmciwg
ZmZsKTsKKyAgICB0cmlhbmdsZXNbaS0xXS5zaGFkZXIgPSBmbG9vclNoYWRlcjsKKyAgICAKKyAg
ICB2YXIgX3NjZW5lID0gbmV3IFNjZW5lKHRyaWFuZ2xlcyk7CisgICAgX3NjZW5lLmxpZ2h0c1sw
XSA9IGNyZWF0ZVZlY3RvcigyMCwgMzgsIC0yMik7CisgICAgX3NjZW5lLmxpZ2h0c1swXS5jb2xv
dXIgPSBjcmVhdGVWZWN0b3IoMC43LCAwLjMsIDAuMyk7CisgICAgX3NjZW5lLmxpZ2h0c1sxXSA9
IGNyZWF0ZVZlY3RvcigtMjMsIDQwLCAxNyk7CisgICAgX3NjZW5lLmxpZ2h0c1sxXS5jb2xvdXIg
PSBjcmVhdGVWZWN0b3IoMC43LCAwLjMsIDAuMyk7CisgICAgX3NjZW5lLmxpZ2h0c1syXSA9IGNy
ZWF0ZVZlY3RvcigyMywgMjAsIDE3KTsKKyAgICBfc2NlbmUubGlnaHRzWzJdLmNvbG91ciA9IGNy
ZWF0ZVZlY3RvcigwLjcsIDAuNywgMC43KTsKKyAgICBfc2NlbmUuYW1iaWVudCA9IGNyZWF0ZVZl
Y3RvcigwLjEsIDAuMSwgMC4xKTsKKyAgICAvLyAgX3NjZW5lLmJhY2tncm91bmQgPSBjcmVhdGVW
ZWN0b3IoMC43LCAwLjcsIDEuMCk7CisgICAgCisgICAgdmFyIHNpemUgPSAzMDsKKyAgICB2YXIg
cGl4ZWxzID0gbmV3IEFycmF5KCk7CisgICAgZm9yICh2YXIgeSA9IDA7IHkgPCBzaXplOyB5Kysp
IHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHBpeGVsc1t5XSA9IG5ldyBBcnJheSgpOwor
ICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgICAgICBmb3IgKHZhciB4ID0gMDsgeCA8IHNpemU7
IHgrKykgeworICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICBwaXhlbHNbeV1beF0g
PSAwOworICAgICAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICAgICAgfQorICAgIH0KKworICAg
IHRyeSB7CisgICAgICAgIHZhciBfY2FtZXJhID0gbmV3IENhbWVyYShjcmVhdGVWZWN0b3IoLTQw
LCA0MCwgNDApLCBjcmVhdGVWZWN0b3IoMCwgMCwgMCksIGNyZWF0ZVZlY3RvcigwLCAxLCAwKSk7
CisgICAgICAgIF9jYW1lcmEucmVuZGVyKF9zY2VuZSwgcGl4ZWxzLCBzaXplLCBzaXplKTsKKyAg
ICB9IGNhdGNoKGUpe30KKworICAgIHJldHVybiBwaXhlbHM7Cit9CisKK2Z1bmN0aW9uIGFycmF5
VG9DYW52YXNDb21tYW5kcyhwaXhlbHMpCit7CisgICAgdmFyIHMgPSAnPGNhbnZhcyBpZD0icmVu
ZGVyQ2FudmFzIiB3aWR0aD0iMzBweCIgaGVpZ2h0PSIzMHB4Ij48L2NhbnZhcz48c2NyJyArICdp
cHQ+XG52YXIgcGl4ZWxzID0gWyc7CisgICAgdmFyIHNpemUgPSAzMDsKKyAgICBmb3IgKHZhciB5
ID0gMDsgeSA8IHNpemU7IHkrKykgeworICAgICAgICBzICs9ICJbIjsKKyAgICAgICAgZm9yICh2
YXIgeCA9IDA7IHggPCBzaXplOyB4KyspIHsKKyAgICAgICAgICAgIHMgKz0gIlsiICsgcGl4ZWxz
W3ldW3hdICsgIl0sIjsKKyAgICAgICAgfQorICAgICAgICBzKz0gIl0sIjsKKyAgICB9CisgICAg
cyArPSAnXTtcbiAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlbmRl
ckNhbnZhcyIpLmdldENvbnRleHQoIjJkIik7XG5cCitcblwKK1xuXAorICAgIHZhciBzaXplID0g
MzA7XG5cCisgICAgY2FudmFzLmZpbGxTdHlsZSA9ICJyZWQiO1xuXAorICAgIGNhbnZhcy5maWxs
UmVjdCgwLCAwLCBzaXplLCBzaXplKTtcblwKKyAgICBjYW52YXMuc2NhbGUoMSwgLTEpO1xuXAor
ICAgIGNhbnZhcy50cmFuc2xhdGUoMCwgLXNpemUpO1xuXAorXG5cCisgICAgaWYgKCFjYW52YXMu
c2V0RmlsbENvbG9yKVxuXAorICAgICAgICBjYW52YXMuc2V0RmlsbENvbG9yID0gZnVuY3Rpb24o
ciwgZywgYiwgYSkge1xuXAorICAgICAgICAgICAgdGhpcy5maWxsU3R5bGUgPSAicmdiKCIrW01h
dGguZmxvb3IociAqIDI1NSksIE1hdGguZmxvb3IoZyAqIDI1NSksIE1hdGguZmxvb3IoYiAqIDI1
NSldKyIpIjtcblwKKyAgICB9XG5cCitcblwKK2ZvciAodmFyIHkgPSAwOyB5IDwgc2l6ZTsgeSsr
KSB7XG5cCisgIGZvciAodmFyIHggPSAwOyB4IDwgc2l6ZTsgeCsrKSB7XG5cCisgICAgdmFyIGwg
PSBwaXhlbHNbeV1beF07XG5cCisgICAgY2FudmFzLnNldEZpbGxDb2xvcihsWzBdLCBsWzFdLCBs
WzJdLCAxKTtcblwKKyAgICBjYW52YXMuZmlsbFJlY3QoeCwgeSwgMSwgMSk7XG5cCisgIH1cblwK
K308L3NjcicgKyAnaXB0Pic7CisKKyAgICByZXR1cm4gczsKK30KKwordGVzdE91dHB1dCA9IGFy
cmF5VG9DYW52YXNDb21tYW5kcyhyYXl0cmFjZVNjZW5lKCkpOworCit2YXIgZXhwZWN0ZWRMZW5n
dGggPSAyMDk3MDsKKworaWYgKHRlc3RPdXRwdXQubGVuZ3RoICE9IGV4cGVjdGVkTGVuZ3RoKQor
ICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogZXhwZWN0ZWQgbGVuZ3RoICIgKyBleHBlY3Rl
ZExlbmd0aCArICIgYnV0IGdvdCAiICsgdGVzdE91dHB1dC5sZW5ndGg7CisKSW5kZXg6IExheW91
dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL3JheXRyYWNlLXdpdGgtdHJ5LWNhdGNoLmpz
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL3JheXRy
YWNlLXdpdGgtdHJ5LWNhdGNoLmpzCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvanMvcmVn
cmVzcy9zY3JpcHQtdGVzdHMvcmF5dHJhY2Utd2l0aC10cnktY2F0Y2guanMJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSw1NjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcgQXBwbGUgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorICovCisKK2xldCBfX2V4Y2VwdGlvbkNvdW50ZXIgPSAwOworZnVuY3Rpb24gcmFuZG9t
RXhjZXB0aW9uKCkgeworICAgIF9fZXhjZXB0aW9uQ291bnRlcisrOworICAgIGlmIChfX2V4Y2Vw
dGlvbkNvdW50ZXIgJSA1MDAgPT09IDApIHsKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJyYW5k
byIpOworICAgIH0KK30KK25vSW5saW5lKHJhbmRvbUV4Y2VwdGlvbik7CisKKworZnVuY3Rpb24g
Y3JlYXRlVmVjdG9yKHgseSx6KSB7CisgICAgdHJ5IHsKKyAgICAgICAgcmV0dXJuIG5ldyBBcnJh
eSh4LHkseik7CisgICAgfSBjYXRjaChlKSB7IH0KK30KKworZnVuY3Rpb24gc3FyTGVuZ3RoVmVj
dG9yKHNlbGYpIHsKKyAgICB0cnkgeworICAgICAgICByZXR1cm4gc2VsZlswXSAqIHNlbGZbMF0g
KyBzZWxmWzFdICogc2VsZlsxXSArIHNlbGZbMl0gKiBzZWxmWzJdOworICAgIH0gY2F0Y2goZSkg
eyB9Cit9CisKK2Z1bmN0aW9uIGxlbmd0aFZlY3RvcihzZWxmKSB7CisgICAgdHJ5IHsKKyAgICAg
ICAgcmV0dXJuIE1hdGguc3FydChzZWxmWzBdICogc2VsZlswXSArIHNlbGZbMV0gKiBzZWxmWzFd
ICsgc2VsZlsyXSAqIHNlbGZbMl0pOworICAgIH0gY2F0Y2goZSkgeyB9Cit9CisKK2Z1bmN0aW9u
IGFkZFZlY3RvcihzZWxmLCB2KSB7CisgICAgdHJ5IHsKKyAgICAgICAgc2VsZlswXSArPSB2WzBd
OworICAgICAgICBzZWxmWzFdICs9IHZbMV07CisgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOwor
ICAgIH0gY2F0Y2goZSkgeyB9CisKKyAgICBzZWxmWzJdICs9IHZbMl07CisgICAgcmV0dXJuIHNl
bGY7Cit9CisKK2Z1bmN0aW9uIHN1YlZlY3RvcihzZWxmLCB2KSB7CisgICAgdHJ5IHsKKyAgICAg
ICAgc2VsZlswXSAtPSB2WzBdOworICAgICAgICBzZWxmWzFdIC09IHZbMV07CisgICAgICAgIHJh
bmRvbUV4Y2VwdGlvbigpOworICAgIH0gY2F0Y2goZSkgeyAKKyAgICB9CisgICAgc2VsZlsyXSAt
PSB2WzJdOworICAgIHJldHVybiBzZWxmOworfQorCitmdW5jdGlvbiBzY2FsZVZlY3RvcihzZWxm
LCBzY2FsZSkgeworICAgIHRyeSB7CisgICAgICAgIHNlbGZbMF0gKj0gc2NhbGU7CisgICAgICAg
IHNlbGZbMV0gKj0gc2NhbGU7CisgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgIH0gY2F0
Y2goZSkgeyB9CisgICAgc2VsZlsyXSAqPSBzY2FsZTsKKyAgICByZXR1cm4gc2VsZjsKK30KKwor
ZnVuY3Rpb24gbm9ybWFsaXNlVmVjdG9yKHNlbGYpIHsKKyAgICB2YXIgbGVuID0gTWF0aC5zcXJ0
KHNlbGZbMF0gKiBzZWxmWzBdICsgc2VsZlsxXSAqIHNlbGZbMV0gKyBzZWxmWzJdICogc2VsZlsy
XSk7CisgICAgdHJ5IHsKKyAgICAgICAgc2VsZlswXSAvPSBsZW47CisgICAgICAgIHNlbGZbMV0g
Lz0gbGVuOworICAgICAgICByYW5kb21FeGNlcHRpb24oKTsKKyAgICB9IGNhdGNoKGUpIHsgfQor
ICAgIHNlbGZbMl0gLz0gbGVuOworICAgIHJldHVybiBzZWxmOworfQorCitmdW5jdGlvbiBhZGQo
djEsIHYyKSB7CisgICAgdHJ5IHsKKyAgICAgICAgcmV0dXJuIG5ldyBBcnJheSh2MVswXSArIHYy
WzBdLCB2MVsxXSArIHYyWzFdLCB2MVsyXSArIHYyWzJdKTsKKyAgICB9IGNhdGNoKGUpIHsgfQor
fQorCitmdW5jdGlvbiBzdWIodjEsIHYyKSB7CisgICAgdHJ5IHsKKyAgICAgICAgcmV0dXJuIG5l
dyBBcnJheSh2MVswXSAtIHYyWzBdLCB2MVsxXSAtIHYyWzFdLCB2MVsyXSAtIHYyWzJdKTsKKyAg
ICB9IGNhdGNoKGUpIHsgfQorfQorCitmdW5jdGlvbiBzY2FsZXYodjEsIHYyKSB7CisgICAgdHJ5
IHsKKyAgICAgICAgcmV0dXJuIG5ldyBBcnJheSh2MVswXSAqIHYyWzBdLCB2MVsxXSAqIHYyWzFd
LCB2MVsyXSAqIHYyWzJdKTsKKyAgICB9IGNhdGNoKGUpIHsgfQorfQorCitmdW5jdGlvbiBkb3Qo
djEsIHYyKSB7CisgICAgdHJ5IHsKKyAgICAgICAgcmV0dXJuIHYxWzBdICogdjJbMF0gKyB2MVsx
XSAqIHYyWzFdICsgdjFbMl0gKiB2MlsyXTsKKyAgICB9IGNhdGNoKGUpIHsgfQorfQorCitmdW5j
dGlvbiBzY2FsZSh2LCBzY2FsZSkgeworICAgIHRyeSB7CisgICAgICAgIHJldHVybiBbdlswXSAq
IHNjYWxlLCB2WzFdICogc2NhbGUsIHZbMl0gKiBzY2FsZV07CisgICAgfSBjYXRjaChlKSB7IH0K
K30KKworZnVuY3Rpb24gY3Jvc3ModjEsIHYyKSB7CisgICAgdHJ5IHsKKyAgICAgICAgcmV0dXJu
IFt2MVsxXSAqIHYyWzJdIC0gdjFbMl0gKiB2MlsxXSwgCisgICAgICAgICAgICAgICAgdjFbMl0g
KiB2MlswXSAtIHYxWzBdICogdjJbMl0sCisgICAgICAgICAgICAgICAgdjFbMF0gKiB2MlsxXSAt
IHYxWzFdICogdjJbMF1dOworICAgIH0gY2F0Y2goZSkgeyB9CisKK30KKworZnVuY3Rpb24gbm9y
bWFsaXNlKHYpIHsKKyAgICB2YXIgbGVuID0gbGVuZ3RoVmVjdG9yKHYpOworICAgIHRyeSB7Cisg
ICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgIH0gY2F0Y2goZSkgeyB9CisgICAgcmV0dXJu
IFt2WzBdIC8gbGVuLCB2WzFdIC8gbGVuLCB2WzJdIC8gbGVuXTsKK30KKworZnVuY3Rpb24gdHJh
bnNmb3JtTWF0cml4KHNlbGYsIHYpIHsKKyAgICB0cnkgeworICAgICAgICB2YXIgdmFscyA9IHNl
bGY7CisgICAgICAgIHZhciB4ICA9IHZhbHNbMF0gKiB2WzBdICsgdmFsc1sxXSAqIHZbMV0gKyB2
YWxzWzJdICogdlsyXSArIHZhbHNbM107CisgICAgICAgIHZhciB5ICA9IHZhbHNbNF0gKiB2WzBd
ICsgdmFsc1s1XSAqIHZbMV0gKyB2YWxzWzZdICogdlsyXSArIHZhbHNbN107CisgICAgICAgIHJh
bmRvbUV4Y2VwdGlvbigpOworICAgIH0gY2F0Y2goZSkgeyB9CisgICAgdmFyIHogID0gdmFsc1s4
XSAqIHZbMF0gKyB2YWxzWzldICogdlsxXSArIHZhbHNbMTBdICogdlsyXSArIHZhbHNbMTFdOwor
ICAgIHJldHVybiBbeCwgeSwgel07Cit9CisKK2Z1bmN0aW9uIGludmVydE1hdHJpeChzZWxmKSB7
CisgICAgdHJ5IHsKKyAgICAgICAgdmFyIHRlbXAgPSBuZXcgQXJyYXkoMTYpOworICAgICAgICB2
YXIgdHggPSAtc2VsZlszXTsKKyAgICAgICAgdmFyIHR5ID0gLXNlbGZbN107CisgICAgICAgIHZh
ciB0eiA9IC1zZWxmWzExXTsKKyAgICAgICAgZm9yIChoID0gMDsgaCA8IDM7IGgrKykgCisgICAg
ICAgICAgICBmb3IgKHYgPSAwOyB2IDwgMzsgdisrKSAKKyAgICAgICAgICAgICAgICB0ZW1wW2gg
KyB2ICogNF0gPSBzZWxmW3YgKyBoICogNF07CisgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOwor
ICAgIH0gY2F0Y2goZSkgeyB9CisgICAgdHJ5IHsKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IDEx
OyBpKyspCisgICAgICAgICAgICBzZWxmW2ldID0gdGVtcFtpXTsKKyAgICAgICAgc2VsZlszXSA9
IHR4ICogc2VsZlswXSArIHR5ICogc2VsZlsxXSArIHR6ICogc2VsZlsyXTsKKyAgICAgICAgc2Vs
Zls3XSA9IHR4ICogc2VsZls0XSArIHR5ICogc2VsZls1XSArIHR6ICogc2VsZls2XTsKKyAgICAg
ICAgc2VsZlsxMV0gPSB0eCAqIHNlbGZbOF0gKyB0eSAqIHNlbGZbOV0gKyB0eiAqIHNlbGZbMTBd
OworICAgICAgICByYW5kb21FeGNlcHRpb24oKTsKKyAgICB9IGNhdGNoKGUpIHsgfQorICAgIHJl
dHVybiBzZWxmOworfQorCisKKy8vIFRyaWFuZ2xlIGludGVyc2VjdGlvbiB1c2luZyBiYXJ5Y2Vu
dHJpYyBjb29yZCBtZXRob2QKK2Z1bmN0aW9uIFRyaWFuZ2xlKHAxLCBwMiwgcDMpIHsKKyAgICB0
cnkgeworICAgICAgICB2YXIgZWRnZTEgPSBzdWIocDMsIHAxKTsKKyAgICAgICAgdmFyIGVkZ2Uy
ID0gc3ViKHAyLCBwMSk7CisgICAgICAgIHZhciBub3JtYWwgPSBjcm9zcyhlZGdlMSwgZWRnZTIp
OworICAgICAgICBpZiAoTWF0aC5hYnMobm9ybWFsWzBdKSA+IE1hdGguYWJzKG5vcm1hbFsxXSkp
CisgICAgICAgICAgICBpZiAoTWF0aC5hYnMobm9ybWFsWzBdKSA+IE1hdGguYWJzKG5vcm1hbFsy
XSkpCisgICAgICAgICAgICAgICAgdGhpcy5heGlzID0gMDsgCisgICAgICAgICAgICBlbHNlIAor
ICAgICAgICAgICAgICAgIHRoaXMuYXhpcyA9IDI7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAg
IGlmIChNYXRoLmFicyhub3JtYWxbMV0pID4gTWF0aC5hYnMobm9ybWFsWzJdKSkgCisgICAgICAg
ICAgICAgICAgdGhpcy5heGlzID0gMTsKKyAgICAgICAgICAgIGVsc2UgCisgICAgICAgICAgICAg
ICAgdGhpcy5heGlzID0gMjsKKyAgICAgICAgdmFyIHUgPSAodGhpcy5heGlzICsgMSkgJSAzOwor
ICAgICAgICB2YXIgdiA9ICh0aGlzLmF4aXMgKyAyKSAlIDM7CisgICAgICAgIHZhciB1MSA9IGVk
Z2UxW3VdOworICAgICAgICB2YXIgdjEgPSBlZGdlMVt2XTsKKyAgICAgICAgCisgICAgICAgIHZh
ciB1MiA9IGVkZ2UyW3VdOworICAgICAgICB2YXIgdjIgPSBlZGdlMlt2XTsKKyAgICAgICAgdGhp
cy5ub3JtYWwgPSBub3JtYWxpc2Uobm9ybWFsKTsKKyAgICAgICAgdGhpcy5udSA9IG5vcm1hbFt1
XSAvIG5vcm1hbFt0aGlzLmF4aXNdOworICAgICAgICB0aGlzLm52ID0gbm9ybWFsW3ZdIC8gbm9y
bWFsW3RoaXMuYXhpc107CisgICAgICAgIHRoaXMubmQgPSBkb3Qobm9ybWFsLCBwMSkgLyBub3Jt
YWxbdGhpcy5heGlzXTsKKyAgICAgICAgdmFyIGRldCA9IHUxICogdjIgLSB2MSAqIHUyOworICAg
ICAgICB0aGlzLmV1ID0gcDFbdV07CisgICAgICAgIHRoaXMuZXYgPSBwMVt2XTsgCisgICAgICAg
IHRoaXMubnUxID0gdTEgLyBkZXQ7CisgICAgICAgIHRoaXMubnYxID0gLXYxIC8gZGV0OworICAg
ICAgICB0aGlzLm51MiA9IHYyIC8gZGV0OworICAgICAgICB0aGlzLm52MiA9IC11MiAvIGRldDsg
CisgICAgICAgIHRoaXMubWF0ZXJpYWwgPSBbMC43LCAwLjcsIDAuN107CisgICAgICAgIHJhbmRv
bUV4Y2VwdGlvbigpOworICAgIH0gY2F0Y2goZSkgeyB9Cit9CisKK1RyaWFuZ2xlLnByb3RvdHlw
ZS5pbnRlcnNlY3QgPSBmdW5jdGlvbihvcmlnLCBkaXIsIG5lYXIsIGZhcikgeworICAgIHRyeSB7
CisgICAgICAgIHZhciB1ID0gKHRoaXMuYXhpcyArIDEpICUgMzsKKyAgICAgICAgdmFyIHYgPSAo
dGhpcy5heGlzICsgMikgJSAzOworICAgICAgICB2YXIgZCA9IGRpclt0aGlzLmF4aXNdICsgdGhp
cy5udSAqIGRpclt1XSArIHRoaXMubnYgKiBkaXJbdl07CisgICAgICAgIHZhciB0ID0gKHRoaXMu
bmQgLSBvcmlnW3RoaXMuYXhpc10gLSB0aGlzLm51ICogb3JpZ1t1XSAtIHRoaXMubnYgKiBvcmln
W3ZdKSAvIGQ7CisgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgIH0gY2F0Y2goZSkgeyB9
CisgICAgaWYgKHQgPCBuZWFyIHx8IHQgPiBmYXIpCisgICAgICAgIHJldHVybiBudWxsOworICAg
IHRyeSB7CisgICAgICAgIHZhciBQdSA9IG9yaWdbdV0gKyB0ICogZGlyW3VdIC0gdGhpcy5ldTsK
KyAgICAgICAgdmFyIFB2ID0gb3JpZ1t2XSArIHQgKiBkaXJbdl0gLSB0aGlzLmV2OworICAgICAg
ICB2YXIgYTIgPSBQdiAqIHRoaXMubnUxICsgUHUgKiB0aGlzLm52MTsKKyAgICAgICAgcmFuZG9t
RXhjZXB0aW9uKCk7CisgICAgfSBjYXRjaChlKSB7IH0KKyAgICBpZiAoYTIgPCAwKSAKKyAgICAg
ICAgcmV0dXJuIG51bGw7CisgICAgdHJ5IHsKKyAgICAgICAgdmFyIGEzID0gUHUgKiB0aGlzLm51
MiArIFB2ICogdGhpcy5udjI7CisgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgIH0gY2F0
Y2goZSkgeyB9CisgICAgaWYgKGEzIDwgMCkgCisgICAgICAgIHJldHVybiBudWxsOworCisgICAg
aWYgKChhMiArIGEzKSA+IDEpIAorICAgICAgICByZXR1cm4gbnVsbDsKKyAgICByZXR1cm4gdDsK
K30KKworZnVuY3Rpb24gU2NlbmUoYV90cmlhbmdsZXMpIHsKKyAgICB0cnkgeworICAgICAgICB0
aGlzLnRyaWFuZ2xlcyA9IGFfdHJpYW5nbGVzOworICAgICAgICB0aGlzLmxpZ2h0cyA9IFtdOwor
ICAgICAgICB0aGlzLmFtYmllbnQgPSBbMCwwLDBdOworICAgICAgICB0aGlzLmJhY2tncm91bmQg
PSBbMC44LDAuOCwxXTsKKyAgICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7CisgICAgfSBjYXRjaChl
KSB7IH0KK30KK3ZhciB6ZXJvID0gbmV3IEFycmF5KDAsMCwwKTsKKworU2NlbmUucHJvdG90eXBl
LmludGVyc2VjdCA9IGZ1bmN0aW9uKG9yaWdpbiwgZGlyLCBuZWFyLCBmYXIpIHsKKyAgICB2YXIg
Y2xvc2VzdCA9IG51bGw7CisgICAgZm9yIChpID0gMDsgaSA8IHRoaXMudHJpYW5nbGVzLmxlbmd0
aDsgaSsrKSB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB2YXIgdHJpYW5nbGUgPSB0aGlz
LnRyaWFuZ2xlc1tpXTsgICAKKyAgICAgICAgICAgIHZhciBkID0gdHJpYW5nbGUuaW50ZXJzZWN0
KG9yaWdpbiwgZGlyLCBuZWFyLCBmYXIpOworICAgICAgICAgICAgaWYgKGQgPT0gbnVsbCB8fCBk
ID4gZmFyIHx8IGQgPCBuZWFyKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAg
ICAgZmFyID0gZDsKKyAgICAgICAgICAgIGNsb3Nlc3QgPSB0cmlhbmdsZTsKKyAgICAgICAgICAg
IHJhbmRvbUV4Y2VwdGlvbigpOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0KKyAgICAK
KyAgICBpZiAoIWNsb3Nlc3QpCisgICAgICAgIHJldHVybiBbdGhpcy5iYWNrZ3JvdW5kWzBdLHRo
aXMuYmFja2dyb3VuZFsxXSx0aGlzLmJhY2tncm91bmRbMl1dOworICAgICAgICAKKyAgICB0cnkg
eworICAgICAgICB2YXIgbm9ybWFsID0gY2xvc2VzdC5ub3JtYWw7CisgICAgICAgIHZhciBoaXQg
PSBhZGQob3JpZ2luLCBzY2FsZShkaXIsIGZhcikpOyAKKyAgICAgICAgaWYgKGRvdChkaXIsIG5v
cm1hbCkgPiAwKQorICAgICAgICAgICAgbm9ybWFsID0gWy1ub3JtYWxbMF0sIC1ub3JtYWxbMV0s
IC1ub3JtYWxbMl1dOworICAgICAgICAKKyAgICAgICAgdmFyIGNvbG91ciA9IG51bGw7CisgICAg
ICAgIGlmIChjbG9zZXN0LnNoYWRlcikgeworICAgICAgICAgICAgY29sb3VyID0gY2xvc2VzdC5z
aGFkZXIoY2xvc2VzdCwgaGl0LCBkaXIpOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
Y29sb3VyID0gY2xvc2VzdC5tYXRlcmlhbDsKKyAgICAgICAgfQorICAgICAgICByYW5kb21FeGNl
cHRpb24oKTsKKyAgICB9IGNhdGNoKGUpIHsgfQorICAgIAorICAgIC8vIGRvIHJlZmxlY3Rpb24K
KyAgICB2YXIgcmVmbGVjdGVkID0gbnVsbDsKKyAgICBpZiAoY29sb3VyLnJlZmxlY3Rpb24gPiAw
LjAwMSkgeworICAgICAgICB0cnkgeworICAgICAgICAgICAgdmFyIHJlZmxlY3Rpb24gPSBhZGRW
ZWN0b3Ioc2NhbGUobm9ybWFsLCAtMipkb3QoZGlyLCBub3JtYWwpKSwgZGlyKTsKKyAgICAgICAg
ICAgIHJlZmxlY3RlZCA9IHRoaXMuaW50ZXJzZWN0KGhpdCwgcmVmbGVjdGlvbiwgMC4wMDAxLCAx
MDAwMDAwKTsKKyAgICAgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgICAgICB9IGNhdGNo
KGUpIHsgfQorICAgICAgICBpZiAoY29sb3VyLnJlZmxlY3Rpb24gPj0gMC45OTk5OTkpCisgICAg
ICAgICAgICByZXR1cm4gcmVmbGVjdGVkOworICAgIH0KKyAgICAKKyAgICB2YXIgbCA9IFt0aGlz
LmFtYmllbnRbMF0sIHRoaXMuYW1iaWVudFsxXSwgdGhpcy5hbWJpZW50WzJdXTsKKyAgICBmb3Ig
KHZhciBpID0gMDsgaSA8IHRoaXMubGlnaHRzLmxlbmd0aDsgaSsrKSB7CisgICAgICAgIHRyeSB7
CisgICAgICAgICAgICB2YXIgbGlnaHQgPSB0aGlzLmxpZ2h0c1tpXTsKKyAgICAgICAgICAgIHZh
ciB0b0xpZ2h0ID0gc3ViKGxpZ2h0LCBoaXQpOworICAgICAgICAgICAgdmFyIGRpc3RhbmNlID0g
bGVuZ3RoVmVjdG9yKHRvTGlnaHQpOworICAgICAgICAgICAgc2NhbGVWZWN0b3IodG9MaWdodCwg
MS4wL2Rpc3RhbmNlKTsKKyAgICAgICAgICAgIGRpc3RhbmNlIC09IDAuMDAwMTsKKyAgICAgICAg
ICAgIGlmICh0aGlzLmJsb2NrZWQoaGl0LCB0b0xpZ2h0LCBkaXN0YW5jZSkpCisgICAgICAgICAg
ICAgICAgY29udGludWU7CisgICAgICAgICAgICB2YXIgbmwgPSBkb3Qobm9ybWFsLCB0b0xpZ2h0
KTsKKyAgICAgICAgICAgIGlmIChubCA+IDApCisgICAgICAgICAgICAgICAgYWRkVmVjdG9yKGws
IHNjYWxlKGxpZ2h0LmNvbG91ciwgbmwpKTsKKyAgICAgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigp
OworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0KKyAgICB0cnkgeworICAgICAgICBsID0g
c2NhbGV2KGwsIGNvbG91cik7CisgICAgICAgIGlmIChyZWZsZWN0ZWQpIHsKKyAgICAgICAgICAg
IGwgPSBhZGRWZWN0b3Ioc2NhbGVWZWN0b3IobCwgMSAtIGNvbG91ci5yZWZsZWN0aW9uKSwgc2Nh
bGVWZWN0b3IocmVmbGVjdGVkLCBjb2xvdXIucmVmbGVjdGlvbikpOworICAgICAgICB9CisgICAg
ICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgIH0gY2F0Y2goZSkgeyB9CisgICAgcmV0dXJuIGw7
Cit9CisKK1NjZW5lLnByb3RvdHlwZS5ibG9ja2VkID0gZnVuY3Rpb24oTywgRCwgZmFyKSB7Cisg
ICAgdmFyIG5lYXIgPSAwLjAwMDE7CisgICAgdmFyIGNsb3Nlc3QgPSBudWxsOworICAgIGZvciAo
aSA9IDA7IGkgPCB0aGlzLnRyaWFuZ2xlcy5sZW5ndGg7IGkrKykgeworICAgICAgICB0cnkgewor
ICAgICAgICAgICAgdmFyIHRyaWFuZ2xlID0gdGhpcy50cmlhbmdsZXNbaV07ICAgCisgICAgICAg
ICAgICB2YXIgZCA9IHRyaWFuZ2xlLmludGVyc2VjdChPLCBELCBuZWFyLCBmYXIpOworICAgICAg
ICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgICAg
IGlmIChkID09IG51bGwgfHwgZCA+IGZhciB8fCBkIDwgbmVhcikKKyAgICAgICAgICAgIGNvbnRp
bnVlOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9CisgICAgCisgICAgcmV0dXJuIGZhbHNl
OworfQorCisKKy8vIHRoaXMgY2FtZXJhIGNvZGUgaXMgZnJvbSBub3RlcyBpIG1hZGUgYWdlcyBh
Z28sIGl0IGlzIGZyb20gKnNvbWV3aGVyZSogLS0gaSBjYW5ub3QgcmVtZW1iZXIgd2hlcmUKKy8v
IHRoYXQgc29tZXdoZXJlIGlzCitmdW5jdGlvbiBDYW1lcmEob3JpZ2luLCBsb29rYXQsIHVwKSB7
CisgICAgdHJ5IHsKKyAgICAgICAgdmFyIHpheGlzID0gbm9ybWFsaXNlVmVjdG9yKHN1YlZlY3Rv
cihsb29rYXQsIG9yaWdpbikpOworICAgICAgICB2YXIgeGF4aXMgPSBub3JtYWxpc2VWZWN0b3Io
Y3Jvc3ModXAsIHpheGlzKSk7CisgICAgICAgIHZhciB5YXhpcyA9IG5vcm1hbGlzZVZlY3Rvcihj
cm9zcyh4YXhpcywgc3ViVmVjdG9yKFswLDAsMF0sIHpheGlzKSkpOworICAgICAgICB2YXIgbSA9
IG5ldyBBcnJheSgxNik7CisgICAgICAgIG1bMF0gPSB4YXhpc1swXTsgbVsxXSA9IHhheGlzWzFd
OyBtWzJdID0geGF4aXNbMl07CisgICAgICAgIG1bNF0gPSB5YXhpc1swXTsgbVs1XSA9IHlheGlz
WzFdOyBtWzZdID0geWF4aXNbMl07CisgICAgICAgIG1bOF0gPSB6YXhpc1swXTsgbVs5XSA9IHph
eGlzWzFdOyBtWzEwXSA9IHpheGlzWzJdOworICAgICAgICBpbnZlcnRNYXRyaXgobSk7CisgICAg
ICAgIG1bM10gPSAwOyBtWzddID0gMDsgbVsxMV0gPSAwOworICAgICAgICB0aGlzLm9yaWdpbiA9
IG9yaWdpbjsKKyAgICAgICAgdGhpcy5kaXJlY3Rpb25zID0gbmV3IEFycmF5KDQpOworICAgICAg
ICB0aGlzLmRpcmVjdGlvbnNbMF0gPSBub3JtYWxpc2UoWy0wLjcsICAwLjcsIDFdKTsKKyAgICAg
ICAgdGhpcy5kaXJlY3Rpb25zWzFdID0gbm9ybWFsaXNlKFsgMC43LCAgMC43LCAxXSk7CisgICAg
ICAgIHRoaXMuZGlyZWN0aW9uc1syXSA9IG5vcm1hbGlzZShbIDAuNywgLTAuNywgMV0pOworICAg
ICAgICB0aGlzLmRpcmVjdGlvbnNbM10gPSBub3JtYWxpc2UoWy0wLjcsIC0wLjcsIDFdKTsKKyAg
ICAgICAgdGhpcy5kaXJlY3Rpb25zWzBdID0gdHJhbnNmb3JtTWF0cml4KG0sIHRoaXMuZGlyZWN0
aW9uc1swXSk7CisgICAgICAgIHRoaXMuZGlyZWN0aW9uc1sxXSA9IHRyYW5zZm9ybU1hdHJpeCht
LCB0aGlzLmRpcmVjdGlvbnNbMV0pOworICAgICAgICB0aGlzLmRpcmVjdGlvbnNbMl0gPSB0cmFu
c2Zvcm1NYXRyaXgobSwgdGhpcy5kaXJlY3Rpb25zWzJdKTsKKyAgICAgICAgdGhpcy5kaXJlY3Rp
b25zWzNdID0gdHJhbnNmb3JtTWF0cml4KG0sIHRoaXMuZGlyZWN0aW9uc1szXSk7CisKKyAgICAg
ICAgcmFuZG9tRXhjZXB0aW9uKCk7CisgICAgfSBjYXRjaChlKSB7IH0KK30KKworQ2FtZXJhLnBy
b3RvdHlwZS5nZW5lcmF0ZVJheVBhaXIgPSBmdW5jdGlvbih5KSB7CisgICAgdHJ5IHsKKyAgICAg
ICAgcmF5cyA9IG5ldyBBcnJheShuZXcgT2JqZWN0KCksIG5ldyBPYmplY3QoKSk7CisgICAgICAg
IHJheXNbMF0ub3JpZ2luID0gdGhpcy5vcmlnaW47CisgICAgICAgIHJheXNbMV0ub3JpZ2luID0g
dGhpcy5vcmlnaW47CisgICAgICAgIHJheXNbMF0uZGlyID0gYWRkVmVjdG9yKHNjYWxlKHRoaXMu
ZGlyZWN0aW9uc1swXSwgeSksIHNjYWxlKHRoaXMuZGlyZWN0aW9uc1szXSwgMSAtIHkpKTsKKyAg
ICAgICAgcmF5c1sxXS5kaXIgPSBhZGRWZWN0b3Ioc2NhbGUodGhpcy5kaXJlY3Rpb25zWzFdLCB5
KSwgc2NhbGUodGhpcy5kaXJlY3Rpb25zWzJdLCAxIC0geSkpOworICAgICAgICByYW5kb21FeGNl
cHRpb24oKTsKKyAgICB9IGNhdGNoKGUpIHsgfQorICAgIHJldHVybiByYXlzOworfQorCitmdW5j
dGlvbiByZW5kZXJSb3dzKGNhbWVyYSwgc2NlbmUsIHBpeGVscywgd2lkdGgsIGhlaWdodCwgc3Rh
cnR5LCBzdG9weSkgeworICAgIGZvciAodmFyIHkgPSBzdGFydHk7IHkgPCBzdG9weTsgeSsrKSB7
CisgICAgICAgIHZhciByYXlzID0gY2FtZXJhLmdlbmVyYXRlUmF5UGFpcih5IC8gaGVpZ2h0KTsK
KyAgICAgICAgZm9yICh2YXIgeCA9IDA7IHggPCB3aWR0aDsgeCsrKSB7CisgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgIHZhciB4cCA9IHggLyB3aWR0aDsKKyAgICAgICAgICAgICAg
ICB2YXIgb3JpZ2luID0gYWRkVmVjdG9yKHNjYWxlKHJheXNbMF0ub3JpZ2luLCB4cCksIHNjYWxl
KHJheXNbMV0ub3JpZ2luLCAxIC0geHApKTsKKyAgICAgICAgICAgICAgICB2YXIgZGlyID0gbm9y
bWFsaXNlVmVjdG9yKGFkZFZlY3RvcihzY2FsZShyYXlzWzBdLmRpciwgeHApLCBzY2FsZShyYXlz
WzFdLmRpciwgMSAtIHhwKSkpOworICAgICAgICAgICAgICAgIHZhciBsID0gc2NlbmUuaW50ZXJz
ZWN0KG9yaWdpbiwgZGlyKTsKKyAgICAgICAgICAgICAgICBwaXhlbHNbeV1beF0gPSBsOworICAg
ICAgICAgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgICAgICAgICAgfSBjYXRjaChlKSB7
IH0KKyAgICAgICAgfQorICAgIH0KK30KKworQ2FtZXJhLnByb3RvdHlwZS5yZW5kZXIgPSBmdW5j
dGlvbihzY2VuZSwgcGl4ZWxzLCB3aWR0aCwgaGVpZ2h0KSB7CisgICAgdHJ5IHsKKyAgICAgICAg
dmFyIGNhbSA9IHRoaXM7CisgICAgICAgIHZhciByb3cgPSAwOworICAgICAgICByZW5kZXJSb3dz
KGNhbSwgc2NlbmUsIHBpeGVscywgd2lkdGgsIGhlaWdodCwgMCwgaGVpZ2h0KTsKKyAgICAgICAg
cmFuZG9tRXhjZXB0aW9uKCk7CisgICAgfSBjYXRjaChlKSB7IH0KK30KKworCisKK2Z1bmN0aW9u
IHJheXRyYWNlU2NlbmUoKQoreworICAgIHRyeSB7CisgICAgICAgIHZhciBzdGFydERhdGUgPSBu
ZXcgRGF0ZSgpLmdldFRpbWUoKTsKKyAgICAgICAgdmFyIG51bVRyaWFuZ2xlcyA9IDIgKiA2Owor
ICAgICAgICB2YXIgdHJpYW5nbGVzID0gbmV3IEFycmF5KCk7Ly9udW1UcmlhbmdsZXMpOworICAg
ICAgICB2YXIgdGZsID0gY3JlYXRlVmVjdG9yKC0xMCwgIDEwLCAtMTApOworICAgICAgICB2YXIg
dGZyID0gY3JlYXRlVmVjdG9yKCAxMCwgIDEwLCAtMTApOworICAgICAgICB2YXIgdGJsID0gY3Jl
YXRlVmVjdG9yKC0xMCwgIDEwLCAgMTApOworICAgICAgICB2YXIgdGJyID0gY3JlYXRlVmVjdG9y
KCAxMCwgIDEwLCAgMTApOworICAgICAgICB2YXIgYmZsID0gY3JlYXRlVmVjdG9yKC0xMCwgLTEw
LCAtMTApOworICAgICAgICB2YXIgYmZyID0gY3JlYXRlVmVjdG9yKCAxMCwgLTEwLCAtMTApOwor
ICAgICAgICB2YXIgYmJsID0gY3JlYXRlVmVjdG9yKC0xMCwgLTEwLCAgMTApOworICAgICAgICB2
YXIgYmJyID0gY3JlYXRlVmVjdG9yKCAxMCwgLTEwLCAgMTApOworICAgICAgICAKKyAgICAgICAg
Ly8gY3ViZSEhIQorICAgICAgICAvLyBmcm9udAorICAgICAgICB2YXIgaSA9IDA7CisgICAgICAg
IAorICAgICAgICB0cmlhbmdsZXNbaSsrXSA9IG5ldyBUcmlhbmdsZSh0ZmwsIHRmciwgYmZyKTsK
KyAgICAgICAgdHJpYW5nbGVzW2krK10gPSBuZXcgVHJpYW5nbGUodGZsLCBiZnIsIGJmbCk7Cisg
ICAgICAgIC8vIGJhY2sKKyAgICAgICAgdHJpYW5nbGVzW2krK10gPSBuZXcgVHJpYW5nbGUodGJs
LCB0YnIsIGJicik7CisgICAgICAgIHRyaWFuZ2xlc1tpKytdID0gbmV3IFRyaWFuZ2xlKHRibCwg
YmJyLCBiYmwpOworICAgICAgICAvLyAgICAgICAgdHJpYW5nbGVzW2ktMV0ubWF0ZXJpYWwgPSBb
MC43LDAuMiwwLjJdOworICAgICAgICAvLyAgICAgICAgICAgIHRyaWFuZ2xlc1tpLTFdLm1hdGVy
aWFsLnJlZmxlY3Rpb24gPSAwLjg7CisgICAgICAgIC8vIGxlZnQKKyAgICAgICAgdHJpYW5nbGVz
W2krK10gPSBuZXcgVHJpYW5nbGUodGJsLCB0ZmwsIGJibCk7CisgICAgICAgIC8vICAgICAgICAg
ICAgdHJpYW5nbGVzW2ktMV0ucmVmbGVjdGlvbiA9IDAuNjsKKyAgICAgICAgdHJpYW5nbGVzW2kr
K10gPSBuZXcgVHJpYW5nbGUodGZsLCBiZmwsIGJibCk7CisgICAgICAgIC8vICAgICAgICAgICAg
dHJpYW5nbGVzW2ktMV0ucmVmbGVjdGlvbiA9IDAuNjsKKyAgICAgICAgLy8gcmlnaHQKKyAgICAg
ICAgdHJpYW5nbGVzW2krK10gPSBuZXcgVHJpYW5nbGUodGJyLCB0ZnIsIGJicik7CisgICAgICAg
IHRyaWFuZ2xlc1tpKytdID0gbmV3IFRyaWFuZ2xlKHRmciwgYmZyLCBiYnIpOworICAgICAgICAv
LyB0b3AKKyAgICAgICAgdHJpYW5nbGVzW2krK10gPSBuZXcgVHJpYW5nbGUodGJsLCB0YnIsIHRm
cik7CisgICAgICAgIHRyaWFuZ2xlc1tpKytdID0gbmV3IFRyaWFuZ2xlKHRibCwgdGZyLCB0Zmwp
OworICAgICAgICAvLyBib3R0b20KKyAgICAgICAgdHJpYW5nbGVzW2krK10gPSBuZXcgVHJpYW5n
bGUoYmJsLCBiYnIsIGJmcik7CisgICAgICAgIHRyaWFuZ2xlc1tpKytdID0gbmV3IFRyaWFuZ2xl
KGJibCwgYmZyLCBiZmwpOworICAgICAgICAKKyAgICAgICAgLy9GbG9vciEhISEKKyAgICAgICAg
dmFyIGdyZWVuID0gY3JlYXRlVmVjdG9yKDAuMCwgMC40LCAwLjApOworICAgICAgICB2YXIgZ3Jl
eSA9IGNyZWF0ZVZlY3RvcigwLjQsIDAuNCwgMC40KTsKKyAgICAgICAgZ3JleS5yZWZsZWN0aW9u
ID0gMS4wOworCisgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgIH0gY2F0Y2goZSkgeyB9
CisgICAgdmFyIGZsb29yU2hhZGVyID0gZnVuY3Rpb24odHJpLCBwb3MsIHZpZXcpIHsKKyAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciB4ID0gKChwb3NbMF0vMzIpICUgMiArIDIpICUgMjsK
KyAgICAgICAgICAgIHZhciB6ID0gKChwb3NbMl0vMzIgKyAwLjMpICUgMiArIDIpICUgMjsKKyAg
ICAgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAg
ICAgICB0cnkgeworICAgICAgICAgICAgaWYgKHggPCAxICE9IHogPCAxKSB7CisgICAgICAgICAg
ICAgICAgLy9pbiB0aGUgcmVhbCB3b3JsZCB3ZSB1c2UgdGhlIGZyZXNuZWwgdGVybS4uLgorICAg
ICAgICAgICAgICAgIC8vICAgIHZhciBhbmdsZSA9IDEtZG90KHZpZXcsIHRyaS5ub3JtYWwpOwor
ICAgICAgICAgICAgICAgIC8vICAgYW5nbGUgKj0gYW5nbGU7CisgICAgICAgICAgICAgICAgLy8g
IGFuZ2xlICo9IGFuZ2xlOworICAgICAgICAgICAgICAgIC8vIGFuZ2xlICo9IGFuZ2xlOworICAg
ICAgICAgICAgICAgIC8vZ3JleS5yZWZsZWN0aW9uID0gYW5nbGU7CisgICAgICAgICAgICAgICAg
cmV0dXJuIGdyZXk7CisgICAgICAgICAgICB9IGVsc2UgCisgICAgICAgICAgICAgICAgcmV0dXJu
IGdyZWVuOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0KKyAgICB2YXIgZmZsID0gY3Jl
YXRlVmVjdG9yKC0xMDAwLCAtMzAsIC0xMDAwKTsKKyAgICB2YXIgZmZyID0gY3JlYXRlVmVjdG9y
KCAxMDAwLCAtMzAsIC0xMDAwKTsKKyAgICB2YXIgZmJsID0gY3JlYXRlVmVjdG9yKC0xMDAwLCAt
MzAsICAxMDAwKTsKKyAgICB2YXIgZmJyID0gY3JlYXRlVmVjdG9yKCAxMDAwLCAtMzAsICAxMDAw
KTsKKyAgICB0cmlhbmdsZXNbaSsrXSA9IG5ldyBUcmlhbmdsZShmYmwsIGZiciwgZmZyKTsKKyAg
ICB0cmlhbmdsZXNbaS0xXS5zaGFkZXIgPSBmbG9vclNoYWRlcjsKKyAgICB0cmlhbmdsZXNbaSsr
XSA9IG5ldyBUcmlhbmdsZShmYmwsIGZmciwgZmZsKTsKKyAgICB0cmlhbmdsZXNbaS0xXS5zaGFk
ZXIgPSBmbG9vclNoYWRlcjsKKyAgICAKKyAgICB2YXIgX3NjZW5lID0gbmV3IFNjZW5lKHRyaWFu
Z2xlcyk7CisgICAgX3NjZW5lLmxpZ2h0c1swXSA9IGNyZWF0ZVZlY3RvcigyMCwgMzgsIC0yMik7
CisgICAgX3NjZW5lLmxpZ2h0c1swXS5jb2xvdXIgPSBjcmVhdGVWZWN0b3IoMC43LCAwLjMsIDAu
Myk7CisgICAgX3NjZW5lLmxpZ2h0c1sxXSA9IGNyZWF0ZVZlY3RvcigtMjMsIDQwLCAxNyk7Cisg
ICAgX3NjZW5lLmxpZ2h0c1sxXS5jb2xvdXIgPSBjcmVhdGVWZWN0b3IoMC43LCAwLjMsIDAuMyk7
CisgICAgX3NjZW5lLmxpZ2h0c1syXSA9IGNyZWF0ZVZlY3RvcigyMywgMjAsIDE3KTsKKyAgICBf
c2NlbmUubGlnaHRzWzJdLmNvbG91ciA9IGNyZWF0ZVZlY3RvcigwLjcsIDAuNywgMC43KTsKKyAg
ICBfc2NlbmUuYW1iaWVudCA9IGNyZWF0ZVZlY3RvcigwLjEsIDAuMSwgMC4xKTsKKyAgICAvLyAg
X3NjZW5lLmJhY2tncm91bmQgPSBjcmVhdGVWZWN0b3IoMC43LCAwLjcsIDEuMCk7CisgICAgCisg
ICAgdmFyIHNpemUgPSAzMDsKKyAgICB2YXIgcGl4ZWxzID0gbmV3IEFycmF5KCk7CisgICAgZm9y
ICh2YXIgeSA9IDA7IHkgPCBzaXplOyB5KyspIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
IHBpeGVsc1t5XSA9IG5ldyBBcnJheSgpOworICAgICAgICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7
CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgICAgIGZvciAodmFyIHggPSAwOyB4IDwgc2l6
ZTsgeCsrKSB7CisgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgIHBpeGVsc1t5XVt4
XSA9IDA7CisgICAgICAgICAgICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7CisgICAgICAgICAgICB9
IGNhdGNoKGUpIHsgfQorICAgICAgICB9CisgICAgfQorCisgICAgdHJ5IHsKKyAgICAgICAgdmFy
IF9jYW1lcmEgPSBuZXcgQ2FtZXJhKGNyZWF0ZVZlY3RvcigtNDAsIDQwLCA0MCksIGNyZWF0ZVZl
Y3RvcigwLCAwLCAwKSwgY3JlYXRlVmVjdG9yKDAsIDEsIDApKTsKKyAgICAgICAgX2NhbWVyYS5y
ZW5kZXIoX3NjZW5lLCBwaXhlbHMsIHNpemUsIHNpemUpOworICAgICAgICByYW5kb21FeGNlcHRp
b24oKTsKKyAgICB9IGNhdGNoKGUpe30KKworICAgIHJldHVybiBwaXhlbHM7Cit9CisKK2Z1bmN0
aW9uIGFycmF5VG9DYW52YXNDb21tYW5kcyhwaXhlbHMpCit7CisgICAgdmFyIHMgPSAnPGNhbnZh
cyBpZD0icmVuZGVyQ2FudmFzIiB3aWR0aD0iMzBweCIgaGVpZ2h0PSIzMHB4Ij48L2NhbnZhcz48
c2NyJyArICdpcHQ+XG52YXIgcGl4ZWxzID0gWyc7CisgICAgdmFyIHNpemUgPSAzMDsKKyAgICBm
b3IgKHZhciB5ID0gMDsgeSA8IHNpemU7IHkrKykgeworICAgICAgICBzICs9ICJbIjsKKyAgICAg
ICAgZm9yICh2YXIgeCA9IDA7IHggPCBzaXplOyB4KyspIHsKKyAgICAgICAgICAgIHMgKz0gIlsi
ICsgcGl4ZWxzW3ldW3hdICsgIl0sIjsKKyAgICAgICAgfQorICAgICAgICBzKz0gIl0sIjsKKyAg
ICB9CisgICAgcyArPSAnXTtcbiAgICB2YXIgY2FudmFzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInJlbmRlckNhbnZhcyIpLmdldENvbnRleHQoIjJkIik7XG5cCitcblwKK1xuXAorICAgIHZh
ciBzaXplID0gMzA7XG5cCisgICAgY2FudmFzLmZpbGxTdHlsZSA9ICJyZWQiO1xuXAorICAgIGNh
bnZhcy5maWxsUmVjdCgwLCAwLCBzaXplLCBzaXplKTtcblwKKyAgICBjYW52YXMuc2NhbGUoMSwg
LTEpO1xuXAorICAgIGNhbnZhcy50cmFuc2xhdGUoMCwgLXNpemUpO1xuXAorXG5cCisgICAgaWYg
KCFjYW52YXMuc2V0RmlsbENvbG9yKVxuXAorICAgICAgICBjYW52YXMuc2V0RmlsbENvbG9yID0g
ZnVuY3Rpb24ociwgZywgYiwgYSkge1xuXAorICAgICAgICAgICAgdGhpcy5maWxsU3R5bGUgPSAi
cmdiKCIrW01hdGguZmxvb3IociAqIDI1NSksIE1hdGguZmxvb3IoZyAqIDI1NSksIE1hdGguZmxv
b3IoYiAqIDI1NSldKyIpIjtcblwKKyAgICB9XG5cCitcblwKK2ZvciAodmFyIHkgPSAwOyB5IDwg
c2l6ZTsgeSsrKSB7XG5cCisgIGZvciAodmFyIHggPSAwOyB4IDwgc2l6ZTsgeCsrKSB7XG5cCisg
ICAgdmFyIGwgPSBwaXhlbHNbeV1beF07XG5cCisgICAgY2FudmFzLnNldEZpbGxDb2xvcihsWzBd
LCBsWzFdLCBsWzJdLCAxKTtcblwKKyAgICBjYW52YXMuZmlsbFJlY3QoeCwgeSwgMSwgMSk7XG5c
CisgIH1cblwKK308L3NjcicgKyAnaXB0Pic7CisKKyAgICByZXR1cm4gczsKK30KKwordGVzdE91
dHB1dCA9IGFycmF5VG9DYW52YXNDb21tYW5kcyhyYXl0cmFjZVNjZW5lKCkpOworCit2YXIgZXhw
ZWN0ZWRMZW5ndGggPSAyMDk3MDsKKworaWYgKHRlc3RPdXRwdXQubGVuZ3RoICE9IGV4cGVjdGVk
TGVuZ3RoKQorICAgIHRocm93ICJFcnJvcjogYmFkIHJlc3VsdDogZXhwZWN0ZWQgbGVuZ3RoICIg
KyBleHBlY3RlZExlbmd0aCArICIgYnV0IGdvdCAiICsgdGVzdE91dHB1dC5sZW5ndGg7CisKSW5k
ZXg6IExheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL3Y4LXJheXRyYWNlLXdpdGgt
ZW1wdHktdHJ5LWNhdGNoLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2pzL3JlZ3Jlc3Mv
c2NyaXB0LXRlc3RzL3Y4LXJheXRyYWNlLXdpdGgtZW1wdHktdHJ5LWNhdGNoLmpzCShyZXZpc2lv
biAwKQorKysgTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvdjgtcmF5dHJhY2Ut
d2l0aC1lbXB0eS10cnktY2F0Y2guanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMDQ4IEBA
CisvLyBUaGUgcmF5IHRyYWNlciBjb2RlIGluIHRoaXMgZmlsZSBpcyB3cml0dGVuIGJ5IEFkYW0g
QnVybWlzdGVyLiBJdAorLy8gaXMgYXZhaWxhYmxlIGluIGl0cyBvcmlnaW5hbCBmb3JtIGZyb206
CisvLworLy8gICBodHRwOi8vbGFicy5mbG9nLm56LmNvL3JheXRyYWNlci8KKy8vCisvLyBJdCBo
YXMgYmVlbiBtb2RpZmllZCBzbGlnaHRseSBieSBHb29nbGUgdG8gd29yayBhcyBhIHN0YW5kYWxv
bmUKKy8vIGJlbmNobWFyaywgYnV0IHRoZSBhbGwgdGhlIGNvbXB1dGF0aW9uYWwgY29kZSByZW1h
aW5zCisvLyB1bnRvdWNoZWQuIFRoaXMgZmlsZSBhbHNvIGNvbnRhaW5zIGEgY29weSBvZiBwYXJ0
cyBvZiB0aGUgUHJvdG90eXBlCisvLyBKYXZhU2NyaXB0IGZyYW1ld29yayB3aGljaCBpcyB1c2Vk
IGJ5IHRoZSByYXkgdHJhY2VyLgorCisvLyBWYXJpYWJsZSB1c2VkIHRvIGhvbGQgYSBudW1iZXIg
dGhhdCBjYW4gYmUgdXNlZCB0byB2ZXJpZnkgdGhhdAorLy8gdGhlIHNjZW5lIHdhcyByYXkgdHJh
Y2VkIGNvcnJlY3RseS4KK3ZhciBjaGVja051bWJlcjsKKworCisvLyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
Ky8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLQorCisvLyBUaGUgZm9sbG93aW5nIGlzIGEgY29weSBvZiBwYXJ0
cyBvZiB0aGUgUHJvdG90eXBlIEphdmFTY3JpcHQgbGlicmFyeToKKworLy8gUHJvdG90eXBlIEph
dmFTY3JpcHQgZnJhbWV3b3JrLCB2ZXJzaW9uIDEuNS4wCisvLyAoYykgMjAwNS0yMDA3IFNhbSBT
dGVwaGVuc29uCisvLworLy8gUHJvdG90eXBlIGlzIGZyZWVseSBkaXN0cmlidXRhYmxlIHVuZGVy
IHRoZSB0ZXJtcyBvZiBhbiBNSVQtc3R5bGUgbGljZW5zZS4KKy8vIEZvciBkZXRhaWxzLCBzZWUg
dGhlIFByb3RvdHlwZSB3ZWIgc2l0ZTogaHR0cDovL3Byb3RvdHlwZS5jb25pby5uZXQvCisKK3Zh
ciBDbGFzcyA9IHsKKyAgICBjcmVhdGU6IGZ1bmN0aW9uKCkgeworICAgICAgICByZXR1cm4gZnVu
Y3Rpb24oKSB7CisgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlh
bGl6ZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpOworICAgICAgICAgICAgfSBjYXRjaChlKSB7IH0K
KyAgICAgICAgfQorICAgIH0KK307CisKKworT2JqZWN0LmV4dGVuZCA9IGZ1bmN0aW9uKGRlc3Rp
bmF0aW9uLCBzb3VyY2UpIHsKKyAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBzb3VyY2UpIHsKKyAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgIGRlc3RpbmF0aW9uW3Byb3BlcnR5XSA9IHNvdXJjZVtw
cm9wZXJ0eV07CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgfQorICAgIHJldHVybiBkZXN0
aW5hdGlvbjsKK307CisKKworLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisvLyAtLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K
KworLy8gVGhlIHJlc3Qgb2YgdGhpcyBmaWxlIGlzIHRoZSBhY3R1YWwgcmF5IHRyYWNlciB3cml0
dGVuIGJ5IEFkYW0KKy8vIEJ1cm1pc3Rlci4gSXQncyBhIGNvbmNhdGVuYXRpb24gb2YgdGhlIGZv
bGxvd2luZyBmaWxlczoKKy8vCisvLyAgIGZsb2cvY29sb3IuanMKKy8vICAgZmxvZy9saWdodC5q
cworLy8gICBmbG9nL3ZlY3Rvci5qcworLy8gICBmbG9nL3JheS5qcworLy8gICBmbG9nL3NjZW5l
LmpzCisvLyAgIGZsb2cvbWF0ZXJpYWwvYmFzZW1hdGVyaWFsLmpzCisvLyAgIGZsb2cvbWF0ZXJp
YWwvc29saWQuanMKKy8vICAgZmxvZy9tYXRlcmlhbC9jaGVzc2JvYXJkLmpzCisvLyAgIGZsb2cv
c2hhcGUvYmFzZXNoYXBlLmpzCisvLyAgIGZsb2cvc2hhcGUvc3BoZXJlLmpzCisvLyAgIGZsb2cv
c2hhcGUvcGxhbmUuanMKKy8vICAgZmxvZy9pbnRlcnNlY3Rpb25pbmZvLmpzCisvLyAgIGZsb2cv
Y2FtZXJhLmpzCisvLyAgIGZsb2cvYmFja2dyb3VuZC5qcworLy8gICBmbG9nL2VuZ2luZS5qcwor
CisKKy8qIEZha2UgYSBGbG9nLiogbmFtZXNwYWNlICovCitpZih0eXBlb2YoRmxvZykgPT0gJ3Vu
ZGVmaW5lZCcpIHZhciBGbG9nID0ge307CitpZih0eXBlb2YoRmxvZy5SYXlUcmFjZXIpID09ICd1
bmRlZmluZWQnKSBGbG9nLlJheVRyYWNlciA9IHt9OworCitGbG9nLlJheVRyYWNlci5Db2xvciA9
IENsYXNzLmNyZWF0ZSgpOworCitGbG9nLlJheVRyYWNlci5Db2xvci5wcm90b3R5cGUgPSB7Cisg
ICAgcmVkIDogMC4wLAorICAgIGdyZWVuIDogMC4wLAorICAgIGJsdWUgOiAwLjAsCisKKyAgICBp
bml0aWFsaXplIDogZnVuY3Rpb24ociwgZywgYikgeworICAgICAgICB0cnkgeworICAgICAgICAg
ICAgaWYoIXIpIHIgPSAwLjA7CisgICAgICAgICAgICBpZighZykgZyA9IDAuMDsKKyAgICAgICAg
ICAgIGlmKCFiKSBiID0gMC4wOworCisgICAgICAgICAgICB0aGlzLnJlZCA9IHI7CisgICAgICAg
ICAgICB0aGlzLmdyZWVuID0gZzsKKyAgICAgICAgICAgIHRoaXMuYmx1ZSA9IGI7CisgICAgICAg
IH0gY2F0Y2goZSkgeyB9CisgICAgfSwKKworICAgIGFkZCA6IGZ1bmN0aW9uKGMxLCBjMil7Cisg
ICAgICAgIHRyeSB7CisgICAgICAgICAgICB2YXIgcmVzdWx0ID0gbmV3IEZsb2cuUmF5VHJhY2Vy
LkNvbG9yKDAsMCwwKTsKKworICAgICAgICAgICAgcmVzdWx0LnJlZCA9IGMxLnJlZCArIGMyLnJl
ZDsKKyAgICAgICAgICAgIHJlc3VsdC5ncmVlbiA9IGMxLmdyZWVuICsgYzIuZ3JlZW47CisgICAg
ICAgICAgICByZXN1bHQuYmx1ZSA9IGMxLmJsdWUgKyBjMi5ibHVlOworCisgICAgICAgIH0gY2F0
Y2goZSkgeyB9CisKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9LAorCisgICAgYWRkU2Nh
bGFyOiBmdW5jdGlvbihjMSwgcyl7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB2YXIgcmVz
dWx0ID0gbmV3IEZsb2cuUmF5VHJhY2VyLkNvbG9yKDAsMCwwKTsKKworICAgICAgICAgICAgcmVz
dWx0LnJlZCA9IGMxLnJlZCArIHM7CisgICAgICAgICAgICByZXN1bHQuZ3JlZW4gPSBjMS5ncmVl
biArIHM7CisgICAgICAgICAgICByZXN1bHQuYmx1ZSA9IGMxLmJsdWUgKyBzOworCisgICAgICAg
ICAgICByZXN1bHQubGltaXQoKTsKKworICAgICAgICB9IGNhdGNoKGUpIHsgfQorCisgICAgICAg
IHJldHVybiByZXN1bHQ7CisgICAgfSwKKworICAgIHN1YnRyYWN0OiBmdW5jdGlvbihjMSwgYzIp
eworICAgICAgICB0cnkgeworICAgICAgICAgICAgdmFyIHJlc3VsdCA9IG5ldyBGbG9nLlJheVRy
YWNlci5Db2xvcigwLDAsMCk7CisKKyAgICAgICAgICAgIHJlc3VsdC5yZWQgPSBjMS5yZWQgLSBj
Mi5yZWQ7CisgICAgICAgICAgICByZXN1bHQuZ3JlZW4gPSBjMS5ncmVlbiAtIGMyLmdyZWVuOwor
ICAgICAgICAgICAgcmVzdWx0LmJsdWUgPSBjMS5ibHVlIC0gYzIuYmx1ZTsKKworICAgICAgICB9
IGNhdGNoKGUpIHsgfQorCisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfSwKKworICAgIG11
bHRpcGx5IDogZnVuY3Rpb24oYzEsIGMyKSB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB2
YXIgcmVzdWx0ID0gbmV3IEZsb2cuUmF5VHJhY2VyLkNvbG9yKDAsMCwwKTsKKworICAgICAgICAg
ICAgcmVzdWx0LnJlZCA9IGMxLnJlZCAqIGMyLnJlZDsKKyAgICAgICAgICAgIHJlc3VsdC5ncmVl
biA9IGMxLmdyZWVuICogYzIuZ3JlZW47CisgICAgICAgICAgICByZXN1bHQuYmx1ZSA9IGMxLmJs
dWUgKiBjMi5ibHVlOworCisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisKKyAgICAgICAgcmV0dXJu
IHJlc3VsdDsKKyAgICB9LAorCisgICAgbXVsdGlwbHlTY2FsYXIgOiBmdW5jdGlvbihjMSwgZikg
eworICAgICAgICB0cnkgeworICAgICAgICAgICAgdmFyIHJlc3VsdCA9IG5ldyBGbG9nLlJheVRy
YWNlci5Db2xvcigwLDAsMCk7CisKKyAgICAgICAgICAgIHJlc3VsdC5yZWQgPSBjMS5yZWQgKiBm
OworICAgICAgICAgICAgcmVzdWx0LmdyZWVuID0gYzEuZ3JlZW4gKiBmOworICAgICAgICAgICAg
cmVzdWx0LmJsdWUgPSBjMS5ibHVlICogZjsKKworICAgICAgICB9IGNhdGNoKGUpIHsgfQorCisg
ICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfSwKKworICAgIGRpdmlkZUZhY3RvciA6IGZ1bmN0
aW9uKGMxLCBmKSB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB2YXIgcmVzdWx0ID0gbmV3
IEZsb2cuUmF5VHJhY2VyLkNvbG9yKDAsMCwwKTsKKworICAgICAgICAgICAgcmVzdWx0LnJlZCA9
IGMxLnJlZCAvIGY7CisgICAgICAgICAgICByZXN1bHQuZ3JlZW4gPSBjMS5ncmVlbiAvIGY7Cisg
ICAgICAgICAgICByZXN1bHQuYmx1ZSA9IGMxLmJsdWUgLyBmOworCisgICAgICAgIH0gY2F0Y2go
ZSkgeyB9CisKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9LAorCisgICAgbGltaXQ6IGZ1
bmN0aW9uKCl7CisgICAgICAgIHRyeSB7IAorICAgICAgICAgICAgdGhpcy5yZWQgPSAodGhpcy5y
ZWQgPiAwLjApID8gKCAodGhpcy5yZWQgPiAxLjApID8gMS4wIDogdGhpcy5yZWQgKSA6IDAuMDsK
KyAgICAgICAgICAgIHRoaXMuZ3JlZW4gPSAodGhpcy5ncmVlbiA+IDAuMCkgPyAoICh0aGlzLmdy
ZWVuID4gMS4wKSA/IDEuMCA6IHRoaXMuZ3JlZW4gKSA6IDAuMDsKKyAgICAgICAgICAgIHRoaXMu
Ymx1ZSA9ICh0aGlzLmJsdWUgPiAwLjApID8gKCAodGhpcy5ibHVlID4gMS4wKSA/IDEuMCA6IHRo
aXMuYmx1ZSApIDogMC4wOworCisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgfSwKKworICAg
IGRpc3RhbmNlIDogZnVuY3Rpb24oY29sb3IpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
IHZhciBkID0gTWF0aC5hYnModGhpcy5yZWQgLSBjb2xvci5yZWQpICsgTWF0aC5hYnModGhpcy5n
cmVlbiAtIGNvbG9yLmdyZWVuKSArIE1hdGguYWJzKHRoaXMuYmx1ZSAtIGNvbG9yLmJsdWUpOwor
ICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgICAgICByZXR1cm4gZDsKKyAgICB9LAorCisgICAg
YmxlbmQ6IGZ1bmN0aW9uKGMxLCBjMiwgdyl7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB2
YXIgcmVzdWx0ID0gbmV3IEZsb2cuUmF5VHJhY2VyLkNvbG9yKDAsMCwwKTsKKyAgICAgICAgICAg
IHJlc3VsdCA9IEZsb2cuUmF5VHJhY2VyLkNvbG9yLnByb3RvdHlwZS5hZGQoCisgICAgICAgICAg
ICAgICAgICAgIEZsb2cuUmF5VHJhY2VyLkNvbG9yLnByb3RvdHlwZS5tdWx0aXBseVNjYWxhcihj
MSwgMSAtIHcpLAorICAgICAgICAgICAgICAgICAgICBGbG9nLlJheVRyYWNlci5Db2xvci5wcm90
b3R5cGUubXVsdGlwbHlTY2FsYXIoYzIsIHcpCisgICAgICAgICAgICAgICAgICAgICk7CisgICAg
ICAgIH0gY2F0Y2goZSkgeyB9CisgICAgICAgIHJldHVybiByZXN1bHQ7CisgICAgfSwKKworICAg
IGJyaWdodG5lc3MgOiBmdW5jdGlvbigpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZh
ciByID0gTWF0aC5mbG9vcih0aGlzLnJlZCoyNTUpOworICAgICAgICAgICAgdmFyIGcgPSBNYXRo
LmZsb29yKHRoaXMuZ3JlZW4qMjU1KTsKKyAgICAgICAgICAgIHZhciBiID0gTWF0aC5mbG9vcih0
aGlzLmJsdWUqMjU1KTsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICAgICAgcmV0dXJuIChy
ICogNzcgKyBnICogMTUwICsgYiAqIDI5KSA+PiA4OworICAgIH0sCisKKyAgICB0b1N0cmluZyA6
IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciByID0gTWF0aC5m
bG9vcih0aGlzLnJlZCoyNTUpOworICAgICAgICAgICAgdmFyIGcgPSBNYXRoLmZsb29yKHRoaXMu
Z3JlZW4qMjU1KTsKKyAgICAgICAgICAgIHZhciBiID0gTWF0aC5mbG9vcih0aGlzLmJsdWUqMjU1
KTsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKworICAgICAgICByZXR1cm4gInJnYigiKyByICsi
LCIrIGcgKyIsIisgYiArIikiOworICAgIH0KK30KKy8qIEZha2UgYSBGbG9nLiogbmFtZXNwYWNl
ICovCitpZih0eXBlb2YoRmxvZykgPT0gJ3VuZGVmaW5lZCcpIHZhciBGbG9nID0ge307CitpZih0
eXBlb2YoRmxvZy5SYXlUcmFjZXIpID09ICd1bmRlZmluZWQnKSBGbG9nLlJheVRyYWNlciA9IHt9
OworCitGbG9nLlJheVRyYWNlci5MaWdodCA9IENsYXNzLmNyZWF0ZSgpOworCitGbG9nLlJheVRy
YWNlci5MaWdodC5wcm90b3R5cGUgPSB7CisgICAgcG9zaXRpb246IG51bGwsCisgICAgY29sb3I6
IG51bGwsCisgICAgaW50ZW5zaXR5OiAxMC4wLAorCisgICAgaW5pdGlhbGl6ZSA6IGZ1bmN0aW9u
KHBvcywgY29sb3IsIGludGVuc2l0eSkgeworICAgICAgICB0cnkgeworICAgICAgICAgICAgdGhp
cy5wb3NpdGlvbiA9IHBvczsKKyAgICAgICAgICAgIHRoaXMuY29sb3IgPSBjb2xvcjsKKyAgICAg
ICAgICAgIHRoaXMuaW50ZW5zaXR5ID0gKGludGVuc2l0eSA/IGludGVuc2l0eSA6IDEwLjApOwor
CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgfSwKKworICAgIHRvU3RyaW5nIDogZnVuY3Rp
b24gKCkgeworICAgICAgICB0cnkgeworICAgICAgICAgICAgdmFyIHJlc3VsdCA9ICdMaWdodCBb
JyArIHRoaXMucG9zaXRpb24ueCArICcsJyArIHRoaXMucG9zaXRpb24ueSArICcsJyArIHRoaXMu
cG9zaXRpb24ueiArICddJzsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICAgICAgcmV0dXJu
IHJlc3VsdDsKKyAgICB9Cit9CisvKiBGYWtlIGEgRmxvZy4qIG5hbWVzcGFjZSAqLworaWYodHlw
ZW9mKEZsb2cpID09ICd1bmRlZmluZWQnKSB2YXIgRmxvZyA9IHt9OworaWYodHlwZW9mKEZsb2cu
UmF5VHJhY2VyKSA9PSAndW5kZWZpbmVkJykgRmxvZy5SYXlUcmFjZXIgPSB7fTsKKworRmxvZy5S
YXlUcmFjZXIuVmVjdG9yID0gQ2xhc3MuY3JlYXRlKCk7CisKK0Zsb2cuUmF5VHJhY2VyLlZlY3Rv
ci5wcm90b3R5cGUgPSB7CisgICAgeCA6IDAuMCwKKyAgICB5IDogMC4wLAorICAgIHogOiAwLjAs
CisKKyAgICBpbml0aWFsaXplIDogZnVuY3Rpb24oeCwgeSwgeikgeworICAgICAgICB0cnkgewor
ICAgICAgICAgICAgdGhpcy54ID0gKHggPyB4IDogMCk7CisgICAgICAgICAgICB0aGlzLnkgPSAo
eSA/IHkgOiAwKTsKKyAgICAgICAgICAgIHRoaXMueiA9ICh6ID8geiA6IDApOworICAgICAgICB9
IGNhdGNoKGUpIHsgfQorICAgIH0sCisKKyAgICBjb3B5OiBmdW5jdGlvbih2ZWN0b3IpeworICAg
ICAgICB0cnkgeworICAgICAgICAgICAgdGhpcy54ID0gdmVjdG9yLng7CisgICAgICAgICAgICB0
aGlzLnkgPSB2ZWN0b3IueTsKKyAgICAgICAgICAgIHRoaXMueiA9IHZlY3Rvci56OworICAgICAg
ICB9IGNhdGNoKGUpIHsgfQorICAgIH0sCisKKyAgICBub3JtYWxpemUgOiBmdW5jdGlvbigpIHsK
KyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciBtID0gdGhpcy5tYWduaXR1ZGUoKTsKKyAg
ICAgICAgICAgIHZhciByZXN1bHQgPSBuZXcgRmxvZy5SYXlUcmFjZXIuVmVjdG9yKHRoaXMueCAv
IG0sIHRoaXMueSAvIG0sIHRoaXMueiAvIG0pOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAg
ICAgICByZXR1cm4gcmVzdWx0OworICAgIH0sCisKKyAgICBtYWduaXR1ZGUgOiBmdW5jdGlvbigp
IHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHJldHVybiBNYXRoLnNxcnQoKHRoaXMueCAq
IHRoaXMueCkgKyAodGhpcy55ICogdGhpcy55KSArICh0aGlzLnogKiB0aGlzLnopKTsKKyAgICAg
ICAgfSBjYXRjaChlKSAgeyB9CisgICAgfSwKKworICAgIGNyb3NzIDogZnVuY3Rpb24odykgewor
ICAgICAgICB0cnkgeworICAgICAgICAgICAgcmV0dXJuIG5ldyBGbG9nLlJheVRyYWNlci5WZWN0
b3IoCisgICAgICAgICAgICAgICAgICAgIC10aGlzLnogKiB3LnkgKyB0aGlzLnkgKiB3LnosCisg
ICAgICAgICAgICAgICAgICAgIHRoaXMueiAqIHcueCAtIHRoaXMueCAqIHcueiwKKyAgICAgICAg
ICAgICAgICAgICAgLXRoaXMueSAqIHcueCArIHRoaXMueCAqIHcueSk7CisgICAgICAgIH0gY2F0
Y2goZSkgeyB9CisgICAgfSwKKworICAgIGRvdCA6IGZ1bmN0aW9uKHcpIHsKKyAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgIHJldHVybiB0aGlzLnggKiB3LnggKyB0aGlzLnkgKiB3LnkgKyB0aGlz
LnogKiB3Lno7CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgfSwKKworICAgIGFkZCA6IGZ1
bmN0aW9uKHYsIHcpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHJldHVybiBuZXcgRmxv
Zy5SYXlUcmFjZXIuVmVjdG9yKHcueCArIHYueCwgdy55ICsgdi55LCB3LnogKyB2LnopOworICAg
ICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0sCisKKyAgICBzdWJ0cmFjdCA6IGZ1bmN0aW9uKHYs
IHcpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIGlmKCF3IHx8ICF2KSB0aHJvdyAnVmVj
dG9ycyBtdXN0IGJlIGRlZmluZWQgWycgKyB2ICsgJywnICsgdyArICddJzsKKyAgICAgICAgICAg
IHJldHVybiBuZXcgRmxvZy5SYXlUcmFjZXIuVmVjdG9yKHYueCAtIHcueCwgdi55IC0gdy55LCB2
LnogLSB3LnopOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0sCisKKyAgICBtdWx0aXBs
eVZlY3RvciA6IGZ1bmN0aW9uKHYsIHcpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHJl
dHVybiBuZXcgRmxvZy5SYXlUcmFjZXIuVmVjdG9yKHYueCAqIHcueCwgdi55ICogdy55LCB2Lnog
KiB3LnopOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0sCisKKyAgICBtdWx0aXBseVNj
YWxhciA6IGZ1bmN0aW9uKHYsIHcpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHJldHVy
biBuZXcgRmxvZy5SYXlUcmFjZXIuVmVjdG9yKHYueCAqIHcsIHYueSAqIHcsIHYueiAqIHcpOwor
ICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0sCisKKyAgICB0b1N0cmluZyA6IGZ1bmN0aW9u
ICgpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHJldHVybiAnVmVjdG9yIFsnICsgdGhp
cy54ICsgJywnICsgdGhpcy55ICsgJywnICsgdGhpcy56ICsgJ10nOworICAgICAgICB9IGNhdGNo
KGUpIHsgfQorICAgIH0KK30KKy8qIEZha2UgYSBGbG9nLiogbmFtZXNwYWNlICovCitpZih0eXBl
b2YoRmxvZykgPT0gJ3VuZGVmaW5lZCcpIHZhciBGbG9nID0ge307CitpZih0eXBlb2YoRmxvZy5S
YXlUcmFjZXIpID09ICd1bmRlZmluZWQnKSBGbG9nLlJheVRyYWNlciA9IHt9OworCitGbG9nLlJh
eVRyYWNlci5SYXkgPSBDbGFzcy5jcmVhdGUoKTsKKworRmxvZy5SYXlUcmFjZXIuUmF5LnByb3Rv
dHlwZSA9IHsKKyAgICBwb3NpdGlvbiA6IG51bGwsCisgICAgZGlyZWN0aW9uIDogbnVsbCwKKyAg
ICBpbml0aWFsaXplIDogZnVuY3Rpb24ocG9zLCBkaXIpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgIHRoaXMucG9zaXRpb24gPSBwb3M7CisgICAgICAgICAgICB0aGlzLmRpcmVjdGlvbiA9
IGRpcjsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICB9LAorCisgICAgdG9TdHJpbmcgOiBm
dW5jdGlvbiAoKSB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICByZXR1cm4gJ1JheSBbJyAr
IHRoaXMucG9zaXRpb24gKyAnLCcgKyB0aGlzLmRpcmVjdGlvbiArICddJzsKKyAgICAgICAgfSBj
YXRjaChlKSB7IH0KKyAgICB9Cit9CisvKiBGYWtlIGEgRmxvZy4qIG5hbWVzcGFjZSAqLworaWYo
dHlwZW9mKEZsb2cpID09ICd1bmRlZmluZWQnKSB2YXIgRmxvZyA9IHt9OworaWYodHlwZW9mKEZs
b2cuUmF5VHJhY2VyKSA9PSAndW5kZWZpbmVkJykgRmxvZy5SYXlUcmFjZXIgPSB7fTsKKworRmxv
Zy5SYXlUcmFjZXIuU2NlbmUgPSBDbGFzcy5jcmVhdGUoKTsKKworRmxvZy5SYXlUcmFjZXIuU2Nl
bmUucHJvdG90eXBlID0geworICAgIGNhbWVyYSA6IG51bGwsCisgICAgc2hhcGVzIDogW10sCisg
ICAgbGlnaHRzIDogW10sCisgICAgYmFja2dyb3VuZCA6IG51bGwsCisKKyAgICBpbml0aWFsaXpl
IDogZnVuY3Rpb24oKSB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB0aGlzLmNhbWVyYSA9
IG5ldyBGbG9nLlJheVRyYWNlci5DYW1lcmEoCisgICAgICAgICAgICAgICAgICAgIG5ldyBGbG9n
LlJheVRyYWNlci5WZWN0b3IoMCwwLC01KSwKKyAgICAgICAgICAgICAgICAgICAgbmV3IEZsb2cu
UmF5VHJhY2VyLlZlY3RvcigwLDAsMSksCisgICAgICAgICAgICAgICAgICAgIG5ldyBGbG9nLlJh
eVRyYWNlci5WZWN0b3IoMCwxLDApCisgICAgICAgICAgICAgICAgICAgICk7CisgICAgICAgICAg
ICB0aGlzLnNoYXBlcyA9IG5ldyBBcnJheSgpOworICAgICAgICAgICAgdGhpcy5saWdodHMgPSBu
ZXcgQXJyYXkoKTsKKyAgICAgICAgICAgIHRoaXMuYmFja2dyb3VuZCA9IG5ldyBGbG9nLlJheVRy
YWNlci5CYWNrZ3JvdW5kKG5ldyBGbG9nLlJheVRyYWNlci5Db2xvcigwLDAsMC41KSwgMC4yKTsK
KworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0KK30KKy8qIEZha2UgYSBGbG9nLiogbmFt
ZXNwYWNlICovCitpZih0eXBlb2YoRmxvZykgPT0gJ3VuZGVmaW5lZCcpIHZhciBGbG9nID0ge307
CitpZih0eXBlb2YoRmxvZy5SYXlUcmFjZXIpID09ICd1bmRlZmluZWQnKSBGbG9nLlJheVRyYWNl
ciA9IHt9OworaWYodHlwZW9mKEZsb2cuUmF5VHJhY2VyLk1hdGVyaWFsKSA9PSAndW5kZWZpbmVk
JykgRmxvZy5SYXlUcmFjZXIuTWF0ZXJpYWwgPSB7fTsKKworRmxvZy5SYXlUcmFjZXIuTWF0ZXJp
YWwuQmFzZU1hdGVyaWFsID0gQ2xhc3MuY3JlYXRlKCk7CisKK0Zsb2cuUmF5VHJhY2VyLk1hdGVy
aWFsLkJhc2VNYXRlcmlhbC5wcm90b3R5cGUgPSB7CisKKyAgICBnbG9zczogMi4wLCAgICAgICAg
ICAgICAvLyBbMC4uLmluZmluaXR5XSAwID0gbWF0dAorICAgIHRyYW5zcGFyZW5jeTogMC4wLCAg
ICAgIC8vIDA9b3BhcXVlCisgICAgcmVmbGVjdGlvbjogMC4wLCAgICAgICAgLy8gWzAuLi5pbmZp
bml0eV0gMCA9IG5vIHJlZmxlY3Rpb24KKyAgICByZWZyYWN0aW9uOiAwLjUwLAorICAgIGhhc1Rl
eHR1cmU6IGZhbHNlLAorCisgICAgaW5pdGlhbGl6ZSA6IGZ1bmN0aW9uKCkgeworCisgICAgfSwK
KworICAgIGdldENvbG9yOiBmdW5jdGlvbih1LCB2KXsKKworICAgIH0sCisKKyAgICB3cmFwVXA6
IGZ1bmN0aW9uKHQpeworICAgICAgICB0cnkgeworICAgICAgICAgICAgdCA9IHQgJSAyLjA7Cisg
ICAgICAgICAgICBpZih0IDwgLTEpIHQgKz0gMi4wOworICAgICAgICAgICAgaWYodCA+PSAxKSB0
IC09IDIuMDsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICAgICAgcmV0dXJuIHQ7CisgICAg
fSwKKworICAgIHRvU3RyaW5nIDogZnVuY3Rpb24gKCkgeworICAgICAgICB0cnkgeworICAgICAg
ICAgICAgcmV0dXJuICdNYXRlcmlhbCBbZ2xvc3M9JyArIHRoaXMuZ2xvc3MgKyAnLCB0cmFuc3Bh
cmVuY3k9JyArIHRoaXMudHJhbnNwYXJlbmN5ICsgJywgaGFzVGV4dHVyZT0nICsgdGhpcy5oYXNU
ZXh0dXJlICsnXSc7CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgfQorfQorLyogRmFrZSBh
IEZsb2cuKiBuYW1lc3BhY2UgKi8KK2lmKHR5cGVvZihGbG9nKSA9PSAndW5kZWZpbmVkJykgdmFy
IEZsb2cgPSB7fTsKK2lmKHR5cGVvZihGbG9nLlJheVRyYWNlcikgPT0gJ3VuZGVmaW5lZCcpIEZs
b2cuUmF5VHJhY2VyID0ge307CisKK0Zsb2cuUmF5VHJhY2VyLk1hdGVyaWFsLlNvbGlkID0gQ2xh
c3MuY3JlYXRlKCk7CisKK0Zsb2cuUmF5VHJhY2VyLk1hdGVyaWFsLlNvbGlkLnByb3RvdHlwZSA9
IE9iamVjdC5leHRlbmQoCisgICAgICAgIG5ldyBGbG9nLlJheVRyYWNlci5NYXRlcmlhbC5CYXNl
TWF0ZXJpYWwoKSwgeworICAgICAgICAgICAgaW5pdGlhbGl6ZSA6IGZ1bmN0aW9uKGNvbG9yLCBy
ZWZsZWN0aW9uLCByZWZyYWN0aW9uLCB0cmFuc3BhcmVuY3ksIGdsb3NzKSB7CisgICAgICAgICAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2xvciA9IGNvbG9yOworICAg
ICAgICAgICAgICAgICAgICB0aGlzLnJlZmxlY3Rpb24gPSByZWZsZWN0aW9uOworICAgICAgICAg
ICAgICAgICAgICB0aGlzLnRyYW5zcGFyZW5jeSA9IHRyYW5zcGFyZW5jeTsKKyAgICAgICAgICAg
ICAgICAgICAgdGhpcy5nbG9zcyA9IGdsb3NzOworICAgICAgICAgICAgICAgICAgICB0aGlzLmhh
c1RleHR1cmUgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgICAg
ICAgICAgfSwKKworICAgICAgICAgICAgZ2V0Q29sb3I6IGZ1bmN0aW9uKHUsIHYpeworICAgICAg
ICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmNvbG9yOwor
ICAgICAgICAgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgICAgICAgICB9LAorCisgICAgICAg
ICAgICB0b1N0cmluZyA6IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gJ1NvbGlkTWF0ZXJpYWwgW2dsb3NzPScgKyB0aGlzLmds
b3NzICsgJywgdHJhbnNwYXJlbmN5PScgKyB0aGlzLnRyYW5zcGFyZW5jeSArICcsIGhhc1RleHR1
cmU9JyArIHRoaXMuaGFzVGV4dHVyZSArJ10nOworICAgICAgICAgICAgICAgIH0gY2F0Y2goZSkg
eyB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICAgICAgKTsKKy8qIEZha2UgYSBGbG9n
LiogbmFtZXNwYWNlICovCitpZih0eXBlb2YoRmxvZykgPT0gJ3VuZGVmaW5lZCcpIHZhciBGbG9n
ID0ge307CitpZih0eXBlb2YoRmxvZy5SYXlUcmFjZXIpID09ICd1bmRlZmluZWQnKSBGbG9nLlJh
eVRyYWNlciA9IHt9OworCitGbG9nLlJheVRyYWNlci5NYXRlcmlhbC5DaGVzc2JvYXJkID0gQ2xh
c3MuY3JlYXRlKCk7CisKK0Zsb2cuUmF5VHJhY2VyLk1hdGVyaWFsLkNoZXNzYm9hcmQucHJvdG90
eXBlID0gT2JqZWN0LmV4dGVuZCgKKyAgICAgICAgbmV3IEZsb2cuUmF5VHJhY2VyLk1hdGVyaWFs
LkJhc2VNYXRlcmlhbCgpLCB7CisgICAgICAgICAgICBjb2xvckV2ZW46IG51bGwsCisgICAgICAg
ICAgICBjb2xvck9kZDogbnVsbCwKKyAgICAgICAgICAgIGRlbnNpdHk6IDAuNSwKKworICAgICAg
ICAgICAgaW5pdGlhbGl6ZSA6IGZ1bmN0aW9uKGNvbG9yRXZlbiwgY29sb3JPZGQsIHJlZmxlY3Rp
b24sIHRyYW5zcGFyZW5jeSwgZ2xvc3MsIGRlbnNpdHkpIHsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbG9yRXZlbiA9IGNvbG9yRXZlbjsKKyAgICAg
ICAgICAgICAgICAgICAgdGhpcy5jb2xvck9kZCA9IGNvbG9yT2RkOworICAgICAgICAgICAgICAg
ICAgICB0aGlzLnJlZmxlY3Rpb24gPSByZWZsZWN0aW9uOworICAgICAgICAgICAgICAgICAgICB0
aGlzLnRyYW5zcGFyZW5jeSA9IHRyYW5zcGFyZW5jeTsKKyAgICAgICAgICAgICAgICAgICAgdGhp
cy5nbG9zcyA9IGdsb3NzOworICAgICAgICAgICAgICAgICAgICB0aGlzLmRlbnNpdHkgPSBkZW5z
aXR5OworICAgICAgICAgICAgICAgICAgICB0aGlzLmhhc1RleHR1cmUgPSB0cnVlOworICAgICAg
ICAgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgICAgICAgICB9LAorCisgICAgICAgICAgICBn
ZXRDb2xvcjogZnVuY3Rpb24odSwgdil7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAg
ICAgICAgICAgICAgdmFyIHQgPSB0aGlzLndyYXBVcCh1ICogdGhpcy5kZW5zaXR5KSAqIHRoaXMu
d3JhcFVwKHYgKiB0aGlzLmRlbnNpdHkpOworICAgICAgICAgICAgICAgIH0gY2F0Y2goZSkgeyB9
CisKKyAgICAgICAgICAgICAgICBpZih0IDwgMC4wKQorICAgICAgICAgICAgICAgICAgICByZXR1
cm4gdGhpcy5jb2xvckV2ZW47CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAg
ICAgICByZXR1cm4gdGhpcy5jb2xvck9kZDsKKyAgICAgICAgICAgIH0sCisKKyAgICAgICAgICAg
IHRvU3RyaW5nIDogZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAg
ICAgICAgICAgICAgIHJldHVybiAnQ2hlc3NNYXRlcmlhbCBbZ2xvc3M9JyArIHRoaXMuZ2xvc3Mg
KyAnLCB0cmFuc3BhcmVuY3k9JyArIHRoaXMudHJhbnNwYXJlbmN5ICsgJywgaGFzVGV4dHVyZT0n
ICsgdGhpcy5oYXNUZXh0dXJlICsnXSc7CisgICAgICAgICAgICAgICAgfSBjYXRjaChlKSB7IH0K
KyAgICAgICAgICAgIH0KKyAgICAgICAgfQorKTsKKy8qIEZha2UgYSBGbG9nLiogbmFtZXNwYWNl
ICovCitpZih0eXBlb2YoRmxvZykgPT0gJ3VuZGVmaW5lZCcpIHZhciBGbG9nID0ge307CitpZih0
eXBlb2YoRmxvZy5SYXlUcmFjZXIpID09ICd1bmRlZmluZWQnKSBGbG9nLlJheVRyYWNlciA9IHt9
OworaWYodHlwZW9mKEZsb2cuUmF5VHJhY2VyLlNoYXBlKSA9PSAndW5kZWZpbmVkJykgRmxvZy5S
YXlUcmFjZXIuU2hhcGUgPSB7fTsKKworRmxvZy5SYXlUcmFjZXIuU2hhcGUuU3BoZXJlID0gQ2xh
c3MuY3JlYXRlKCk7CisKK0Zsb2cuUmF5VHJhY2VyLlNoYXBlLlNwaGVyZS5wcm90b3R5cGUgPSB7
CisgICAgaW5pdGlhbGl6ZSA6IGZ1bmN0aW9uKHBvcywgcmFkaXVzLCBtYXRlcmlhbCkgeworICAg
ICAgICB0cnkgeworICAgICAgICAgICAgdGhpcy5yYWRpdXMgPSByYWRpdXM7CisgICAgICAgICAg
ICB0aGlzLnBvc2l0aW9uID0gcG9zOworICAgICAgICAgICAgdGhpcy5tYXRlcmlhbCA9IG1hdGVy
aWFsOworCisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgfSwKKworICAgIGludGVyc2VjdDog
ZnVuY3Rpb24ocmF5KXsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciBpbmZvID0gbmV3
IEZsb2cuUmF5VHJhY2VyLkludGVyc2VjdGlvbkluZm8oKTsKKyAgICAgICAgICAgIGluZm8uc2hh
cGUgPSB0aGlzOworCisgICAgICAgICAgICB2YXIgZHN0ID0gRmxvZy5SYXlUcmFjZXIuVmVjdG9y
LnByb3RvdHlwZS5zdWJ0cmFjdChyYXkucG9zaXRpb24sIHRoaXMucG9zaXRpb24pOworCisgICAg
ICAgICAgICB2YXIgQiA9IGRzdC5kb3QocmF5LmRpcmVjdGlvbik7CisgICAgICAgICAgICB2YXIg
QyA9IGRzdC5kb3QoZHN0KSAtICh0aGlzLnJhZGl1cyAqIHRoaXMucmFkaXVzKTsKKyAgICAgICAg
ICAgIHZhciBEID0gKEIgKiBCKSAtIEM7CisKKyAgICAgICAgICAgIGlmKEQgPiAwKXsgLy8gaW50
ZXJzZWN0aW9uIQorICAgICAgICAgICAgICAgIGluZm8uaXNIaXQgPSB0cnVlOworICAgICAgICAg
ICAgICAgIGluZm8uZGlzdGFuY2UgPSAoLUIpIC0gTWF0aC5zcXJ0KEQpOworICAgICAgICAgICAg
ICAgIGluZm8ucG9zaXRpb24gPSBGbG9nLlJheVRyYWNlci5WZWN0b3IucHJvdG90eXBlLmFkZCgK
KyAgICAgICAgICAgICAgICAgICAgICAgIHJheS5wb3NpdGlvbiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgIEZsb2cuUmF5VHJhY2VyLlZlY3Rvci5wcm90b3R5cGUubXVsdGlwbHlTY2FsYXIoCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmF5LmRpcmVjdGlvbiwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbmZvLmRpc3RhbmNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
KQorICAgICAgICAgICAgICAgICAgICAgICAgKTsKKyAgICAgICAgICAgICAgICBpbmZvLm5vcm1h
bCA9IEZsb2cuUmF5VHJhY2VyLlZlY3Rvci5wcm90b3R5cGUuc3VidHJhY3QoCisgICAgICAgICAg
ICAgICAgICAgICAgICBpbmZvLnBvc2l0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgdGhp
cy5wb3NpdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgKS5ub3JtYWxpemUoKTsKKworICAg
ICAgICAgICAgICAgIGluZm8uY29sb3IgPSB0aGlzLm1hdGVyaWFsLmdldENvbG9yKDAsMCk7Cisg
ICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGluZm8uaXNIaXQgPSBmYWxzZTsK
KyAgICAgICAgICAgIH0KKworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgICAgICByZXR1cm4g
aW5mbzsKKyAgICB9LAorCisgICAgdG9TdHJpbmcgOiBmdW5jdGlvbiAoKSB7CisgICAgICAgIHRy
eSB7CisgICAgICAgICAgICByZXR1cm4gJ1NwaGVyZSBbcG9zaXRpb249JyArIHRoaXMucG9zaXRp
b24gKyAnLCByYWRpdXM9JyArIHRoaXMucmFkaXVzICsgJ10nOworICAgICAgICB9IGNhdGNoKGUp
IHsgfQorICAgIH0KK30KKy8qIEZha2UgYSBGbG9nLiogbmFtZXNwYWNlICovCitpZih0eXBlb2Yo
RmxvZykgPT0gJ3VuZGVmaW5lZCcpIHZhciBGbG9nID0ge307CitpZih0eXBlb2YoRmxvZy5SYXlU
cmFjZXIpID09ICd1bmRlZmluZWQnKSBGbG9nLlJheVRyYWNlciA9IHt9OworaWYodHlwZW9mKEZs
b2cuUmF5VHJhY2VyLlNoYXBlKSA9PSAndW5kZWZpbmVkJykgRmxvZy5SYXlUcmFjZXIuU2hhcGUg
PSB7fTsKKworRmxvZy5SYXlUcmFjZXIuU2hhcGUuUGxhbmUgPSBDbGFzcy5jcmVhdGUoKTsKKwor
RmxvZy5SYXlUcmFjZXIuU2hhcGUuUGxhbmUucHJvdG90eXBlID0geworICAgIGQ6IDAuMCwKKwor
ICAgIGluaXRpYWxpemUgOiBmdW5jdGlvbihwb3MsIGQsIG1hdGVyaWFsKSB7CisgICAgICAgIHRy
eSB7CisgICAgICAgICAgICB0aGlzLnBvc2l0aW9uID0gcG9zOworICAgICAgICAgICAgdGhpcy5k
ID0gZDsKKyAgICAgICAgICAgIHRoaXMubWF0ZXJpYWwgPSBtYXRlcmlhbDsKKyAgICAgICAgfSBj
YXRjaChlKSB7IH0KKyAgICB9LAorCisgICAgaW50ZXJzZWN0OiBmdW5jdGlvbihyYXkpeworICAg
ICAgICB0cnkgeworICAgICAgICAgICAgdmFyIGluZm8gPSBuZXcgRmxvZy5SYXlUcmFjZXIuSW50
ZXJzZWN0aW9uSW5mbygpOworCisgICAgICAgICAgICB2YXIgVmQgPSB0aGlzLnBvc2l0aW9uLmRv
dChyYXkuZGlyZWN0aW9uKTsKKyAgICAgICAgICAgIGlmKFZkID09IDApIHJldHVybiBpbmZvOyAv
LyBubyBpbnRlcnNlY3Rpb24KKworICAgICAgICAgICAgdmFyIHQgPSAtKHRoaXMucG9zaXRpb24u
ZG90KHJheS5wb3NpdGlvbikgKyB0aGlzLmQpIC8gVmQ7CisgICAgICAgICAgICBpZih0IDw9IDAp
IHJldHVybiBpbmZvOworCisgICAgICAgICAgICBpbmZvLnNoYXBlID0gdGhpczsKKyAgICAgICAg
ICAgIGluZm8uaXNIaXQgPSB0cnVlOworICAgICAgICAgICAgaW5mby5wb3NpdGlvbiA9IEZsb2cu
UmF5VHJhY2VyLlZlY3Rvci5wcm90b3R5cGUuYWRkKAorICAgICAgICAgICAgICAgICAgICByYXku
cG9zaXRpb24sCisgICAgICAgICAgICAgICAgICAgIEZsb2cuUmF5VHJhY2VyLlZlY3Rvci5wcm90
b3R5cGUubXVsdGlwbHlTY2FsYXIoCisgICAgICAgICAgICAgICAgICAgICAgICByYXkuZGlyZWN0
aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgdAorICAgICAgICAgICAgICAgICAgICAgICAg
KQorICAgICAgICAgICAgICAgICAgICApOworICAgICAgICAgICAgaW5mby5ub3JtYWwgPSB0aGlz
LnBvc2l0aW9uOworICAgICAgICAgICAgaW5mby5kaXN0YW5jZSA9IHQ7CisKKyAgICAgICAgICAg
IGlmKHRoaXMubWF0ZXJpYWwuaGFzVGV4dHVyZSl7CisgICAgICAgICAgICAgICAgdmFyIHZVID0g
bmV3IEZsb2cuUmF5VHJhY2VyLlZlY3Rvcih0aGlzLnBvc2l0aW9uLnksIHRoaXMucG9zaXRpb24u
eiwgLXRoaXMucG9zaXRpb24ueCk7CisgICAgICAgICAgICAgICAgdmFyIHZWID0gdlUuY3Jvc3Mo
dGhpcy5wb3NpdGlvbik7CisgICAgICAgICAgICAgICAgdmFyIHUgPSBpbmZvLnBvc2l0aW9uLmRv
dCh2VSk7CisgICAgICAgICAgICAgICAgdmFyIHYgPSBpbmZvLnBvc2l0aW9uLmRvdCh2Vik7Cisg
ICAgICAgICAgICAgICAgaW5mby5jb2xvciA9IHRoaXMubWF0ZXJpYWwuZ2V0Q29sb3IodSx2KTsK
KyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaW5mby5jb2xvciA9IHRoaXMu
bWF0ZXJpYWwuZ2V0Q29sb3IoMCwwKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICB9IGNhdGNo
KGUpIHsgfQorICAgICAgICByZXR1cm4gaW5mbzsKKyAgICB9LAorCisgICAgdG9TdHJpbmcgOiBm
dW5jdGlvbiAoKSB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICByZXR1cm4gJ1BsYW5lIFsn
ICsgdGhpcy5wb3NpdGlvbiArICcsIGQ9JyArIHRoaXMuZCArICddJzsKKyAgICAgICAgfSBjYXRj
aChlKSB7IH0KKyAgICB9Cit9CisvKiBGYWtlIGEgRmxvZy4qIG5hbWVzcGFjZSAqLworaWYodHlw
ZW9mKEZsb2cpID09ICd1bmRlZmluZWQnKSB2YXIgRmxvZyA9IHt9OworaWYodHlwZW9mKEZsb2cu
UmF5VHJhY2VyKSA9PSAndW5kZWZpbmVkJykgRmxvZy5SYXlUcmFjZXIgPSB7fTsKKworRmxvZy5S
YXlUcmFjZXIuSW50ZXJzZWN0aW9uSW5mbyA9IENsYXNzLmNyZWF0ZSgpOworCitGbG9nLlJheVRy
YWNlci5JbnRlcnNlY3Rpb25JbmZvLnByb3RvdHlwZSA9IHsKKyAgICBpc0hpdDogZmFsc2UsCisg
ICAgaGl0Q291bnQ6IDAsCisgICAgc2hhcGU6IG51bGwsCisgICAgcG9zaXRpb246IG51bGwsCisg
ICAgbm9ybWFsOiBudWxsLAorICAgIGNvbG9yOiBudWxsLAorICAgIGRpc3RhbmNlOiBudWxsLAor
CisgICAgaW5pdGlhbGl6ZSA6IGZ1bmN0aW9uKCkgeworICAgICAgICB0cnkgeworICAgICAgICAg
ICAgdGhpcy5jb2xvciA9IG5ldyBGbG9nLlJheVRyYWNlci5Db2xvcigwLDAsMCk7CisgICAgICAg
IH0gY2F0Y2goZSkgeyB9CisgICAgfSwKKworICAgIHRvU3RyaW5nIDogZnVuY3Rpb24gKCkgewor
ICAgICAgICB0cnkgeworICAgICAgICAgICAgcmV0dXJuICdJbnRlcnNlY3Rpb24gWycgKyB0aGlz
LnBvc2l0aW9uICsgJ10nOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0KK30KKy8qIEZh
a2UgYSBGbG9nLiogbmFtZXNwYWNlICovCitpZih0eXBlb2YoRmxvZykgPT0gJ3VuZGVmaW5lZCcp
IHZhciBGbG9nID0ge307CitpZih0eXBlb2YoRmxvZy5SYXlUcmFjZXIpID09ICd1bmRlZmluZWQn
KSBGbG9nLlJheVRyYWNlciA9IHt9OworCitGbG9nLlJheVRyYWNlci5DYW1lcmEgPSBDbGFzcy5j
cmVhdGUoKTsKKworRmxvZy5SYXlUcmFjZXIuQ2FtZXJhLnByb3RvdHlwZSA9IHsKKyAgICBwb3Np
dGlvbjogbnVsbCwKKyAgICBsb29rQXQ6IG51bGwsCisgICAgZXF1YXRvcjogbnVsbCwKKyAgICB1
cDogbnVsbCwKKyAgICBzY3JlZW46IG51bGwsCisKKyAgICBpbml0aWFsaXplIDogZnVuY3Rpb24o
cG9zLCBsb29rQXQsIHVwKSB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB0aGlzLnBvc2l0
aW9uID0gcG9zOworICAgICAgICAgICAgdGhpcy5sb29rQXQgPSBsb29rQXQ7CisgICAgICAgICAg
ICB0aGlzLnVwID0gdXA7CisgICAgICAgICAgICB0aGlzLmVxdWF0b3IgPSBsb29rQXQubm9ybWFs
aXplKCkuY3Jvc3ModGhpcy51cCk7CisgICAgICAgICAgICB0aGlzLnNjcmVlbiA9IEZsb2cuUmF5
VHJhY2VyLlZlY3Rvci5wcm90b3R5cGUuYWRkKHRoaXMucG9zaXRpb24sIHRoaXMubG9va0F0KTsK
KyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICB9LAorCisgICAgZ2V0UmF5OiBmdW5jdGlvbih2
eCwgdnkpeworICAgICAgICB0cnkgeworICAgICAgICAgICAgdmFyIHBvcyA9IEZsb2cuUmF5VHJh
Y2VyLlZlY3Rvci5wcm90b3R5cGUuc3VidHJhY3QoCisgICAgICAgICAgICAgICAgICAgIHRoaXMu
c2NyZWVuLAorICAgICAgICAgICAgICAgICAgICBGbG9nLlJheVRyYWNlci5WZWN0b3IucHJvdG90
eXBlLnN1YnRyYWN0KAorICAgICAgICAgICAgICAgICAgICAgICAgRmxvZy5SYXlUcmFjZXIuVmVj
dG9yLnByb3RvdHlwZS5tdWx0aXBseVNjYWxhcih0aGlzLmVxdWF0b3IsIHZ4KSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgIEZsb2cuUmF5VHJhY2VyLlZlY3Rvci5wcm90b3R5cGUubXVsdGlwbHlT
Y2FsYXIodGhpcy51cCwgdnkpCisgICAgICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAg
ICAgICAgICAgICk7CisgICAgICAgICAgICBwb3MueSA9IHBvcy55ICogLTE7CisgICAgICAgICAg
ICB2YXIgZGlyID0gRmxvZy5SYXlUcmFjZXIuVmVjdG9yLnByb3RvdHlwZS5zdWJ0cmFjdCgKKyAg
ICAgICAgICAgICAgICAgICAgcG9zLAorICAgICAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9u
CisgICAgICAgICAgICAgICAgICAgICk7CisKKyAgICAgICAgICAgIHZhciByYXkgPSBuZXcgRmxv
Zy5SYXlUcmFjZXIuUmF5KHBvcywgZGlyLm5vcm1hbGl6ZSgpKTsKKworICAgICAgICB9IGNhdGNo
KGUpIHsgfQorICAgICAgICByZXR1cm4gcmF5OworICAgIH0sCisKKyAgICB0b1N0cmluZyA6IGZ1
bmN0aW9uICgpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHJldHVybiAnUmF5IFtdJzsK
KyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICB9Cit9CisvKiBGYWtlIGEgRmxvZy4qIG5hbWVz
cGFjZSAqLworaWYodHlwZW9mKEZsb2cpID09ICd1bmRlZmluZWQnKSB2YXIgRmxvZyA9IHt9Owor
aWYodHlwZW9mKEZsb2cuUmF5VHJhY2VyKSA9PSAndW5kZWZpbmVkJykgRmxvZy5SYXlUcmFjZXIg
PSB7fTsKKworRmxvZy5SYXlUcmFjZXIuQmFja2dyb3VuZCA9IENsYXNzLmNyZWF0ZSgpOworCitG
bG9nLlJheVRyYWNlci5CYWNrZ3JvdW5kLnByb3RvdHlwZSA9IHsKKyAgICBjb2xvciA6IG51bGws
CisgICAgYW1iaWVuY2UgOiAwLjAsCisKKyAgICBpbml0aWFsaXplIDogZnVuY3Rpb24oY29sb3Is
IGFtYmllbmNlKSB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB0aGlzLmNvbG9yID0gY29s
b3I7CisgICAgICAgICAgICB0aGlzLmFtYmllbmNlID0gYW1iaWVuY2U7CisgICAgICAgIH0gY2F0
Y2goZSkgeyB9CisgICAgfQorfQorLyogRmFrZSBhIEZsb2cuKiBuYW1lc3BhY2UgKi8KK2lmKHR5
cGVvZihGbG9nKSA9PSAndW5kZWZpbmVkJykgdmFyIEZsb2cgPSB7fTsKK2lmKHR5cGVvZihGbG9n
LlJheVRyYWNlcikgPT0gJ3VuZGVmaW5lZCcpIEZsb2cuUmF5VHJhY2VyID0ge307CisKK0Zsb2cu
UmF5VHJhY2VyLkVuZ2luZSA9IENsYXNzLmNyZWF0ZSgpOworCitGbG9nLlJheVRyYWNlci5Fbmdp
bmUucHJvdG90eXBlID0geworICAgIGNhbnZhczogbnVsbCwgLyogMmQgY29udGV4dCB3ZSBjYW4g
cmVuZGVyIHRvICovCisKKyAgICBpbml0aWFsaXplOiBmdW5jdGlvbihvcHRpb25zKXsKKyAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgIHRoaXMub3B0aW9ucyA9IE9iamVjdC5leHRlbmQoeworICAg
ICAgICAgICAgICAgIGNhbnZhc0hlaWdodDogMTAwLAorICAgICAgICAgICAgICAgIGNhbnZhc1dp
ZHRoOiAxMDAsCisgICAgICAgICAgICAgICAgcGl4ZWxXaWR0aDogMiwKKyAgICAgICAgICAgICAg
ICBwaXhlbEhlaWdodDogMiwKKyAgICAgICAgICAgICAgICByZW5kZXJEaWZmdXNlOiBmYWxzZSwK
KyAgICAgICAgICAgICAgICByZW5kZXJTaGFkb3dzOiBmYWxzZSwKKyAgICAgICAgICAgICAgICBy
ZW5kZXJIaWdobGlnaHRzOiBmYWxzZSwKKyAgICAgICAgICAgICAgICByZW5kZXJSZWZsZWN0aW9u
czogZmFsc2UsCisgICAgICAgICAgICAgICAgcmF5RGVwdGg6IDIKKyAgICAgICAgICAgIH0sIG9w
dGlvbnMgfHwge30pOworCisgICAgICAgICAgICB0aGlzLm9wdGlvbnMuY2FudmFzSGVpZ2h0IC89
IHRoaXMub3B0aW9ucy5waXhlbEhlaWdodDsKKyAgICAgICAgICAgIHRoaXMub3B0aW9ucy5jYW52
YXNXaWR0aCAvPSB0aGlzLm9wdGlvbnMucGl4ZWxXaWR0aDsKKworICAgICAgICB9IGNhdGNoKGUp
IHsgfQorCisgICAgICAgIC8qIFRPRE86IGR5bmFtaWNhbGx5IGluY2x1ZGUgb3RoZXIgc2NyaXB0
cyAqLworICAgIH0sCisKKyAgICBzZXRQaXhlbDogZnVuY3Rpb24oeCwgeSwgY29sb3IpeworICAg
ICAgICB0cnkgeworICAgICAgICAgICAgdmFyIHB4VywgcHhIOworICAgICAgICAgICAgcHhXID0g
dGhpcy5vcHRpb25zLnBpeGVsV2lkdGg7CisgICAgICAgICAgICBweEggPSB0aGlzLm9wdGlvbnMu
cGl4ZWxIZWlnaHQ7CisKKyAgICAgICAgICAgIGlmICh0aGlzLmNhbnZhcykgeworICAgICAgICAg
ICAgICAgIHRoaXMuY2FudmFzLmZpbGxTdHlsZSA9IGNvbG9yLnRvU3RyaW5nKCk7CisgICAgICAg
ICAgICAgICAgdGhpcy5jYW52YXMuZmlsbFJlY3QgKHggKiBweFcsIHkgKiBweEgsIHB4VywgcHhI
KTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaWYgKHggPT09ICB5KSB7
CisgICAgICAgICAgICAgICAgICAgIGNoZWNrTnVtYmVyICs9IGNvbG9yLmJyaWdodG5lc3MoKTsK
KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgLy8gcHJpbnQoeCAqIHB4VywgeSAq
IHB4SCwgcHhXLCBweEgpOworICAgICAgICAgICAgfQorCisgICAgICAgIH0gY2F0Y2goZSkgeyB9
CisgICAgfSwKKworICAgIHJlbmRlclNjZW5lOiBmdW5jdGlvbihzY2VuZSwgY2FudmFzKXsKKyAg
ICAgICAgdHJ5IHsKKyAgICAgICAgICAgIGNoZWNrTnVtYmVyID0gMDsKKyAgICAgICAgICAgIC8q
IEdldCBjYW52YXMgKi8KKyAgICAgICAgICAgIGlmIChjYW52YXMpIHsKKyAgICAgICAgICAgICAg
ICB0aGlzLmNhbnZhcyA9IGNhbnZhcy5nZXRDb250ZXh0KCIyZCIpOworICAgICAgICAgICAgfSBl
bHNlIHsKKyAgICAgICAgICAgICAgICB0aGlzLmNhbnZhcyA9IG51bGw7CisgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgIHZhciBjYW52YXNIZWlnaHQgPSB0aGlzLm9wdGlvbnMuY2FudmFzSGVp
Z2h0OworICAgICAgICAgICAgdmFyIGNhbnZhc1dpZHRoID0gdGhpcy5vcHRpb25zLmNhbnZhc1dp
ZHRoOworCisgICAgICAgICAgICBmb3IodmFyIHk9MDsgeSA8IGNhbnZhc0hlaWdodDsgeSsrKXsK
KyAgICAgICAgICAgICAgICBmb3IodmFyIHg9MDsgeCA8IGNhbnZhc1dpZHRoOyB4KyspeworICAg
ICAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHlwID0g
eSAqIDEuMCAvIGNhbnZhc0hlaWdodCAqIDIgLSAxOworICAgICAgICAgICAgICAgICAgICAgICAg
dmFyIHhwID0geCAqIDEuMCAvIGNhbnZhc1dpZHRoICogMiAtIDE7CisKKyAgICAgICAgICAgICAg
ICAgICAgICAgIHZhciByYXkgPSBzY2VuZS5jYW1lcmEuZ2V0UmF5KHhwLCB5cCk7CisKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHZhciBjb2xvciA9IHRoaXMuZ2V0UGl4ZWxDb2xvcihyYXksIHNj
ZW5lKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRQaXhlbCh4LCB5LCBjb2xv
cik7CisKKyAgICAgICAgICAgICAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgICAgIGlmIChj
aGVja051bWJlciAhPT0gMjMyMSkgeworICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJTY2Vu
ZSByZW5kZXJlZCBpbmNvcnJlY3RseSIpOworICAgICAgICB9CisgICAgfSwKKworICAgIGdldFBp
eGVsQ29sb3I6IGZ1bmN0aW9uKHJheSwgc2NlbmUpeworICAgICAgICB0cnkgeworICAgICAgICAg
ICAgdmFyIGluZm8gPSB0aGlzLnRlc3RJbnRlcnNlY3Rpb24ocmF5LCBzY2VuZSwgbnVsbCk7Cisg
ICAgICAgICAgICBpZihpbmZvLmlzSGl0KXsKKyAgICAgICAgICAgICAgICB2YXIgY29sb3IgPSB0
aGlzLnJheVRyYWNlKGluZm8sIHJheSwgc2NlbmUsIDApOworICAgICAgICAgICAgICAgIHJldHVy
biBjb2xvcjsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJldHVybiBzY2VuZS5iYWNrZ3Jv
dW5kLmNvbG9yOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0sCisKKyAgICB0ZXN0SW50
ZXJzZWN0aW9uOiBmdW5jdGlvbihyYXksIHNjZW5lLCBleGNsdWRlKXsKKyAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgIHZhciBoaXRzID0gMDsKKyAgICAgICAgICAgIHZhciBiZXN0ID0gbmV3IEZs
b2cuUmF5VHJhY2VyLkludGVyc2VjdGlvbkluZm8oKTsKKyAgICAgICAgICAgIGJlc3QuZGlzdGFu
Y2UgPSAyMDAwOworCisgICAgICAgICAgICBmb3IodmFyIGk9MDsgaTxzY2VuZS5zaGFwZXMubGVu
Z3RoOyBpKyspeworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgICAgIHZh
ciBzaGFwZSA9IHNjZW5lLnNoYXBlc1tpXTsKKworICAgICAgICAgICAgICAgICAgICBpZihzaGFw
ZSAhPSBleGNsdWRlKXsKKyAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpbmZvID0gc2hhcGUu
aW50ZXJzZWN0KHJheSk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZihpbmZvLmlzSGl0ICYm
IGluZm8uZGlzdGFuY2UgPj0gMCAmJiBpbmZvLmRpc3RhbmNlIDwgYmVzdC5kaXN0YW5jZSl7Cisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVzdCA9IGluZm87CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgaGl0cysrOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAg
ICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgICAgICAg
ICAgfQorICAgICAgICAgICAgYmVzdC5oaXRDb3VudCA9IGhpdHM7CisKKyAgICAgICAgfSBjYXRj
aChlKSB7IH0KKyAgICAgICAgcmV0dXJuIGJlc3Q7CisgICAgfSwKKworICAgIGdldFJlZmxlY3Rp
b25SYXk6IGZ1bmN0aW9uKFAsTixWKXsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciBj
MSA9IC1OLmRvdChWKTsKKyAgICAgICAgICAgIHZhciBSMSA9IEZsb2cuUmF5VHJhY2VyLlZlY3Rv
ci5wcm90b3R5cGUuYWRkKAorICAgICAgICAgICAgICAgICAgICBGbG9nLlJheVRyYWNlci5WZWN0
b3IucHJvdG90eXBlLm11bHRpcGx5U2NhbGFyKE4sIDIqYzEpLAorICAgICAgICAgICAgICAgICAg
ICBWCisgICAgICAgICAgICAgICAgICAgICk7CisKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAg
ICAgICAgcmV0dXJuIG5ldyBGbG9nLlJheVRyYWNlci5SYXkoUCwgUjEpOworICAgIH0sCisKKyAg
ICByYXlUcmFjZTogZnVuY3Rpb24oaW5mbywgcmF5LCBzY2VuZSwgZGVwdGgpeworICAgICAgICAv
LyBDYWxjIGFtYmllbnQKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciBjb2xvciA9IEZs
b2cuUmF5VHJhY2VyLkNvbG9yLnByb3RvdHlwZS5tdWx0aXBseVNjYWxhcihpbmZvLmNvbG9yLCBz
Y2VuZS5iYWNrZ3JvdW5kLmFtYmllbmNlKTsKKyAgICAgICAgICAgIHZhciBvbGRDb2xvciA9IGNv
bG9yOworICAgICAgICAgICAgdmFyIHNoaW5pbmVzcyA9IE1hdGgucG93KDEwLCBpbmZvLnNoYXBl
Lm1hdGVyaWFsLmdsb3NzICsgMSk7CisKKyAgICAgICAgICAgIGZvcih2YXIgaT0wOyBpPHNjZW5l
LmxpZ2h0cy5sZW5ndGg7IGkrKyl7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
ICAgICAgICAgdmFyIGxpZ2h0ID0gc2NlbmUubGlnaHRzW2ldOworCisgICAgICAgICAgICAgICAg
ICAgIC8vIENhbGMgZGlmZnVzZSBsaWdodGluZworICAgICAgICAgICAgICAgICAgICB2YXIgdiA9
IEZsb2cuUmF5VHJhY2VyLlZlY3Rvci5wcm90b3R5cGUuc3VidHJhY3QoCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgbGlnaHQucG9zaXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW5mby5wb3NpdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICkubm9ybWFsaXpl
KCk7CisKKyAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5vcHRpb25zLnJlbmRlckRpZmZ1c2Up
eworICAgICAgICAgICAgICAgICAgICAgICAgdmFyIEwgPSB2LmRvdChpbmZvLm5vcm1hbCk7Cisg
ICAgICAgICAgICAgICAgICAgICAgICBpZihMID4gMC4wKXsKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb2xvciA9IEZsb2cuUmF5VHJhY2VyLkNvbG9yLnByb3RvdHlwZS5hZGQoCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvciwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEZsb2cuUmF5VHJhY2VyLkNvbG9yLnByb3RvdHlwZS5tdWx0aXBs
eSgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLmNvbG9yLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZsb2cuUmF5VHJhY2VyLkNv
bG9yLnByb3RvdHlwZS5tdWx0aXBseVNjYWxhcigKKyAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgbGlnaHQuY29sb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIEwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7CisgICAgICAgICAgICAgICAgICAg
ICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIH0gY2F0Y2go
ZSkgeyB9CisKKyAgICAgICAgICAgICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICAvLyBU
aGUgZ3JlYXRlciB0aGUgZGVwdGggdGhlIG1vcmUgYWNjdXJhdGUgdGhlIGNvbG91cnMsIGJ1dAor
ICAgICAgICAgICAgICAgICAgICAvLyB0aGlzIGlzIGV4cG9uZW50aWFsbHkgKCEpIGV4cGVuc2l2
ZQorICAgICAgICAgICAgICAgICAgICBpZihkZXB0aCA8PSB0aGlzLm9wdGlvbnMucmF5RGVwdGgp
eworICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2FsY3VsYXRlIHJlZmxlY3Rpb24gcmF5Cisg
ICAgICAgICAgICAgICAgICAgICAgICBpZih0aGlzLm9wdGlvbnMucmVuZGVyUmVmbGVjdGlvbnMg
JiYgaW5mby5zaGFwZS5tYXRlcmlhbC5yZWZsZWN0aW9uID4gMCkKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgcmVmbGVjdGlvblJheSA9
IHRoaXMuZ2V0UmVmbGVjdGlvblJheShpbmZvLnBvc2l0aW9uLCBpbmZvLm5vcm1hbCwgcmF5LmRp
cmVjdGlvbik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlZmwgPSB0aGlzLnRl
c3RJbnRlcnNlY3Rpb24ocmVmbGVjdGlvblJheSwgc2NlbmUsIGluZm8uc2hhcGUpOworCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlZmwuaXNIaXQgJiYgcmVmbC5kaXN0YW5jZSA+
IDApeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWZsLmNvbG9yID0gdGhpcy5y
YXlUcmFjZShyZWZsLCByZWZsZWN0aW9uUmF5LCBzY2VuZSwgZGVwdGggKyAxKTsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICByZWZsLmNvbG9yID0gc2NlbmUuYmFja2dyb3VuZC5jb2xvcjsKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvciA9IEZs
b2cuUmF5VHJhY2VyLkNvbG9yLnByb3RvdHlwZS5ibGVuZCgKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbG9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcmVmbC5jb2xvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8u
c2hhcGUubWF0ZXJpYWwucmVmbGVjdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgICAg
ICAgICAgLy8gUmVmcmFjdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgLyogVE9ETyAqLwor
ICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfSAgY2F0Y2goZSkgeyB9CisK
KyAgICAgICAgICAgICAgICAvKiBSZW5kZXIgc2hhZG93cyBhbmQgaGlnaGxpZ2h0cyAqLworCisg
ICAgICAgICAgICAgICAgdmFyIHNoYWRvd0luZm8gPSBuZXcgRmxvZy5SYXlUcmFjZXIuSW50ZXJz
ZWN0aW9uSW5mbygpOworCisgICAgICAgICAgICAgICAgaWYodGhpcy5vcHRpb25zLnJlbmRlclNo
YWRvd3MpeworICAgICAgICAgICAgICAgICAgICB2YXIgc2hhZG93UmF5ID0gbmV3IEZsb2cuUmF5
VHJhY2VyLlJheShpbmZvLnBvc2l0aW9uLCB2KTsKKworICAgICAgICAgICAgICAgICAgICBzaGFk
b3dJbmZvID0gdGhpcy50ZXN0SW50ZXJzZWN0aW9uKHNoYWRvd1JheSwgc2NlbmUsIGluZm8uc2hh
cGUpOworICAgICAgICAgICAgICAgICAgICBpZihzaGFkb3dJbmZvLmlzSGl0ICYmIHNoYWRvd0lu
Zm8uc2hhcGUgIT0gaW5mby5zaGFwZSAvKiYmIHNoYWRvd0luZm8uc2hhcGUudHlwZSAhPSAnUExB
TkUnKi8peworICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZBID0gRmxvZy5SYXlUcmFjZXIu
Q29sb3IucHJvdG90eXBlLm11bHRpcGx5U2NhbGFyKGNvbG9yLCAwLjUpOworICAgICAgICAgICAg
ICAgICAgICAgICAgdmFyIGRCID0gKDAuNSAqIE1hdGgucG93KHNoYWRvd0luZm8uc2hhcGUubWF0
ZXJpYWwudHJhbnNwYXJlbmN5LCAwLjUpKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9y
ID0gRmxvZy5SYXlUcmFjZXIuQ29sb3IucHJvdG90eXBlLmFkZFNjYWxhcih2QSxkQik7CisgICAg
ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICB0
cnkgeworICAgICAgICAgICAgICAgICAgICAvLyBQaG9uZyBzcGVjdWxhciBoaWdobGlnaHRzCisg
ICAgICAgICAgICAgICAgICAgIGlmKHRoaXMub3B0aW9ucy5yZW5kZXJIaWdobGlnaHRzICYmICFz
aGFkb3dJbmZvLmlzSGl0ICYmIGluZm8uc2hhcGUubWF0ZXJpYWwuZ2xvc3MgPiAwKXsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHZhciBMdiA9IEZsb2cuUmF5VHJhY2VyLlZlY3Rvci5wcm90b3R5
cGUuc3VidHJhY3QoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8uc2hhcGUu
cG9zaXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0LnBvc2l0aW9u
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkubm9ybWFsaXplKCk7CisKKyAgICAg
ICAgICAgICAgICAgICAgICAgIHZhciBFID0gRmxvZy5SYXlUcmFjZXIuVmVjdG9yLnByb3RvdHlw
ZS5zdWJ0cmFjdCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NlbmUuY2FtZXJh
LnBvc2l0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLnNoYXBlLnBv
c2l0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICkubm9ybWFsaXplKCk7CisK
KyAgICAgICAgICAgICAgICAgICAgICAgIHZhciBIID0gRmxvZy5SYXlUcmFjZXIuVmVjdG9yLnBy
b3RvdHlwZS5zdWJ0cmFjdCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTHYKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKS5ub3JtYWxpemUoKTsKKworICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGds
b3NzV2VpZ2h0ID0gTWF0aC5wb3coTWF0aC5tYXgoaW5mby5ub3JtYWwuZG90KEgpLCAwKSwgc2hp
bmluZXNzKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yID0gRmxvZy5SYXlUcmFjZXIu
Q29sb3IucHJvdG90eXBlLmFkZCgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmxv
Zy5SYXlUcmFjZXIuQ29sb3IucHJvdG90eXBlLm11bHRpcGx5U2NhbGFyKGxpZ2h0LmNvbG9yLCBn
bG9zc1dlaWdodCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7CisgICAgICAgICAgICAgICAgICAgIH0KKyAg
ICAgICAgICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgICAgICAgICAgfQorICAgICAgICAgICAg
Y29sb3IubGltaXQoKTsKKworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgICAgICByZXR1cm4g
Y29sb3I7CisgICAgfQorfTsKKworCitmdW5jdGlvbiByZW5kZXJTY2VuZSgpeworICAgIHRyeSB7
CisgICAgICAgIHZhciBzY2VuZSA9IG5ldyBGbG9nLlJheVRyYWNlci5TY2VuZSgpOworCisgICAg
ICAgIHNjZW5lLmNhbWVyYSA9IG5ldyBGbG9nLlJheVRyYWNlci5DYW1lcmEoCisgICAgICAgICAg
ICAgICAgbmV3IEZsb2cuUmF5VHJhY2VyLlZlY3RvcigwLCAwLCAtMTUpLAorICAgICAgICAgICAg
ICAgIG5ldyBGbG9nLlJheVRyYWNlci5WZWN0b3IoLTAuMiwgMCwgNSksCisgICAgICAgICAgICAg
ICAgbmV3IEZsb2cuUmF5VHJhY2VyLlZlY3RvcigwLCAxLCAwKQorICAgICAgICAgICAgICAgICk7
CisKKyAgICAgICAgc2NlbmUuYmFja2dyb3VuZCA9IG5ldyBGbG9nLlJheVRyYWNlci5CYWNrZ3Jv
dW5kKAorICAgICAgICAgICAgICAgIG5ldyBGbG9nLlJheVRyYWNlci5Db2xvcigwLjUsIDAuNSwg
MC41KSwKKyAgICAgICAgICAgICAgICAwLjQKKyAgICAgICAgICAgICAgICApOworCisgICAgICAg
IHZhciBzcGhlcmUgPSBuZXcgRmxvZy5SYXlUcmFjZXIuU2hhcGUuU3BoZXJlKAorICAgICAgICAg
ICAgICAgIG5ldyBGbG9nLlJheVRyYWNlci5WZWN0b3IoLTEuNSwgMS41LCAyKSwKKyAgICAgICAg
ICAgICAgICAxLjUsCisgICAgICAgICAgICAgICAgbmV3IEZsb2cuUmF5VHJhY2VyLk1hdGVyaWFs
LlNvbGlkKAorICAgICAgICAgICAgICAgICAgICBuZXcgRmxvZy5SYXlUcmFjZXIuQ29sb3IoMCww
LjUsMC41KSwKKyAgICAgICAgICAgICAgICAgICAgMC4zLAorICAgICAgICAgICAgICAgICAgICAw
LjAsCisgICAgICAgICAgICAgICAgICAgIDAuMCwKKyAgICAgICAgICAgICAgICAgICAgMi4wCisg
ICAgICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICAgICApOworCisgICAgICAgIHZhciBz
cGhlcmUxID0gbmV3IEZsb2cuUmF5VHJhY2VyLlNoYXBlLlNwaGVyZSgKKyAgICAgICAgICAgICAg
ICBuZXcgRmxvZy5SYXlUcmFjZXIuVmVjdG9yKDEsIDAuMjUsIDEpLAorICAgICAgICAgICAgICAg
IDAuNSwKKyAgICAgICAgICAgICAgICBuZXcgRmxvZy5SYXlUcmFjZXIuTWF0ZXJpYWwuU29saWQo
CisgICAgICAgICAgICAgICAgICAgIG5ldyBGbG9nLlJheVRyYWNlci5Db2xvcigwLjksMC45LDAu
OSksCisgICAgICAgICAgICAgICAgICAgIDAuMSwKKyAgICAgICAgICAgICAgICAgICAgMC4wLAor
ICAgICAgICAgICAgICAgICAgICAwLjAsCisgICAgICAgICAgICAgICAgICAgIDEuNQorICAgICAg
ICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgKTsKKworICAgICAgICB2YXIgcGxhbmUg
PSBuZXcgRmxvZy5SYXlUcmFjZXIuU2hhcGUuUGxhbmUoCisgICAgICAgICAgICAgICAgbmV3IEZs
b2cuUmF5VHJhY2VyLlZlY3RvcigwLjEsIDAuOSwgLTAuNSkubm9ybWFsaXplKCksCisgICAgICAg
ICAgICAgICAgMS4yLAorICAgICAgICAgICAgICAgIG5ldyBGbG9nLlJheVRyYWNlci5NYXRlcmlh
bC5DaGVzc2JvYXJkKAorICAgICAgICAgICAgICAgICAgICBuZXcgRmxvZy5SYXlUcmFjZXIuQ29s
b3IoMSwxLDEpLAorICAgICAgICAgICAgICAgICAgICBuZXcgRmxvZy5SYXlUcmFjZXIuQ29sb3Io
MCwwLDApLAorICAgICAgICAgICAgICAgICAgICAwLjIsCisgICAgICAgICAgICAgICAgICAgIDAu
MCwKKyAgICAgICAgICAgICAgICAgICAgMS4wLAorICAgICAgICAgICAgICAgICAgICAwLjcKKyAg
ICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICk7CisKKyAgICAgICAgc2NlbmUu
c2hhcGVzLnB1c2gocGxhbmUpOworICAgICAgICBzY2VuZS5zaGFwZXMucHVzaChzcGhlcmUpOwor
ICAgICAgICBzY2VuZS5zaGFwZXMucHVzaChzcGhlcmUxKTsKKworICAgICAgICB2YXIgbGlnaHQg
PSBuZXcgRmxvZy5SYXlUcmFjZXIuTGlnaHQoCisgICAgICAgICAgICAgICAgbmV3IEZsb2cuUmF5
VHJhY2VyLlZlY3Rvcig1LCAxMCwgLTEpLAorICAgICAgICAgICAgICAgIG5ldyBGbG9nLlJheVRy
YWNlci5Db2xvcigwLjgsIDAuOCwgMC44KQorICAgICAgICAgICAgICAgICk7CisKKyAgICAgICAg
dmFyIGxpZ2h0MSA9IG5ldyBGbG9nLlJheVRyYWNlci5MaWdodCgKKyAgICAgICAgICAgICAgICBu
ZXcgRmxvZy5SYXlUcmFjZXIuVmVjdG9yKC0zLCA1LCAtMTUpLAorICAgICAgICAgICAgICAgIG5l
dyBGbG9nLlJheVRyYWNlci5Db2xvcigwLjgsIDAuOCwgMC44KSwKKyAgICAgICAgICAgICAgICAx
MDAKKyAgICAgICAgICAgICAgICApOworCisgICAgICAgIHNjZW5lLmxpZ2h0cy5wdXNoKGxpZ2h0
KTsKKyAgICAgICAgc2NlbmUubGlnaHRzLnB1c2gobGlnaHQxKTsKKworICAgICAgICB2YXIgaW1h
Z2VXaWR0aCA9IDEwMDsgLy8gJEYoJ2ltYWdlV2lkdGgnKTsKKyAgICAgICAgdmFyIGltYWdlSGVp
Z2h0ID0gMTAwOyAvLyAkRignaW1hZ2VIZWlnaHQnKTsKKyAgICAgICAgdmFyIHBpeGVsU2l6ZSA9
ICI1LDUiLnNwbGl0KCcsJyk7IC8vICAkRigncGl4ZWxTaXplJykuc3BsaXQoJywnKTsKKyAgICAg
ICAgdmFyIHJlbmRlckRpZmZ1c2UgPSB0cnVlOyAvLyAkRigncmVuZGVyRGlmZnVzZScpOworICAg
ICAgICB2YXIgcmVuZGVyU2hhZG93cyA9IHRydWU7IC8vICRGKCdyZW5kZXJTaGFkb3dzJyk7Cisg
ICAgICAgIHZhciByZW5kZXJIaWdobGlnaHRzID0gdHJ1ZTsgLy8gJEYoJ3JlbmRlckhpZ2hsaWdo
dHMnKTsKKyAgICAgICAgdmFyIHJlbmRlclJlZmxlY3Rpb25zID0gdHJ1ZTsgLy8gJEYoJ3JlbmRl
clJlZmxlY3Rpb25zJyk7CisgICAgICAgIHZhciByYXlEZXB0aCA9IDI7Ly8kRigncmF5RGVwdGgn
KTsKKworICAgICAgICB2YXIgcmF5dHJhY2VyID0gbmV3IEZsb2cuUmF5VHJhY2VyLkVuZ2luZSgK
KyAgICAgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgICAgIGNhbnZhc1dpZHRoOiBpbWFn
ZVdpZHRoLAorICAgICAgICAgICAgICAgICAgICBjYW52YXNIZWlnaHQ6IGltYWdlSGVpZ2h0LAor
ICAgICAgICAgICAgICAgICAgICBwaXhlbFdpZHRoOiBwaXhlbFNpemVbMF0sCisgICAgICAgICAg
ICAgICAgICAgIHBpeGVsSGVpZ2h0OiBwaXhlbFNpemVbMV0sCisgICAgICAgICAgICAgICAgICAg
ICJyZW5kZXJEaWZmdXNlIjogcmVuZGVyRGlmZnVzZSwKKyAgICAgICAgICAgICAgICAgICAgInJl
bmRlckhpZ2hsaWdodHMiOiByZW5kZXJIaWdobGlnaHRzLAorICAgICAgICAgICAgICAgICAgICAi
cmVuZGVyU2hhZG93cyI6IHJlbmRlclNoYWRvd3MsCisgICAgICAgICAgICAgICAgICAgICJyZW5k
ZXJSZWZsZWN0aW9ucyI6IHJlbmRlclJlZmxlY3Rpb25zLAorICAgICAgICAgICAgICAgICAgICAi
cmF5RGVwdGgiOiByYXlEZXB0aAorICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAp
OworCisgICAgICAgIHJheXRyYWNlci5yZW5kZXJTY2VuZShzY2VuZSwgbnVsbCwgMCk7CisgICAg
fSBjYXRjaChlKSB7IH0KK30KKworZm9yICh2YXIgaSA9IDA7IGkgPCA2OyArK2kpCisgICAgcmVu
ZGVyU2NlbmUoKTsKSW5kZXg6IExheW91dFRlc3RzL2pzL3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL3Y4
LXJheXRyYWNlLXdpdGgtdHJ5LWNhdGNoLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2pz
L3JlZ3Jlc3Mvc2NyaXB0LXRlc3RzL3Y4LXJheXRyYWNlLXdpdGgtdHJ5LWNhdGNoLmpzCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvanMvcmVncmVzcy9zY3JpcHQtdGVzdHMvdjgtcmF5dHJh
Y2Utd2l0aC10cnktY2F0Y2guanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxMTAxIEBACisv
LyBUaGUgcmF5IHRyYWNlciBjb2RlIGluIHRoaXMgZmlsZSBpcyB3cml0dGVuIGJ5IEFkYW0gQnVy
bWlzdGVyLiBJdAorLy8gaXMgYXZhaWxhYmxlIGluIGl0cyBvcmlnaW5hbCBmb3JtIGZyb206Cisv
LworLy8gICBodHRwOi8vbGFicy5mbG9nLm56LmNvL3JheXRyYWNlci8KKy8vCisvLyBJdCBoYXMg
YmVlbiBtb2RpZmllZCBzbGlnaHRseSBieSBHb29nbGUgdG8gd29yayBhcyBhIHN0YW5kYWxvbmUK
Ky8vIGJlbmNobWFyaywgYnV0IHRoZSBhbGwgdGhlIGNvbXB1dGF0aW9uYWwgY29kZSByZW1haW5z
CisvLyB1bnRvdWNoZWQuIFRoaXMgZmlsZSBhbHNvIGNvbnRhaW5zIGEgY29weSBvZiBwYXJ0cyBv
ZiB0aGUgUHJvdG90eXBlCisvLyBKYXZhU2NyaXB0IGZyYW1ld29yayB3aGljaCBpcyB1c2VkIGJ5
IHRoZSByYXkgdHJhY2VyLgorCisvLyBWYXJpYWJsZSB1c2VkIHRvIGhvbGQgYSBudW1iZXIgdGhh
dCBjYW4gYmUgdXNlZCB0byB2ZXJpZnkgdGhhdAorLy8gdGhlIHNjZW5lIHdhcyByYXkgdHJhY2Vk
IGNvcnJlY3RseS4KK3ZhciBjaGVja051bWJlcjsKKworCisvLyAtLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8v
IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLQorCisvLyBUaGUgZm9sbG93aW5nIGlzIGEgY29weSBvZiBwYXJ0cyBv
ZiB0aGUgUHJvdG90eXBlIEphdmFTY3JpcHQgbGlicmFyeToKKworLy8gUHJvdG90eXBlIEphdmFT
Y3JpcHQgZnJhbWV3b3JrLCB2ZXJzaW9uIDEuNS4wCisvLyAoYykgMjAwNS0yMDA3IFNhbSBTdGVw
aGVuc29uCisvLworLy8gUHJvdG90eXBlIGlzIGZyZWVseSBkaXN0cmlidXRhYmxlIHVuZGVyIHRo
ZSB0ZXJtcyBvZiBhbiBNSVQtc3R5bGUgbGljZW5zZS4KKy8vIEZvciBkZXRhaWxzLCBzZWUgdGhl
IFByb3RvdHlwZSB3ZWIgc2l0ZTogaHR0cDovL3Byb3RvdHlwZS5jb25pby5uZXQvCisKK2xldCBf
X2V4Y2VwdGlvbkNvdW50ZXIgPSAwOworZnVuY3Rpb24gcmFuZG9tRXhjZXB0aW9uKCkgeworICAg
IF9fZXhjZXB0aW9uQ291bnRlcisrOworICAgIGlmIChfX2V4Y2VwdGlvbkNvdW50ZXIgJSA1MDAg
PT09IDApIHsKKyAgICAgICAgdGhyb3cgbmV3IEVycm9yKCJyYW5kbyIpOworICAgIH0KK30KK25v
SW5saW5lKHJhbmRvbUV4Y2VwdGlvbik7CisKK3ZhciBDbGFzcyA9IHsKKyAgICBjcmVhdGU6IGZ1
bmN0aW9uKCkgeworICAgICAgICByZXR1cm4gZnVuY3Rpb24oKSB7CisgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgIHRoaXMuaW5pdGlhbGl6ZS5hcHBseSh0aGlzLCBhcmd1bWVudHMp
OworICAgICAgICAgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgICAgICAgICAgfSBjYXRj
aChlKSB7IH0KKyAgICAgICAgfQorICAgIH0KK307CisKKworT2JqZWN0LmV4dGVuZCA9IGZ1bmN0
aW9uKGRlc3RpbmF0aW9uLCBzb3VyY2UpIHsKKyAgICBmb3IgKHZhciBwcm9wZXJ0eSBpbiBzb3Vy
Y2UpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIGRlc3RpbmF0aW9uW3Byb3BlcnR5XSA9
IHNvdXJjZVtwcm9wZXJ0eV07CisgICAgICAgICAgICByYW5kb21FeGNlcHRpb24oKTsKKyAgICAg
ICAgfSBjYXRjaChlKSB7IH0KKyAgICB9CisgICAgcmV0dXJuIGRlc3RpbmF0aW9uOworfTsKKwor
CisvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0KKy8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisvLyBUaGUgcmVzdCBv
ZiB0aGlzIGZpbGUgaXMgdGhlIGFjdHVhbCByYXkgdHJhY2VyIHdyaXR0ZW4gYnkgQWRhbQorLy8g
QnVybWlzdGVyLiBJdCdzIGEgY29uY2F0ZW5hdGlvbiBvZiB0aGUgZm9sbG93aW5nIGZpbGVzOgor
Ly8KKy8vICAgZmxvZy9jb2xvci5qcworLy8gICBmbG9nL2xpZ2h0LmpzCisvLyAgIGZsb2cvdmVj
dG9yLmpzCisvLyAgIGZsb2cvcmF5LmpzCisvLyAgIGZsb2cvc2NlbmUuanMKKy8vICAgZmxvZy9t
YXRlcmlhbC9iYXNlbWF0ZXJpYWwuanMKKy8vICAgZmxvZy9tYXRlcmlhbC9zb2xpZC5qcworLy8g
ICBmbG9nL21hdGVyaWFsL2NoZXNzYm9hcmQuanMKKy8vICAgZmxvZy9zaGFwZS9iYXNlc2hhcGUu
anMKKy8vICAgZmxvZy9zaGFwZS9zcGhlcmUuanMKKy8vICAgZmxvZy9zaGFwZS9wbGFuZS5qcwor
Ly8gICBmbG9nL2ludGVyc2VjdGlvbmluZm8uanMKKy8vICAgZmxvZy9jYW1lcmEuanMKKy8vICAg
ZmxvZy9iYWNrZ3JvdW5kLmpzCisvLyAgIGZsb2cvZW5naW5lLmpzCisKKworLyogRmFrZSBhIEZs
b2cuKiBuYW1lc3BhY2UgKi8KK2lmKHR5cGVvZihGbG9nKSA9PSAndW5kZWZpbmVkJykgdmFyIEZs
b2cgPSB7fTsKK2lmKHR5cGVvZihGbG9nLlJheVRyYWNlcikgPT0gJ3VuZGVmaW5lZCcpIEZsb2cu
UmF5VHJhY2VyID0ge307CisKK0Zsb2cuUmF5VHJhY2VyLkNvbG9yID0gQ2xhc3MuY3JlYXRlKCk7
CisKK0Zsb2cuUmF5VHJhY2VyLkNvbG9yLnByb3RvdHlwZSA9IHsKKyAgICByZWQgOiAwLjAsCisg
ICAgZ3JlZW4gOiAwLjAsCisgICAgYmx1ZSA6IDAuMCwKKworICAgIGluaXRpYWxpemUgOiBmdW5j
dGlvbihyLCBnLCBiKSB7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICBpZighcikgciA9IDAu
MDsKKyAgICAgICAgICAgIGlmKCFnKSBnID0gMC4wOworICAgICAgICAgICAgaWYoIWIpIGIgPSAw
LjA7CisKKyAgICAgICAgICAgIHRoaXMucmVkID0gcjsKKyAgICAgICAgICAgIHRoaXMuZ3JlZW4g
PSBnOworICAgICAgICAgICAgdGhpcy5ibHVlID0gYjsKKyAgICAgICAgICAgIHJhbmRvbUV4Y2Vw
dGlvbigpOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0sCisKKyAgICBhZGQgOiBmdW5j
dGlvbihjMSwgYzIpeworICAgICAgICB0cnkgeworICAgICAgICAgICAgdmFyIHJlc3VsdCA9IG5l
dyBGbG9nLlJheVRyYWNlci5Db2xvcigwLDAsMCk7CisKKyAgICAgICAgICAgIHJlc3VsdC5yZWQg
PSBjMS5yZWQgKyBjMi5yZWQ7CisgICAgICAgICAgICByZXN1bHQuZ3JlZW4gPSBjMS5ncmVlbiAr
IGMyLmdyZWVuOworICAgICAgICAgICAgcmVzdWx0LmJsdWUgPSBjMS5ibHVlICsgYzIuYmx1ZTsK
KworICAgICAgICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7CisgICAgICAgIH0gY2F0Y2goZSkgeyB9
CisKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9LAorCisgICAgYWRkU2NhbGFyOiBmdW5j
dGlvbihjMSwgcyl7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB2YXIgcmVzdWx0ID0gbmV3
IEZsb2cuUmF5VHJhY2VyLkNvbG9yKDAsMCwwKTsKKworICAgICAgICAgICAgcmVzdWx0LnJlZCA9
IGMxLnJlZCArIHM7CisgICAgICAgICAgICByZXN1bHQuZ3JlZW4gPSBjMS5ncmVlbiArIHM7Cisg
ICAgICAgICAgICByZXN1bHQuYmx1ZSA9IGMxLmJsdWUgKyBzOworCisgICAgICAgICAgICByZXN1
bHQubGltaXQoKTsKKworICAgICAgICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7CisgICAgICAgIH0g
Y2F0Y2goZSkgeyB9CisKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9LAorCisgICAgc3Vi
dHJhY3Q6IGZ1bmN0aW9uKGMxLCBjMil7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB2YXIg
cmVzdWx0ID0gbmV3IEZsb2cuUmF5VHJhY2VyLkNvbG9yKDAsMCwwKTsKKworICAgICAgICAgICAg
cmVzdWx0LnJlZCA9IGMxLnJlZCAtIGMyLnJlZDsKKyAgICAgICAgICAgIHJlc3VsdC5ncmVlbiA9
IGMxLmdyZWVuIC0gYzIuZ3JlZW47CisgICAgICAgICAgICByZXN1bHQuYmx1ZSA9IGMxLmJsdWUg
LSBjMi5ibHVlOworCisgICAgICAgICAgICByYW5kb21FeGNlcHRpb24oKTsKKyAgICAgICAgfSBj
YXRjaChlKSB7IH0KKworICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0sCisKKyAgICBtdWx0
aXBseSA6IGZ1bmN0aW9uKGMxLCBjMikgeworICAgICAgICB0cnkgeworICAgICAgICAgICAgdmFy
IHJlc3VsdCA9IG5ldyBGbG9nLlJheVRyYWNlci5Db2xvcigwLDAsMCk7CisKKyAgICAgICAgICAg
IHJlc3VsdC5yZWQgPSBjMS5yZWQgKiBjMi5yZWQ7CisgICAgICAgICAgICByZXN1bHQuZ3JlZW4g
PSBjMS5ncmVlbiAqIGMyLmdyZWVuOworICAgICAgICAgICAgcmVzdWx0LmJsdWUgPSBjMS5ibHVl
ICogYzIuYmx1ZTsKKworICAgICAgICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7CisgICAgICAgIH0g
Y2F0Y2goZSkgeyB9CisKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9LAorCisgICAgbXVs
dGlwbHlTY2FsYXIgOiBmdW5jdGlvbihjMSwgZikgeworICAgICAgICB0cnkgeworICAgICAgICAg
ICAgdmFyIHJlc3VsdCA9IG5ldyBGbG9nLlJheVRyYWNlci5Db2xvcigwLDAsMCk7CisKKyAgICAg
ICAgICAgIHJlc3VsdC5yZWQgPSBjMS5yZWQgKiBmOworICAgICAgICAgICAgcmVzdWx0LmdyZWVu
ID0gYzEuZ3JlZW4gKiBmOworICAgICAgICAgICAgcmVzdWx0LmJsdWUgPSBjMS5ibHVlICogZjsK
KworICAgICAgICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7CisgICAgICAgIH0gY2F0Y2goZSkgeyB9
CisKKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9LAorCisgICAgZGl2aWRlRmFjdG9yIDog
ZnVuY3Rpb24oYzEsIGYpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciByZXN1bHQg
PSBuZXcgRmxvZy5SYXlUcmFjZXIuQ29sb3IoMCwwLDApOworCisgICAgICAgICAgICByZXN1bHQu
cmVkID0gYzEucmVkIC8gZjsKKyAgICAgICAgICAgIHJlc3VsdC5ncmVlbiA9IGMxLmdyZWVuIC8g
ZjsKKyAgICAgICAgICAgIHJlc3VsdC5ibHVlID0gYzEuYmx1ZSAvIGY7CisKKyAgICAgICAgICAg
IHJhbmRvbUV4Y2VwdGlvbigpOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorCisgICAgICAgIHJl
dHVybiByZXN1bHQ7CisgICAgfSwKKworICAgIGxpbWl0OiBmdW5jdGlvbigpeworICAgICAgICB0
cnkgeyAKKyAgICAgICAgICAgIHRoaXMucmVkID0gKHRoaXMucmVkID4gMC4wKSA/ICggKHRoaXMu
cmVkID4gMS4wKSA/IDEuMCA6IHRoaXMucmVkICkgOiAwLjA7CisgICAgICAgICAgICB0aGlzLmdy
ZWVuID0gKHRoaXMuZ3JlZW4gPiAwLjApID8gKCAodGhpcy5ncmVlbiA+IDEuMCkgPyAxLjAgOiB0
aGlzLmdyZWVuICkgOiAwLjA7CisgICAgICAgICAgICB0aGlzLmJsdWUgPSAodGhpcy5ibHVlID4g
MC4wKSA/ICggKHRoaXMuYmx1ZSA+IDEuMCkgPyAxLjAgOiB0aGlzLmJsdWUgKSA6IDAuMDsKKwor
ICAgICAgICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7CisgICAgICAgIH0gY2F0Y2goZSkgeyB9Cisg
ICAgfSwKKworICAgIGRpc3RhbmNlIDogZnVuY3Rpb24oY29sb3IpIHsKKyAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgIHZhciBkID0gTWF0aC5hYnModGhpcy5yZWQgLSBjb2xvci5yZWQpICsgTWF0
aC5hYnModGhpcy5ncmVlbiAtIGNvbG9yLmdyZWVuKSArIE1hdGguYWJzKHRoaXMuYmx1ZSAtIGNv
bG9yLmJsdWUpOworICAgICAgICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7CisgICAgICAgIH0gY2F0
Y2goZSkgeyB9CisgICAgICAgIHJldHVybiBkOworICAgIH0sCisKKyAgICBibGVuZDogZnVuY3Rp
b24oYzEsIGMyLCB3KXsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciByZXN1bHQgPSBu
ZXcgRmxvZy5SYXlUcmFjZXIuQ29sb3IoMCwwLDApOworICAgICAgICAgICAgcmVzdWx0ID0gRmxv
Zy5SYXlUcmFjZXIuQ29sb3IucHJvdG90eXBlLmFkZCgKKyAgICAgICAgICAgICAgICAgICAgRmxv
Zy5SYXlUcmFjZXIuQ29sb3IucHJvdG90eXBlLm11bHRpcGx5U2NhbGFyKGMxLCAxIC0gdyksCisg
ICAgICAgICAgICAgICAgICAgIEZsb2cuUmF5VHJhY2VyLkNvbG9yLnByb3RvdHlwZS5tdWx0aXBs
eVNjYWxhcihjMiwgdykKKyAgICAgICAgICAgICAgICAgICAgKTsKKyAgICAgICAgICAgIHJhbmRv
bUV4Y2VwdGlvbigpOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgICAgICByZXR1cm4gcmVz
dWx0OworICAgIH0sCisKKyAgICBicmlnaHRuZXNzIDogZnVuY3Rpb24oKSB7CisgICAgICAgIHRy
eSB7CisgICAgICAgICAgICB2YXIgciA9IE1hdGguZmxvb3IodGhpcy5yZWQqMjU1KTsKKyAgICAg
ICAgICAgIHZhciBnID0gTWF0aC5mbG9vcih0aGlzLmdyZWVuKjI1NSk7CisgICAgICAgICAgICB2
YXIgYiA9IE1hdGguZmxvb3IodGhpcy5ibHVlKjI1NSk7CisgICAgICAgICAgICByYW5kb21FeGNl
cHRpb24oKTsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICAgICAgcmV0dXJuIChyICogNzcg
KyBnICogMTUwICsgYiAqIDI5KSA+PiA4OworICAgIH0sCisKKyAgICB0b1N0cmluZyA6IGZ1bmN0
aW9uICgpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciByID0gTWF0aC5mbG9vcih0
aGlzLnJlZCoyNTUpOworICAgICAgICAgICAgdmFyIGcgPSBNYXRoLmZsb29yKHRoaXMuZ3JlZW4q
MjU1KTsKKyAgICAgICAgICAgIHZhciBiID0gTWF0aC5mbG9vcih0aGlzLmJsdWUqMjU1KTsKKyAg
ICAgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorCisg
ICAgICAgIHJldHVybiAicmdiKCIrIHIgKyIsIisgZyArIiwiKyBiICsiKSI7CisgICAgfQorfQor
LyogRmFrZSBhIEZsb2cuKiBuYW1lc3BhY2UgKi8KK2lmKHR5cGVvZihGbG9nKSA9PSAndW5kZWZp
bmVkJykgdmFyIEZsb2cgPSB7fTsKK2lmKHR5cGVvZihGbG9nLlJheVRyYWNlcikgPT0gJ3VuZGVm
aW5lZCcpIEZsb2cuUmF5VHJhY2VyID0ge307CisKK0Zsb2cuUmF5VHJhY2VyLkxpZ2h0ID0gQ2xh
c3MuY3JlYXRlKCk7CisKK0Zsb2cuUmF5VHJhY2VyLkxpZ2h0LnByb3RvdHlwZSA9IHsKKyAgICBw
b3NpdGlvbjogbnVsbCwKKyAgICBjb2xvcjogbnVsbCwKKyAgICBpbnRlbnNpdHk6IDEwLjAsCisK
KyAgICBpbml0aWFsaXplIDogZnVuY3Rpb24ocG9zLCBjb2xvciwgaW50ZW5zaXR5KSB7CisgICAg
ICAgIHRyeSB7CisgICAgICAgICAgICB0aGlzLnBvc2l0aW9uID0gcG9zOworICAgICAgICAgICAg
dGhpcy5jb2xvciA9IGNvbG9yOworICAgICAgICAgICAgdGhpcy5pbnRlbnNpdHkgPSAoaW50ZW5z
aXR5ID8gaW50ZW5zaXR5IDogMTAuMCk7CisKKyAgICAgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigp
OworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0sCisKKyAgICB0b1N0cmluZyA6IGZ1bmN0
aW9uICgpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciByZXN1bHQgPSAnTGlnaHQg
WycgKyB0aGlzLnBvc2l0aW9uLnggKyAnLCcgKyB0aGlzLnBvc2l0aW9uLnkgKyAnLCcgKyB0aGlz
LnBvc2l0aW9uLnogKyAnXSc7CisgICAgICAgICAgICByYW5kb21FeGNlcHRpb24oKTsKKyAgICAg
ICAgfSBjYXRjaChlKSB7IH0KKyAgICAgICAgcmV0dXJuIHJlc3VsdDsKKyAgICB9Cit9CisvKiBG
YWtlIGEgRmxvZy4qIG5hbWVzcGFjZSAqLworaWYodHlwZW9mKEZsb2cpID09ICd1bmRlZmluZWQn
KSB2YXIgRmxvZyA9IHt9OworaWYodHlwZW9mKEZsb2cuUmF5VHJhY2VyKSA9PSAndW5kZWZpbmVk
JykgRmxvZy5SYXlUcmFjZXIgPSB7fTsKKworRmxvZy5SYXlUcmFjZXIuVmVjdG9yID0gQ2xhc3Mu
Y3JlYXRlKCk7CisKK0Zsb2cuUmF5VHJhY2VyLlZlY3Rvci5wcm90b3R5cGUgPSB7CisgICAgeCA6
IDAuMCwKKyAgICB5IDogMC4wLAorICAgIHogOiAwLjAsCisKKyAgICBpbml0aWFsaXplIDogZnVu
Y3Rpb24oeCwgeSwgeikgeworICAgICAgICB0cnkgeworICAgICAgICAgICAgdGhpcy54ID0gKHgg
PyB4IDogMCk7CisgICAgICAgICAgICB0aGlzLnkgPSAoeSA/IHkgOiAwKTsKKyAgICAgICAgICAg
IHRoaXMueiA9ICh6ID8geiA6IDApOworICAgICAgICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7Cisg
ICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgfSwKKworICAgIGNvcHk6IGZ1bmN0aW9uKHZlY3Rv
cil7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB0aGlzLnggPSB2ZWN0b3IueDsKKyAgICAg
ICAgICAgIHRoaXMueSA9IHZlY3Rvci55OworICAgICAgICAgICAgdGhpcy56ID0gdmVjdG9yLno7
CisgICAgICAgICAgICByYW5kb21FeGNlcHRpb24oKTsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0K
KyAgICB9LAorCisgICAgbm9ybWFsaXplIDogZnVuY3Rpb24oKSB7CisgICAgICAgIHRyeSB7Cisg
ICAgICAgICAgICB2YXIgbSA9IHRoaXMubWFnbml0dWRlKCk7CisgICAgICAgICAgICB2YXIgcmVz
dWx0ID0gbmV3IEZsb2cuUmF5VHJhY2VyLlZlY3Rvcih0aGlzLnggLyBtLCB0aGlzLnkgLyBtLCB0
aGlzLnogLyBtKTsKKyAgICAgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgICAgICB9IGNh
dGNoKGUpIHsgfQorICAgICAgICByZXR1cm4gcmVzdWx0OworICAgIH0sCisKKyAgICBtYWduaXR1
ZGUgOiBmdW5jdGlvbigpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHJldHVybiBNYXRo
LnNxcnQoKHRoaXMueCAqIHRoaXMueCkgKyAodGhpcy55ICogdGhpcy55KSArICh0aGlzLnogKiB0
aGlzLnopKTsKKyAgICAgICAgfSBjYXRjaChlKSAgeyB9CisgICAgfSwKKworICAgIGNyb3NzIDog
ZnVuY3Rpb24odykgeworICAgICAgICB0cnkgeworICAgICAgICAgICAgcmV0dXJuIG5ldyBGbG9n
LlJheVRyYWNlci5WZWN0b3IoCisgICAgICAgICAgICAgICAgICAgIC10aGlzLnogKiB3LnkgKyB0
aGlzLnkgKiB3LnosCisgICAgICAgICAgICAgICAgICAgIHRoaXMueiAqIHcueCAtIHRoaXMueCAq
IHcueiwKKyAgICAgICAgICAgICAgICAgICAgLXRoaXMueSAqIHcueCArIHRoaXMueCAqIHcueSk7
CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgfSwKKworICAgIGRvdCA6IGZ1bmN0aW9uKHcp
IHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHJldHVybiB0aGlzLnggKiB3LnggKyB0aGlz
LnkgKiB3LnkgKyB0aGlzLnogKiB3Lno7CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgfSwK
KworICAgIGFkZCA6IGZ1bmN0aW9uKHYsIHcpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
IHJldHVybiBuZXcgRmxvZy5SYXlUcmFjZXIuVmVjdG9yKHcueCArIHYueCwgdy55ICsgdi55LCB3
LnogKyB2LnopOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0sCisKKyAgICBzdWJ0cmFj
dCA6IGZ1bmN0aW9uKHYsIHcpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIGlmKCF3IHx8
ICF2KSB0aHJvdyAnVmVjdG9ycyBtdXN0IGJlIGRlZmluZWQgWycgKyB2ICsgJywnICsgdyArICdd
JzsKKyAgICAgICAgICAgIHJldHVybiBuZXcgRmxvZy5SYXlUcmFjZXIuVmVjdG9yKHYueCAtIHcu
eCwgdi55IC0gdy55LCB2LnogLSB3LnopOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0s
CisKKyAgICBtdWx0aXBseVZlY3RvciA6IGZ1bmN0aW9uKHYsIHcpIHsKKyAgICAgICAgdHJ5IHsK
KyAgICAgICAgICAgIHJldHVybiBuZXcgRmxvZy5SYXlUcmFjZXIuVmVjdG9yKHYueCAqIHcueCwg
di55ICogdy55LCB2LnogKiB3LnopOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0sCisK
KyAgICBtdWx0aXBseVNjYWxhciA6IGZ1bmN0aW9uKHYsIHcpIHsKKyAgICAgICAgdHJ5IHsKKyAg
ICAgICAgICAgIHJldHVybiBuZXcgRmxvZy5SYXlUcmFjZXIuVmVjdG9yKHYueCAqIHcsIHYueSAq
IHcsIHYueiAqIHcpOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0sCisKKyAgICB0b1N0
cmluZyA6IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHJldHVybiAn
VmVjdG9yIFsnICsgdGhpcy54ICsgJywnICsgdGhpcy55ICsgJywnICsgdGhpcy56ICsgJ10nOwor
ICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0KK30KKy8qIEZha2UgYSBGbG9nLiogbmFtZXNw
YWNlICovCitpZih0eXBlb2YoRmxvZykgPT0gJ3VuZGVmaW5lZCcpIHZhciBGbG9nID0ge307Citp
Zih0eXBlb2YoRmxvZy5SYXlUcmFjZXIpID09ICd1bmRlZmluZWQnKSBGbG9nLlJheVRyYWNlciA9
IHt9OworCitGbG9nLlJheVRyYWNlci5SYXkgPSBDbGFzcy5jcmVhdGUoKTsKKworRmxvZy5SYXlU
cmFjZXIuUmF5LnByb3RvdHlwZSA9IHsKKyAgICBwb3NpdGlvbiA6IG51bGwsCisgICAgZGlyZWN0
aW9uIDogbnVsbCwKKyAgICBpbml0aWFsaXplIDogZnVuY3Rpb24ocG9zLCBkaXIpIHsKKyAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgIHRoaXMucG9zaXRpb24gPSBwb3M7CisgICAgICAgICAgICB0
aGlzLmRpcmVjdGlvbiA9IGRpcjsKKyAgICAgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAg
ICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0sCisKKyAgICB0b1N0cmluZyA6IGZ1bmN0aW9uICgp
IHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHJldHVybiAnUmF5IFsnICsgdGhpcy5wb3Np
dGlvbiArICcsJyArIHRoaXMuZGlyZWN0aW9uICsgJ10nOworICAgICAgICB9IGNhdGNoKGUpIHsg
fQorICAgIH0KK30KKy8qIEZha2UgYSBGbG9nLiogbmFtZXNwYWNlICovCitpZih0eXBlb2YoRmxv
ZykgPT0gJ3VuZGVmaW5lZCcpIHZhciBGbG9nID0ge307CitpZih0eXBlb2YoRmxvZy5SYXlUcmFj
ZXIpID09ICd1bmRlZmluZWQnKSBGbG9nLlJheVRyYWNlciA9IHt9OworCitGbG9nLlJheVRyYWNl
ci5TY2VuZSA9IENsYXNzLmNyZWF0ZSgpOworCitGbG9nLlJheVRyYWNlci5TY2VuZS5wcm90b3R5
cGUgPSB7CisgICAgY2FtZXJhIDogbnVsbCwKKyAgICBzaGFwZXMgOiBbXSwKKyAgICBsaWdodHMg
OiBbXSwKKyAgICBiYWNrZ3JvdW5kIDogbnVsbCwKKworICAgIGluaXRpYWxpemUgOiBmdW5jdGlv
bigpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHRoaXMuY2FtZXJhID0gbmV3IEZsb2cu
UmF5VHJhY2VyLkNhbWVyYSgKKyAgICAgICAgICAgICAgICAgICAgbmV3IEZsb2cuUmF5VHJhY2Vy
LlZlY3RvcigwLDAsLTUpLAorICAgICAgICAgICAgICAgICAgICBuZXcgRmxvZy5SYXlUcmFjZXIu
VmVjdG9yKDAsMCwxKSwKKyAgICAgICAgICAgICAgICAgICAgbmV3IEZsb2cuUmF5VHJhY2VyLlZl
Y3RvcigwLDEsMCkKKyAgICAgICAgICAgICAgICAgICAgKTsKKyAgICAgICAgICAgIHRoaXMuc2hh
cGVzID0gbmV3IEFycmF5KCk7CisgICAgICAgICAgICB0aGlzLmxpZ2h0cyA9IG5ldyBBcnJheSgp
OworICAgICAgICAgICAgdGhpcy5iYWNrZ3JvdW5kID0gbmV3IEZsb2cuUmF5VHJhY2VyLkJhY2tn
cm91bmQobmV3IEZsb2cuUmF5VHJhY2VyLkNvbG9yKDAsMCwwLjUpLCAwLjIpOworCisgICAgICAg
ICAgICByYW5kb21FeGNlcHRpb24oKTsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICB9Cit9
CisvKiBGYWtlIGEgRmxvZy4qIG5hbWVzcGFjZSAqLworaWYodHlwZW9mKEZsb2cpID09ICd1bmRl
ZmluZWQnKSB2YXIgRmxvZyA9IHt9OworaWYodHlwZW9mKEZsb2cuUmF5VHJhY2VyKSA9PSAndW5k
ZWZpbmVkJykgRmxvZy5SYXlUcmFjZXIgPSB7fTsKK2lmKHR5cGVvZihGbG9nLlJheVRyYWNlci5N
YXRlcmlhbCkgPT0gJ3VuZGVmaW5lZCcpIEZsb2cuUmF5VHJhY2VyLk1hdGVyaWFsID0ge307CisK
K0Zsb2cuUmF5VHJhY2VyLk1hdGVyaWFsLkJhc2VNYXRlcmlhbCA9IENsYXNzLmNyZWF0ZSgpOwor
CitGbG9nLlJheVRyYWNlci5NYXRlcmlhbC5CYXNlTWF0ZXJpYWwucHJvdG90eXBlID0geworCisg
ICAgZ2xvc3M6IDIuMCwgICAgICAgICAgICAgLy8gWzAuLi5pbmZpbml0eV0gMCA9IG1hdHQKKyAg
ICB0cmFuc3BhcmVuY3k6IDAuMCwgICAgICAvLyAwPW9wYXF1ZQorICAgIHJlZmxlY3Rpb246IDAu
MCwgICAgICAgIC8vIFswLi4uaW5maW5pdHldIDAgPSBubyByZWZsZWN0aW9uCisgICAgcmVmcmFj
dGlvbjogMC41MCwKKyAgICBoYXNUZXh0dXJlOiBmYWxzZSwKKworICAgIGluaXRpYWxpemUgOiBm
dW5jdGlvbigpIHsKKworICAgIH0sCisKKyAgICBnZXRDb2xvcjogZnVuY3Rpb24odSwgdil7CisK
KyAgICB9LAorCisgICAgd3JhcFVwOiBmdW5jdGlvbih0KXsKKyAgICAgICAgdHJ5IHsKKyAgICAg
ICAgICAgIHQgPSB0ICUgMi4wOworICAgICAgICAgICAgaWYodCA8IC0xKSB0ICs9IDIuMDsKKyAg
ICAgICAgICAgIGlmKHQgPj0gMSkgdCAtPSAyLjA7CisgICAgICAgICAgICByYW5kb21FeGNlcHRp
b24oKTsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICAgICAgcmV0dXJuIHQ7CisgICAgfSwK
KworICAgIHRvU3RyaW5nIDogZnVuY3Rpb24gKCkgeworICAgICAgICB0cnkgeworICAgICAgICAg
ICAgcmV0dXJuICdNYXRlcmlhbCBbZ2xvc3M9JyArIHRoaXMuZ2xvc3MgKyAnLCB0cmFuc3BhcmVu
Y3k9JyArIHRoaXMudHJhbnNwYXJlbmN5ICsgJywgaGFzVGV4dHVyZT0nICsgdGhpcy5oYXNUZXh0
dXJlICsnXSc7CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgfQorfQorLyogRmFrZSBhIEZs
b2cuKiBuYW1lc3BhY2UgKi8KK2lmKHR5cGVvZihGbG9nKSA9PSAndW5kZWZpbmVkJykgdmFyIEZs
b2cgPSB7fTsKK2lmKHR5cGVvZihGbG9nLlJheVRyYWNlcikgPT0gJ3VuZGVmaW5lZCcpIEZsb2cu
UmF5VHJhY2VyID0ge307CisKK0Zsb2cuUmF5VHJhY2VyLk1hdGVyaWFsLlNvbGlkID0gQ2xhc3Mu
Y3JlYXRlKCk7CisKK0Zsb2cuUmF5VHJhY2VyLk1hdGVyaWFsLlNvbGlkLnByb3RvdHlwZSA9IE9i
amVjdC5leHRlbmQoCisgICAgICAgIG5ldyBGbG9nLlJheVRyYWNlci5NYXRlcmlhbC5CYXNlTWF0
ZXJpYWwoKSwgeworICAgICAgICAgICAgaW5pdGlhbGl6ZSA6IGZ1bmN0aW9uKGNvbG9yLCByZWZs
ZWN0aW9uLCByZWZyYWN0aW9uLCB0cmFuc3BhcmVuY3ksIGdsb3NzKSB7CisgICAgICAgICAgICAg
ICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5jb2xvciA9IGNvbG9yOworICAgICAg
ICAgICAgICAgICAgICB0aGlzLnJlZmxlY3Rpb24gPSByZWZsZWN0aW9uOworICAgICAgICAgICAg
ICAgICAgICB0aGlzLnRyYW5zcGFyZW5jeSA9IHRyYW5zcGFyZW5jeTsKKyAgICAgICAgICAgICAg
ICAgICAgdGhpcy5nbG9zcyA9IGdsb3NzOworICAgICAgICAgICAgICAgICAgICB0aGlzLmhhc1Rl
eHR1cmUgPSBmYWxzZTsKKyAgICAgICAgICAgICAgICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7Cisg
ICAgICAgICAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICAgICAgICAgIH0sCisKKyAgICAgICAg
ICAgIGdldENvbG9yOiBmdW5jdGlvbih1LCB2KXsKKyAgICAgICAgICAgICAgICB0cnkgeworICAg
ICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jb2xvcjsKKyAgICAgICAgICAgICAgICB9IGNh
dGNoKGUpIHsgfQorICAgICAgICAgICAgfSwKKworICAgICAgICAgICAgdG9TdHJpbmcgOiBmdW5j
dGlvbiAoKSB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgcmV0
dXJuICdTb2xpZE1hdGVyaWFsIFtnbG9zcz0nICsgdGhpcy5nbG9zcyArICcsIHRyYW5zcGFyZW5j
eT0nICsgdGhpcy50cmFuc3BhcmVuY3kgKyAnLCBoYXNUZXh0dXJlPScgKyB0aGlzLmhhc1RleHR1
cmUgKyddJzsKKyAgICAgICAgICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgICAgICk7CisvKiBGYWtlIGEgRmxvZy4qIG5hbWVzcGFjZSAqLworaWYo
dHlwZW9mKEZsb2cpID09ICd1bmRlZmluZWQnKSB2YXIgRmxvZyA9IHt9OworaWYodHlwZW9mKEZs
b2cuUmF5VHJhY2VyKSA9PSAndW5kZWZpbmVkJykgRmxvZy5SYXlUcmFjZXIgPSB7fTsKKworRmxv
Zy5SYXlUcmFjZXIuTWF0ZXJpYWwuQ2hlc3Nib2FyZCA9IENsYXNzLmNyZWF0ZSgpOworCitGbG9n
LlJheVRyYWNlci5NYXRlcmlhbC5DaGVzc2JvYXJkLnByb3RvdHlwZSA9IE9iamVjdC5leHRlbmQo
CisgICAgICAgIG5ldyBGbG9nLlJheVRyYWNlci5NYXRlcmlhbC5CYXNlTWF0ZXJpYWwoKSwgewor
ICAgICAgICAgICAgY29sb3JFdmVuOiBudWxsLAorICAgICAgICAgICAgY29sb3JPZGQ6IG51bGws
CisgICAgICAgICAgICBkZW5zaXR5OiAwLjUsCisKKyAgICAgICAgICAgIGluaXRpYWxpemUgOiBm
dW5jdGlvbihjb2xvckV2ZW4sIGNvbG9yT2RkLCByZWZsZWN0aW9uLCB0cmFuc3BhcmVuY3ksIGds
b3NzLCBkZW5zaXR5KSB7CisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAg
ICAgdGhpcy5jb2xvckV2ZW4gPSBjb2xvckV2ZW47CisgICAgICAgICAgICAgICAgICAgIHRoaXMu
Y29sb3JPZGQgPSBjb2xvck9kZDsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWZsZWN0aW9u
ID0gcmVmbGVjdGlvbjsKKyAgICAgICAgICAgICAgICAgICAgdGhpcy50cmFuc3BhcmVuY3kgPSB0
cmFuc3BhcmVuY3k7CisgICAgICAgICAgICAgICAgICAgIHRoaXMuZ2xvc3MgPSBnbG9zczsKKyAg
ICAgICAgICAgICAgICAgICAgdGhpcy5kZW5zaXR5ID0gZGVuc2l0eTsKKyAgICAgICAgICAgICAg
ICAgICAgdGhpcy5oYXNUZXh0dXJlID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgcmFuZG9t
RXhjZXB0aW9uKCk7CisgICAgICAgICAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICAgICAgICAg
IH0sCisKKyAgICAgICAgICAgIGdldENvbG9yOiBmdW5jdGlvbih1LCB2KXsKKyAgICAgICAgICAg
ICAgICB0cnkgeworICAgICAgICAgICAgICAgICAgICB2YXIgdCA9IHRoaXMud3JhcFVwKHUgKiB0
aGlzLmRlbnNpdHkpICogdGhpcy53cmFwVXAodiAqIHRoaXMuZGVuc2l0eSk7CisgICAgICAgICAg
ICAgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgICAgICAgICAgICAgIH0gY2F0Y2goZSkg
eyB9CisKKyAgICAgICAgICAgICAgICBpZih0IDwgMC4wKQorICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gdGhpcy5jb2xvckV2ZW47CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gdGhpcy5jb2xvck9kZDsKKyAgICAgICAgICAgIH0sCisKKyAgICAgICAg
ICAgIHRvU3RyaW5nIDogZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgIHRyeSB7CisgICAg
ICAgICAgICAgICAgICAgIHJldHVybiAnQ2hlc3NNYXRlcmlhbCBbZ2xvc3M9JyArIHRoaXMuZ2xv
c3MgKyAnLCB0cmFuc3BhcmVuY3k9JyArIHRoaXMudHJhbnNwYXJlbmN5ICsgJywgaGFzVGV4dHVy
ZT0nICsgdGhpcy5oYXNUZXh0dXJlICsnXSc7CisgICAgICAgICAgICAgICAgfSBjYXRjaChlKSB7
IH0KKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorKTsKKy8qIEZha2UgYSBGbG9nLiogbmFtZXNw
YWNlICovCitpZih0eXBlb2YoRmxvZykgPT0gJ3VuZGVmaW5lZCcpIHZhciBGbG9nID0ge307Citp
Zih0eXBlb2YoRmxvZy5SYXlUcmFjZXIpID09ICd1bmRlZmluZWQnKSBGbG9nLlJheVRyYWNlciA9
IHt9OworaWYodHlwZW9mKEZsb2cuUmF5VHJhY2VyLlNoYXBlKSA9PSAndW5kZWZpbmVkJykgRmxv
Zy5SYXlUcmFjZXIuU2hhcGUgPSB7fTsKKworRmxvZy5SYXlUcmFjZXIuU2hhcGUuU3BoZXJlID0g
Q2xhc3MuY3JlYXRlKCk7CisKK0Zsb2cuUmF5VHJhY2VyLlNoYXBlLlNwaGVyZS5wcm90b3R5cGUg
PSB7CisgICAgaW5pdGlhbGl6ZSA6IGZ1bmN0aW9uKHBvcywgcmFkaXVzLCBtYXRlcmlhbCkgewor
ICAgICAgICB0cnkgeworICAgICAgICAgICAgdGhpcy5yYWRpdXMgPSByYWRpdXM7CisgICAgICAg
ICAgICB0aGlzLnBvc2l0aW9uID0gcG9zOworICAgICAgICAgICAgdGhpcy5tYXRlcmlhbCA9IG1h
dGVyaWFsOworCisgICAgICAgICAgICByYW5kb21FeGNlcHRpb24oKTsKKyAgICAgICAgfSBjYXRj
aChlKSB7IH0KKyAgICB9LAorCisgICAgaW50ZXJzZWN0OiBmdW5jdGlvbihyYXkpeworICAgICAg
ICB0cnkgeworICAgICAgICAgICAgdmFyIGluZm8gPSBuZXcgRmxvZy5SYXlUcmFjZXIuSW50ZXJz
ZWN0aW9uSW5mbygpOworICAgICAgICAgICAgaW5mby5zaGFwZSA9IHRoaXM7CisKKyAgICAgICAg
ICAgIHZhciBkc3QgPSBGbG9nLlJheVRyYWNlci5WZWN0b3IucHJvdG90eXBlLnN1YnRyYWN0KHJh
eS5wb3NpdGlvbiwgdGhpcy5wb3NpdGlvbik7CisKKyAgICAgICAgICAgIHZhciBCID0gZHN0LmRv
dChyYXkuZGlyZWN0aW9uKTsKKyAgICAgICAgICAgIHZhciBDID0gZHN0LmRvdChkc3QpIC0gKHRo
aXMucmFkaXVzICogdGhpcy5yYWRpdXMpOworICAgICAgICAgICAgdmFyIEQgPSAoQiAqIEIpIC0g
QzsKKworICAgICAgICAgICAgaWYoRCA+IDApeyAvLyBpbnRlcnNlY3Rpb24hCisgICAgICAgICAg
ICAgICAgaW5mby5pc0hpdCA9IHRydWU7CisgICAgICAgICAgICAgICAgaW5mby5kaXN0YW5jZSA9
ICgtQikgLSBNYXRoLnNxcnQoRCk7CisgICAgICAgICAgICAgICAgaW5mby5wb3NpdGlvbiA9IEZs
b2cuUmF5VHJhY2VyLlZlY3Rvci5wcm90b3R5cGUuYWRkKAorICAgICAgICAgICAgICAgICAgICAg
ICAgcmF5LnBvc2l0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgRmxvZy5SYXlUcmFjZXIu
VmVjdG9yLnByb3RvdHlwZS5tdWx0aXBseVNjYWxhcigKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICByYXkuZGlyZWN0aW9uLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8uZGlz
dGFuY2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAg
ICAgICApOworICAgICAgICAgICAgICAgIGluZm8ubm9ybWFsID0gRmxvZy5SYXlUcmFjZXIuVmVj
dG9yLnByb3RvdHlwZS5zdWJ0cmFjdCgKKyAgICAgICAgICAgICAgICAgICAgICAgIGluZm8ucG9z
aXRpb24sCisgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uCisgICAgICAgICAg
ICAgICAgICAgICAgICApLm5vcm1hbGl6ZSgpOworCisgICAgICAgICAgICAgICAgaW5mby5jb2xv
ciA9IHRoaXMubWF0ZXJpYWwuZ2V0Q29sb3IoMCwwKTsKKyAgICAgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICAgICAgaW5mby5pc0hpdCA9IGZhbHNlOworICAgICAgICAgICAgfQorCisgICAg
ICAgICAgICByYW5kb21FeGNlcHRpb24oKTsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICAg
ICAgcmV0dXJuIGluZm87CisgICAgfSwKKworICAgIHRvU3RyaW5nIDogZnVuY3Rpb24gKCkgewor
ICAgICAgICB0cnkgeworICAgICAgICAgICAgcmV0dXJuICdTcGhlcmUgW3Bvc2l0aW9uPScgKyB0
aGlzLnBvc2l0aW9uICsgJywgcmFkaXVzPScgKyB0aGlzLnJhZGl1cyArICddJzsKKyAgICAgICAg
fSBjYXRjaChlKSB7IH0KKyAgICB9Cit9CisvKiBGYWtlIGEgRmxvZy4qIG5hbWVzcGFjZSAqLwor
aWYodHlwZW9mKEZsb2cpID09ICd1bmRlZmluZWQnKSB2YXIgRmxvZyA9IHt9OworaWYodHlwZW9m
KEZsb2cuUmF5VHJhY2VyKSA9PSAndW5kZWZpbmVkJykgRmxvZy5SYXlUcmFjZXIgPSB7fTsKK2lm
KHR5cGVvZihGbG9nLlJheVRyYWNlci5TaGFwZSkgPT0gJ3VuZGVmaW5lZCcpIEZsb2cuUmF5VHJh
Y2VyLlNoYXBlID0ge307CisKK0Zsb2cuUmF5VHJhY2VyLlNoYXBlLlBsYW5lID0gQ2xhc3MuY3Jl
YXRlKCk7CisKK0Zsb2cuUmF5VHJhY2VyLlNoYXBlLlBsYW5lLnByb3RvdHlwZSA9IHsKKyAgICBk
OiAwLjAsCisKKyAgICBpbml0aWFsaXplIDogZnVuY3Rpb24ocG9zLCBkLCBtYXRlcmlhbCkgewor
ICAgICAgICB0cnkgeworICAgICAgICAgICAgdGhpcy5wb3NpdGlvbiA9IHBvczsKKyAgICAgICAg
ICAgIHRoaXMuZCA9IGQ7CisgICAgICAgICAgICB0aGlzLm1hdGVyaWFsID0gbWF0ZXJpYWw7Cisg
ICAgICAgICAgICByYW5kb21FeGNlcHRpb24oKTsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAg
ICB9LAorCisgICAgaW50ZXJzZWN0OiBmdW5jdGlvbihyYXkpeworICAgICAgICB0cnkgeworICAg
ICAgICAgICAgdmFyIGluZm8gPSBuZXcgRmxvZy5SYXlUcmFjZXIuSW50ZXJzZWN0aW9uSW5mbygp
OworCisgICAgICAgICAgICB2YXIgVmQgPSB0aGlzLnBvc2l0aW9uLmRvdChyYXkuZGlyZWN0aW9u
KTsKKyAgICAgICAgICAgIGlmKFZkID09IDApIHJldHVybiBpbmZvOyAvLyBubyBpbnRlcnNlY3Rp
b24KKworICAgICAgICAgICAgdmFyIHQgPSAtKHRoaXMucG9zaXRpb24uZG90KHJheS5wb3NpdGlv
bikgKyB0aGlzLmQpIC8gVmQ7CisgICAgICAgICAgICBpZih0IDw9IDApIHJldHVybiBpbmZvOwor
CisgICAgICAgICAgICBpbmZvLnNoYXBlID0gdGhpczsKKyAgICAgICAgICAgIGluZm8uaXNIaXQg
PSB0cnVlOworICAgICAgICAgICAgaW5mby5wb3NpdGlvbiA9IEZsb2cuUmF5VHJhY2VyLlZlY3Rv
ci5wcm90b3R5cGUuYWRkKAorICAgICAgICAgICAgICAgICAgICByYXkucG9zaXRpb24sCisgICAg
ICAgICAgICAgICAgICAgIEZsb2cuUmF5VHJhY2VyLlZlY3Rvci5wcm90b3R5cGUubXVsdGlwbHlT
Y2FsYXIoCisgICAgICAgICAgICAgICAgICAgICAgICByYXkuZGlyZWN0aW9uLAorICAgICAgICAg
ICAgICAgICAgICAgICAgdAorICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAg
ICAgICAgICApOworICAgICAgICAgICAgaW5mby5ub3JtYWwgPSB0aGlzLnBvc2l0aW9uOworICAg
ICAgICAgICAgaW5mby5kaXN0YW5jZSA9IHQ7CisKKyAgICAgICAgICAgIGlmKHRoaXMubWF0ZXJp
YWwuaGFzVGV4dHVyZSl7CisgICAgICAgICAgICAgICAgdmFyIHZVID0gbmV3IEZsb2cuUmF5VHJh
Y2VyLlZlY3Rvcih0aGlzLnBvc2l0aW9uLnksIHRoaXMucG9zaXRpb24ueiwgLXRoaXMucG9zaXRp
b24ueCk7CisgICAgICAgICAgICAgICAgdmFyIHZWID0gdlUuY3Jvc3ModGhpcy5wb3NpdGlvbik7
CisgICAgICAgICAgICAgICAgdmFyIHUgPSBpbmZvLnBvc2l0aW9uLmRvdCh2VSk7CisgICAgICAg
ICAgICAgICAgdmFyIHYgPSBpbmZvLnBvc2l0aW9uLmRvdCh2Vik7CisgICAgICAgICAgICAgICAg
aW5mby5jb2xvciA9IHRoaXMubWF0ZXJpYWwuZ2V0Q29sb3IodSx2KTsKKyAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgICAgaW5mby5jb2xvciA9IHRoaXMubWF0ZXJpYWwuZ2V0Q29s
b3IoMCwwKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7
CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgICAgIHJldHVybiBpbmZvOworICAgIH0sCisK
KyAgICB0b1N0cmluZyA6IGZ1bmN0aW9uICgpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
IHJldHVybiAnUGxhbmUgWycgKyB0aGlzLnBvc2l0aW9uICsgJywgZD0nICsgdGhpcy5kICsgJ10n
OworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0KK30KKy8qIEZha2UgYSBGbG9nLiogbmFt
ZXNwYWNlICovCitpZih0eXBlb2YoRmxvZykgPT0gJ3VuZGVmaW5lZCcpIHZhciBGbG9nID0ge307
CitpZih0eXBlb2YoRmxvZy5SYXlUcmFjZXIpID09ICd1bmRlZmluZWQnKSBGbG9nLlJheVRyYWNl
ciA9IHt9OworCitGbG9nLlJheVRyYWNlci5JbnRlcnNlY3Rpb25JbmZvID0gQ2xhc3MuY3JlYXRl
KCk7CisKK0Zsb2cuUmF5VHJhY2VyLkludGVyc2VjdGlvbkluZm8ucHJvdG90eXBlID0geworICAg
IGlzSGl0OiBmYWxzZSwKKyAgICBoaXRDb3VudDogMCwKKyAgICBzaGFwZTogbnVsbCwKKyAgICBw
b3NpdGlvbjogbnVsbCwKKyAgICBub3JtYWw6IG51bGwsCisgICAgY29sb3I6IG51bGwsCisgICAg
ZGlzdGFuY2U6IG51bGwsCisKKyAgICBpbml0aWFsaXplIDogZnVuY3Rpb24oKSB7CisgICAgICAg
IHRyeSB7CisgICAgICAgICAgICB0aGlzLmNvbG9yID0gbmV3IEZsb2cuUmF5VHJhY2VyLkNvbG9y
KDAsMCwwKTsKKyAgICAgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgICAgICB9IGNhdGNo
KGUpIHsgfQorICAgIH0sCisKKyAgICB0b1N0cmluZyA6IGZ1bmN0aW9uICgpIHsKKyAgICAgICAg
dHJ5IHsKKyAgICAgICAgICAgIHJldHVybiAnSW50ZXJzZWN0aW9uIFsnICsgdGhpcy5wb3NpdGlv
biArICddJzsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICB9Cit9CisvKiBGYWtlIGEgRmxv
Zy4qIG5hbWVzcGFjZSAqLworaWYodHlwZW9mKEZsb2cpID09ICd1bmRlZmluZWQnKSB2YXIgRmxv
ZyA9IHt9OworaWYodHlwZW9mKEZsb2cuUmF5VHJhY2VyKSA9PSAndW5kZWZpbmVkJykgRmxvZy5S
YXlUcmFjZXIgPSB7fTsKKworRmxvZy5SYXlUcmFjZXIuQ2FtZXJhID0gQ2xhc3MuY3JlYXRlKCk7
CisKK0Zsb2cuUmF5VHJhY2VyLkNhbWVyYS5wcm90b3R5cGUgPSB7CisgICAgcG9zaXRpb246IG51
bGwsCisgICAgbG9va0F0OiBudWxsLAorICAgIGVxdWF0b3I6IG51bGwsCisgICAgdXA6IG51bGws
CisgICAgc2NyZWVuOiBudWxsLAorCisgICAgaW5pdGlhbGl6ZSA6IGZ1bmN0aW9uKHBvcywgbG9v
a0F0LCB1cCkgeworICAgICAgICB0cnkgeworICAgICAgICAgICAgdGhpcy5wb3NpdGlvbiA9IHBv
czsKKyAgICAgICAgICAgIHRoaXMubG9va0F0ID0gbG9va0F0OworICAgICAgICAgICAgdGhpcy51
cCA9IHVwOworICAgICAgICAgICAgdGhpcy5lcXVhdG9yID0gbG9va0F0Lm5vcm1hbGl6ZSgpLmNy
b3NzKHRoaXMudXApOworICAgICAgICAgICAgdGhpcy5zY3JlZW4gPSBGbG9nLlJheVRyYWNlci5W
ZWN0b3IucHJvdG90eXBlLmFkZCh0aGlzLnBvc2l0aW9uLCB0aGlzLmxvb2tBdCk7CisgICAgICAg
ICAgICByYW5kb21FeGNlcHRpb24oKTsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICB9LAor
CisgICAgZ2V0UmF5OiBmdW5jdGlvbih2eCwgdnkpeworICAgICAgICB0cnkgeworICAgICAgICAg
ICAgdmFyIHBvcyA9IEZsb2cuUmF5VHJhY2VyLlZlY3Rvci5wcm90b3R5cGUuc3VidHJhY3QoCisg
ICAgICAgICAgICAgICAgICAgIHRoaXMuc2NyZWVuLAorICAgICAgICAgICAgICAgICAgICBGbG9n
LlJheVRyYWNlci5WZWN0b3IucHJvdG90eXBlLnN1YnRyYWN0KAorICAgICAgICAgICAgICAgICAg
ICAgICAgRmxvZy5SYXlUcmFjZXIuVmVjdG9yLnByb3RvdHlwZS5tdWx0aXBseVNjYWxhcih0aGlz
LmVxdWF0b3IsIHZ4KSwKKyAgICAgICAgICAgICAgICAgICAgICAgIEZsb2cuUmF5VHJhY2VyLlZl
Y3Rvci5wcm90b3R5cGUubXVsdGlwbHlTY2FsYXIodGhpcy51cCwgdnkpCisgICAgICAgICAgICAg
ICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAgICk7CisgICAgICAgICAgICBwb3MueSA9
IHBvcy55ICogLTE7CisgICAgICAgICAgICB2YXIgZGlyID0gRmxvZy5SYXlUcmFjZXIuVmVjdG9y
LnByb3RvdHlwZS5zdWJ0cmFjdCgKKyAgICAgICAgICAgICAgICAgICAgcG9zLAorICAgICAgICAg
ICAgICAgICAgICB0aGlzLnBvc2l0aW9uCisgICAgICAgICAgICAgICAgICAgICk7CisKKyAgICAg
ICAgICAgIHZhciByYXkgPSBuZXcgRmxvZy5SYXlUcmFjZXIuUmF5KHBvcywgZGlyLm5vcm1hbGl6
ZSgpKTsKKworICAgICAgICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7CisgICAgICAgIH0gY2F0Y2go
ZSkgeyB9CisgICAgICAgIHJldHVybiByYXk7CisgICAgfSwKKworICAgIHRvU3RyaW5nIDogZnVu
Y3Rpb24gKCkgeworICAgICAgICB0cnkgeworICAgICAgICAgICAgcmV0dXJuICdSYXkgW10nOwor
ICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0KK30KKy8qIEZha2UgYSBGbG9nLiogbmFtZXNw
YWNlICovCitpZih0eXBlb2YoRmxvZykgPT0gJ3VuZGVmaW5lZCcpIHZhciBGbG9nID0ge307Citp
Zih0eXBlb2YoRmxvZy5SYXlUcmFjZXIpID09ICd1bmRlZmluZWQnKSBGbG9nLlJheVRyYWNlciA9
IHt9OworCitGbG9nLlJheVRyYWNlci5CYWNrZ3JvdW5kID0gQ2xhc3MuY3JlYXRlKCk7CisKK0Zs
b2cuUmF5VHJhY2VyLkJhY2tncm91bmQucHJvdG90eXBlID0geworICAgIGNvbG9yIDogbnVsbCwK
KyAgICBhbWJpZW5jZSA6IDAuMCwKKworICAgIGluaXRpYWxpemUgOiBmdW5jdGlvbihjb2xvciwg
YW1iaWVuY2UpIHsKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHRoaXMuY29sb3IgPSBjb2xv
cjsKKyAgICAgICAgICAgIHRoaXMuYW1iaWVuY2UgPSBhbWJpZW5jZTsKKyAgICAgICAgICAgIHJh
bmRvbUV4Y2VwdGlvbigpOworICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgIH0KK30KKy8qIEZh
a2UgYSBGbG9nLiogbmFtZXNwYWNlICovCitpZih0eXBlb2YoRmxvZykgPT0gJ3VuZGVmaW5lZCcp
IHZhciBGbG9nID0ge307CitpZih0eXBlb2YoRmxvZy5SYXlUcmFjZXIpID09ICd1bmRlZmluZWQn
KSBGbG9nLlJheVRyYWNlciA9IHt9OworCitGbG9nLlJheVRyYWNlci5FbmdpbmUgPSBDbGFzcy5j
cmVhdGUoKTsKKworRmxvZy5SYXlUcmFjZXIuRW5naW5lLnByb3RvdHlwZSA9IHsKKyAgICBjYW52
YXM6IG51bGwsIC8qIDJkIGNvbnRleHQgd2UgY2FuIHJlbmRlciB0byAqLworCisgICAgaW5pdGlh
bGl6ZTogZnVuY3Rpb24ob3B0aW9ucyl7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB0aGlz
Lm9wdGlvbnMgPSBPYmplY3QuZXh0ZW5kKHsKKyAgICAgICAgICAgICAgICBjYW52YXNIZWlnaHQ6
IDEwMCwKKyAgICAgICAgICAgICAgICBjYW52YXNXaWR0aDogMTAwLAorICAgICAgICAgICAgICAg
IHBpeGVsV2lkdGg6IDIsCisgICAgICAgICAgICAgICAgcGl4ZWxIZWlnaHQ6IDIsCisgICAgICAg
ICAgICAgICAgcmVuZGVyRGlmZnVzZTogZmFsc2UsCisgICAgICAgICAgICAgICAgcmVuZGVyU2hh
ZG93czogZmFsc2UsCisgICAgICAgICAgICAgICAgcmVuZGVySGlnaGxpZ2h0czogZmFsc2UsCisg
ICAgICAgICAgICAgICAgcmVuZGVyUmVmbGVjdGlvbnM6IGZhbHNlLAorICAgICAgICAgICAgICAg
IHJheURlcHRoOiAyCisgICAgICAgICAgICB9LCBvcHRpb25zIHx8IHt9KTsKKworICAgICAgICAg
ICAgdGhpcy5vcHRpb25zLmNhbnZhc0hlaWdodCAvPSB0aGlzLm9wdGlvbnMucGl4ZWxIZWlnaHQ7
CisgICAgICAgICAgICB0aGlzLm9wdGlvbnMuY2FudmFzV2lkdGggLz0gdGhpcy5vcHRpb25zLnBp
eGVsV2lkdGg7CisKKyAgICAgICAgICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgICAgICB9IGNh
dGNoKGUpIHsgfQorCisgICAgICAgIC8qIFRPRE86IGR5bmFtaWNhbGx5IGluY2x1ZGUgb3RoZXIg
c2NyaXB0cyAqLworICAgIH0sCisKKyAgICBzZXRQaXhlbDogZnVuY3Rpb24oeCwgeSwgY29sb3Ip
eworICAgICAgICB0cnkgeworICAgICAgICAgICAgdmFyIHB4VywgcHhIOworICAgICAgICAgICAg
cHhXID0gdGhpcy5vcHRpb25zLnBpeGVsV2lkdGg7CisgICAgICAgICAgICBweEggPSB0aGlzLm9w
dGlvbnMucGl4ZWxIZWlnaHQ7CisKKyAgICAgICAgICAgIGlmICh0aGlzLmNhbnZhcykgeworICAg
ICAgICAgICAgICAgIHRoaXMuY2FudmFzLmZpbGxTdHlsZSA9IGNvbG9yLnRvU3RyaW5nKCk7Cisg
ICAgICAgICAgICAgICAgdGhpcy5jYW52YXMuZmlsbFJlY3QgKHggKiBweFcsIHkgKiBweEgsIHB4
VywgcHhIKTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaWYgKHggPT09
ICB5KSB7CisgICAgICAgICAgICAgICAgICAgIGNoZWNrTnVtYmVyICs9IGNvbG9yLmJyaWdodG5l
c3MoKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgLy8gcHJpbnQoeCAqIHB4
VywgeSAqIHB4SCwgcHhXLCBweEgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICByYW5k
b21FeGNlcHRpb24oKTsKKyAgICAgICAgfSBjYXRjaChlKSB7IH0KKyAgICB9LAorCisgICAgcmVu
ZGVyU2NlbmU6IGZ1bmN0aW9uKHNjZW5lLCBjYW52YXMpeworICAgICAgICB0cnkgeworICAgICAg
ICAgICAgY2hlY2tOdW1iZXIgPSAwOworICAgICAgICAgICAgLyogR2V0IGNhbnZhcyAqLworICAg
ICAgICAgICAgaWYgKGNhbnZhcykgeworICAgICAgICAgICAgICAgIHRoaXMuY2FudmFzID0gY2Fu
dmFzLmdldENvbnRleHQoIjJkIik7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAg
ICAgIHRoaXMuY2FudmFzID0gbnVsbDsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgdmFy
IGNhbnZhc0hlaWdodCA9IHRoaXMub3B0aW9ucy5jYW52YXNIZWlnaHQ7CisgICAgICAgICAgICB2
YXIgY2FudmFzV2lkdGggPSB0aGlzLm9wdGlvbnMuY2FudmFzV2lkdGg7CisKKyAgICAgICAgICAg
IGZvcih2YXIgeT0wOyB5IDwgY2FudmFzSGVpZ2h0OyB5KyspeworICAgICAgICAgICAgICAgIGZv
cih2YXIgeD0wOyB4IDwgY2FudmFzV2lkdGg7IHgrKyl7CisgICAgICAgICAgICAgICAgICAgIHRy
eSB7CisgICAgICAgICAgICAgICAgICAgICAgICB2YXIgeXAgPSB5ICogMS4wIC8gY2FudmFzSGVp
Z2h0ICogMiAtIDE7CisgICAgICAgICAgICAgICAgICAgICAgICB2YXIgeHAgPSB4ICogMS4wIC8g
Y2FudmFzV2lkdGggKiAyIC0gMTsKKworICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJheSA9
IHNjZW5lLmNhbWVyYS5nZXRSYXkoeHAsIHlwKTsKKworICAgICAgICAgICAgICAgICAgICAgICAg
dmFyIGNvbG9yID0gdGhpcy5nZXRQaXhlbENvbG9yKHJheSwgc2NlbmUpOworCisgICAgICAgICAg
ICAgICAgICAgICAgICB0aGlzLnNldFBpeGVsKHgsIHksIGNvbG9yKTsKKworICAgICAgICAgICAg
ICAgICAgICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7CisgICAgICAgICAgICAgICAgICAgIH0gY2F0
Y2goZSkgeyB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9IGNh
dGNoKGUpIHsgfQorICAgICAgICBpZiAoY2hlY2tOdW1iZXIgIT09IDIzMjEpIHsKKyAgICAgICAg
ICAgIHRocm93IG5ldyBFcnJvcigiU2NlbmUgcmVuZGVyZWQgaW5jb3JyZWN0bHkiKTsKKyAgICAg
ICAgfQorICAgIH0sCisKKyAgICBnZXRQaXhlbENvbG9yOiBmdW5jdGlvbihyYXksIHNjZW5lKXsK
KyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgIHZhciBpbmZvID0gdGhpcy50ZXN0SW50ZXJzZWN0
aW9uKHJheSwgc2NlbmUsIG51bGwpOworICAgICAgICAgICAgaWYoaW5mby5pc0hpdCl7CisgICAg
ICAgICAgICAgICAgdmFyIGNvbG9yID0gdGhpcy5yYXlUcmFjZShpbmZvLCByYXksIHNjZW5lLCAw
KTsKKyAgICAgICAgICAgICAgICByZXR1cm4gY29sb3I7CisgICAgICAgICAgICB9CisgICAgICAg
ICAgICByZXR1cm4gc2NlbmUuYmFja2dyb3VuZC5jb2xvcjsKKyAgICAgICAgfSBjYXRjaChlKSB7
IH0KKyAgICB9LAorCisgICAgdGVzdEludGVyc2VjdGlvbjogZnVuY3Rpb24ocmF5LCBzY2VuZSwg
ZXhjbHVkZSl7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB2YXIgaGl0cyA9IDA7CisgICAg
ICAgICAgICB2YXIgYmVzdCA9IG5ldyBGbG9nLlJheVRyYWNlci5JbnRlcnNlY3Rpb25JbmZvKCk7
CisgICAgICAgICAgICBiZXN0LmRpc3RhbmNlID0gMjAwMDsKKworICAgICAgICAgICAgZm9yKHZh
ciBpPTA7IGk8c2NlbmUuc2hhcGVzLmxlbmd0aDsgaSsrKXsKKyAgICAgICAgICAgICAgICB0cnkg
eworICAgICAgICAgICAgICAgICAgICB2YXIgc2hhcGUgPSBzY2VuZS5zaGFwZXNbaV07CisKKyAg
ICAgICAgICAgICAgICAgICAgaWYoc2hhcGUgIT0gZXhjbHVkZSl7CisgICAgICAgICAgICAgICAg
ICAgICAgICB2YXIgaW5mbyA9IHNoYXBlLmludGVyc2VjdChyYXkpOworICAgICAgICAgICAgICAg
ICAgICAgICAgaWYoaW5mby5pc0hpdCAmJiBpbmZvLmRpc3RhbmNlID49IDAgJiYgaW5mby5kaXN0
YW5jZSA8IGJlc3QuZGlzdGFuY2UpeworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlc3Qg
PSBpbmZvOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpdHMrKzsKKyAgICAgICAgICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAg
ICAgIHJhbmRvbUV4Y2VwdGlvbigpOworICAgICAgICAgICAgICAgIH0gY2F0Y2goZSkgeyB9Cisg
ICAgICAgICAgICB9CisgICAgICAgICAgICBiZXN0LmhpdENvdW50ID0gaGl0czsKKworICAgICAg
ICAgICAgcmFuZG9tRXhjZXB0aW9uKCk7CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgICAg
IHJldHVybiBiZXN0OworICAgIH0sCisKKyAgICBnZXRSZWZsZWN0aW9uUmF5OiBmdW5jdGlvbihQ
LE4sVil7CisgICAgICAgIHRyeSB7CisgICAgICAgICAgICB2YXIgYzEgPSAtTi5kb3QoVik7Cisg
ICAgICAgICAgICB2YXIgUjEgPSBGbG9nLlJheVRyYWNlci5WZWN0b3IucHJvdG90eXBlLmFkZCgK
KyAgICAgICAgICAgICAgICAgICAgRmxvZy5SYXlUcmFjZXIuVmVjdG9yLnByb3RvdHlwZS5tdWx0
aXBseVNjYWxhcihOLCAyKmMxKSwKKyAgICAgICAgICAgICAgICAgICAgVgorICAgICAgICAgICAg
ICAgICAgICApOworCisgICAgICAgICAgICByYW5kb21FeGNlcHRpb24oKTsKKyAgICAgICAgfSBj
YXRjaChlKSB7IH0KKyAgICAgICAgcmV0dXJuIG5ldyBGbG9nLlJheVRyYWNlci5SYXkoUCwgUjEp
OworICAgIH0sCisKKyAgICByYXlUcmFjZTogZnVuY3Rpb24oaW5mbywgcmF5LCBzY2VuZSwgZGVw
dGgpeworICAgICAgICAvLyBDYWxjIGFtYmllbnQKKyAgICAgICAgdHJ5IHsKKyAgICAgICAgICAg
IHZhciBjb2xvciA9IEZsb2cuUmF5VHJhY2VyLkNvbG9yLnByb3RvdHlwZS5tdWx0aXBseVNjYWxh
cihpbmZvLmNvbG9yLCBzY2VuZS5iYWNrZ3JvdW5kLmFtYmllbmNlKTsKKyAgICAgICAgICAgIHZh
ciBvbGRDb2xvciA9IGNvbG9yOworICAgICAgICAgICAgdmFyIHNoaW5pbmVzcyA9IE1hdGgucG93
KDEwLCBpbmZvLnNoYXBlLm1hdGVyaWFsLmdsb3NzICsgMSk7CisKKyAgICAgICAgICAgIGZvcih2
YXIgaT0wOyBpPHNjZW5lLmxpZ2h0cy5sZW5ndGg7IGkrKyl7CisgICAgICAgICAgICAgICAgdHJ5
IHsKKyAgICAgICAgICAgICAgICAgICAgdmFyIGxpZ2h0ID0gc2NlbmUubGlnaHRzW2ldOworCisg
ICAgICAgICAgICAgICAgICAgIC8vIENhbGMgZGlmZnVzZSBsaWdodGluZworICAgICAgICAgICAg
ICAgICAgICB2YXIgdiA9IEZsb2cuUmF5VHJhY2VyLlZlY3Rvci5wcm90b3R5cGUuc3VidHJhY3Qo
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlnaHQucG9zaXRpb24sCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW5mby5wb3NpdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICkubm9ybWFsaXplKCk7CisKKyAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5vcHRpb25z
LnJlbmRlckRpZmZ1c2UpeworICAgICAgICAgICAgICAgICAgICAgICAgdmFyIEwgPSB2LmRvdChp
bmZvLm5vcm1hbCk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZihMID4gMC4wKXsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBjb2xvciA9IEZsb2cuUmF5VHJhY2VyLkNvbG9yLnByb3Rv
dHlwZS5hZGQoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvciwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZsb2cuUmF5VHJhY2VyLkNvbG9yLnBy
b3RvdHlwZS5tdWx0aXBseSgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbmZvLmNvbG9yLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZs
b2cuUmF5VHJhY2VyLkNvbG9yLnByb3RvdHlwZS5tdWx0aXBseVNjYWxhcigKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlnaHQuY29sb3IsCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7CisgICAg
ICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICAgIH0KKworICAgICAgICAg
ICAgICAgICAgICByYW5kb21FeGNlcHRpb24oKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoKGUp
IHsgfQorCisgICAgICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICAgICAgLy8gVGhl
IGdyZWF0ZXIgdGhlIGRlcHRoIHRoZSBtb3JlIGFjY3VyYXRlIHRoZSBjb2xvdXJzLCBidXQKKyAg
ICAgICAgICAgICAgICAgICAgLy8gdGhpcyBpcyBleHBvbmVudGlhbGx5ICghKSBleHBlbnNpdmUK
KyAgICAgICAgICAgICAgICAgICAgaWYoZGVwdGggPD0gdGhpcy5vcHRpb25zLnJheURlcHRoKXsK
KyAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNhbGN1bGF0ZSByZWZsZWN0aW9uIHJheQorICAg
ICAgICAgICAgICAgICAgICAgICAgaWYodGhpcy5vcHRpb25zLnJlbmRlclJlZmxlY3Rpb25zICYm
IGluZm8uc2hhcGUubWF0ZXJpYWwucmVmbGVjdGlvbiA+IDApCisgICAgICAgICAgICAgICAgICAg
ICAgICB7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlZmxlY3Rpb25SYXkgPSB0
aGlzLmdldFJlZmxlY3Rpb25SYXkoaW5mby5wb3NpdGlvbiwgaW5mby5ub3JtYWwsIHJheS5kaXJl
Y3Rpb24pOworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciByZWZsID0gdGhpcy50ZXN0
SW50ZXJzZWN0aW9uKHJlZmxlY3Rpb25SYXksIHNjZW5lLCBpbmZvLnNoYXBlKTsKKworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGlmIChyZWZsLmlzSGl0ICYmIHJlZmwuZGlzdGFuY2UgPiAw
KXsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmbC5jb2xvciA9IHRoaXMucmF5
VHJhY2UocmVmbCwgcmVmbGVjdGlvblJheSwgc2NlbmUsIGRlcHRoICsgMSk7CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgcmVmbC5jb2xvciA9IHNjZW5lLmJhY2tncm91bmQuY29sb3I7CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3IgPSBGbG9n
LlJheVRyYWNlci5Db2xvci5wcm90b3R5cGUuYmxlbmQoCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICBjb2xvciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHJlZmwuY29sb3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmZvLnNo
YXBlLm1hdGVyaWFsLnJlZmxlY3Rpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICk7CisgICAgICAgICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIFJlZnJhY3Rpb24KKyAgICAgICAgICAgICAgICAgICAgICAgIC8qIFRPRE8gKi8KKyAg
ICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICByYW5kb21FeGNlcHRpb24o
KTsKKyAgICAgICAgICAgICAgICB9ICBjYXRjaChlKSB7IH0KKworICAgICAgICAgICAgICAgIC8q
IFJlbmRlciBzaGFkb3dzIGFuZCBoaWdobGlnaHRzICovCisKKyAgICAgICAgICAgICAgICB2YXIg
c2hhZG93SW5mbyA9IG5ldyBGbG9nLlJheVRyYWNlci5JbnRlcnNlY3Rpb25JbmZvKCk7CisKKyAg
ICAgICAgICAgICAgICBpZih0aGlzLm9wdGlvbnMucmVuZGVyU2hhZG93cyl7CisgICAgICAgICAg
ICAgICAgICAgIHZhciBzaGFkb3dSYXkgPSBuZXcgRmxvZy5SYXlUcmFjZXIuUmF5KGluZm8ucG9z
aXRpb24sIHYpOworCisgICAgICAgICAgICAgICAgICAgIHNoYWRvd0luZm8gPSB0aGlzLnRlc3RJ
bnRlcnNlY3Rpb24oc2hhZG93UmF5LCBzY2VuZSwgaW5mby5zaGFwZSk7CisgICAgICAgICAgICAg
ICAgICAgIGlmKHNoYWRvd0luZm8uaXNIaXQgJiYgc2hhZG93SW5mby5zaGFwZSAhPSBpbmZvLnNo
YXBlIC8qJiYgc2hhZG93SW5mby5zaGFwZS50eXBlICE9ICdQTEFORScqLyl7CisgICAgICAgICAg
ICAgICAgICAgICAgICB2YXIgdkEgPSBGbG9nLlJheVRyYWNlci5Db2xvci5wcm90b3R5cGUubXVs
dGlwbHlTY2FsYXIoY29sb3IsIDAuNSk7CisgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZEIg
PSAoMC41ICogTWF0aC5wb3coc2hhZG93SW5mby5zaGFwZS5tYXRlcmlhbC50cmFuc3BhcmVuY3ks
IDAuNSkpOworICAgICAgICAgICAgICAgICAgICAgICAgY29sb3IgPSBGbG9nLlJheVRyYWNlci5D
b2xvci5wcm90b3R5cGUuYWRkU2NhbGFyKHZBLGRCKTsKKyAgICAgICAgICAgICAgICAgICAgfQor
ICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAg
ICAgICAgIC8vIFBob25nIHNwZWN1bGFyIGhpZ2hsaWdodHMKKyAgICAgICAgICAgICAgICAgICAg
aWYodGhpcy5vcHRpb25zLnJlbmRlckhpZ2hsaWdodHMgJiYgIXNoYWRvd0luZm8uaXNIaXQgJiYg
aW5mby5zaGFwZS5tYXRlcmlhbC5nbG9zcyA+IDApeworICAgICAgICAgICAgICAgICAgICAgICAg
dmFyIEx2ID0gRmxvZy5SYXlUcmFjZXIuVmVjdG9yLnByb3RvdHlwZS5zdWJ0cmFjdCgKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mby5zaGFwZS5wb3NpdGlvbiwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgbGlnaHQucG9zaXRpb24KKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKS5ub3JtYWxpemUoKTsKKworICAgICAgICAgICAgICAgICAgICAgICAg
dmFyIEUgPSBGbG9nLlJheVRyYWNlci5WZWN0b3IucHJvdG90eXBlLnN1YnRyYWN0KAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBzY2VuZS5jYW1lcmEucG9zaXRpb24sCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGluZm8uc2hhcGUucG9zaXRpb24KKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgKS5ub3JtYWxpemUoKTsKKworICAgICAgICAgICAgICAgICAg
ICAgICAgdmFyIEggPSBGbG9nLlJheVRyYWNlci5WZWN0b3IucHJvdG90eXBlLnN1YnRyYWN0KAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFLAorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBMdgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApLm5vcm1hbGl6
ZSgpOworCisgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZ2xvc3NXZWlnaHQgPSBNYXRoLnBv
dyhNYXRoLm1heChpbmZvLm5vcm1hbC5kb3QoSCksIDApLCBzaGluaW5lc3MpOworICAgICAgICAg
ICAgICAgICAgICAgICAgY29sb3IgPSBGbG9nLlJheVRyYWNlci5Db2xvci5wcm90b3R5cGUuYWRk
KAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGbG9nLlJheVRyYWNlci5Db2xvci5w
cm90b3R5cGUubXVsdGlwbHlTY2FsYXIobGlnaHQuY29sb3IsIGdsb3NzV2VpZ2h0KSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3IKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgKTsKKyAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICBy
YW5kb21FeGNlcHRpb24oKTsKKyAgICAgICAgICAgICAgICB9IGNhdGNoKGUpIHsgfQorICAgICAg
ICAgICAgfQorICAgICAgICAgICAgY29sb3IubGltaXQoKTsKKworICAgICAgICAgICAgcmFuZG9t
RXhjZXB0aW9uKCk7CisgICAgICAgIH0gY2F0Y2goZSkgeyB9CisgICAgICAgIHJldHVybiBjb2xv
cjsKKyAgICB9Cit9OworCisKK2Z1bmN0aW9uIHJlbmRlclNjZW5lKCl7CisgICAgdHJ5IHsKKyAg
ICAgICAgdmFyIHNjZW5lID0gbmV3IEZsb2cuUmF5VHJhY2VyLlNjZW5lKCk7CisKKyAgICAgICAg
c2NlbmUuY2FtZXJhID0gbmV3IEZsb2cuUmF5VHJhY2VyLkNhbWVyYSgKKyAgICAgICAgICAgICAg
ICBuZXcgRmxvZy5SYXlUcmFjZXIuVmVjdG9yKDAsIDAsIC0xNSksCisgICAgICAgICAgICAgICAg
bmV3IEZsb2cuUmF5VHJhY2VyLlZlY3RvcigtMC4yLCAwLCA1KSwKKyAgICAgICAgICAgICAgICBu
ZXcgRmxvZy5SYXlUcmFjZXIuVmVjdG9yKDAsIDEsIDApCisgICAgICAgICAgICAgICAgKTsKKwor
ICAgICAgICBzY2VuZS5iYWNrZ3JvdW5kID0gbmV3IEZsb2cuUmF5VHJhY2VyLkJhY2tncm91bmQo
CisgICAgICAgICAgICAgICAgbmV3IEZsb2cuUmF5VHJhY2VyLkNvbG9yKDAuNSwgMC41LCAwLjUp
LAorICAgICAgICAgICAgICAgIDAuNAorICAgICAgICAgICAgICAgICk7CisKKyAgICAgICAgdmFy
IHNwaGVyZSA9IG5ldyBGbG9nLlJheVRyYWNlci5TaGFwZS5TcGhlcmUoCisgICAgICAgICAgICAg
ICAgbmV3IEZsb2cuUmF5VHJhY2VyLlZlY3RvcigtMS41LCAxLjUsIDIpLAorICAgICAgICAgICAg
ICAgIDEuNSwKKyAgICAgICAgICAgICAgICBuZXcgRmxvZy5SYXlUcmFjZXIuTWF0ZXJpYWwuU29s
aWQoCisgICAgICAgICAgICAgICAgICAgIG5ldyBGbG9nLlJheVRyYWNlci5Db2xvcigwLDAuNSww
LjUpLAorICAgICAgICAgICAgICAgICAgICAwLjMsCisgICAgICAgICAgICAgICAgICAgIDAuMCwK
KyAgICAgICAgICAgICAgICAgICAgMC4wLAorICAgICAgICAgICAgICAgICAgICAyLjAKKyAgICAg
ICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICk7CisKKyAgICAgICAgdmFyIHNwaGVy
ZTEgPSBuZXcgRmxvZy5SYXlUcmFjZXIuU2hhcGUuU3BoZXJlKAorICAgICAgICAgICAgICAgIG5l
dyBGbG9nLlJheVRyYWNlci5WZWN0b3IoMSwgMC4yNSwgMSksCisgICAgICAgICAgICAgICAgMC41
LAorICAgICAgICAgICAgICAgIG5ldyBGbG9nLlJheVRyYWNlci5NYXRlcmlhbC5Tb2xpZCgKKyAg
ICAgICAgICAgICAgICAgICAgbmV3IEZsb2cuUmF5VHJhY2VyLkNvbG9yKDAuOSwwLjksMC45KSwK
KyAgICAgICAgICAgICAgICAgICAgMC4xLAorICAgICAgICAgICAgICAgICAgICAwLjAsCisgICAg
ICAgICAgICAgICAgICAgIDAuMCwKKyAgICAgICAgICAgICAgICAgICAgMS41CisgICAgICAgICAg
ICAgICAgICAgICkKKyAgICAgICAgICAgICAgICApOworCisgICAgICAgIHZhciBwbGFuZSA9IG5l
dyBGbG9nLlJheVRyYWNlci5TaGFwZS5QbGFuZSgKKyAgICAgICAgICAgICAgICBuZXcgRmxvZy5S
YXlUcmFjZXIuVmVjdG9yKDAuMSwgMC45LCAtMC41KS5ub3JtYWxpemUoKSwKKyAgICAgICAgICAg
ICAgICAxLjIsCisgICAgICAgICAgICAgICAgbmV3IEZsb2cuUmF5VHJhY2VyLk1hdGVyaWFsLkNo
ZXNzYm9hcmQoCisgICAgICAgICAgICAgICAgICAgIG5ldyBGbG9nLlJheVRyYWNlci5Db2xvcigx
LDEsMSksCisgICAgICAgICAgICAgICAgICAgIG5ldyBGbG9nLlJheVRyYWNlci5Db2xvcigwLDAs
MCksCisgICAgICAgICAgICAgICAgICAgIDAuMiwKKyAgICAgICAgICAgICAgICAgICAgMC4wLAor
ICAgICAgICAgICAgICAgICAgICAxLjAsCisgICAgICAgICAgICAgICAgICAgIDAuNworICAgICAg
ICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgKTsKKworICAgICAgICBzY2VuZS5zaGFw
ZXMucHVzaChwbGFuZSk7CisgICAgICAgIHNjZW5lLnNoYXBlcy5wdXNoKHNwaGVyZSk7CisgICAg
ICAgIHNjZW5lLnNoYXBlcy5wdXNoKHNwaGVyZTEpOworCisgICAgICAgIHZhciBsaWdodCA9IG5l
dyBGbG9nLlJheVRyYWNlci5MaWdodCgKKyAgICAgICAgICAgICAgICBuZXcgRmxvZy5SYXlUcmFj
ZXIuVmVjdG9yKDUsIDEwLCAtMSksCisgICAgICAgICAgICAgICAgbmV3IEZsb2cuUmF5VHJhY2Vy
LkNvbG9yKDAuOCwgMC44LCAwLjgpCisgICAgICAgICAgICAgICAgKTsKKworICAgICAgICB2YXIg
bGlnaHQxID0gbmV3IEZsb2cuUmF5VHJhY2VyLkxpZ2h0KAorICAgICAgICAgICAgICAgIG5ldyBG
bG9nLlJheVRyYWNlci5WZWN0b3IoLTMsIDUsIC0xNSksCisgICAgICAgICAgICAgICAgbmV3IEZs
b2cuUmF5VHJhY2VyLkNvbG9yKDAuOCwgMC44LCAwLjgpLAorICAgICAgICAgICAgICAgIDEwMAor
ICAgICAgICAgICAgICAgICk7CisKKyAgICAgICAgc2NlbmUubGlnaHRzLnB1c2gobGlnaHQpOwor
ICAgICAgICBzY2VuZS5saWdodHMucHVzaChsaWdodDEpOworCisgICAgICAgIHZhciBpbWFnZVdp
ZHRoID0gMTAwOyAvLyAkRignaW1hZ2VXaWR0aCcpOworICAgICAgICB2YXIgaW1hZ2VIZWlnaHQg
PSAxMDA7IC8vICRGKCdpbWFnZUhlaWdodCcpOworICAgICAgICB2YXIgcGl4ZWxTaXplID0gIjUs
NSIuc3BsaXQoJywnKTsgLy8gICRGKCdwaXhlbFNpemUnKS5zcGxpdCgnLCcpOworICAgICAgICB2
YXIgcmVuZGVyRGlmZnVzZSA9IHRydWU7IC8vICRGKCdyZW5kZXJEaWZmdXNlJyk7CisgICAgICAg
IHZhciByZW5kZXJTaGFkb3dzID0gdHJ1ZTsgLy8gJEYoJ3JlbmRlclNoYWRvd3MnKTsKKyAgICAg
ICAgdmFyIHJlbmRlckhpZ2hsaWdodHMgPSB0cnVlOyAvLyAkRigncmVuZGVySGlnaGxpZ2h0cycp
OworICAgICAgICB2YXIgcmVuZGVyUmVmbGVjdGlvbnMgPSB0cnVlOyAvLyAkRigncmVuZGVyUmVm
bGVjdGlvbnMnKTsKKyAgICAgICAgdmFyIHJheURlcHRoID0gMjsvLyRGKCdyYXlEZXB0aCcpOwor
CisgICAgICAgIHZhciByYXl0cmFjZXIgPSBuZXcgRmxvZy5SYXlUcmFjZXIuRW5naW5lKAorICAg
ICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICAgICAgY2FudmFzV2lkdGg6IGltYWdlV2lk
dGgsCisgICAgICAgICAgICAgICAgICAgIGNhbnZhc0hlaWdodDogaW1hZ2VIZWlnaHQsCisgICAg
ICAgICAgICAgICAgICAgIHBpeGVsV2lkdGg6IHBpeGVsU2l6ZVswXSwKKyAgICAgICAgICAgICAg
ICAgICAgcGl4ZWxIZWlnaHQ6IHBpeGVsU2l6ZVsxXSwKKyAgICAgICAgICAgICAgICAgICAgInJl
bmRlckRpZmZ1c2UiOiByZW5kZXJEaWZmdXNlLAorICAgICAgICAgICAgICAgICAgICAicmVuZGVy
SGlnaGxpZ2h0cyI6IHJlbmRlckhpZ2hsaWdodHMsCisgICAgICAgICAgICAgICAgICAgICJyZW5k
ZXJTaGFkb3dzIjogcmVuZGVyU2hhZG93cywKKyAgICAgICAgICAgICAgICAgICAgInJlbmRlclJl
ZmxlY3Rpb25zIjogcmVuZGVyUmVmbGVjdGlvbnMsCisgICAgICAgICAgICAgICAgICAgICJyYXlE
ZXB0aCI6IHJheURlcHRoCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICk7CisK
KyAgICAgICAgcmF5dHJhY2VyLnJlbmRlclNjZW5lKHNjZW5lLCBudWxsLCAwKTsKKyAgICAgICAg
cmFuZG9tRXhjZXB0aW9uKCk7CisgICAgfSBjYXRjaChlKSB7IH0KK30KKworZm9yICh2YXIgaSA9
IDA7IGkgPCA2OyArK2kpCisgICAgcmVuZGVyU2NlbmUoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>